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,8 +1,12 @@
|
|
|
1
1
|
import colors from "picocolors";
|
|
2
2
|
function printServerUrls(urls, options = {}, info) {
|
|
3
3
|
const colorUrl = url => colors.cyan(url.replace(/:(\d+)\//, (_, port) => `:${colors.bold(port)}/`));
|
|
4
|
-
for (const url of urls.local)
|
|
5
|
-
|
|
4
|
+
for (const url of urls.local) {
|
|
5
|
+
info(` ${colors.green("\u279C")} ${colors.bold("Local")}: ${colorUrl(url)}`);
|
|
6
|
+
}
|
|
7
|
+
for (const url of urls.network) {
|
|
8
|
+
info(` ${colors.green("\u279C")} ${colors.bold("Network")}: ${colorUrl(url)}`);
|
|
9
|
+
}
|
|
6
10
|
}
|
|
7
11
|
export { printServerUrls };
|
|
8
12
|
//# sourceMappingURL=printServerUrls.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["colors","printServerUrls","urls","options","info","colorUrl","url","cyan","replace","_","port","bold","local","green","network"],"sources":["../../src/utils/printServerUrls.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,MAAA,MAAY;AAGZ,SAASC,gBACdC,IAAA,EACAC,OAAA,GAAc,CAAC,GACfC,IAAA,EACM;EACN,MAAMC,QAAA,GAAYC,GAAA,IAChBN,MAAA,CAAOO,IAAA,CAAKD,GAAA,CAAIE,OAAA,CAAQ,YAAY,CAACC,CAAA,EAAGC,IAAA,KAAS,IAAIV,MAAA,CAAOW,IAAA,CAAKD,IAAI,CAAC,GAAG,CAAC;EAC5E,WAAWJ,GAAA,IAAOJ,IAAA,CAAKU,KAAA,
|
|
1
|
+
{"version":3,"names":["colors","printServerUrls","urls","options","info","colorUrl","url","cyan","replace","_","port","bold","local","green","network"],"sources":["../../src/utils/printServerUrls.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,MAAA,MAAY;AAGZ,SAASC,gBACdC,IAAA,EACAC,OAAA,GAAc,CAAC,GACfC,IAAA,EACM;EACN,MAAMC,QAAA,GAAYC,GAAA,IAChBN,MAAA,CAAOO,IAAA,CAAKD,GAAA,CAAIE,OAAA,CAAQ,YAAY,CAACC,CAAA,EAAGC,IAAA,KAAS,IAAIV,MAAA,CAAOW,IAAA,CAAKD,IAAI,CAAC,GAAG,CAAC;EAC5E,WAAWJ,GAAA,IAAOJ,IAAA,CAAKU,KAAA,EAAO;IAC5BR,IAAA,CAAK,KAAKJ,MAAA,CAAOa,KAAA,CAAM,QAAG,CAAC,KAAKb,MAAA,CAAOW,IAAA,CAAK,OAAO,CAAC,OAAON,QAAA,CAASC,GAAG,CAAC,EAAE;EAC5E;EACA,WAAWA,GAAA,IAAOJ,IAAA,CAAKY,OAAA,EAAS;IAC9BV,IAAA,CAAK,KAAKJ,MAAA,CAAOa,KAAA,CAAM,QAAG,CAAC,KAAKb,MAAA,CAAOW,IAAA,CAAK,SAAS,CAAC,KAAKN,QAAA,CAASC,GAAG,CAAC,EAAE;EAC5E;AAQF","ignoreList":[]}
|
|
@@ -1,44 +1,54 @@
|
|
|
1
1
|
import colors from "picocolors";
|
|
2
2
|
function printServerUrls(urls) {
|
|
3
3
|
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {},
|
|
4
|
-
info = arguments.length > 2 ? arguments[2] : void 0
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
_didIteratorError =
|
|
4
|
+
info = arguments.length > 2 ? arguments[2] : void 0;
|
|
5
|
+
var colorUrl = function (url2) {
|
|
6
|
+
return colors.cyan(url2.replace(/:(\d+)\//, function (_, port) {
|
|
7
|
+
return `:${colors.bold(port)}/`;
|
|
8
|
+
}));
|
|
9
|
+
};
|
|
10
|
+
var _iteratorNormalCompletion = true,
|
|
11
|
+
_didIteratorError = false,
|
|
12
12
|
_iteratorError = void 0;
|
|
13
13
|
try {
|
|
14
|
-
for (var _iterator = urls.local[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion =
|
|
14
|
+
for (var _iterator = urls.local[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
15
15
|
var url = _step.value;
|
|
16
16
|
info(` ${colors.green("\u279C")} ${colors.bold("Local")}: ${colorUrl(url)}`);
|
|
17
17
|
}
|
|
18
18
|
} catch (err) {
|
|
19
|
-
_didIteratorError =
|
|
19
|
+
_didIteratorError = true;
|
|
20
|
+
_iteratorError = err;
|
|
20
21
|
} finally {
|
|
21
22
|
try {
|
|
22
|
-
!_iteratorNormalCompletion && _iterator.return != null
|
|
23
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
24
|
+
_iterator.return();
|
|
25
|
+
}
|
|
23
26
|
} finally {
|
|
24
|
-
if (_didIteratorError)
|
|
27
|
+
if (_didIteratorError) {
|
|
28
|
+
throw _iteratorError;
|
|
29
|
+
}
|
|
25
30
|
}
|
|
26
31
|
}
|
|
27
|
-
var _iteratorNormalCompletion1 =
|
|
28
|
-
_didIteratorError1 =
|
|
32
|
+
var _iteratorNormalCompletion1 = true,
|
|
33
|
+
_didIteratorError1 = false,
|
|
29
34
|
_iteratorError1 = void 0;
|
|
30
35
|
try {
|
|
31
|
-
for (var _iterator1 = urls.network[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 =
|
|
36
|
+
for (var _iterator1 = urls.network[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
|
|
32
37
|
var url1 = _step1.value;
|
|
33
38
|
info(` ${colors.green("\u279C")} ${colors.bold("Network")}: ${colorUrl(url1)}`);
|
|
34
39
|
}
|
|
35
40
|
} catch (err) {
|
|
36
|
-
_didIteratorError1 =
|
|
41
|
+
_didIteratorError1 = true;
|
|
42
|
+
_iteratorError1 = err;
|
|
37
43
|
} finally {
|
|
38
44
|
try {
|
|
39
|
-
!_iteratorNormalCompletion1 && _iterator1.return != null
|
|
45
|
+
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
|
46
|
+
_iterator1.return();
|
|
47
|
+
}
|
|
40
48
|
} finally {
|
|
41
|
-
if (_didIteratorError1)
|
|
49
|
+
if (_didIteratorError1) {
|
|
50
|
+
throw _iteratorError1;
|
|
51
|
+
}
|
|
42
52
|
}
|
|
43
53
|
}
|
|
44
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["colors","printServerUrls","urls","options","arguments","length","info","colorUrl","url2","cyan","replace","_","port","bold","_iteratorNormalCompletion","_didIteratorError","_iteratorError"],"sources":["../../src/utils/printServerUrls.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,MAAA,MAAY;AAGZ,SAASC,gBACdC,IAAA,EACA;EAGA,IAAAC,OAAM,GAAAC,SAAY,CAAAC,MAChB,GAAO,KAAKD,SAAI,GAAQ,cAAaA,SAAG,EAAS,IAAI;IAAAE,IAAO,GAAAF,SAAa,CAACC,MAAA,OAAAD,SAAA;IAAAG,
|
|
1
|
+
{"version":3,"names":["colors","printServerUrls","urls","options","arguments","length","info","colorUrl","url2","cyan","replace","_","port","bold","_iteratorNormalCompletion","_didIteratorError","_iteratorError"],"sources":["../../src/utils/printServerUrls.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,MAAA,MAAY;AAGZ,SAASC,gBACdC,IAAA,EACA;EAGA,IAAAC,OAAM,GAAAC,SAAY,CAAAC,MAChB,GAAO,KAAKD,SAAI,GAAQ,cAAaA,SAAG,EAAS,IAAI;IAAAE,IAAO,GAAAF,SAAa,CAACC,MAAA,OAAAD,SAAA;EAC5E,IAAAG,QAAW,YAAAA,CAAYC,IAAA,EAAO;IAC5B,OAAKR,MAAK,CAAAS,IAAO,CAAAD,IAAM,CAAAE,OAAG,CAAC,UAAK,EAAO,UAAKC,CAAA,EAAOC,IAAC;MACtD,WAAAZ,MAAA,CAAAa,IAAA,CAAAD,IAAA;IACA;EACE;EACF,IAAAE,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EAQF","ignoreList":[]}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
function removeUndefined(obj) {
|
|
2
2
|
const result = {};
|
|
3
|
-
for (const key in obj)
|
|
3
|
+
for (const key in obj) {
|
|
4
|
+
if (obj[key] !== void 0) {
|
|
5
|
+
result[key] = obj[key];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
4
8
|
return result;
|
|
5
9
|
}
|
|
6
10
|
export { removeUndefined };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["removeUndefined","obj","result","key"],"sources":["../../src/utils/removeUndefined.ts"],"sourcesContent":[null],"mappings":"AAIO,SAASA,gBAAkCC,GAAA,EAA4B;EAC5E,MAAMC,MAAA,GAAS,CAAC;EAEhB,WAAWC,GAAA,IAAOF,GAAA,
|
|
1
|
+
{"version":3,"names":["removeUndefined","obj","result","key"],"sources":["../../src/utils/removeUndefined.ts"],"sourcesContent":[null],"mappings":"AAIO,SAASA,gBAAkCC,GAAA,EAA4B;EAC5E,MAAMC,MAAA,GAAS,CAAC;EAEhB,WAAWC,GAAA,IAAOF,GAAA,EAAK;IACrB,IAAIA,GAAA,CAAIE,GAAG,MAAM,QAAW;MAE1BD,MAAA,CAAOC,GAAG,IAAIF,GAAA,CAAIE,GAAG;IACvB;EACF;EAEA,OAAOD,MAAA;AACT","ignoreList":[]}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
function removeUndefined(obj) {
|
|
2
2
|
var result = {};
|
|
3
|
-
for (var key in obj)
|
|
3
|
+
for (var key in obj) {
|
|
4
|
+
if (obj[key] !== void 0) {
|
|
5
|
+
result[key] = obj[key];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
4
8
|
return result;
|
|
5
9
|
}
|
|
6
10
|
export { removeUndefined };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["removeUndefined","obj","result","key"],"sources":["../../src/utils/removeUndefined.ts"],"sourcesContent":[null],"mappings":"AAIO,SAASA,gBAAkCC,GAAA,EAA4B;EAC5E,IAAAC,MAAM,KAAS;EAEf,SAAAC,GAAW,IAAAF,GAAO,
|
|
1
|
+
{"version":3,"names":["removeUndefined","obj","result","key"],"sources":["../../src/utils/removeUndefined.ts"],"sourcesContent":[null],"mappings":"AAIO,SAASA,gBAAkCC,GAAA,EAA4B;EAC5E,IAAAC,MAAM,KAAS;EAEf,SAAAC,GAAW,IAAAF,GAAO;IAChB,IAAIA,GAAA,CAAIE,GAAG,MAAM,QAAW;MAE1BD,MAAA,CAAOC,GAAG,IAAIF,GAAA,CAAIE,GAAG;IACvB;EACF;EAEA,OAAOD,MAAA;AACT","ignoreList":[]}
|
|
@@ -2,96 +2,132 @@ import { createDebugger } from "@vxrn/debug";
|
|
|
2
2
|
import FSExtra from "fs-extra";
|
|
3
3
|
import path, { dirname, extname, join, sep } from "node:path";
|
|
4
4
|
const {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
5
|
+
debug,
|
|
6
|
+
debugDetails
|
|
7
|
+
} = createDebugger(`vxrn:scanDepsToOptimize`);
|
|
8
|
+
const EXCLUDE_LIST = ["jsc-android", "react-shallow-renderer", "fsevents", "@swc/core", "@swc/core-darwin-arm64", "@swc/core-darwin-x64", "@swc/core-linux-arm-gnueabihf", "@swc/core-linux-arm64-gnu", "@swc/core-linux-arm64-musl", "@swc/core-linux-x64-gnu", "@swc/core-linux-x64-musl", "@swc/core-win32-arm64-msvc", "@swc/core-win32-ia32-msvc", "@swc/core-win32-x64-msvc", "lightningcss",
|
|
9
|
+
// this breaks fileToUrlPath in upstreams, like @discordjs/client
|
|
10
|
+
"url", "sharp", "@sentry/react-native",
|
|
11
|
+
// not ever to be used in app
|
|
12
|
+
"@expo/cli", "expo-structured-headers",
|
|
13
|
+
// not used by web anyway
|
|
14
|
+
// Could not read from file: /Users/n8/one/node_modules/react-native-web/dist/cjs/index.js/Libraries/Image/AssetRegistry
|
|
15
|
+
// /lib/module/Platform/Platform.web.js:132:20
|
|
16
|
+
"@shopify/react-native-skia",
|
|
17
|
+
// web breaks trying to scan deps
|
|
18
|
+
"react-native-bottom-tabs", "@react-native/virtualized-lists",
|
|
19
|
+
// Unexpected "typeof" in `node_modules/@react-native/virtualized-lists/index.js`
|
|
20
|
+
// Native only, we don't expect SSR to use these packages.
|
|
21
|
+
// Also, some of these packages might attempt to import from react-native internals, which will break in SSR while react-native is aliased to react-native-web.
|
|
22
|
+
"@vxrn/vite-native-hmr", "@vxrn/compiler", "@vxrn/vite-native-client", "react-native-ios-utilities", "react-native-ios-modal", "react-native-ios-context-menu", "react-native-haptic-feedback", "react-native-sortables", "react-native-image-colors", "react-native-fast-image", "react-native-fast-squircle", "react-native-device-info",
|
|
23
|
+
// dev server UI only, lazy-imported at runtime
|
|
24
|
+
"qrcode-terminal",
|
|
25
|
+
// CLI/scripts shouldn't be used in SSR runtime
|
|
26
|
+
"@tamagui/cli",
|
|
27
|
+
// only used by static/plugin
|
|
28
|
+
"@tamagui/static", "@tamagui/config-default", "@tamagui/vite-plugin", "@take-out/scripts", "@take-out/cli",
|
|
29
|
+
// Should be used on native only
|
|
30
|
+
"@tamagui/core/native-test", "@storybook/react",
|
|
31
|
+
// native-only or not needed in SSR
|
|
32
|
+
"@nandorojo/galeria", "expo-video", "react-native-pager-view", "@react-native/debugger-shell", "@hot-updater/react-native", "@hot-updater/plugin-core", "expo/internal/unstable-autolinking-exports", "validator", "zlib"];
|
|
33
|
+
const EXCLUDE_LIST_SET = new Set(EXCLUDE_LIST);
|
|
34
|
+
const INCLUDE_LIST = [
|
|
35
|
+
// ReferenceError: exports is not defined - at eval (.../node_modules/inline-style-prefixer/lib/createPrefixer.js:3:23)
|
|
36
|
+
"inline-style-prefixer", "react-native-vector-icons", "jotai"];
|
|
37
|
+
const INCLUDE_LIST_SET = new Set(INCLUDE_LIST);
|
|
38
|
+
const rootOptions = {};
|
|
39
39
|
async function scanDepsToOptimize(packageJsonPath, options = rootOptions) {
|
|
40
40
|
const {
|
|
41
41
|
parentDepNames = [],
|
|
42
42
|
proceededDeps = /* @__PURE__ */new Map(),
|
|
43
43
|
pkgJsonContent
|
|
44
44
|
} = options;
|
|
45
|
-
options === rootOptions
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
if (options === rootOptions) {
|
|
46
|
+
console.info(`[one] Scanning node_modules to auto-optimize...`);
|
|
47
|
+
}
|
|
48
|
+
const currentRoot = path.dirname(packageJsonPath);
|
|
49
|
+
const pkgJson = pkgJsonContent || (await readPackageJsonSafe(packageJsonPath));
|
|
50
|
+
const deps = Object.keys(pkgJson.dependencies || {});
|
|
49
51
|
let hasReanimated = !!pkgJson.dependencies?.["react-native-reanimated"];
|
|
50
52
|
const prebundleDeps = (await Promise.all(deps.map(async dep => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
53
|
+
if (parentDepNames.includes(dep)) {
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
const cachedResult = proceededDeps.get(dep);
|
|
57
|
+
if (cachedResult) {
|
|
58
|
+
return cachedResult;
|
|
59
|
+
}
|
|
60
|
+
if (EXCLUDE_LIST_SET.has(dep)) {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
const localPath = await findDepPkgJsonPath(dep, currentRoot);
|
|
64
|
+
if (!localPath) return [];
|
|
65
|
+
const depPkgJsonPath = await FSExtra.realpath(localPath);
|
|
66
|
+
if (options.filter && !options.filter(depPkgJsonPath)) {
|
|
67
|
+
return [];
|
|
68
|
+
}
|
|
69
|
+
const depPkgJson = await readPackageJsonSafe(depPkgJsonPath);
|
|
70
|
+
if (depPkgJson.dependencies?.["react-native-reanimated"]) {
|
|
71
|
+
hasReanimated = true;
|
|
72
|
+
}
|
|
73
|
+
const subDeps = await scanDepsToOptimize(depPkgJsonPath, {
|
|
74
|
+
parentDepNames: [...parentDepNames, dep],
|
|
75
|
+
pkgJsonContent: depPkgJson,
|
|
76
|
+
proceededDeps
|
|
77
|
+
});
|
|
78
|
+
if (subDeps.hasReanimated) {
|
|
79
|
+
hasReanimated = true;
|
|
80
|
+
}
|
|
81
|
+
const shouldPreBundle = subDeps.prebundleDeps.length > 0 || INCLUDE_LIST_SET.has(dep) || hasRequiredDep(depPkgJson, "react") || hasRequiredDep(depPkgJson, "react-native") || hasRequiredDep(depPkgJson, "expo-modules-core") ||
|
|
82
|
+
// Expo deps are often ESM but without including file extensions in import paths, making it not able to run directly by Node.js, so we need to pre-bundle them.
|
|
83
|
+
dep.startsWith("@expo/") || dep.startsWith("expo-");
|
|
84
|
+
debug?.(`${dep} shouldPreBundle? ${shouldPreBundle}`);
|
|
85
|
+
const depsToPreBundle = await (async () => {
|
|
86
|
+
if (!shouldPreBundle) {
|
|
87
|
+
return [];
|
|
88
|
+
}
|
|
89
|
+
const depPkgJsonExports = depPkgJson.exports || {};
|
|
90
|
+
const definedExports = Object.keys(depPkgJsonExports).filter(k => {
|
|
91
|
+
const expData = depPkgJsonExports[k];
|
|
92
|
+
const imp = typeof expData === "string" ? expData : expData?.import;
|
|
93
|
+
if (typeof imp !== "string") {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
if (!imp.endsWith(".js")) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
if (!k.match(/^(\.\/)?[a-zA-Z0-9-_]+$/)) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
return true;
|
|
103
|
+
}).map(k => k.replace(/^\.\/?/, "")).map(k => `${dep}/${k}`);
|
|
104
|
+
const specialExports = (() => {
|
|
105
|
+
switch (dep) {
|
|
106
|
+
case "react-native-vector-icons":
|
|
107
|
+
return ["AntDesign", "Entypo", "EvilIcons", "Feather", "FontAwesome", "FontAwesome5", "FontAwesome5Pro", "Fontisto", "Foundation", "Ionicons", "MaterialCommunityIcons", "MaterialIcons", "Octicons", "SimpleLineIcons", "Zocial"].map(n => `${dep}/${n}`);
|
|
108
|
+
default:
|
|
109
|
+
return [];
|
|
110
|
+
}
|
|
111
|
+
})();
|
|
112
|
+
const mainExport = depPkgJson["main"] || depPkgJson["module"] || definedExports["."];
|
|
113
|
+
const exports = [...definedExports, ...specialExports].filter(d => !EXCLUDE_LIST_SET.has(d));
|
|
114
|
+
if (mainExport) {
|
|
115
|
+
if (await checkIfExportExists(join(dirname(depPkgJsonPath), mainExport))) {
|
|
116
|
+
exports.unshift(dep);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return exports;
|
|
120
|
+
})();
|
|
121
|
+
const result = [...depsToPreBundle, ...subDeps.prebundleDeps];
|
|
122
|
+
debugDetails?.(`final result ${JSON.stringify(result, null, 2)}`);
|
|
123
|
+
proceededDeps.set(dep, result);
|
|
124
|
+
return result;
|
|
125
|
+
}))).flat().filter((dep, index, arr) => arr.indexOf(dep) === index);
|
|
126
|
+
const hasNativewind = !!pkgJson.dependencies?.["nativewind"];
|
|
127
|
+
if ((hasNativewind || hasReanimated) && options === rootOptions) {
|
|
128
|
+
if (hasReanimated) console.info(`[one] Enabled babel plugins: ${[hasReanimated ? "Reanimated" : "", hasNativewind ? "Nativewind" : ""].filter(Boolean).join(", ")}`);
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
95
131
|
prebundleDeps,
|
|
96
132
|
hasReanimated,
|
|
97
133
|
// only check if set in root, dont want to enable css mode too easily
|
|
@@ -100,26 +136,34 @@ async function scanDepsToOptimize(packageJsonPath, options = rootOptions) {
|
|
|
100
136
|
}
|
|
101
137
|
async function checkIfExportExists(pathIn) {
|
|
102
138
|
const paths = [pathIn, ...(extname(pathIn) ? [] : [pathIn + ".js", pathIn + sep + "index.js"])];
|
|
103
|
-
for (const path2 of paths)
|
|
104
|
-
|
|
139
|
+
for (const path2 of paths) {
|
|
140
|
+
if (await FSExtra.pathExists(path2)) {
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return false;
|
|
105
145
|
}
|
|
106
146
|
async function readPackageJsonSafe(packageJsonPath) {
|
|
107
147
|
try {
|
|
108
148
|
return await FSExtra.readJson(packageJsonPath);
|
|
109
149
|
} catch (e) {
|
|
110
|
-
|
|
150
|
+
console.error(`[scanDepsToPreBundleForSsr] Error reading package.json from ${packageJsonPath}: ${e}`);
|
|
151
|
+
return {};
|
|
111
152
|
}
|
|
112
153
|
}
|
|
113
154
|
async function findDepPkgJsonPath(dep, dependent) {
|
|
114
155
|
let root = dependent;
|
|
115
|
-
|
|
156
|
+
while (root) {
|
|
116
157
|
const possiblePkgJson = path.join(root, "node_modules", dep, "package.json");
|
|
117
|
-
if (await FSExtra.pathExists(possiblePkgJson))
|
|
158
|
+
if (await FSExtra.pathExists(possiblePkgJson)) {
|
|
159
|
+
return possiblePkgJson;
|
|
160
|
+
}
|
|
118
161
|
const nextRoot = path.dirname(root);
|
|
119
162
|
if (nextRoot === root) break;
|
|
120
163
|
root = nextRoot;
|
|
121
164
|
}
|
|
122
165
|
console.error(`[findDepPkgJsonPath] Could not find package.json for ${dep}, which is a dependency of ${dependent}`);
|
|
166
|
+
return void 0;
|
|
123
167
|
}
|
|
124
168
|
function hasRequiredDep(pkgJson, depName) {
|
|
125
169
|
return !!(pkgJson.dependencies?.[depName] || pkgJson.peerDependencies?.[depName] && !pkgJson.peerDependenciesMeta?.[depName]?.optional);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createDebugger","FSExtra","path","dirname","extname","join","sep","debug","debugDetails","EXCLUDE_LIST","EXCLUDE_LIST_SET","Set","INCLUDE_LIST","INCLUDE_LIST_SET","rootOptions","scanDepsToOptimize","packageJsonPath","options","parentDepNames","proceededDeps","Map","pkgJsonContent","console","info","currentRoot","pkgJson","readPackageJsonSafe","deps","Object","keys","dependencies","hasReanimated","prebundleDeps","Promise","all","map","dep","includes","cachedResult","get","has","localPath","findDepPkgJsonPath","depPkgJsonPath","realpath","filter","depPkgJson","subDeps","shouldPreBundle","length","hasRequiredDep","startsWith","
|
|
1
|
+
{"version":3,"names":["createDebugger","FSExtra","path","dirname","extname","join","sep","debug","debugDetails","EXCLUDE_LIST","EXCLUDE_LIST_SET","Set","INCLUDE_LIST","INCLUDE_LIST_SET","rootOptions","scanDepsToOptimize","packageJsonPath","options","parentDepNames","proceededDeps","Map","pkgJsonContent","console","info","currentRoot","pkgJson","readPackageJsonSafe","deps","Object","keys","dependencies","hasReanimated","prebundleDeps","Promise","all","map","dep","includes","cachedResult","get","has","localPath","findDepPkgJsonPath","depPkgJsonPath","realpath","filter","depPkgJson","subDeps","shouldPreBundle","length","hasRequiredDep","startsWith","depsToPreBundle","depPkgJsonExports","exports","definedExports","k","expData","imp","import","endsWith","match","replace","specialExports","n","mainExport","d","checkIfExportExists","unshift","result","JSON","stringify","set","flat","index","arr","indexOf","hasNativewind","Boolean","pathIn","paths","path2","pathExists","readJson","e","error","dependent","root","possiblePkgJson","nextRoot","depName","peerDependencies","peerDependenciesMeta","optional"],"sources":["../../src/utils/scanDepsToOptimize.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|