Skip to content

Address network isolation issues - #361

Merged
Vladimir Morozov (vmoroz) merged 1 commit into
microsoft:mainfrom
vmoroz:PR/fix-network-isolation-issues
Aug 12, 2026
Merged

Address network isolation issues#361
Vladimir Morozov (vmoroz) merged 1 commit into
microsoft:mainfrom
vmoroz:PR/fix-network-isolation-issues

Conversation

@vmoroz

@vmoroz Vladimir Morozov (vmoroz) commented Aug 12, 2026

Copy link
Copy Markdown
Member

Summary

Replace use of the npmjs.com feed with the public ms/react-native-public feed.

Details

The PR addresses three security related issues to reduce supply-chain risks:

  • We are no longer allowed to pull packages directly from npmjs.com. Instead we must use an ADO feed so the security team can vet and hold new packages.
  • The build pipelines now have the network isolation where they are not allowed to access not allowed URLs.
  • Address Component Governance issues related to vulnerabilities found in some package versions.

We also update the dependabot cadence to weekly to reduce number of created PRs.
The dependabot is going to batch multiple changes in weekly PRs.

Microsoft Reviewers: Open in CodeFlow

Copilot AI lite review requested due to automatic review settings August 12, 2026 04:13
@vmoroz
Vladimir Morozov (vmoroz) requested a review from a team as a code owner August 12, 2026 04:13

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the repo’s Node/Yarn dependency restore flow to route through the approved ms/react-native-public Azure DevOps feed (instead of direct npmjs.org access), aligning dependency restores with network isolation and supply-chain requirements.

Changes:

  • Pin npm restores to the ADO feed by updating multiple package-lock.json files and adding .npmrc files for affected tool/test directories.
  • Configure Yarn registry at the repo level via .yarnrc, and update selected Yarn lockfile dependencies (e.g., brace-expansion).
  • Update CI and automation: set npm registry-related env vars in .ado/build-template.yml, and configure Dependabot to use the feed + run weekly.

Reviewed changes

Copilot reviewed 8 out of 14 changed files in this pull request and generated no comments.

Show a summary per file
File Description
utils/promise/yarn.lock Updates brace-expansion entry in Yarn lockfile.
unittests/NodeApi/test/package-lock.json Re-pins npm tarball resolved URLs to the ADO feed.
unittests/NodeApi/test/CMakeLists.txt Copies .npmrc into build dir and switches install to npm ci.
unittests/NodeApi/test/.npmrc Pins npm registry to the approved ADO feed for Node-API test toolchain.
tools/hermes-parser/js/yarn.lock Updates brace-expansion entries in Yarn lockfile.
tools/hcdp/package-lock.json Re-pins npm tarball resolved URLs to the ADO feed and updates brace-expansion.
tools/hcdp/.npmrc Pins npm registry to the approved ADO feed for hcdp.
tools/fork-sync/package-lock.json Re-pins npm tarball resolved URLs to the ADO feed for fork-sync.
tools/fork-sync/.npmrc Pins npm registry to the approved ADO feed for fork-sync.
.yarnrc Sets Yarn registry to the approved ADO feed at the repo level.
.github/dependabot.yml Configures Dependabot to use the feed and reduces cadence to weekly with grouping.
.ado/scripts/package-lock.json Re-pins npm tarball resolved URLs to the ADO feed for build scripts.
.ado/scripts/.npmrc Pins npm registry to the approved ADO feed for ADO build scripts.
.ado/build-template.yml Sets npm registry/cache-related env vars in CI to align restores with the feed.
Files not reviewed (4)
  • .ado/scripts/package-lock.json: Generated file
  • tools/fork-sync/package-lock.json: Generated file
  • tools/hcdp/package-lock.json: Generated file
  • unittests/NodeApi/test/package-lock.json: Generated file

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown

Benchmark Results

Total benchmarks: 204

Inputs: baseline/baseline.json, bench_result.json

v8 (6176ms, 7453ms) +20.7%
v8 hermes (CI) hermes (CI)
v8-crypto 622.6ms 704.6ms
v8-deltablue 739.4ms 999.2ms
v8-raytrace 127.8ms 134.2ms
v8-regexp 593ms 1044ms
v8-richards 937ms 1317.6ms
v8-splay 225.2ms 271ms
v8-crypto (static) 452ms 440.2ms
v8-deltablue (static) 661.6ms 658.6ms
v8-raytrace (static) 91.8ms 94.8ms
v8-regexp (static) 749.2ms 785ms
v8-richards (static) 781.4ms 794.2ms
v8-splay (static) 195ms 209.2ms
test-suites (317886ms, 316401ms) -0.5%
test-suites hermes (CI) hermes (CI)
box2d 2949.8ms 2720.4ms
earley-boyer 2564.8ms 2424.2ms
navier-stokes 5743.8ms 4431ms
pdfjs 1038.2ms 948.2ms
gbemu 2296ms 2213ms
code-load 4472.8ms 4574.8ms
typescript 3381.8ms 3277ms
simpleSum 8855.4ms 5734.8ms
propAccess 2691.2ms 2223.6ms
allocObj 252ms 197ms
allocObjLit 6371.8ms 6240ms
allocNewObj 20053ms 20126.2ms
allocArray 249ms 198ms
allocNewArray 34956.8ms 35128.8ms
arrayRead 115.6ms 91.8ms
arrayReadByIndex 550ms 610.2ms
largeArrayRead 827.2ms 593.8ms
arrayWrite 261.8ms 247.2ms
largeArrayWrite 2218ms 2082.2ms
interp-dispatch 2880ms 1975.8ms
wb-perf 8327ms 10102.2ms
arrayReverse 40.6ms 40ms
arrayMap 1472.6ms 1498.8ms
arrayIndexOf 143.2ms 158.2ms
arrayLastIndexOf 148.6ms 147.4ms
arrayEvery 2308.8ms 2438ms
arraySome 2174.4ms 2318.4ms
arrayFill 2401.2ms 2510ms
arrayFilter 1866.4ms 2060.2ms
arrayFind 3207ms 3353ms
arrayFindIndex 3322ms 3452.2ms
arrayPop 1031.4ms 1057.6ms
arrayReduce 1994.2ms 2138.4ms
arrayReduceRight 2075.8ms 2097.6ms
arrayShift 2065.8ms 2134.4ms
arrayUnshift 2109.4ms 2170.4ms
arrayIncludes 1216.6ms 1225.2ms
arrayFrom 1102.8ms 1180.2ms
arrayCopyWithin 1487ms 1603.4ms
stringFromCharCode 92.6ms 93.6ms
arraySlice 786.2ms 816ms
arraySplice 26.8ms 27.4ms
arrayOf 1048.8ms 1054.2ms
stringCharAt 1346.6ms 1315.8ms
stringMatch 3192.4ms 2999ms
stringSearch 3508.2ms 3006.8ms
stringStartsWith 701ms 633.8ms
stringEndsWith 650.4ms 557.8ms
stringIncludes 1520.6ms 1837.6ms
stringIndexOf 1555.6ms 2082ms
stringLastIndexOf 1821.4ms 2334.4ms
stringSplit 822ms 968.4ms
stringSlice 490ms 591.4ms
stringPadStart 2910.8ms 3435.8ms
stringPadEnd 2910ms 3027.4ms
regExpMatch 1506.2ms 1542.4ms
regExpSearch 1227ms 1232ms
regExpToString 1204ms 1071ms
stringReplace 1394.8ms 3340.4ms
regExpReplace 3309.2ms 1263.8ms
regExpFlags 956.8ms 986.6ms
regExpSplit 1307.8ms 1321ms
numberArrayReadWrite 2477.8ms 2461.8ms
protoCache 3594.6ms 2426.2ms
box2d (static) 1792.6ms 1778.2ms
earley-boyer (static) 1875.6ms 1878.4ms
navier-stokes (static) 3410.2ms 3472ms
pdfjs (static) 812.8ms 812ms
gbemu (static) 1797ms 1765.8ms
code-load (static) 4199.2ms 4238.6ms
typescript (static) 2685.6ms 2640.8ms
simpleSum (static) 936.2ms 936.2ms
propAccess (static) 2298ms 2320ms
allocObj (static) 0.2ms 0.4ms
allocObjLit (static) 4154.4ms 4189.2ms
allocNewObj (static) 15749.2ms 15991.8ms
allocArray (static) 0.6ms 0.4ms
allocNewArray (static) 28494.2ms 28821.4ms
arrayRead (static) 74.2ms 70.8ms
arrayReadByIndex (static) 453.2ms 450ms
largeArrayRead (static) 552.2ms 553.4ms
arrayWrite (static) 178.4ms 178ms
largeArrayWrite (static) 1568.6ms 1637.2ms
interp-dispatch (static) 1918.8ms 1905ms
wb-perf (static) 8991.2ms 9081.4ms
arrayReverse (static) 37ms 37.2ms
arrayMap (static) 1064.8ms 979.4ms
arrayIndexOf (static) 128.2ms 127.6ms
arrayLastIndexOf (static) 138.8ms 143ms
arrayEvery (static) 1397.6ms 1421.4ms
arraySome (static) 1406.6ms 1434.8ms
arrayFill (static) 1969.2ms 1990.2ms
arrayFilter (static) 1061ms 1068.6ms
arrayFind (static) 2242.2ms 2277.6ms
arrayFindIndex (static) 2235.8ms 2267.8ms
arrayPop (static) 878ms 896.6ms
arrayReduce (static) 1311.8ms 1326.4ms
arrayReduceRight (static) 1322.6ms 1322ms
arrayShift (static) 1512ms 1530.8ms
arrayUnshift (static) 1568.2ms 1593ms
arrayIncludes (static) 963.4ms 968.4ms
arrayFrom (static) 1030.6ms 1013.6ms
arrayCopyWithin (static) 1109.6ms 1127.2ms
stringFromCharCode (static) 77ms 76.2ms
arraySlice (static) 571.6ms 576ms
arraySplice (static) 26ms 27.2ms
arrayOf (static) 868.8ms 869.8ms
stringCharAt (static) 1100.6ms 1107ms
stringMatch (static) 2227.6ms 2308.4ms
stringSearch (static) 2219.2ms 2298.4ms
stringStartsWith (static) 494.2ms 509ms
stringEndsWith (static) 457.8ms 457.6ms
stringIncludes (static) 1437.4ms 1940.8ms
stringIndexOf (static) 1440.8ms 1941.8ms
stringLastIndexOf (static) 1956.6ms 1919.4ms
stringSplit (static) 651.2ms 720.8ms
stringSlice (static) 445.6ms 428.2ms
stringPadStart (static) 2294.4ms 2452.8ms
stringPadEnd (static) 2499.2ms 2424.8ms
regExpMatch (static) 1483.2ms 1567ms
regExpSearch (static) 1296.2ms 1217ms
regExpToString (static) 1326.6ms 1051.6ms
stringReplace (static) 1455.6ms 1532ms
regExpReplace (static) 851.8ms 846ms
regExpFlags (static) 870.6ms 836ms
regExpSplit (static) 1200ms 1129.2ms
numberArrayReadWrite (static) 2132.8ms 2119.4ms
protoCache (static) 3595.8ms 3648.2ms
micros (60876ms, 61176ms) +0.5%
micros hermes (CI) hermes (CI)
getNodeById.js 5273ms 4954ms
setInsert.js 2864.8ms 2739.4ms
stringify-number.js 1823.4ms 1802ms
typed-array-sort.js 22381ms 22738.6ms
getNodeById.js (static) 3941ms 4031.8ms
setInsert.js (static) 2517.6ms 2365.6ms
stringify-number.js (static) 1663.6ms 1575.6ms
typed-array-sort.js (static) 20411.4ms 20968.6ms
jit-benches (8563ms, 6362ms) -25.7%
jit-benches hermes (CI) hermes (CI)
idisp.js 2810.2ms 1991.6ms
idispn.js 3395.8ms 2077.6ms
idisp.js (static) 1906ms 1906ms
idispn.js (static) 450.8ms 387ms
many-subclasses (73437ms, 76816ms) +4.6%
many-subclasses hermes (CI) hermes (CI)
many.js 19104.8ms 18798ms
many-sh-1.js 7322.8ms 8125.6ms
many-sh-2.js 7329ms 8151.4ms
many-sh-3.js 7083.6ms 8021.4ms
many-sh-4.js 7235ms 8018.2ms
many.js (static) 15996ms 16176ms
many-sh-1.js (static) 2285.2ms 2287.4ms
many-sh-2.js (static) 2387ms 2492.4ms
many-sh-3.js (static) 2347.2ms 2384.4ms
many-sh-4.js (static) 2346ms 2360.8ms
map-objects (3627ms, 3639ms) +0.3%
map-objects hermes (CI) hermes (CI)
map-objects-untyped.js 1023.6ms 1007.4ms
map-objects-typed.js 957.6ms 952.2ms
map-objects-untyped.js (static) 917.2ms 935.8ms
map-objects-typed.js (static) 728.8ms 743.2ms
map-strings (4335ms, 4368ms) +0.8%
map-strings hermes (CI) hermes (CI)
map-strings-untyped.js 1196.8ms 1186.6ms
map-strings-typed.js 1139.2ms 1142.8ms
map-strings-untyped.js (static) 1092.2ms 1114ms
map-strings-typed.js (static) 906.8ms 924.6ms
nbody (3448ms, 2895ms) -16.0%
nbody hermes (CI) hermes (CI)
original/nbody.js 839.6ms 664.8ms
fully-typed/nbody.js 710ms 550ms
fully-typed/nbody.ts 865.2ms 634.4ms
original/nbody.js (static) 449.2ms 459ms
fully-typed/nbody.js (static) 135ms 135.2ms
fully-typed/nbody.ts (static) 449.2ms 452ms
string-switch (6503ms, 6138ms) -5.6%
string-switch (string-switch/plain) hermes (CI) hermes (CI)
bench.js 1316ms 1307.4ms
bench.js (static) 5187ms 4830.2ms
raytracer (5608ms, 5462ms) -2.6%
raytracer (raytracer/original) hermes (CI) hermes (CI)
bench-raytracer.js 1550.4ms 1446.6ms
raytracer.ts 1667.6ms 1546.4ms
bench-raytracer.js (static) 1198.4ms 1219.8ms
raytracer.ts (static) 1191.8ms 1249.4ms
MiniReact (30332ms, 30003ms) -1.1%
MiniReact hermes (CI) hermes (CI)
no-objects/out/simple-stripped.js 2239.2ms 2170ms
no-objects/out/simple-lowered.js 2270.8ms 2220.6ms
no-objects/out/music-stripped.js 42.6ms 42.2ms
no-objects/out/music-lowered.js 47.2ms 47.6ms
no-deps/stripped/MiniReact.js 5004ms 4657.8ms
no-deps/MiniReact.js 5256.2ms 4585ms
no-objects/out/simple.js 2260.4ms 2546.4ms
no-objects/out/music.js 45.6ms 44.4ms
no-objects/out/simple-stripped.js (static) 1725.2ms 1802.6ms
no-objects/out/simple-lowered.js (static) 1725.4ms 1790.6ms
no-objects/out/music-stripped.js (static) 18.8ms 19.6ms
no-objects/out/music-lowered.js (static) 19.4ms 19.4ms
no-deps/stripped/MiniReact.js (static) 4024.8ms 4173.8ms
no-deps/MiniReact.js (static) 3938.2ms 4139ms
no-objects/out/simple.js (static) 1695.2ms 1724ms
no-objects/out/music.js (static) 19ms 20.2ms
widgets (12934ms, 12797ms) -1.1%
widgets hermes (CI) hermes (CI)
simple-classes/widgets.js 1758.2ms 1654.2ms
original/es5/widgets.js 2798.8ms 2718.8ms
single-file/es5/widgets.js 2775.2ms 2737.6ms
simple-classes/widgets.js (static) 1012ms 1020ms
original/es5/widgets.js (static) 2283.2ms 2368.4ms
single-file/es5/widgets.js (static) 2306.2ms 2297.6ms

@vmoroz
Vladimir Morozov (vmoroz) enabled auto-merge (squash) August 12, 2026 15:59
@vmoroz
Vladimir Morozov (vmoroz) merged commit 35d3479 into microsoft:main Aug 12, 2026
14 checks passed
@vmoroz
Vladimir Morozov (vmoroz) deleted the PR/fix-network-isolation-issues branch August 12, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants