vxrn 1.14.4 → 1.14.5
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 +54 -0
- package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
- package/types/utils/createNativeDevEngine.d.ts.map +1 -1
|
@@ -5,37 +5,38 @@ import { createFilter } from "vite";
|
|
|
5
5
|
import { EXCLUDE_LIST, scanDepsToOptimize } from "../utils/scanDepsToOptimize.native.js";
|
|
6
6
|
import { getFileHash, lookupFile } from "../utils/utils.native.js";
|
|
7
7
|
import { getCacheDir } from "../utils/getCacheDir.native.js";
|
|
8
|
-
var name = "vxrn:auto-dep-optimize"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
var name = "vxrn:auto-dep-optimize";
|
|
9
|
+
var {
|
|
10
|
+
debug,
|
|
11
|
+
debugDetails
|
|
12
|
+
} = createDebugger(name);
|
|
13
13
|
function autoDepOptimizePlugin(props) {
|
|
14
14
|
return {
|
|
15
15
|
name,
|
|
16
16
|
enforce: "pre",
|
|
17
17
|
async config(cfg, env) {
|
|
18
18
|
var _cfg_optimizeDeps, _cfg_ssr_optimizeDeps, _cfg_ssr;
|
|
19
|
-
debug
|
|
20
|
-
var userOptions = globalThis.__oneOptions
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
from props: ${JSON.stringify(props)}`)
|
|
19
|
+
debug === null || debug === void 0 ? void 0 : debug("Config hook called");
|
|
20
|
+
var userOptions = globalThis.__oneOptions;
|
|
21
|
+
var depsConfig = userOptions === null || userOptions === void 0 ? void 0 : userOptions.deps;
|
|
22
|
+
var exclude = depsConfig ? Object.entries(depsConfig).filter(function (param) {
|
|
23
|
+
var [_, value] = param;
|
|
24
|
+
return value === false;
|
|
25
|
+
}).map(function (param) {
|
|
26
|
+
var [k] = param;
|
|
27
|
+
return k;
|
|
28
|
+
}) : [];
|
|
29
|
+
var userExcludes = Array.isArray(props.exclude) ? props.exclude : [props.exclude];
|
|
30
|
+
var userViteExcludes = ((_cfg_optimizeDeps = cfg.optimizeDeps) === null || _cfg_optimizeDeps === void 0 ? void 0 : _cfg_optimizeDeps.exclude) || [];
|
|
31
|
+
var userSsrExcludes = ((_cfg_ssr = cfg.ssr) === null || _cfg_ssr === void 0 ? void 0 : (_cfg_ssr_optimizeDeps = _cfg_ssr.optimizeDeps) === null || _cfg_ssr_optimizeDeps === void 0 ? void 0 : _cfg_ssr_optimizeDeps.exclude) || [];
|
|
32
|
+
var finalConfig = await getScannedOptimizeDepsConfig({
|
|
33
|
+
...props,
|
|
34
|
+
mode: env.mode,
|
|
35
|
+
exclude: [...exclude, ...userExcludes, ...userViteExcludes, ...userSsrExcludes].filter(Boolean)
|
|
36
|
+
});
|
|
37
|
+
debugDetails === null || debugDetails === void 0 ? void 0 : debugDetails(`Final auto-dep-optimize config: ${JSON.stringify(finalConfig, null, 2)}
|
|
38
|
+
from props: ${JSON.stringify(props)}`);
|
|
39
|
+
return finalConfig;
|
|
39
40
|
}
|
|
40
41
|
};
|
|
41
42
|
}
|
|
@@ -43,17 +44,17 @@ var getSSRExternalsCachePath = function (root) {
|
|
|
43
44
|
return path.join(getCacheDir(root), "deps-to-pre-bundle-for-ssr-cache.json");
|
|
44
45
|
};
|
|
45
46
|
async function getScannedOptimizeDepsConfig(props) {
|
|
46
|
-
var _props_onScannedDeps
|
|
47
|
-
|
|
48
|
-
(_props_onScannedDeps = props.onScannedDeps) === null || _props_onScannedDeps === void 0
|
|
49
|
-
var excludeArray = Array.isArray(props.exclude) ? props.exclude : [props.exclude]
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
var _props_onScannedDeps;
|
|
48
|
+
var result = await findDepsToOptimize(props);
|
|
49
|
+
(_props_onScannedDeps = props.onScannedDeps) === null || _props_onScannedDeps === void 0 ? void 0 : _props_onScannedDeps.call(props, result);
|
|
50
|
+
var excludeArray = Array.isArray(props.exclude) ? props.exclude : [props.exclude];
|
|
51
|
+
var excludeStrings = excludeArray.filter(function (e) {
|
|
52
|
+
return typeof e === "string";
|
|
53
|
+
});
|
|
54
|
+
var excludeSet = new Set(excludeStrings);
|
|
55
|
+
var filteredDeps = result.prebundleDeps.filter(function (dep) {
|
|
56
|
+
return !excludeSet.has(dep);
|
|
57
|
+
});
|
|
57
58
|
return {
|
|
58
59
|
ssr: {
|
|
59
60
|
optimizeDeps: {
|
|
@@ -67,35 +68,54 @@ async function getScannedOptimizeDepsConfig(props) {
|
|
|
67
68
|
var sessionCacheVal = null;
|
|
68
69
|
async function findDepsToOptimize(param) {
|
|
69
70
|
var {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if (sessionCache && sessionCacheVal)
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
71
|
+
root,
|
|
72
|
+
mode,
|
|
73
|
+
exclude,
|
|
74
|
+
include
|
|
75
|
+
} = param;
|
|
76
|
+
var cacheFilePath = getSSRExternalsCachePath(root);
|
|
77
|
+
var startedAt = debug ? Date.now() : 0;
|
|
78
|
+
var noCache = mode === "production";
|
|
79
|
+
var sessionCache = mode === "production";
|
|
80
|
+
if (sessionCache && sessionCacheVal) {
|
|
81
|
+
return sessionCacheVal;
|
|
82
|
+
}
|
|
83
|
+
var lockFile = await lookupFile(root, ["yarn.lock", "package-lock.json", "pnpm-lock.yaml", "bun.lockb"]);
|
|
84
|
+
var lockFileHash = lockFile ? await getFileHash(lockFile) : void 0;
|
|
85
|
+
var value;
|
|
86
|
+
if (lockFileHash && !noCache) {
|
|
87
|
+
try {
|
|
88
|
+
var {
|
|
89
|
+
lockFileHash: cachedLockFileHash,
|
|
90
|
+
depsToPreBundleForSsr: cachedDepsToPreBundle
|
|
91
|
+
} = await FSExtra.readJSON(cacheFilePath);
|
|
92
|
+
if (lockFileHash === cachedLockFileHash && !!cachedDepsToPreBundle && "prebundleDeps" in cachedDepsToPreBundle) {
|
|
93
|
+
value = cachedDepsToPreBundle;
|
|
94
|
+
debug === null || debug === void 0 ? void 0 : debug(`Using cached scan results from ${cacheFilePath}`);
|
|
95
|
+
}
|
|
96
|
+
} catch (err) {
|
|
97
|
+
debug === null || debug === void 0 ? void 0 : debug(`${err}`);
|
|
98
|
+
}
|
|
91
99
|
}
|
|
92
100
|
var filter = createFilter(include, exclude);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
101
|
+
if (!value) {
|
|
102
|
+
value = await scanDepsToOptimize(`${root}/package.json`, {
|
|
103
|
+
filter
|
|
104
|
+
});
|
|
105
|
+
if (sessionCache) {
|
|
106
|
+
sessionCacheVal = value;
|
|
107
|
+
}
|
|
108
|
+
if (!noCache) {
|
|
109
|
+
void FSExtra.outputJSON(cacheFilePath, {
|
|
110
|
+
lockFileHash,
|
|
111
|
+
depsToPreBundleForSsr: value
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
debug === null || debug === void 0 ? void 0 : debug(`Scanning completed in ${Date.now() - startedAt}ms`);
|
|
116
|
+
debug === null || debug === void 0 ? void 0 : debug(`${value.prebundleDeps.length} deps are discovered and will be pre-bundled for SSR.` + (debugDetails ? "" : ` (Focus on this debug scope, "DEBUG=${debug.namespace}", to see more details.)`));
|
|
117
|
+
debugDetails === null || debugDetails === void 0 ? void 0 : debugDetails(`Deps discovered to be pre-bundled for SSR: ${value.prebundleDeps.join(", ")}`);
|
|
118
|
+
return value;
|
|
99
119
|
}
|
|
100
120
|
export { autoDepOptimizePlugin, findDepsToOptimize, getSSRExternalsCachePath, getScannedOptimizeDepsConfig };
|
|
101
121
|
//# sourceMappingURL=autoDepOptimizePlugin.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createDebugger","FSExtra","path","createFilter","EXCLUDE_LIST","scanDepsToOptimize","getFileHash","lookupFile","getCacheDir","name","debug","debugDetails","autoDepOptimizePlugin","props","enforce","config","cfg","env","_cfg_optimizeDeps","_cfg_ssr_optimizeDeps","_cfg_ssr","userOptions","globalThis","__oneOptions","depsConfig","deps","exclude","Object","entries","filter","param","_","value","map","k","userExcludes","Array","isArray","userViteExcludes","optimizeDeps","userSsrExcludes","ssr","finalConfig","getScannedOptimizeDepsConfig","mode","Boolean","JSON","stringify","getSSRExternalsCachePath","root","join","_props_onScannedDeps","result","findDepsToOptimize","onScannedDeps","call","excludeArray","excludeStrings","e","excludeSet","Set","filteredDeps","prebundleDeps","dep","has","include","noExternal","sessionCacheVal","cacheFilePath","startedAt","Date","now","noCache","sessionCache","lockFile","lockFileHash","cachedLockFileHash","depsToPreBundleForSsr","cachedDepsToPreBundle","readJSON","err","outputJSON","length","namespace"],"sources":["../../src/plugins/autoDepOptimizePlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,cAAA,QAAsB;AAC/B,OAAOC,OAAA,MAAa;AACpB,OAAOC,IAAA,MAAU;AACjB,SAASC,YAAA,QAAiC;AAE1C,SAAAC,YAAA,EAAAC,kBAAA;AAAA,SACEC,WAAA,EAAAC,UAAA;AAAA,SAEAC,WAAA;AAAA,IAAAC,IACK;
|
|
1
|
+
{"version":3,"names":["createDebugger","FSExtra","path","createFilter","EXCLUDE_LIST","scanDepsToOptimize","getFileHash","lookupFile","getCacheDir","name","debug","debugDetails","autoDepOptimizePlugin","props","enforce","config","cfg","env","_cfg_optimizeDeps","_cfg_ssr_optimizeDeps","_cfg_ssr","userOptions","globalThis","__oneOptions","depsConfig","deps","exclude","Object","entries","filter","param","_","value","map","k","userExcludes","Array","isArray","userViteExcludes","optimizeDeps","userSsrExcludes","ssr","finalConfig","getScannedOptimizeDepsConfig","mode","Boolean","JSON","stringify","getSSRExternalsCachePath","root","join","_props_onScannedDeps","result","findDepsToOptimize","onScannedDeps","call","excludeArray","excludeStrings","e","excludeSet","Set","filteredDeps","prebundleDeps","dep","has","include","noExternal","sessionCacheVal","cacheFilePath","startedAt","Date","now","noCache","sessionCache","lockFile","lockFileHash","cachedLockFileHash","depsToPreBundleForSsr","cachedDepsToPreBundle","readJSON","err","outputJSON","length","namespace"],"sources":["../../src/plugins/autoDepOptimizePlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -2,24 +2,30 @@ import { describe, expect, it } from "vitest";
|
|
|
2
2
|
describe("getScannedOptimizeDepsConfig", () => {
|
|
3
3
|
it("filters excluded deps from scanned results", async () => {
|
|
4
4
|
const mockResult = {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
prebundleDeps: ["react", "react-native-reanimated", "lodash"],
|
|
6
|
+
hasReanimated: true,
|
|
7
|
+
hasNativewind: false
|
|
8
|
+
};
|
|
9
|
+
const excludeArray = ["react-native-reanimated"];
|
|
10
|
+
const excludeStrings = excludeArray.filter(e => typeof e === "string");
|
|
11
|
+
const excludeSet = new Set(excludeStrings);
|
|
12
|
+
const filteredDeps = mockResult.prebundleDeps.filter(dep => !excludeSet.has(dep));
|
|
13
|
+
expect(filteredDeps).toContain("react");
|
|
14
|
+
expect(filteredDeps).toContain("lodash");
|
|
15
|
+
expect(filteredDeps).not.toContain("react-native-reanimated");
|
|
16
|
+
});
|
|
17
|
+
it("handles RegExp exclude patterns (ignores them for dep name filtering)", async () => {
|
|
14
18
|
const mockResult = {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
prebundleDeps: ["react", "react-native-reanimated"],
|
|
20
|
+
hasReanimated: true,
|
|
21
|
+
hasNativewind: false
|
|
22
|
+
};
|
|
23
|
+
const excludeArray = [/some-pattern/, "react-native-reanimated"];
|
|
24
|
+
const excludeStrings = excludeArray.filter(e => typeof e === "string");
|
|
25
|
+
const excludeSet = new Set(excludeStrings);
|
|
26
|
+
const filteredDeps = mockResult.prebundleDeps.filter(dep => !excludeSet.has(dep));
|
|
27
|
+
expect(filteredDeps).toContain("react");
|
|
28
|
+
expect(filteredDeps).not.toContain("react-native-reanimated");
|
|
23
29
|
});
|
|
24
30
|
});
|
|
25
31
|
//# sourceMappingURL=autoDepOptimizePlugin.test.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["describe","expect","it","mockResult","prebundleDeps","hasReanimated","hasNativewind","excludeStrings","filter","e","excludeSet","Set","filteredDeps","dep","has","toContain","not"],"sources":["../../src/plugins/autoDepOptimizePlugin.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAGrCF,QAAA,CAAS,gCAAgC,MAAM;EAC7CE,EAAA,CAAG,8CAA8C,YAAY;IAE3D,MAAMC,UAAA,GAAa;
|
|
1
|
+
{"version":3,"names":["describe","expect","it","mockResult","prebundleDeps","hasReanimated","hasNativewind","excludeArray","excludeStrings","filter","e","excludeSet","Set","filteredDeps","dep","has","toContain","not"],"sources":["../../src/plugins/autoDepOptimizePlugin.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAGrCF,QAAA,CAAS,gCAAgC,MAAM;EAC7CE,EAAA,CAAG,8CAA8C,YAAY;IAE3D,MAAMC,UAAA,GAAa;MACjBC,aAAA,EAAe,CAAC,SAAS,2BAA2B,QAAQ;MAC5DC,aAAA,EAAe;MACfC,aAAA,EAAe;IACjB;IAGA,MAAMC,YAAA,GAAe,CAAC,yBAAyB;IAC/C,MAAMC,cAAA,GAAiBD,YAAA,CAAaE,MAAA,CAAQC,CAAA,IAAmB,OAAOA,CAAA,KAAM,QAAQ;IACpF,MAAMC,UAAA,GAAa,IAAIC,GAAA,CAAIJ,cAAc;IAEzC,MAAMK,YAAA,GAAeV,UAAA,CAAWC,aAAA,CAAcK,MAAA,CAAQK,GAAA,IAAQ,CAACH,UAAA,CAAWI,GAAA,CAAID,GAAG,CAAC;IAElFb,MAAA,CAAOY,YAAY,EAAEG,SAAA,CAAU,OAAO;IACtCf,MAAA,CAAOY,YAAY,EAAEG,SAAA,CAAU,QAAQ;IACvCf,MAAA,CAAOY,YAAY,EAAEI,GAAA,CAAID,SAAA,CAAU,yBAAyB;EAC9D,CAAC;EAEDd,EAAA,CAAG,yEAAyE,YAAY;IACtF,MAAMC,UAAA,GAAa;MACjBC,aAAA,EAAe,CAAC,SAAS,yBAAyB;MAClDC,aAAA,EAAe;MACfC,aAAA,EAAe;IACjB;IAGA,MAAMC,YAAA,GAAoC,CAAC,gBAAgB,yBAAyB;IACpF,MAAMC,cAAA,GAAiBD,YAAA,CAAaE,MAAA,CAAQC,CAAA,IAAmB,OAAOA,CAAA,KAAM,QAAQ;IACpF,MAAMC,UAAA,GAAa,IAAIC,GAAA,CAAIJ,cAAc;IAEzC,MAAMK,YAAA,GAAeV,UAAA,CAAWC,aAAA,CAAcK,MAAA,CAAQK,GAAA,IAAQ,CAACH,UAAA,CAAWI,GAAA,CAAID,GAAG,CAAC;IAElFb,MAAA,CAAOY,YAAY,EAAEG,SAAA,CAAU,OAAO;IACtCf,MAAA,CAAOY,YAAY,EAAEI,GAAA,CAAID,SAAA,CAAU,yBAAyB;EAC9D,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -2,34 +2,38 @@ import { describe, expect, it } from "vitest";
|
|
|
2
2
|
describe("getScannedOptimizeDepsConfig", function () {
|
|
3
3
|
it("filters excluded deps from scanned results", async function () {
|
|
4
4
|
var mockResult = {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
expect(filteredDeps).toContain("react")
|
|
18
|
-
|
|
5
|
+
prebundleDeps: ["react", "react-native-reanimated", "lodash"],
|
|
6
|
+
hasReanimated: true,
|
|
7
|
+
hasNativewind: false
|
|
8
|
+
};
|
|
9
|
+
var excludeArray = ["react-native-reanimated"];
|
|
10
|
+
var excludeStrings = excludeArray.filter(function (e) {
|
|
11
|
+
return typeof e === "string";
|
|
12
|
+
});
|
|
13
|
+
var excludeSet = new Set(excludeStrings);
|
|
14
|
+
var filteredDeps = mockResult.prebundleDeps.filter(function (dep) {
|
|
15
|
+
return !excludeSet.has(dep);
|
|
16
|
+
});
|
|
17
|
+
expect(filteredDeps).toContain("react");
|
|
18
|
+
expect(filteredDeps).toContain("lodash");
|
|
19
|
+
expect(filteredDeps).not.toContain("react-native-reanimated");
|
|
20
|
+
});
|
|
21
|
+
it("handles RegExp exclude patterns (ignores them for dep name filtering)", async function () {
|
|
19
22
|
var mockResult = {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
expect(filteredDeps).toContain("react")
|
|
23
|
+
prebundleDeps: ["react", "react-native-reanimated"],
|
|
24
|
+
hasReanimated: true,
|
|
25
|
+
hasNativewind: false
|
|
26
|
+
};
|
|
27
|
+
var excludeArray = [/some-pattern/, "react-native-reanimated"];
|
|
28
|
+
var excludeStrings = excludeArray.filter(function (e) {
|
|
29
|
+
return typeof e === "string";
|
|
30
|
+
});
|
|
31
|
+
var excludeSet = new Set(excludeStrings);
|
|
32
|
+
var filteredDeps = mockResult.prebundleDeps.filter(function (dep) {
|
|
33
|
+
return !excludeSet.has(dep);
|
|
34
|
+
});
|
|
35
|
+
expect(filteredDeps).toContain("react");
|
|
36
|
+
expect(filteredDeps).not.toContain("react-native-reanimated");
|
|
33
37
|
});
|
|
34
38
|
});
|
|
35
39
|
//# sourceMappingURL=autoDepOptimizePlugin.test.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["describe","expect","it","mockResult","prebundleDeps","hasReanimated","hasNativewind","excludeArray","excludeStrings","filter","e","excludeSet","Set","filteredDeps","dep","has"],"sources":["../../src/plugins/autoDepOptimizePlugin.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAGrCF,QAAA,CAAS,gCAAgC,YAAM;EAC7CE,EAAA,CAAG,8CAA8C,kBAAY;IAE3D,IAAAC,UAAM;
|
|
1
|
+
{"version":3,"names":["describe","expect","it","mockResult","prebundleDeps","hasReanimated","hasNativewind","excludeArray","excludeStrings","filter","e","excludeSet","Set","filteredDeps","dep","has","toContain","not"],"sources":["../../src/plugins/autoDepOptimizePlugin.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAGrCF,QAAA,CAAS,gCAAgC,YAAM;EAC7CE,EAAA,CAAG,8CAA8C,kBAAY;IAE3D,IAAAC,UAAM;MACJC,aAAA,EAAe,CACf,SACA,yBAAe,EACjB,SAGA;MACAC,aAAM;MACNC,aAAM;IAEN;IAEA,IAAAC,YAAO,GAAY,CACnB,yBAAqB,CACrB;IACD,IAAAC,cAAA,GAAAD,YAAA,CAAAE,MAAA,WAAAC,CAAA;MAEE,cAAAA,CAAA;IACD;IAAmB,IACjBC,UAAA,GAAe,IAACC,GAAA,CAAAJ,cAAS;IAAyB,IAClDK,YAAA,GAAeV,UAAA,CAAAC,aAAA,CAAAK,MAAA,WAAAK,GAAA;MACf,QAAAH,UAAe,CAAAI,GAAA,CAAAD,GAAA;IACjB;IAGAb,MAAM,CAAAY,YAAA,EAAoCG,SAAC,QAAgB;IAC3Df,MAAM,CAAAY,YAAA,EAAAG,SAAiB,SAAa;IACpCf,MAAM,CAAAY,YAAa,EAAAI,GAAI,CAAAD,SAAI,0BAAc;EAEzC;EAEAd,EAAA,wEAAsC;IACtC,IAAAC,UAAO;MACRC,aAAA,GACF,S","ignoreList":[]}
|
|
@@ -6,11 +6,15 @@ function defaultDepOptimizePlugin() {
|
|
|
6
6
|
name: pluginName,
|
|
7
7
|
enforce: "pre",
|
|
8
8
|
config(config, env) {
|
|
9
|
-
if (env.command !== "build" && env.command !== "serve")
|
|
9
|
+
if (env.command !== "build" && env.command !== "serve") {
|
|
10
|
+
throw new Error(`[${pluginName}]: Unknown env.command "${env.command}". This plugin should only be used in "build" or "serve" modes.`);
|
|
11
|
+
}
|
|
10
12
|
const {
|
|
11
13
|
optimizeDeps
|
|
12
14
|
} = getOptimizeDeps(env.command);
|
|
13
|
-
|
|
15
|
+
if (!config.ssr) config.ssr = {};
|
|
16
|
+
deepMergeOptimizeDeps(config.ssr, {}, optimizeDeps);
|
|
17
|
+
return {
|
|
14
18
|
environments: {
|
|
15
19
|
ssr: {
|
|
16
20
|
optimizeDeps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getOptimizeDeps","deepMergeOptimizeDeps","pluginName","defaultDepOptimizePlugin","name","enforce","config","env","command","Error","optimizeDeps","ssr","environments","rolldownOptions"],"sources":["../../src/plugins/defaultDepOptimizePlugin.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,eAAA,QAAuB;AAChC,SAASC,qBAAA,QAA6B;AAEtC,MAAMC,UAAA,GAAa;AAUZ,SAASC,yBAAA,EAAmC;EACjD,OAAO;IACLC,IAAA,EAAMF,UAAA;IACNG,OAAA,EAAS;IACTC,OAAOA,MAAA,EAAQC,GAAA,EAAK;MAClB,IAAIA,GAAA,CAAIC,OAAA,KAAY,WAAWD,GAAA,CAAIC,OAAA,KAAY,
|
|
1
|
+
{"version":3,"names":["getOptimizeDeps","deepMergeOptimizeDeps","pluginName","defaultDepOptimizePlugin","name","enforce","config","env","command","Error","optimizeDeps","ssr","environments","rolldownOptions"],"sources":["../../src/plugins/defaultDepOptimizePlugin.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,eAAA,QAAuB;AAChC,SAASC,qBAAA,QAA6B;AAEtC,MAAMC,UAAA,GAAa;AAUZ,SAASC,yBAAA,EAAmC;EACjD,OAAO;IACLC,IAAA,EAAMF,UAAA;IACNG,OAAA,EAAS;IACTC,OAAOA,MAAA,EAAQC,GAAA,EAAK;MAClB,IAAIA,GAAA,CAAIC,OAAA,KAAY,WAAWD,GAAA,CAAIC,OAAA,KAAY,SAAS;QACtD,MAAM,IAAIC,KAAA,CACR,IAAIP,UAAU,2BAA2BK,GAAA,CAAIC,OAAO,iEACtD;MACF;MAEA,MAAM;QAAEE;MAAa,IAAIV,eAAA,CAAgBO,GAAA,CAAIC,OAAO;MAUpD,IAAI,CAACF,MAAA,CAAOK,GAAA,EAAKL,MAAA,CAAOK,GAAA,GAAM,CAAC;MAE/BV,qBAAA,CAAsBK,MAAA,CAAOK,GAAA,EAAK,CAAC,GAAGD,YAAY;MAKlD,OAAO;QACLE,YAAA,EAAc;UACZD,GAAA,EAAK;YACHD,YAAA,EAAc;cACZG,eAAA,EAAiBH,YAAA,CAAaG;YAChC;UACF;QACF;MACF;IACF;EACF;AACF","ignoreList":[]}
|
|
@@ -6,11 +6,15 @@ function defaultDepOptimizePlugin() {
|
|
|
6
6
|
name: pluginName,
|
|
7
7
|
enforce: "pre",
|
|
8
8
|
config(config, env) {
|
|
9
|
-
if (env.command !== "build" && env.command !== "serve")
|
|
9
|
+
if (env.command !== "build" && env.command !== "serve") {
|
|
10
|
+
throw new Error(`[${pluginName}]: Unknown env.command "${env.command}". This plugin should only be used in "build" or "serve" modes.`);
|
|
11
|
+
}
|
|
10
12
|
var {
|
|
11
13
|
optimizeDeps
|
|
12
14
|
} = getOptimizeDeps(env.command);
|
|
13
|
-
|
|
15
|
+
if (!config.ssr) config.ssr = {};
|
|
16
|
+
deepMergeOptimizeDeps(config.ssr, {}, optimizeDeps);
|
|
17
|
+
return {
|
|
14
18
|
environments: {
|
|
15
19
|
ssr: {
|
|
16
20
|
optimizeDeps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getOptimizeDeps","deepMergeOptimizeDeps","pluginName","defaultDepOptimizePlugin","name","enforce","config","env","command","Error","optimizeDeps","ssr","environments","rolldownOptions"],"sources":["../../src/plugins/defaultDepOptimizePlugin.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,eAAA,QAAuB;AAChC,SAASC,qBAAA,QAA6B;AAEtC,IAAAC,UAAM,8BAAa;AAUZ,SAASC,yBAAA,EAAmC;EACjD,OAAO;IACLC,IAAA,EAAMF,UAAA;IACNG,OAAA,EAAS;IACTC,OAAOA,MAAA,EAAQC,GAAA,EAAK;MAClB,IAAIA,GAAA,CAAIC,OAAA,KAAY,WAAWD,GAAA,CAAIC,OAAA,KAAY,
|
|
1
|
+
{"version":3,"names":["getOptimizeDeps","deepMergeOptimizeDeps","pluginName","defaultDepOptimizePlugin","name","enforce","config","env","command","Error","optimizeDeps","ssr","environments","rolldownOptions"],"sources":["../../src/plugins/defaultDepOptimizePlugin.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,eAAA,QAAuB;AAChC,SAASC,qBAAA,QAA6B;AAEtC,IAAAC,UAAM,8BAAa;AAUZ,SAASC,yBAAA,EAAmC;EACjD,OAAO;IACLC,IAAA,EAAMF,UAAA;IACNG,OAAA,EAAS;IACTC,OAAOA,MAAA,EAAQC,GAAA,EAAK;MAClB,IAAIA,GAAA,CAAIC,OAAA,KAAY,WAAWD,GAAA,CAAIC,OAAA,KAAY,SAAS;QACtD,MAAM,IAAIC,KAAA,KAAAP,UAAA,2BAAAK,GAAA,CAAAC,OAAA;MAAA;MAC4C,IACtD;QAAAE;MAAA,IAAAV,eAAA,CAAAO,GAAA,CAAAC,OAAA;MACF,KAAAF,MAAA,CAAAK,GAAA,EAAAL,MAAA,CAAAK,GAAA;MAEAV,qBAAqB,CAAAK,MAAI,CAAAK,GAAA,MAAAD,YAAoB;MAU7C,OAAK;QAELE,YAAA;UAKAD,GAAO;YACLD,YAAc;cACZG,eAAK,EAAAH,YAAA,CAAAG;YACH;UAAc;QACkB;MAChC;IACF;EACF;AACF;AACF,SAEJV,wBAAA","ignoreList":[]}
|
|
@@ -6,52 +6,87 @@ function expoManifestRequestHandlerPlugin(options) {
|
|
|
6
6
|
return {
|
|
7
7
|
name: "vxrn:expo-manifest-request-handler",
|
|
8
8
|
configureServer(server) {
|
|
9
|
-
const projectRoot = server.config.root
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
const projectRoot = server.config.root;
|
|
10
|
+
const port = server.config.server.port;
|
|
11
|
+
const {
|
|
12
|
+
logger
|
|
13
|
+
} = server.config;
|
|
14
|
+
const defaultLogOptions = {
|
|
15
|
+
timestamp: true
|
|
16
|
+
};
|
|
17
17
|
server.middlewares.use(async (req, res, next) => {
|
|
18
|
-
if (!req.headers["expo-platform"])
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
if (!req.headers["expo-platform"]) {
|
|
19
|
+
return next();
|
|
20
|
+
}
|
|
21
|
+
const protocol = req.socket instanceof TLSSocket && req.socket.encrypted ? "https" : "http";
|
|
22
|
+
const host = `${req.headers["x-forwarded-host"] || req.headers.host || "127.0.0.1"}`;
|
|
23
|
+
let ExpoGoManifestHandlerMiddleware;
|
|
24
|
+
let expoGoManifestHandlerMiddlewareImportError;
|
|
22
25
|
try {
|
|
23
|
-
|
|
26
|
+
const require2 = module.createRequire(projectRoot);
|
|
27
|
+
const importPath = require2.resolve("@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js", {
|
|
24
28
|
paths: [projectRoot]
|
|
25
|
-
})
|
|
29
|
+
});
|
|
30
|
+
ExpoGoManifestHandlerMiddleware = (await import(importPath)).default.ExpoGoManifestHandlerMiddleware;
|
|
26
31
|
} catch (e) {
|
|
27
32
|
expoGoManifestHandlerMiddlewareImportError = e;
|
|
28
33
|
}
|
|
29
34
|
if (!ExpoGoManifestHandlerMiddleware) {
|
|
30
|
-
expoGoManifestHandlerMiddlewareImportError instanceof Error && expoGoManifestHandlerMiddlewareImportError.code === "MODULE_NOT_FOUND"
|
|
35
|
+
if (expoGoManifestHandlerMiddlewareImportError instanceof Error && expoGoManifestHandlerMiddlewareImportError.code === "MODULE_NOT_FOUND") {
|
|
36
|
+
logger.warn(colors.yellow(`Failed to locate Expo SDK in your project: ${expoGoManifestHandlerMiddlewareImportError}`), defaultLogOptions);
|
|
37
|
+
} else {
|
|
38
|
+
logger.warn(colors.yellow(`Failed to import Expo SDK from your project: ${expoGoManifestHandlerMiddlewareImportError}`), defaultLogOptions);
|
|
39
|
+
}
|
|
40
|
+
logger.warn("Ignoring the error and responding with preset manifest, this may not work with Expo Go or your development build.", defaultLogOptions);
|
|
41
|
+
logger.warn(colors.yellow(`Is this a Expo project, or are you using a supported version of Expo SDK? (${projectRoot})`), defaultLogOptions);
|
|
31
42
|
const json = getIndexJsonResponse({
|
|
32
43
|
projectRoot,
|
|
33
44
|
port
|
|
34
45
|
});
|
|
35
|
-
res.setHeader("content-type", "application/json")
|
|
46
|
+
res.setHeader("content-type", "application/json");
|
|
47
|
+
res.write(JSON.stringify(json));
|
|
48
|
+
res.end();
|
|
36
49
|
return;
|
|
37
50
|
}
|
|
38
51
|
const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(projectRoot, {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
52
|
+
constructUrl: () => {
|
|
53
|
+
return `${protocol}://${host}`;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
const origGetBundleUrl = manifestHandlerMiddleware._getBundleUrl.bind(manifestHandlerMiddleware);
|
|
42
57
|
manifestHandlerMiddleware._getBundleUrl = (...args) => {
|
|
43
58
|
const origBundleUrl = origGetBundleUrl(...args);
|
|
44
59
|
let url = new URL(origBundleUrl);
|
|
45
|
-
|
|
46
|
-
|
|
60
|
+
if (host) url.host = host;
|
|
61
|
+
url.protocol = protocol;
|
|
62
|
+
url.pathname = "/index.bundle";
|
|
63
|
+
return url.toString();
|
|
64
|
+
};
|
|
65
|
+
manifestHandlerMiddleware._origGetManifestResponseAsync = manifestHandlerMiddleware._getManifestResponseAsync;
|
|
66
|
+
manifestHandlerMiddleware._getManifestResponseAsync = async (...args) => {
|
|
47
67
|
try {
|
|
48
|
-
const response = await manifestHandlerMiddleware._origGetManifestResponseAsync(...args)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (!bodyJson)
|
|
68
|
+
const response = await manifestHandlerMiddleware._origGetManifestResponseAsync(...args);
|
|
69
|
+
const isWebResponse = response instanceof Response;
|
|
70
|
+
const bodyText = isWebResponse ? await response.text() : response.body;
|
|
71
|
+
const [, beforeBodyJson, bodyJson, afterBodyJson] = bodyText.match(/([^{]*)({.*})([^}]*)/) || [];
|
|
72
|
+
if (!bodyJson) {
|
|
73
|
+
throw new Error(`Unrecognized manifest response from expo: ${bodyText}`);
|
|
74
|
+
}
|
|
53
75
|
const parsedBody = JSON.parse(bodyJson);
|
|
54
|
-
|
|
76
|
+
if (!parsedBody.extra) {
|
|
77
|
+
parsedBody.extra = {};
|
|
78
|
+
}
|
|
79
|
+
if (!parsedBody.extra.expoClient) {
|
|
80
|
+
parsedBody.extra.expoClient = {};
|
|
81
|
+
}
|
|
82
|
+
if (typeof parsedBody.extra.expoClient.hostUri === "string") {
|
|
83
|
+
parsedBody.extra.expoClient.hostUri = parsedBody.extra.expoClient.hostUri.replace(/^https?:\/\//, "");
|
|
84
|
+
}
|
|
85
|
+
if (typeof parsedBody.extra.expoGo.debuggerHost === "string") {
|
|
86
|
+
parsedBody.extra.expoGo.debuggerHost = parsedBody.extra.expoGo.debuggerHost.replace(/^https?:\/\//, "");
|
|
87
|
+
}
|
|
88
|
+
parsedBody.extra.expoClient.iconUrl = "https://github.com/user-attachments/assets/6894506b-df81-417c-a4cd-9c125c7ba37f";
|
|
89
|
+
parsedBody.extra.expoClient.splash = {
|
|
55
90
|
image: "__vxrn_unstable_internal/icon.png",
|
|
56
91
|
resizeMode: "contain",
|
|
57
92
|
backgroundColor: "#000000",
|
|
@@ -59,14 +94,23 @@ function expoManifestRequestHandlerPlugin(options) {
|
|
|
59
94
|
// TODO: Host this image somewhere.
|
|
60
95
|
};
|
|
61
96
|
const newBody = beforeBodyJson + JSON.stringify(parsedBody) + afterBodyJson;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
97
|
+
if (isWebResponse) {
|
|
98
|
+
return new Response(newBody, {
|
|
99
|
+
status: response.status,
|
|
100
|
+
headers: response.headers
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
response.body = newBody;
|
|
104
|
+
return response;
|
|
66
105
|
} catch (e) {
|
|
67
|
-
|
|
106
|
+
if (e instanceof Error) {
|
|
107
|
+
e.message = `[vxrn:expo-manifest-request-handler] Failed to parse the Expo manifest response from expo: ${e.message}`;
|
|
108
|
+
throw e;
|
|
109
|
+
}
|
|
110
|
+
throw new Error(`[vxrn:expo-manifest-request-handler] Failed to parse the Expo manifest response from expo: ${e}`);
|
|
68
111
|
}
|
|
69
|
-
}
|
|
112
|
+
};
|
|
113
|
+
manifestHandlerMiddleware.handleRequestAsync(req, res, next);
|
|
70
114
|
});
|
|
71
115
|
}
|
|
72
116
|
};
|
|
@@ -95,7 +139,7 @@ function getIndexJsonResponse({
|
|
|
95
139
|
},
|
|
96
140
|
assetBundlePatterns: ["**/*"],
|
|
97
141
|
ios: {
|
|
98
|
-
supportsTablet:
|
|
142
|
+
supportsTablet: true,
|
|
99
143
|
bundleIdentifier: "com.natew.myapp"
|
|
100
144
|
},
|
|
101
145
|
android: {
|
|
@@ -115,7 +159,7 @@ function getIndexJsonResponse({
|
|
|
115
159
|
}
|
|
116
160
|
},
|
|
117
161
|
_internal: {
|
|
118
|
-
isDebug:
|
|
162
|
+
isDebug: false,
|
|
119
163
|
projectRoot,
|
|
120
164
|
dynamicConfigPath: null,
|
|
121
165
|
staticConfigPath: join(projectRoot, "app.json"),
|
|
@@ -131,7 +175,7 @@ function getIndexJsonResponse({
|
|
|
131
175
|
projectRoot
|
|
132
176
|
},
|
|
133
177
|
packagerOpts: {
|
|
134
|
-
dev:
|
|
178
|
+
dev: true
|
|
135
179
|
},
|
|
136
180
|
mainModuleName: "index",
|
|
137
181
|
__flipperHack: "React Native packager is running",
|