vxrn 1.14.4 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +263 -248
- package/dist/cli.mjs.map +1 -1
- package/dist/cli.native.js +267 -252
- package/dist/cli.native.js.map +1 -1
- package/dist/config/getAdditionalViteConfig.mjs +8 -8
- package/dist/config/getAdditionalViteConfig.mjs.map +1 -1
- package/dist/config/getAdditionalViteConfig.native.js +8 -8
- package/dist/config/getAdditionalViteConfig.native.js.map +1 -1
- package/dist/config/getBaseViteConfigOnly.mjs +14 -12
- package/dist/config/getBaseViteConfigOnly.mjs.map +1 -1
- package/dist/config/getBaseViteConfigOnly.native.js +16 -14
- package/dist/config/getBaseViteConfigOnly.native.js.map +1 -1
- package/dist/config/getBaseVitePlugins.mjs +34 -19
- package/dist/config/getBaseVitePlugins.mjs.map +1 -1
- package/dist/config/getBaseVitePlugins.native.js +47 -32
- package/dist/config/getBaseVitePlugins.native.js.map +1 -1
- package/dist/config/getOptimizeDeps.mjs +12 -9
- package/dist/config/getOptimizeDeps.mjs.map +1 -1
- package/dist/config/getOptimizeDeps.native.js +12 -9
- package/dist/config/getOptimizeDeps.native.js.map +1 -1
- package/dist/config/getOptionsFilled.mjs +47 -41
- package/dist/config/getOptionsFilled.mjs.map +1 -1
- package/dist/config/getOptionsFilled.native.js +53 -50
- package/dist/config/getOptionsFilled.native.js.map +1 -1
- package/dist/config/getReactNativePlugins.mjs +5 -2
- package/dist/config/getReactNativePlugins.mjs.map +1 -1
- package/dist/config/getReactNativePlugins.native.js +8 -5
- package/dist/config/getReactNativePlugins.native.js.map +1 -1
- package/dist/config/getServerOptionsFilled.mjs +21 -14
- package/dist/config/getServerOptionsFilled.mjs.map +1 -1
- package/dist/config/getServerOptionsFilled.native.js +25 -21
- package/dist/config/getServerOptionsFilled.native.js.map +1 -1
- package/dist/config/getViteServerConfig.mjs +25 -16
- package/dist/config/getViteServerConfig.mjs.map +1 -1
- package/dist/config/getViteServerConfig.native.js +37 -28
- package/dist/config/getViteServerConfig.native.js.map +1 -1
- package/dist/config/mergeUserConfig.mjs +25 -7
- package/dist/config/mergeUserConfig.mjs.map +1 -1
- package/dist/config/mergeUserConfig.native.js +32 -14
- package/dist/config/mergeUserConfig.native.js.map +1 -1
- package/dist/config/mergeUserConfig.test.mjs +53 -26
- package/dist/config/mergeUserConfig.test.mjs.map +1 -1
- package/dist/config/mergeUserConfig.test.native.js +94 -74
- package/dist/config/mergeUserConfig.test.native.js.map +1 -1
- package/dist/constants.mjs +6 -6
- package/dist/constants.mjs.map +1 -1
- package/dist/constants.native.js +6 -6
- package/dist/constants.native.js.map +1 -1
- package/dist/exports/build.mjs +241 -191
- package/dist/exports/build.mjs.map +1 -1
- package/dist/exports/build.native.js +257 -221
- package/dist/exports/build.native.js.map +1 -1
- package/dist/exports/clean.mjs +17 -12
- package/dist/exports/clean.mjs.map +1 -1
- package/dist/exports/clean.native.js +22 -13
- package/dist/exports/clean.native.js.map +1 -1
- package/dist/exports/createServer.mjs +49 -35
- package/dist/exports/createServer.mjs.map +1 -1
- package/dist/exports/createServer.native.js +50 -34
- package/dist/exports/createServer.native.js.map +1 -1
- package/dist/exports/dev.mjs +119 -74
- package/dist/exports/dev.mjs.map +1 -1
- package/dist/exports/dev.native.js +131 -90
- package/dist/exports/dev.native.js.map +1 -1
- package/dist/exports/loadEnv.mjs +28 -19
- package/dist/exports/loadEnv.mjs.map +1 -1
- package/dist/exports/loadEnv.native.js +33 -28
- package/dist/exports/loadEnv.native.js.map +1 -1
- package/dist/exports/patch.mjs +4 -1
- package/dist/exports/patch.mjs.map +1 -1
- package/dist/exports/patch.native.js +4 -1
- package/dist/exports/patch.native.js.map +1 -1
- package/dist/exports/prebuild.mjs +106 -42
- package/dist/exports/prebuild.mjs.map +1 -1
- package/dist/exports/prebuild.native.js +116 -63
- package/dist/exports/prebuild.native.js.map +1 -1
- package/dist/exports/prebuildWithoutExpo.mjs +44 -39
- package/dist/exports/prebuildWithoutExpo.mjs.map +1 -1
- package/dist/exports/prebuildWithoutExpo.native.js +45 -42
- package/dist/exports/prebuildWithoutExpo.native.js.map +1 -1
- package/dist/exports/runAndroid.mjs +8 -5
- package/dist/exports/runAndroid.mjs.map +1 -1
- package/dist/exports/runAndroid.native.js +2 -1
- package/dist/exports/runAndroid.native.js.map +1 -1
- package/dist/exports/runIos.mjs +8 -5
- package/dist/exports/runIos.mjs.map +1 -1
- package/dist/exports/runIos.native.js +2 -1
- package/dist/exports/runIos.native.js.map +1 -1
- package/dist/exports/serve.mjs +14 -6
- package/dist/exports/serve.mjs.map +1 -1
- package/dist/exports/serve.native.js +21 -13
- package/dist/exports/serve.native.js.map +1 -1
- package/dist/exports/serveStaticAssets.mjs +37 -22
- package/dist/exports/serveStaticAssets.mjs.map +1 -1
- package/dist/exports/serveStaticAssets.native.js +65 -41
- package/dist/exports/serveStaticAssets.native.js.map +1 -1
- package/dist/patches/builtInDepPatches.mjs +145 -62
- package/dist/patches/builtInDepPatches.mjs.map +1 -1
- package/dist/patches/builtInDepPatches.native.js +116 -70
- package/dist/patches/builtInDepPatches.native.js.map +1 -1
- package/dist/plugins/autoDepOptimizePlugin.mjs +66 -42
- package/dist/plugins/autoDepOptimizePlugin.mjs.map +1 -1
- package/dist/plugins/autoDepOptimizePlugin.native.js +83 -63
- package/dist/plugins/autoDepOptimizePlugin.native.js.map +1 -1
- package/dist/plugins/autoDepOptimizePlugin.test.mjs +23 -17
- package/dist/plugins/autoDepOptimizePlugin.test.mjs.map +1 -1
- package/dist/plugins/autoDepOptimizePlugin.test.native.js +31 -27
- package/dist/plugins/autoDepOptimizePlugin.test.native.js.map +1 -1
- package/dist/plugins/defaultDepOptimizePlugin.mjs +6 -2
- package/dist/plugins/defaultDepOptimizePlugin.mjs.map +1 -1
- package/dist/plugins/defaultDepOptimizePlugin.native.js +6 -2
- package/dist/plugins/defaultDepOptimizePlugin.native.js.map +1 -1
- package/dist/plugins/expoManifestRequestHandlerPlugin.mjs +80 -36
- package/dist/plugins/expoManifestRequestHandlerPlugin.mjs.map +1 -1
- package/dist/plugins/expoManifestRequestHandlerPlugin.native.js +93 -46
- package/dist/plugins/expoManifestRequestHandlerPlugin.native.js.map +1 -1
- package/dist/plugins/getResolvedConfigSubset.mjs +3 -1
- package/dist/plugins/getResolvedConfigSubset.mjs.map +1 -1
- package/dist/plugins/getResolvedConfigSubset.native.js +3 -1
- package/dist/plugins/getResolvedConfigSubset.native.js.map +1 -1
- package/dist/plugins/reactNativeCommonJsPlugin.mjs +70 -46
- package/dist/plugins/reactNativeCommonJsPlugin.mjs.map +1 -1
- package/dist/plugins/reactNativeCommonJsPlugin.native.js +99 -68
- package/dist/plugins/reactNativeCommonJsPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeDevAssetPlugin.mjs +41 -27
- package/dist/plugins/reactNativeDevAssetPlugin.mjs.map +1 -1
- package/dist/plugins/reactNativeDevAssetPlugin.native.js +61 -48
- package/dist/plugins/reactNativeDevAssetPlugin.native.js.map +1 -1
- package/dist/plugins/reactNativeDevServer.mjs +126 -83
- package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
- package/dist/plugins/reactNativeDevServer.native.js +156 -107
- package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
- package/dist/plugins/resolveIdScan.test.mjs +22 -17
- package/dist/plugins/resolveIdScan.test.mjs.map +1 -1
- package/dist/plugins/resolveIdScan.test.native.js +25 -21
- package/dist/plugins/resolveIdScan.test.native.js.map +1 -1
- package/dist/plugins/serverExtensions.test.mjs +66 -38
- package/dist/plugins/serverExtensions.test.mjs.map +1 -1
- package/dist/plugins/serverExtensions.test.native.js +63 -49
- package/dist/plugins/serverExtensions.test.native.js.map +1 -1
- package/dist/rn-commands/bundle/buildBundle.mjs +48 -31
- package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -1
- package/dist/rn-commands/bundle/buildBundle.native.js +52 -35
- package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -1
- package/dist/runtime/hmr-client.mjs +59 -39
- package/dist/runtime/hmr-client.mjs.map +1 -1
- package/dist/runtime/hmr-client.native.js +132 -92
- package/dist/runtime/hmr-client.native.js.map +1 -1
- package/dist/runtime/hmr-runtime.mjs +65 -29
- package/dist/runtime/hmr-runtime.mjs.map +1 -1
- package/dist/runtime/hmr-runtime.native.js +361 -268
- package/dist/runtime/hmr-runtime.native.js.map +1 -1
- package/dist/runtime/react-refresh-utils.mjs +19 -9
- package/dist/runtime/react-refresh-utils.mjs.map +1 -1
- package/dist/runtime/react-refresh-utils.native.js +20 -10
- package/dist/runtime/react-refresh-utils.native.js.map +1 -1
- package/dist/serve/node.mjs +33 -19
- package/dist/serve/node.mjs.map +1 -1
- package/dist/serve/node.native.js +57 -39
- package/dist/serve/node.native.js.map +1 -1
- package/dist/user-interface/index.mjs +114 -61
- package/dist/user-interface/index.mjs.map +1 -1
- package/dist/user-interface/index.native.js +158 -111
- package/dist/user-interface/index.native.js.map +1 -1
- package/dist/utils/assert.mjs +6 -2
- package/dist/utils/assert.mjs.map +1 -1
- package/dist/utils/assert.native.js +12 -4
- package/dist/utils/assert.native.js.map +1 -1
- package/dist/utils/bindKeypressInput.mjs +38 -23
- package/dist/utils/bindKeypressInput.mjs.map +1 -1
- package/dist/utils/bindKeypressInput.native.js +38 -23
- package/dist/utils/bindKeypressInput.native.js.map +1 -1
- package/dist/utils/createNativeDevEngine.mjs +421 -319
- package/dist/utils/createNativeDevEngine.mjs.map +1 -1
- package/dist/utils/createNativeDevEngine.native.js +529 -425
- package/dist/utils/createNativeDevEngine.native.js.map +1 -1
- package/dist/utils/execSync.mjs +6 -4
- package/dist/utils/execSync.mjs.map +1 -1
- package/dist/utils/execSync.native.js.map +1 -1
- package/dist/utils/expoRun.mjs +5 -3
- package/dist/utils/expoRun.mjs.map +1 -1
- package/dist/utils/expoRun.native.js +13 -13
- package/dist/utils/expoRun.native.js.map +1 -1
- package/dist/utils/filterViteServerResolvedUrls.mjs +17 -5
- package/dist/utils/filterViteServerResolvedUrls.mjs.map +1 -1
- package/dist/utils/filterViteServerResolvedUrls.native.js +41 -23
- package/dist/utils/filterViteServerResolvedUrls.native.js.map +1 -1
- package/dist/utils/getServerEntry.mjs +6 -4
- package/dist/utils/getServerEntry.mjs.map +1 -1
- package/dist/utils/getServerEntry.native.js +9 -9
- package/dist/utils/getServerEntry.native.js.map +1 -1
- package/dist/utils/getVitePath.mjs +41 -17
- package/dist/utils/getVitePath.mjs.map +1 -1
- package/dist/utils/getVitePath.native.js +38 -16
- package/dist/utils/getVitePath.native.js.map +1 -1
- package/dist/utils/patches.mjs +143 -73
- package/dist/utils/patches.mjs.map +1 -1
- package/dist/utils/patches.native.js +299 -188
- package/dist/utils/patches.native.js.map +1 -1
- package/dist/utils/patches.test.mjs +106 -69
- package/dist/utils/patches.test.mjs.map +1 -1
- package/dist/utils/patches.test.native.js +100 -75
- package/dist/utils/patches.test.native.js.map +1 -1
- package/dist/utils/printServerUrls.mjs +6 -2
- package/dist/utils/printServerUrls.mjs.map +1 -1
- package/dist/utils/printServerUrls.native.js +28 -18
- package/dist/utils/printServerUrls.native.js.map +1 -1
- package/dist/utils/removeUndefined.mjs +5 -1
- package/dist/utils/removeUndefined.mjs.map +1 -1
- package/dist/utils/removeUndefined.native.js +5 -1
- package/dist/utils/removeUndefined.native.js.map +1 -1
- package/dist/utils/scanDepsToOptimize.mjs +131 -87
- package/dist/utils/scanDepsToOptimize.mjs.map +1 -1
- package/dist/utils/scanDepsToOptimize.native.js +163 -117
- package/dist/utils/scanDepsToOptimize.native.js.map +1 -1
- package/dist/utils/state.mjs +4 -2
- package/dist/utils/state.mjs.map +1 -1
- package/dist/utils/state.native.js +3 -2
- package/dist/utils/state.native.js.map +1 -1
- package/dist/utils/utils.mjs +4 -3
- package/dist/utils/utils.mjs.map +1 -1
- package/dist/utils/utils.native.js +22 -16
- package/dist/utils/utils.native.js.map +1 -1
- package/dist/vendor/debugger-app/src/index.css +1 -1
- package/dist/vendor/debugger-app/src/index.css.map +1 -1
- package/dist/vxrn-vite-plugin.mjs +10 -6
- package/dist/vxrn-vite-plugin.mjs.map +1 -1
- package/dist/vxrn-vite-plugin.native.js +25 -21
- package/dist/vxrn-vite-plugin.native.js.map +1 -1
- package/package.json +12 -12
- package/src/plugins/reactNativeDevServer.ts +0 -6
- package/src/utils/createNativeDevEngine.ts +55 -1
- package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
- package/types/utils/createNativeDevEngine.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["transformSWC","transformFlowBabel","Glob","findNodeModules","FSExtra","realpathSync","join","rename","semver","builtInDepPatches","globDir","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","prototype","arguments","o","Object","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","value","writable","configurable","_instanceof","left","right","Symbol","hasInstance","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","obj","_wrap_native_super","_cache","Map","has","get","set","Wrapper","enumerable","result","Boolean","valueOf","Bail","Error1","Bail2","Error","bailIfUnchanged","obj1","obj2","JSON","stringify","bailIfExists","haystack","needle","includes","applyBuiltInPatches","options","extraPatches","all","_loop","key2","extraPatchFiles","existing","find","x","module","patchKey","patchFiles","console","warn","key","applyDependencyPatches","root","STATS_FILE","getOriginalPath","fullPath","readPatchStats","nodeModulesDir","readJSON","writePatchStats","stats","writeJSON","moduleToPnpmStorePattern","moduleName","replace","patches","process","cwd","length","patchModuleNames","Set","map","nodeModulesDirs","flatMap","relativePath","dir","dirs","pnpmBase","existsSync","pnpmHoistedDir","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","iterator","_step2","next","done","storePattern","storeMatches","sync","onlyDirectories","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","match","err","return"],"sources":["../../src/utils/patches.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,YAAA,QAAoB;AAC7B,SAASC,kBAAA,QAA0B;AACnC,OAAOC,IAAA,MAAU;AACjB,OAAOC,eAAA,MAAqB;AAC5B,OAAOC,OAAA,MAAa;AACpB,SAASC,YAAA,QAAoB;AAC7B,SAASC,IAAA,QAAY;AACrB,SAASC,MAAA,QAAc;AACvB,OAAOC,MAAA,MAAY;AAEnB,SAASC,iBAAA,QAAyB;AAClC,SAASC,OAAA,QAAe;AAgBxB,SAAMC,wBAAmBA,CAAAC,IAAA;EAAC,IAAAA,IAAA,
|
|
1
|
+
{"version":3,"names":["transformSWC","transformFlowBabel","Glob","findNodeModules","FSExtra","realpathSync","join","rename","semver","builtInDepPatches","globDir","_assert_this_initialized","self","ReferenceError","_call_super","_this","derived","args","_get_prototype_of","_possible_constructor_return","_is_native_reflect_construct","Reflect","construct","constructor","apply","_class_call_check","instance","Constructor","TypeError","_construct","Parent","Class","Parent2","args2","Class2","a","push","Function","bind","_set_prototype_of","prototype","arguments","o","Object","setPrototypeOf","getPrototypeOf","o2","__proto__","_inherits","subClass","superClass","create","value","writable","configurable","_instanceof","left","right","Symbol","hasInstance","_is_native_function","fn","toString","call","indexOf","_type_of","p","p2","obj","_wrap_native_super","_cache","Map","wrapNativeSuper","has","get","set","Wrapper","enumerable","result","Boolean","valueOf","_","Bail","Error1","Bail2","Error","bailIfUnchanged","obj1","obj2","JSON","stringify","bailIfExists","haystack","needle","includes","applyBuiltInPatches","options","extraPatches","all","_loop","key2","extraPatchFiles","existing","find","x","module","patchKey","patchFiles","console","warn","key","applyDependencyPatches","root","STATS_FILE","getOriginalPath","fullPath","readPatchStats","nodeModulesDir","readJSON","unused","writePatchStats","stats","writeJSON","moduleToPnpmStorePattern","moduleName","replace","patches","process","cwd","length","patchModuleNames","Set","map","nodeModulesDirs","flatMap","relativePath","dir","dirs","pnpmBase","existsSync","pnpmHoistedDir","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","iterator","_step2","next","done","storePattern","storeMatches","sync","onlyDirectories","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","match","err","return","results","transformWarnedModules","patchedRealPaths","Promise","patchStats","statsChanged","patch"],"sources":["../../src/utils/patches.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -20,9 +20,11 @@ function makePkg(name, version, extras) {
|
|
|
20
20
|
describe("moduleToPnpmStorePattern", () => {
|
|
21
21
|
it("converts scoped package names", () => {
|
|
22
22
|
expect(moduleToPnpmStorePattern("@react-navigation/core")).toBe("@react-navigation+core");
|
|
23
|
-
})
|
|
23
|
+
});
|
|
24
|
+
it("converts other scoped packages", () => {
|
|
24
25
|
expect(moduleToPnpmStorePattern("@expo/cli")).toBe("@expo+cli");
|
|
25
|
-
})
|
|
26
|
+
});
|
|
27
|
+
it("passes through unscoped packages unchanged", () => {
|
|
26
28
|
expect(moduleToPnpmStorePattern("react-native-web")).toBe("react-native-web");
|
|
27
29
|
});
|
|
28
30
|
});
|
|
@@ -30,106 +32,141 @@ describe("applyDependencyPatches", () => {
|
|
|
30
32
|
let tmpDir;
|
|
31
33
|
beforeEach(async () => {
|
|
32
34
|
tmpDir = await mkdtemp(join(tmpdir(), "vxrn-patch-test-"));
|
|
33
|
-
})
|
|
35
|
+
});
|
|
36
|
+
afterEach(async () => {
|
|
34
37
|
await rm(tmpDir, {
|
|
35
|
-
recursive:
|
|
36
|
-
force:
|
|
38
|
+
recursive: true,
|
|
39
|
+
force: true
|
|
37
40
|
});
|
|
38
41
|
});
|
|
39
42
|
async function setupAndPatch(opts) {
|
|
40
43
|
const nmDir = join(tmpDir, "node_modules");
|
|
41
|
-
|
|
44
|
+
await FSExtra.ensureDir(nmDir);
|
|
45
|
+
await opts.setupFs(nmDir);
|
|
46
|
+
await applyDependencyPatches(opts.patches, {
|
|
42
47
|
root: tmpDir
|
|
43
|
-
})
|
|
48
|
+
});
|
|
49
|
+
return nmDir;
|
|
44
50
|
}
|
|
45
51
|
it("discovers packages in pnpm content-addressable store (non-hoisted)", async () => {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
}],
|
|
57
|
-
setupFs: async nm => {
|
|
58
|
-
const storePkgDir = join(nm, ".pnpm", "@react-navigation+core@7.16.1_react@19.0.0", "node_modules", "@react-navigation", "core");
|
|
59
|
-
await FSExtra.ensureDir(storePkgDir), await FSExtra.writeFile(join(storePkgDir, "package.json"), makePkg("@react-navigation/core", "7.16.1"));
|
|
52
|
+
const patches = [{
|
|
53
|
+
module: "@react-navigation/core",
|
|
54
|
+
patchFiles: {
|
|
55
|
+
"package.json": contents => {
|
|
56
|
+
if (!contents) return;
|
|
57
|
+
const pkg = JSON.parse(contents);
|
|
58
|
+
pkg.exports = pkg.exports || {};
|
|
59
|
+
pkg.exports["./lib/module/NavigationBuilderContext"] = "./lib/module/NavigationBuilderContext.js";
|
|
60
|
+
return JSON.stringify(pkg, null, 2);
|
|
60
61
|
}
|
|
61
|
-
}
|
|
62
|
-
|
|
62
|
+
}
|
|
63
|
+
}];
|
|
64
|
+
const nmDir = await setupAndPatch({
|
|
65
|
+
patches,
|
|
66
|
+
setupFs: async nm => {
|
|
67
|
+
const storePkgDir = join(nm, ".pnpm", "@react-navigation+core@7.16.1_react@19.0.0", "node_modules", "@react-navigation", "core");
|
|
68
|
+
await FSExtra.ensureDir(storePkgDir);
|
|
69
|
+
await FSExtra.writeFile(join(storePkgDir, "package.json"), makePkg("@react-navigation/core", "7.16.1"));
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
const patchedPkg = await FSExtra.readJSON(join(nmDir, ".pnpm", "@react-navigation+core@7.16.1_react@19.0.0", "node_modules", "@react-navigation", "core", "package.json"));
|
|
63
73
|
expect(patchedPkg.exports["./lib/module/NavigationBuilderContext"]).toBe("./lib/module/NavigationBuilderContext.js");
|
|
64
|
-
})
|
|
74
|
+
});
|
|
75
|
+
it("deduplicates symlink and store entry pointing to same files", async () => {
|
|
65
76
|
let patchCallCount = 0;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
// patched
|
|
77
|
+
const patches = [{
|
|
78
|
+
module: "test-pkg",
|
|
79
|
+
patchFiles: {
|
|
80
|
+
"index.js": contents => {
|
|
81
|
+
patchCallCount++;
|
|
82
|
+
return (contents || "") + "\n// patched";
|
|
72
83
|
}
|
|
73
|
-
}
|
|
84
|
+
}
|
|
85
|
+
}];
|
|
86
|
+
await setupAndPatch({
|
|
87
|
+
patches,
|
|
74
88
|
setupFs: async nm => {
|
|
75
89
|
const storeDir = join(nm, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg");
|
|
76
|
-
await FSExtra.ensureDir(storeDir)
|
|
90
|
+
await FSExtra.ensureDir(storeDir);
|
|
91
|
+
await FSExtra.writeFile(join(storeDir, "package.json"), makePkg("test-pkg", "1.0.0"));
|
|
92
|
+
await FSExtra.writeFile(join(storeDir, "index.js"), "module.exports = {}");
|
|
77
93
|
const symlinkTarget = join(nm, "test-pkg");
|
|
78
94
|
await symlink(storeDir, symlinkTarget, "dir");
|
|
79
95
|
const pnpmHoisted = join(nm, ".pnpm", "node_modules", "test-pkg");
|
|
80
|
-
await FSExtra.ensureDir(join(nm, ".pnpm", "node_modules"))
|
|
96
|
+
await FSExtra.ensureDir(join(nm, ".pnpm", "node_modules"));
|
|
97
|
+
await symlink(storeDir, pnpmHoisted, "dir");
|
|
81
98
|
}
|
|
82
|
-
})
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}],
|
|
92
|
-
setupFs: async nm => {
|
|
93
|
-
const pkgDir = join(nm, "test-pkg");
|
|
94
|
-
await FSExtra.ensureDir(pkgDir), await FSExtra.writeFile(join(pkgDir, "package.json"), makePkg("test-pkg", "1.0.0")), await FSExtra.writeFile(join(pkgDir, "index.js"), "module.exports = {}");
|
|
99
|
+
});
|
|
100
|
+
expect(patchCallCount).toBe(1);
|
|
101
|
+
});
|
|
102
|
+
it("patches flat node_modules (non-pnpm regression)", async () => {
|
|
103
|
+
const patches = [{
|
|
104
|
+
module: "test-pkg",
|
|
105
|
+
patchFiles: {
|
|
106
|
+
"index.js": contents => {
|
|
107
|
+
return (contents || "") + "\n// patched";
|
|
95
108
|
}
|
|
96
|
-
}
|
|
97
|
-
|
|
109
|
+
}
|
|
110
|
+
}];
|
|
111
|
+
const nmDir = await setupAndPatch({
|
|
112
|
+
patches,
|
|
113
|
+
setupFs: async nm => {
|
|
114
|
+
const pkgDir = join(nm, "test-pkg");
|
|
115
|
+
await FSExtra.ensureDir(pkgDir);
|
|
116
|
+
await FSExtra.writeFile(join(pkgDir, "package.json"), makePkg("test-pkg", "1.0.0"));
|
|
117
|
+
await FSExtra.writeFile(join(pkgDir, "index.js"), "module.exports = {}");
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
const content = await FSExtra.readFile(join(nmDir, "test-pkg", "index.js"), "utf-8");
|
|
98
121
|
expect(content).toContain("// patched");
|
|
99
|
-
})
|
|
122
|
+
});
|
|
123
|
+
it("respects version constraints across multiple store versions", async () => {
|
|
124
|
+
const patches = [{
|
|
125
|
+
module: "test-pkg",
|
|
126
|
+
patchFiles: {
|
|
127
|
+
version: "1.*",
|
|
128
|
+
"index.js": () => "// v1 patched"
|
|
129
|
+
}
|
|
130
|
+
}];
|
|
100
131
|
await setupAndPatch({
|
|
101
|
-
patches
|
|
102
|
-
module: "test-pkg",
|
|
103
|
-
patchFiles: {
|
|
104
|
-
version: "1.*",
|
|
105
|
-
"index.js": () => "// v1 patched"
|
|
106
|
-
}
|
|
107
|
-
}],
|
|
132
|
+
patches,
|
|
108
133
|
setupFs: async nm => {
|
|
109
134
|
const v1Dir = join(nm, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg");
|
|
110
|
-
await FSExtra.ensureDir(v1Dir)
|
|
135
|
+
await FSExtra.ensureDir(v1Dir);
|
|
136
|
+
await FSExtra.writeFile(join(v1Dir, "package.json"), makePkg("test-pkg", "1.0.0"));
|
|
137
|
+
await FSExtra.writeFile(join(v1Dir, "index.js"), 'module.exports = "v1"');
|
|
111
138
|
const v2Dir = join(nm, ".pnpm", "test-pkg@2.0.0", "node_modules", "test-pkg");
|
|
112
|
-
await FSExtra.ensureDir(v2Dir)
|
|
139
|
+
await FSExtra.ensureDir(v2Dir);
|
|
140
|
+
await FSExtra.writeFile(join(v2Dir, "package.json"), makePkg("test-pkg", "2.0.0"));
|
|
141
|
+
await FSExtra.writeFile(join(v2Dir, "index.js"), 'module.exports = "v2"');
|
|
113
142
|
}
|
|
114
143
|
});
|
|
115
|
-
const nmDir = join(tmpDir, "node_modules")
|
|
116
|
-
|
|
144
|
+
const nmDir = join(tmpDir, "node_modules");
|
|
145
|
+
const v1Content = await FSExtra.readFile(join(nmDir, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg", "index.js"), "utf-8");
|
|
117
146
|
expect(v1Content).toBe("// v1 patched");
|
|
118
147
|
const v2Content = await FSExtra.readFile(join(nmDir, ".pnpm", "test-pkg@2.0.0", "node_modules", "test-pkg", "index.js"), "utf-8");
|
|
119
148
|
expect(v2Content).toBe('module.exports = "v2"');
|
|
120
|
-
})
|
|
149
|
+
});
|
|
150
|
+
it("deduplicates when hoisted symlink and store entry coexist", async () => {
|
|
121
151
|
let patchCallCount = 0;
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
// marker
|
|
152
|
+
const patches = [{
|
|
153
|
+
module: "test-pkg",
|
|
154
|
+
patchFiles: {
|
|
155
|
+
"index.js": contents => {
|
|
156
|
+
patchCallCount++;
|
|
157
|
+
return (contents || "") + "\n// marker";
|
|
128
158
|
}
|
|
129
|
-
}
|
|
159
|
+
}
|
|
160
|
+
}];
|
|
161
|
+
const nmDir = await setupAndPatch({
|
|
162
|
+
patches,
|
|
130
163
|
setupFs: async nm => {
|
|
131
164
|
const storeDir = join(nm, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg");
|
|
132
|
-
await FSExtra.ensureDir(storeDir)
|
|
165
|
+
await FSExtra.ensureDir(storeDir);
|
|
166
|
+
await FSExtra.writeFile(join(storeDir, "package.json"), makePkg("test-pkg", "1.0.0"));
|
|
167
|
+
await FSExtra.writeFile(join(storeDir, "index.js"), "module.exports = {}");
|
|
168
|
+
await FSExtra.ensureDir(join(nm, ".pnpm", "node_modules"));
|
|
169
|
+
await symlink(storeDir, join(nm, ".pnpm", "node_modules", "test-pkg"), "dir");
|
|
133
170
|
}
|
|
134
171
|
});
|
|
135
172
|
expect(patchCallCount).toBe(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FSExtra","join","mkdtemp","rm","symlink","tmpdir","afterEach","beforeEach","describe","expect","it","vi","applyDependencyPatches","moduleToPnpmStorePattern","mock","transformSWC","fn","transformFlowBabel","makePkg","name","version","extras","JSON","stringify","toBe","tmpDir","recursive","force","setupAndPatch","opts","nmDir","ensureDir","setupFs","patches","root","module","patchFiles","contents","pkg","parse","exports","nm","storePkgDir","writeFile","patchedPkg","readJSON","patchCallCount","storeDir","symlinkTarget","pnpmHoisted","pkgDir","content","readFile","toContain","index.js","v1Dir","v2Dir","v1Content","v2Content"],"sources":["../../src/utils/patches.test.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,OAAA,MAAa;AACpB,SAASC,IAAA,QAAY;AACrB,SAASC,OAAA,EAASC,EAAA,EAAIC,OAAA,QAAe;AACrC,SAASC,MAAA,QAAc;AACvB,SAASC,SAAA,EAAWC,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAMhE,SAEEC,sBAAA,EACAC,wBAAA,QACK;AAPPF,EAAA,CAAGG,IAAA,CAAK,kBAAkB,OAAO;EAAEC,YAAA,EAAcJ,EAAA,CAAGK,EAAA,CAAG;AAAE,EAAE;AAC3DL,EAAA,CAAGG,IAAA,CAAK,mBAAmB,OAAO;EAAEG,kBAAA,EAAoBN,EAAA,CAAGK,EAAA,CAAG;AAAE,EAAE;AASlE,SAASE,QAAQC,IAAA,EAAcC,OAAA,EAAiBC,MAAA,EAA8B;EAC5E,OAAOC,IAAA,CAAKC,SAAA,CAAU;IAAEJ,IAAA;IAAMC,OAAA;IAAS,GAAGC;EAAO,GAAG,MAAM,CAAC;AAC7D;AAEAb,QAAA,CAAS,4BAA4B,MAAM;EACzCE,EAAA,CAAG,iCAAiC,MAAM;IACxCD,MAAA,CAAOI,wBAAA,CAAyB,wBAAwB,CAAC,EAAEW,IAAA,CACzD,wBACF;EACF,CAAC,
|
|
1
|
+
{"version":3,"names":["FSExtra","join","mkdtemp","rm","symlink","tmpdir","afterEach","beforeEach","describe","expect","it","vi","applyDependencyPatches","moduleToPnpmStorePattern","mock","transformSWC","fn","transformFlowBabel","makePkg","name","version","extras","JSON","stringify","toBe","tmpDir","recursive","force","setupAndPatch","opts","nmDir","ensureDir","setupFs","patches","root","module","patchFiles","contents","pkg","parse","exports","nm","storePkgDir","writeFile","patchedPkg","readJSON","patchCallCount","storeDir","symlinkTarget","pnpmHoisted","pkgDir","content","readFile","toContain","index.js","v1Dir","v2Dir","v1Content","v2Content"],"sources":["../../src/utils/patches.test.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,OAAA,MAAa;AACpB,SAASC,IAAA,QAAY;AACrB,SAASC,OAAA,EAASC,EAAA,EAAIC,OAAA,QAAe;AACrC,SAASC,MAAA,QAAc;AACvB,SAASC,SAAA,EAAWC,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAMhE,SAEEC,sBAAA,EACAC,wBAAA,QACK;AAPPF,EAAA,CAAGG,IAAA,CAAK,kBAAkB,OAAO;EAAEC,YAAA,EAAcJ,EAAA,CAAGK,EAAA,CAAG;AAAE,EAAE;AAC3DL,EAAA,CAAGG,IAAA,CAAK,mBAAmB,OAAO;EAAEG,kBAAA,EAAoBN,EAAA,CAAGK,EAAA,CAAG;AAAE,EAAE;AASlE,SAASE,QAAQC,IAAA,EAAcC,OAAA,EAAiBC,MAAA,EAA8B;EAC5E,OAAOC,IAAA,CAAKC,SAAA,CAAU;IAAEJ,IAAA;IAAMC,OAAA;IAAS,GAAGC;EAAO,GAAG,MAAM,CAAC;AAC7D;AAEAb,QAAA,CAAS,4BAA4B,MAAM;EACzCE,EAAA,CAAG,iCAAiC,MAAM;IACxCD,MAAA,CAAOI,wBAAA,CAAyB,wBAAwB,CAAC,EAAEW,IAAA,CACzD,wBACF;EACF,CAAC;EAEDd,EAAA,CAAG,kCAAkC,MAAM;IACzCD,MAAA,CAAOI,wBAAA,CAAyB,WAAW,CAAC,EAAEW,IAAA,CAAK,WAAW;EAChE,CAAC;EAEDd,EAAA,CAAG,8CAA8C,MAAM;IACrDD,MAAA,CAAOI,wBAAA,CAAyB,kBAAkB,CAAC,EAAEW,IAAA,CAAK,kBAAkB;EAC9E,CAAC;AACH,CAAC;AAEDhB,QAAA,CAAS,0BAA0B,MAAM;EACvC,IAAIiB,MAAA;EAEJlB,UAAA,CAAW,YAAY;IACrBkB,MAAA,GAAS,MAAMvB,OAAA,CAAQD,IAAA,CAAKI,MAAA,CAAO,GAAG,kBAAkB,CAAC;EAC3D,CAAC;EAEDC,SAAA,CAAU,YAAY;IACpB,MAAMH,EAAA,CAAGsB,MAAA,EAAQ;MAAEC,SAAA,EAAW;MAAMC,KAAA,EAAO;IAAK,CAAC;EACnD,CAAC;EAGD,eAAeC,cAAcC,IAAA,EAG1B;IACD,MAAMC,KAAA,GAAQ7B,IAAA,CAAKwB,MAAA,EAAQ,cAAc;IACzC,MAAMzB,OAAA,CAAQ+B,SAAA,CAAUD,KAAK;IAC7B,MAAMD,IAAA,CAAKG,OAAA,CAAQF,KAAK;IACxB,MAAMlB,sBAAA,CAAuBiB,IAAA,CAAKI,OAAA,EAAS;MAAEC,IAAA,EAAMT;IAAO,CAAC;IAC3D,OAAOK,KAAA;EACT;EAEApB,EAAA,CAAG,sEAAsE,YAAY;IACnF,MAAMuB,OAAA,GAAsB,CAC1B;MACEE,MAAA,EAAQ;MACRC,UAAA,EAAY;QACV,gBAAiBC,QAAA,IAAa;UAC5B,IAAI,CAACA,QAAA,EAAU;UACf,MAAMC,GAAA,GAAMhB,IAAA,CAAKiB,KAAA,CAAMF,QAAQ;UAC/BC,GAAA,CAAIE,OAAA,GAAUF,GAAA,CAAIE,OAAA,IAAW,CAAC;UAC9BF,GAAA,CAAIE,OAAA,CAAQ,uCAAuC,IACjD;UACF,OAAOlB,IAAA,CAAKC,SAAA,CAAUe,GAAA,EAAK,MAAM,CAAC;QACpC;MACF;IACF,EACF;IAEA,MAAMR,KAAA,GAAQ,MAAMF,aAAA,CAAc;MAChCK,OAAA;MACAD,OAAA,EAAS,MAAOS,EAAA,IAAO;QAErB,MAAMC,WAAA,GAAczC,IAAA,CAClBwC,EAAA,EACA,SACA,8CACA,gBACA,qBACA,MACF;QACA,MAAMzC,OAAA,CAAQ+B,SAAA,CAAUW,WAAW;QACnC,MAAM1C,OAAA,CAAQ2C,SAAA,CACZ1C,IAAA,CAAKyC,WAAA,EAAa,cAAc,GAChCxB,OAAA,CAAQ,0BAA0B,QAAQ,CAC5C;MACF;IACF,CAAC;IAGD,MAAM0B,UAAA,GAAa,MAAM5C,OAAA,CAAQ6C,QAAA,CAC/B5C,IAAA,CACE6B,KAAA,EACA,SACA,8CACA,gBACA,qBACA,QACA,cACF,CACF;IACArB,MAAA,CAAOmC,UAAA,CAAWJ,OAAA,CAAQ,uCAAuC,CAAC,EAAEhB,IAAA,CAClE,0CACF;EACF,CAAC;EAEDd,EAAA,CAAG,+DAA+D,YAAY;IAC5E,IAAIoC,cAAA,GAAiB;IAErB,MAAMb,OAAA,GAAsB,CAC1B;MACEE,MAAA,EAAQ;MACRC,UAAA,EAAY;QACV,YAAaC,QAAA,IAAa;UACxBS,cAAA;UACA,QAAQT,QAAA,IAAY,MAAM;QAC5B;MACF;IACF,EACF;IAEA,MAAMT,aAAA,CAAc;MAClBK,OAAA;MACAD,OAAA,EAAS,MAAOS,EAAA,IAAO;QAErB,MAAMM,QAAA,GAAW9C,IAAA,CAAKwC,EAAA,EAAI,SAAS,kBAAkB,gBAAgB,UAAU;QAC/E,MAAMzC,OAAA,CAAQ+B,SAAA,CAAUgB,QAAQ;QAChC,MAAM/C,OAAA,CAAQ2C,SAAA,CACZ1C,IAAA,CAAK8C,QAAA,EAAU,cAAc,GAC7B7B,OAAA,CAAQ,YAAY,OAAO,CAC7B;QACA,MAAMlB,OAAA,CAAQ2C,SAAA,CAAU1C,IAAA,CAAK8C,QAAA,EAAU,UAAU,GAAG,qBAAqB;QAGzE,MAAMC,aAAA,GAAgB/C,IAAA,CAAKwC,EAAA,EAAI,UAAU;QACzC,MAAMrC,OAAA,CAAQ2C,QAAA,EAAUC,aAAA,EAAe,KAAK;QAG5C,MAAMC,WAAA,GAAchD,IAAA,CAAKwC,EAAA,EAAI,SAAS,gBAAgB,UAAU;QAChE,MAAMzC,OAAA,CAAQ+B,SAAA,CAAU9B,IAAA,CAAKwC,EAAA,EAAI,SAAS,cAAc,CAAC;QACzD,MAAMrC,OAAA,CAAQ2C,QAAA,EAAUE,WAAA,EAAa,KAAK;MAC5C;IACF,CAAC;IAGDxC,MAAA,CAAOqC,cAAc,EAAEtB,IAAA,CAAK,CAAC;EAC/B,CAAC;EAEDd,EAAA,CAAG,mDAAmD,YAAY;IAChE,MAAMuB,OAAA,GAAsB,CAC1B;MACEE,MAAA,EAAQ;MACRC,UAAA,EAAY;QACV,YAAaC,QAAA,IAAa;UACxB,QAAQA,QAAA,IAAY,MAAM;QAC5B;MACF;IACF,EACF;IAEA,MAAMP,KAAA,GAAQ,MAAMF,aAAA,CAAc;MAChCK,OAAA;MACAD,OAAA,EAAS,MAAOS,EAAA,IAAO;QAErB,MAAMS,MAAA,GAASjD,IAAA,CAAKwC,EAAA,EAAI,UAAU;QAClC,MAAMzC,OAAA,CAAQ+B,SAAA,CAAUmB,MAAM;QAC9B,MAAMlD,OAAA,CAAQ2C,SAAA,CACZ1C,IAAA,CAAKiD,MAAA,EAAQ,cAAc,GAC3BhC,OAAA,CAAQ,YAAY,OAAO,CAC7B;QACA,MAAMlB,OAAA,CAAQ2C,SAAA,CAAU1C,IAAA,CAAKiD,MAAA,EAAQ,UAAU,GAAG,qBAAqB;MACzE;IACF,CAAC;IAED,MAAMC,OAAA,GAAU,MAAMnD,OAAA,CAAQoD,QAAA,CAASnD,IAAA,CAAK6B,KAAA,EAAO,YAAY,UAAU,GAAG,OAAO;IACnFrB,MAAA,CAAO0C,OAAO,EAAEE,SAAA,CAAU,YAAY;EACxC,CAAC;EAED3C,EAAA,CAAG,+DAA+D,YAAY;IAC5E,MAAMuB,OAAA,GAAsB,CAC1B;MACEE,MAAA,EAAQ;MACRC,UAAA,EAAY;QACVhB,OAAA,EAAS;QACT,YAAYkC,CAAA,KAAM;MACpB;IACF,EACF;IAEA,MAAM1B,aAAA,CAAc;MAClBK,OAAA;MACAD,OAAA,EAAS,MAAOS,EAAA,IAAO;QAErB,MAAMc,KAAA,GAAQtD,IAAA,CAAKwC,EAAA,EAAI,SAAS,kBAAkB,gBAAgB,UAAU;QAC5E,MAAMzC,OAAA,CAAQ+B,SAAA,CAAUwB,KAAK;QAC7B,MAAMvD,OAAA,CAAQ2C,SAAA,CAAU1C,IAAA,CAAKsD,KAAA,EAAO,cAAc,GAAGrC,OAAA,CAAQ,YAAY,OAAO,CAAC;QACjF,MAAMlB,OAAA,CAAQ2C,SAAA,CAAU1C,IAAA,CAAKsD,KAAA,EAAO,UAAU,GAAG,uBAAuB;QAGxE,MAAMC,KAAA,GAAQvD,IAAA,CAAKwC,EAAA,EAAI,SAAS,kBAAkB,gBAAgB,UAAU;QAC5E,MAAMzC,OAAA,CAAQ+B,SAAA,CAAUyB,KAAK;QAC7B,MAAMxD,OAAA,CAAQ2C,SAAA,CAAU1C,IAAA,CAAKuD,KAAA,EAAO,cAAc,GAAGtC,OAAA,CAAQ,YAAY,OAAO,CAAC;QACjF,MAAMlB,OAAA,CAAQ2C,SAAA,CAAU1C,IAAA,CAAKuD,KAAA,EAAO,UAAU,GAAG,uBAAuB;MAC1E;IACF,CAAC;IAED,MAAM1B,KAAA,GAAQ7B,IAAA,CAAKwB,MAAA,EAAQ,cAAc;IAGzC,MAAMgC,SAAA,GAAY,MAAMzD,OAAA,CAAQoD,QAAA,CAC9BnD,IAAA,CAAK6B,KAAA,EAAO,SAAS,kBAAkB,gBAAgB,YAAY,UAAU,GAC7E,OACF;IACArB,MAAA,CAAOgD,SAAS,EAAEjC,IAAA,CAAK,eAAe;IAGtC,MAAMkC,SAAA,GAAY,MAAM1D,OAAA,CAAQoD,QAAA,CAC9BnD,IAAA,CAAK6B,KAAA,EAAO,SAAS,kBAAkB,gBAAgB,YAAY,UAAU,GAC7E,OACF;IACArB,MAAA,CAAOiD,SAAS,EAAElC,IAAA,CAAK,uBAAuB;EAChD,CAAC;EAEDd,EAAA,CAAG,6DAA6D,YAAY;IAC1E,IAAIoC,cAAA,GAAiB;IAErB,MAAMb,OAAA,GAAsB,CAC1B;MACEE,MAAA,EAAQ;MACRC,UAAA,EAAY;QACV,YAAaC,QAAA,IAAa;UACxBS,cAAA;UACA,QAAQT,QAAA,IAAY,MAAM;QAC5B;MACF;IACF,EACF;IAEA,MAAMP,KAAA,GAAQ,MAAMF,aAAA,CAAc;MAChCK,OAAA;MACAD,OAAA,EAAS,MAAOS,EAAA,IAAO;QAErB,MAAMM,QAAA,GAAW9C,IAAA,CAAKwC,EAAA,EAAI,SAAS,kBAAkB,gBAAgB,UAAU;QAC/E,MAAMzC,OAAA,CAAQ+B,SAAA,CAAUgB,QAAQ;QAChC,MAAM/C,OAAA,CAAQ2C,SAAA,CACZ1C,IAAA,CAAK8C,QAAA,EAAU,cAAc,GAC7B7B,OAAA,CAAQ,YAAY,OAAO,CAC7B;QACA,MAAMlB,OAAA,CAAQ2C,SAAA,CAAU1C,IAAA,CAAK8C,QAAA,EAAU,UAAU,GAAG,qBAAqB;QAGzE,MAAM/C,OAAA,CAAQ+B,SAAA,CAAU9B,IAAA,CAAKwC,EAAA,EAAI,SAAS,cAAc,CAAC;QACzD,MAAMrC,OAAA,CAAQ2C,QAAA,EAAU9C,IAAA,CAAKwC,EAAA,EAAI,SAAS,gBAAgB,UAAU,GAAG,KAAK;MAC9E;IACF,CAAC;IAEDhC,MAAA,CAAOqC,cAAc,EAAEtB,IAAA,CAAK,CAAC;IAG7B,MAAM2B,OAAA,GAAU,MAAMnD,OAAA,CAAQoD,QAAA,CAC5BnD,IAAA,CAAK6B,KAAA,EAAO,SAAS,kBAAkB,gBAAgB,YAAY,UAAU,GAC7E,OACF;IACArB,MAAA,CAAO0C,OAAO,EAAEE,SAAA,CAAU,WAAW;EACvC,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -24,9 +24,11 @@ function makePkg(name, version, extras) {
|
|
|
24
24
|
describe("moduleToPnpmStorePattern", function () {
|
|
25
25
|
it("converts scoped package names", function () {
|
|
26
26
|
expect(moduleToPnpmStorePattern("@react-navigation/core")).toBe("@react-navigation+core");
|
|
27
|
-
})
|
|
27
|
+
});
|
|
28
|
+
it("converts other scoped packages", function () {
|
|
28
29
|
expect(moduleToPnpmStorePattern("@expo/cli")).toBe("@expo+cli");
|
|
29
|
-
})
|
|
30
|
+
});
|
|
31
|
+
it("passes through unscoped packages unchanged", function () {
|
|
30
32
|
expect(moduleToPnpmStorePattern("react-native-web")).toBe("react-native-web");
|
|
31
33
|
});
|
|
32
34
|
});
|
|
@@ -34,81 +36,95 @@ describe("applyDependencyPatches", function () {
|
|
|
34
36
|
var tmpDir;
|
|
35
37
|
beforeEach(async function () {
|
|
36
38
|
tmpDir = await mkdtemp(join(tmpdir(), "vxrn-patch-test-"));
|
|
37
|
-
})
|
|
39
|
+
});
|
|
40
|
+
afterEach(async function () {
|
|
38
41
|
await rm(tmpDir, {
|
|
39
|
-
recursive:
|
|
40
|
-
force:
|
|
42
|
+
recursive: true,
|
|
43
|
+
force: true
|
|
41
44
|
});
|
|
42
45
|
});
|
|
43
46
|
async function setupAndPatch(opts) {
|
|
44
47
|
var nmDir = join(tmpDir, "node_modules");
|
|
45
|
-
|
|
48
|
+
await FSExtra.ensureDir(nmDir);
|
|
49
|
+
await opts.setupFs(nmDir);
|
|
50
|
+
await applyDependencyPatches(opts.patches, {
|
|
46
51
|
root: tmpDir
|
|
47
|
-
})
|
|
52
|
+
});
|
|
53
|
+
return nmDir;
|
|
48
54
|
}
|
|
49
55
|
it("discovers packages in pnpm content-addressable store (non-hoisted)", async function () {
|
|
50
56
|
var patches = [{
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
}],
|
|
61
|
-
nmDir = await setupAndPatch({
|
|
62
|
-
patches,
|
|
63
|
-
setupFs: async function (nm) {
|
|
64
|
-
var storePkgDir = join(nm, ".pnpm", "@react-navigation+core@7.16.1_react@19.0.0", "node_modules", "@react-navigation", "core");
|
|
65
|
-
await FSExtra.ensureDir(storePkgDir), await FSExtra.writeFile(join(storePkgDir, "package.json"), makePkg("@react-navigation/core", "7.16.1"));
|
|
57
|
+
module: "@react-navigation/core",
|
|
58
|
+
patchFiles: {
|
|
59
|
+
"package.json": function (contents) {
|
|
60
|
+
if (!contents) return;
|
|
61
|
+
var pkg = JSON.parse(contents);
|
|
62
|
+
pkg.exports = pkg.exports || {};
|
|
63
|
+
pkg.exports["./lib/module/NavigationBuilderContext"] = "./lib/module/NavigationBuilderContext.js";
|
|
64
|
+
return JSON.stringify(pkg, null, 2);
|
|
66
65
|
}
|
|
67
|
-
}
|
|
68
|
-
|
|
66
|
+
}
|
|
67
|
+
}];
|
|
68
|
+
var nmDir = await setupAndPatch({
|
|
69
|
+
patches,
|
|
70
|
+
setupFs: async function (nm) {
|
|
71
|
+
var storePkgDir = join(nm, ".pnpm", "@react-navigation+core@7.16.1_react@19.0.0", "node_modules", "@react-navigation", "core");
|
|
72
|
+
await FSExtra.ensureDir(storePkgDir);
|
|
73
|
+
await FSExtra.writeFile(join(storePkgDir, "package.json"), makePkg("@react-navigation/core", "7.16.1"));
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
var patchedPkg = await FSExtra.readJSON(join(nmDir, ".pnpm", "@react-navigation+core@7.16.1_react@19.0.0", "node_modules", "@react-navigation", "core", "package.json"));
|
|
69
77
|
expect(patchedPkg.exports["./lib/module/NavigationBuilderContext"]).toBe("./lib/module/NavigationBuilderContext.js");
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
});
|
|
79
|
+
it("deduplicates symlink and store entry pointing to same files", async function () {
|
|
80
|
+
var patchCallCount = 0;
|
|
81
|
+
var patches = [{
|
|
82
|
+
module: "test-pkg",
|
|
83
|
+
patchFiles: {
|
|
84
|
+
"index.js": function (contents) {
|
|
85
|
+
patchCallCount++;
|
|
86
|
+
return (contents || "") + "\n// patched";
|
|
79
87
|
}
|
|
80
|
-
}
|
|
88
|
+
}
|
|
89
|
+
}];
|
|
81
90
|
await setupAndPatch({
|
|
82
91
|
patches,
|
|
83
92
|
setupFs: async function (nm) {
|
|
84
93
|
var storeDir = join(nm, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg");
|
|
85
|
-
await FSExtra.ensureDir(storeDir)
|
|
94
|
+
await FSExtra.ensureDir(storeDir);
|
|
95
|
+
await FSExtra.writeFile(join(storeDir, "package.json"), makePkg("test-pkg", "1.0.0"));
|
|
96
|
+
await FSExtra.writeFile(join(storeDir, "index.js"), "module.exports = {}");
|
|
86
97
|
var symlinkTarget = join(nm, "test-pkg");
|
|
87
98
|
await symlink(storeDir, symlinkTarget, "dir");
|
|
88
99
|
var pnpmHoisted = join(nm, ".pnpm", "node_modules", "test-pkg");
|
|
89
|
-
await FSExtra.ensureDir(join(nm, ".pnpm", "node_modules"))
|
|
100
|
+
await FSExtra.ensureDir(join(nm, ".pnpm", "node_modules"));
|
|
101
|
+
await symlink(storeDir, pnpmHoisted, "dir");
|
|
90
102
|
}
|
|
91
|
-
})
|
|
92
|
-
|
|
103
|
+
});
|
|
104
|
+
expect(patchCallCount).toBe(1);
|
|
105
|
+
});
|
|
106
|
+
it("patches flat node_modules (non-pnpm regression)", async function () {
|
|
93
107
|
var patches = [{
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
// patched`;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}],
|
|
102
|
-
nmDir = await setupAndPatch({
|
|
103
|
-
patches,
|
|
104
|
-
setupFs: async function (nm) {
|
|
105
|
-
var pkgDir = join(nm, "test-pkg");
|
|
106
|
-
await FSExtra.ensureDir(pkgDir), await FSExtra.writeFile(join(pkgDir, "package.json"), makePkg("test-pkg", "1.0.0")), await FSExtra.writeFile(join(pkgDir, "index.js"), "module.exports = {}");
|
|
108
|
+
module: "test-pkg",
|
|
109
|
+
patchFiles: {
|
|
110
|
+
"index.js": function (contents) {
|
|
111
|
+
return (contents || "") + "\n// patched";
|
|
107
112
|
}
|
|
108
|
-
}
|
|
109
|
-
|
|
113
|
+
}
|
|
114
|
+
}];
|
|
115
|
+
var nmDir = await setupAndPatch({
|
|
116
|
+
patches,
|
|
117
|
+
setupFs: async function (nm) {
|
|
118
|
+
var pkgDir = join(nm, "test-pkg");
|
|
119
|
+
await FSExtra.ensureDir(pkgDir);
|
|
120
|
+
await FSExtra.writeFile(join(pkgDir, "package.json"), makePkg("test-pkg", "1.0.0"));
|
|
121
|
+
await FSExtra.writeFile(join(pkgDir, "index.js"), "module.exports = {}");
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
var content = await FSExtra.readFile(join(nmDir, "test-pkg", "index.js"), "utf-8");
|
|
110
125
|
expect(content).toContain("// patched");
|
|
111
|
-
})
|
|
126
|
+
});
|
|
127
|
+
it("respects version constraints across multiple store versions", async function () {
|
|
112
128
|
var patches = [{
|
|
113
129
|
module: "test-pkg",
|
|
114
130
|
patchFiles: {
|
|
@@ -122,34 +138,43 @@ describe("applyDependencyPatches", function () {
|
|
|
122
138
|
patches,
|
|
123
139
|
setupFs: async function (nm) {
|
|
124
140
|
var v1Dir = join(nm, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg");
|
|
125
|
-
await FSExtra.ensureDir(v1Dir)
|
|
141
|
+
await FSExtra.ensureDir(v1Dir);
|
|
142
|
+
await FSExtra.writeFile(join(v1Dir, "package.json"), makePkg("test-pkg", "1.0.0"));
|
|
143
|
+
await FSExtra.writeFile(join(v1Dir, "index.js"), 'module.exports = "v1"');
|
|
126
144
|
var v2Dir = join(nm, ".pnpm", "test-pkg@2.0.0", "node_modules", "test-pkg");
|
|
127
|
-
await FSExtra.ensureDir(v2Dir)
|
|
145
|
+
await FSExtra.ensureDir(v2Dir);
|
|
146
|
+
await FSExtra.writeFile(join(v2Dir, "package.json"), makePkg("test-pkg", "2.0.0"));
|
|
147
|
+
await FSExtra.writeFile(join(v2Dir, "index.js"), 'module.exports = "v2"');
|
|
128
148
|
}
|
|
129
149
|
});
|
|
130
|
-
var nmDir = join(tmpDir, "node_modules")
|
|
131
|
-
|
|
150
|
+
var nmDir = join(tmpDir, "node_modules");
|
|
151
|
+
var v1Content = await FSExtra.readFile(join(nmDir, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg", "index.js"), "utf-8");
|
|
132
152
|
expect(v1Content).toBe("// v1 patched");
|
|
133
153
|
var v2Content = await FSExtra.readFile(join(nmDir, ".pnpm", "test-pkg@2.0.0", "node_modules", "test-pkg", "index.js"), "utf-8");
|
|
134
154
|
expect(v2Content).toBe('module.exports = "v2"');
|
|
135
|
-
})
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
145
|
-
}],
|
|
146
|
-
nmDir = await setupAndPatch({
|
|
147
|
-
patches,
|
|
148
|
-
setupFs: async function (nm) {
|
|
149
|
-
var storeDir = join(nm, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg");
|
|
150
|
-
await FSExtra.ensureDir(storeDir), await FSExtra.writeFile(join(storeDir, "package.json"), makePkg("test-pkg", "1.0.0")), await FSExtra.writeFile(join(storeDir, "index.js"), "module.exports = {}"), await FSExtra.ensureDir(join(nm, ".pnpm", "node_modules")), await symlink(storeDir, join(nm, ".pnpm", "node_modules", "test-pkg"), "dir");
|
|
155
|
+
});
|
|
156
|
+
it("deduplicates when hoisted symlink and store entry coexist", async function () {
|
|
157
|
+
var patchCallCount = 0;
|
|
158
|
+
var patches = [{
|
|
159
|
+
module: "test-pkg",
|
|
160
|
+
patchFiles: {
|
|
161
|
+
"index.js": function (contents) {
|
|
162
|
+
patchCallCount++;
|
|
163
|
+
return (contents || "") + "\n// marker";
|
|
151
164
|
}
|
|
152
|
-
}
|
|
165
|
+
}
|
|
166
|
+
}];
|
|
167
|
+
var nmDir = await setupAndPatch({
|
|
168
|
+
patches,
|
|
169
|
+
setupFs: async function (nm) {
|
|
170
|
+
var storeDir = join(nm, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg");
|
|
171
|
+
await FSExtra.ensureDir(storeDir);
|
|
172
|
+
await FSExtra.writeFile(join(storeDir, "package.json"), makePkg("test-pkg", "1.0.0"));
|
|
173
|
+
await FSExtra.writeFile(join(storeDir, "index.js"), "module.exports = {}");
|
|
174
|
+
await FSExtra.ensureDir(join(nm, ".pnpm", "node_modules"));
|
|
175
|
+
await symlink(storeDir, join(nm, ".pnpm", "node_modules", "test-pkg"), "dir");
|
|
176
|
+
}
|
|
177
|
+
});
|
|
153
178
|
expect(patchCallCount).toBe(1);
|
|
154
179
|
var content = await FSExtra.readFile(join(nmDir, ".pnpm", "test-pkg@1.0.0", "node_modules", "test-pkg", "index.js"), "utf-8");
|
|
155
180
|
expect(content).toContain("// marker");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FSExtra","join","mkdtemp","rm","symlink","tmpdir","afterEach","beforeEach","describe","expect","it","vi","applyDependencyPatches","moduleToPnpmStorePattern","mock","transformSWC","fn","transformFlowBabel","makePkg","name","version","extras","JSON","stringify","toBe","tmpDir","recursive","force","setupAndPatch","opts","nmDir","ensureDir","setupFs","patches","root","module","patchFiles","package.json","contents","pkg","parse","exports","nm","storePkgDir","writeFile","patchedPkg","readJSON","patchCallCount","index.js","storeDir","symlinkTarget","pnpmHoisted","pkgDir","content","readFile","toContain","v1Dir","v2Dir","v1Content","v2Content"],"sources":["../../src/utils/patches.test.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,OAAA,MAAa;AACpB,SAASC,IAAA,QAAY;AACrB,SAASC,OAAA,EAASC,EAAA,EAAIC,OAAA,QAAe;AACrC,SAASC,MAAA,QAAc;AACvB,SAASC,SAAA,EAAWC,UAAA,EAAYC,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAMhE,SAAAC,sBAAA,EAAAC,wBAAA;AAAAF,EAEE,CAAAG,IAAA;EACA;IAAAC,YACK,EAAAJ,EAAA,CAAAK,EAAA;EAPP,CAAG;AACH;AASAL,EAAA,CAAAG,IAAA,kBAA+B,cAAiB;EAC9C,OAAO;IACTG,kBAAA,EAAAN,EAAA,CAAAK,EAAA;EAEA;AACE;AACE,SAAAE,OAAOA,CAAAC,IAAA,EAAAC,OAAA,EAAAC,MAAyB;EAA2B,OACzDC,IAAA,CAAAC,SAAA;IACFJ,IAAA;IACDC,
|
|
1
|
+
{"version":3,"names":["FSExtra","join","mkdtemp","rm","symlink","tmpdir","afterEach","beforeEach","describe","expect","it","vi","applyDependencyPatches","moduleToPnpmStorePattern","mock","transformSWC","fn","transformFlowBabel","makePkg","name","version","extras","JSON","stringify","toBe","tmpDir","recursive","force","setupAndPatch","opts","nmDir","ensureDir","setupFs","patches","root","module","patchFiles","package.json","contents","pkg","parse","exports","nm","storePkgDir","writeFile","patchedPkg","readJSON","patchCallCount","index.js","storeDir","symlinkTarget","pnpmHoisted","pkgDir","content","readFile","toContain","v1Dir","v2Dir","v1Content","v2Content"],"sources":["../../src/utils/patches.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|