This saves about
10.5 hours per year
vs conventional diff tools
Diff Delta:
628
About 130 Diff Delta/hour
Classified as:
Bug Fix, Feature Add
vmoroz's Description of Work
Description
Type of Change
- Bug fix (non-breaking change which fixes an issue)
- This change requires a documentation update
Why
Nightly library initialization fails before project generation because its
bootstrap selects either the literal latest or an RN dist-tag without a matching
template. This also blocks the feed warmer's main-library closure.
Related: microsoft/react-native-windows#16489;
the failure predates that trigger-only change.
What
-
Checked bootstrap. Both callers share cRNL 0.63.0's supported RN 0.85.0
bootstrap and check the exact RN/template pair through the configured registry,
so dist-tags cannot select an incompatible scaffold. -
Preserved targets. Stable versions stay unchanged. Nightly library and
example dependencies still return to the requested RN/CLI versions before
resolution; a failed branch does not discard healthy closures. -
Regression coverage. Command-level tests and policy documentation cover
shared selection, checkout paths, and explicit failures, so generator upgrades cannot
silently reuse an unreviewed bootstrap.
Screenshots
Not applicable; no UI changes.
Testing
-
yarn test --scope @rnw-scripts/warm-feed- passed, 105 tests with inherited uppercase npm settings. -
yarn workspace @rnw-scripts/warm-feed lint- passed; changed-file formatting was also checked explicitly. -
yarn workspace @rnw-scripts/warm-feed build- passed.
Real Windows scaffolding with an empty npm cache and anonymous feed access
passed, including both nightly manifest rewrites, actual warmer collection, and
both dependency-graph resolutions. Full clean-agent/native CI validation is pending.
Changelog
Should this change be included in the release notes: yes
Use a compatible bootstrap when creating Windows libraries against nightly React Native.
Microsoft Reviewers: Open in CodeFlow
Building updated commit group diff...
7 total changed files
(2 files ignored)
Loading changes...
Loading changes...
Loading changes...
Loading changes...
Loading changes...