one 1.16.12 → 1.17.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/cjs/babel-preset/index.cjs +154 -0
- package/dist/cjs/babel-preset/index.native.js +186 -0
- package/dist/cjs/babel-preset/index.native.js.map +1 -0
- package/dist/cjs/babel-preset/index.test.cjs +143 -0
- package/dist/cjs/babel-preset/index.test.native.js +165 -0
- package/dist/cjs/babel-preset/index.test.native.js.map +1 -0
- package/dist/cjs/babel-preset/integration.test.cjs +94 -0
- package/dist/cjs/babel-preset/integration.test.native.js +97 -0
- package/dist/cjs/babel-preset/integration.test.native.js.map +1 -0
- package/dist/cjs/cli/generateBundlerConfig.cjs +247 -0
- package/dist/cjs/cli/generateBundlerConfig.native.js +316 -0
- package/dist/cjs/cli/generateBundlerConfig.native.js.map +1 -0
- package/dist/cjs/cli/generateBundlerConfig.test.cjs +350 -0
- package/dist/cjs/cli/generateBundlerConfig.test.native.js +380 -0
- package/dist/cjs/cli/generateBundlerConfig.test.native.js.map +1 -0
- package/dist/cjs/cli/patch.cjs +19 -2
- package/dist/cjs/cli/patch.native.js +26 -2
- package/dist/cjs/cli/patch.native.js.map +1 -1
- package/dist/cjs/cli/patch.test.cjs +56 -0
- package/dist/cjs/cli/patch.test.native.js +65 -0
- package/dist/cjs/cli/patch.test.native.js.map +1 -0
- package/dist/cjs/cli.cjs +39 -2
- package/dist/cjs/cli.native.js +40 -2
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/metro-config/buildOneMetroResolverOverrides.cjs +102 -0
- package/dist/cjs/metro-config/buildOneMetroResolverOverrides.native.js +109 -0
- package/dist/cjs/metro-config/buildOneMetroResolverOverrides.native.js.map +1 -0
- package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +17 -150
- package/dist/cjs/metro-config/getViteMetroPluginOptions.integration.test.cjs +84 -0
- package/dist/cjs/metro-config/getViteMetroPluginOptions.integration.test.native.js +90 -0
- package/dist/cjs/metro-config/getViteMetroPluginOptions.integration.test.native.js.map +1 -0
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +17 -158
- package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/cjs/metro-config/withOne.cjs +82 -0
- package/dist/cjs/metro-config/withOne.native.js +88 -0
- package/dist/cjs/metro-config/withOne.native.js.map +1 -0
- package/dist/cjs/metro-config/withOne.test.cjs +129 -0
- package/dist/cjs/metro-config/withOne.test.native.js +156 -0
- package/dist/cjs/metro-config/withOne.test.native.js.map +1 -0
- package/dist/cjs/vite/loadConfig.cjs +20 -1
- package/dist/cjs/vite/loadConfig.native.js +20 -1
- package/dist/cjs/vite/loadConfig.native.js.map +1 -1
- package/dist/cjs/vite/plugins/warmRoutesPlugin.cjs +13 -7
- package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js +13 -7
- package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
- package/dist/esm/babel-preset/index.mjs +116 -0
- package/dist/esm/babel-preset/index.mjs.map +1 -0
- package/dist/esm/babel-preset/index.native.js +145 -0
- package/dist/esm/babel-preset/index.native.js.map +1 -0
- package/dist/esm/babel-preset/index.test.mjs +120 -0
- package/dist/esm/babel-preset/index.test.mjs.map +1 -0
- package/dist/esm/babel-preset/index.test.native.js +139 -0
- package/dist/esm/babel-preset/index.test.native.js.map +1 -0
- package/dist/esm/babel-preset/integration.test.mjs +71 -0
- package/dist/esm/babel-preset/integration.test.mjs.map +1 -0
- package/dist/esm/babel-preset/integration.test.native.js +71 -0
- package/dist/esm/babel-preset/integration.test.native.js.map +1 -0
- package/dist/esm/cli/generateBundlerConfig.mjs +207 -0
- package/dist/esm/cli/generateBundlerConfig.mjs.map +1 -0
- package/dist/esm/cli/generateBundlerConfig.native.js +273 -0
- package/dist/esm/cli/generateBundlerConfig.native.js.map +1 -0
- package/dist/esm/cli/generateBundlerConfig.test.mjs +327 -0
- package/dist/esm/cli/generateBundlerConfig.test.mjs.map +1 -0
- package/dist/esm/cli/generateBundlerConfig.test.native.js +354 -0
- package/dist/esm/cli/generateBundlerConfig.test.native.js.map +1 -0
- package/dist/esm/cli/patch.mjs +19 -2
- package/dist/esm/cli/patch.mjs.map +1 -1
- package/dist/esm/cli/patch.native.js +26 -2
- package/dist/esm/cli/patch.native.js.map +1 -1
- package/dist/esm/cli/patch.test.mjs +57 -0
- package/dist/esm/cli/patch.test.mjs.map +1 -0
- package/dist/esm/cli/patch.test.native.js +63 -0
- package/dist/esm/cli/patch.test.native.js.map +1 -0
- package/dist/esm/cli.mjs +39 -2
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +40 -2
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/metro-config/buildOneMetroResolverOverrides.mjs +66 -0
- package/dist/esm/metro-config/buildOneMetroResolverOverrides.mjs.map +1 -0
- package/dist/esm/metro-config/buildOneMetroResolverOverrides.native.js +70 -0
- package/dist/esm/metro-config/buildOneMetroResolverOverrides.native.js.map +1 -0
- package/dist/esm/metro-config/getViteMetroPluginOptions.integration.test.mjs +61 -0
- package/dist/esm/metro-config/getViteMetroPluginOptions.integration.test.mjs.map +1 -0
- package/dist/esm/metro-config/getViteMetroPluginOptions.integration.test.native.js +64 -0
- package/dist/esm/metro-config/getViteMetroPluginOptions.integration.test.native.js.map +1 -0
- package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +17 -138
- package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +17 -146
- package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
- package/dist/esm/metro-config/withOne.mjs +45 -0
- package/dist/esm/metro-config/withOne.mjs.map +1 -0
- package/dist/esm/metro-config/withOne.native.js +48 -0
- package/dist/esm/metro-config/withOne.native.js.map +1 -0
- package/dist/esm/metro-config/withOne.test.mjs +106 -0
- package/dist/esm/metro-config/withOne.test.mjs.map +1 -0
- package/dist/esm/metro-config/withOne.test.native.js +130 -0
- package/dist/esm/metro-config/withOne.test.native.js.map +1 -0
- package/dist/esm/vite/loadConfig.mjs +20 -1
- package/dist/esm/vite/loadConfig.mjs.map +1 -1
- package/dist/esm/vite/loadConfig.native.js +20 -1
- package/dist/esm/vite/loadConfig.native.js.map +1 -1
- package/dist/esm/vite/plugins/warmRoutesPlugin.mjs +13 -7
- package/dist/esm/vite/plugins/warmRoutesPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/warmRoutesPlugin.native.js +13 -7
- package/dist/esm/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
- package/package.json +20 -9
- package/src/babel-preset/index.test.ts +148 -0
- package/src/babel-preset/index.ts +250 -0
- package/src/babel-preset/integration.test.ts +91 -0
- package/src/cli/generateBundlerConfig.test.ts +343 -0
- package/src/cli/generateBundlerConfig.ts +339 -0
- package/src/cli/patch.test.ts +65 -0
- package/src/cli/patch.ts +30 -2
- package/src/cli.ts +31 -0
- package/src/metro-config/buildOneMetroResolverOverrides.ts +104 -0
- package/src/metro-config/getViteMetroPluginOptions.integration.test.ts +75 -0
- package/src/metro-config/getViteMetroPluginOptions.ts +15 -230
- package/src/metro-config/withOne.test.ts +120 -0
- package/src/metro-config/withOne.ts +112 -0
- package/src/vite/loadConfig.ts +22 -0
- package/src/vite/plugins/warmRoutesPlugin.ts +22 -6
- package/types/babel-preset/index.d.ts +68 -0
- package/types/babel-preset/index.d.ts.map +1 -0
- package/types/babel-preset/index.test.d.ts +2 -0
- package/types/babel-preset/index.test.d.ts.map +1 -0
- package/types/babel-preset/integration.test.d.ts +2 -0
- package/types/babel-preset/integration.test.d.ts.map +1 -0
- package/types/cli/generateBundlerConfig.d.ts +61 -0
- package/types/cli/generateBundlerConfig.d.ts.map +1 -0
- package/types/cli/generateBundlerConfig.test.d.ts +2 -0
- package/types/cli/generateBundlerConfig.test.d.ts.map +1 -0
- package/types/cli/patch.d.ts.map +1 -1
- package/types/cli/patch.test.d.ts +2 -0
- package/types/cli/patch.test.d.ts.map +1 -0
- package/types/metro-config/buildOneMetroResolverOverrides.d.ts +20 -0
- package/types/metro-config/buildOneMetroResolverOverrides.d.ts.map +1 -0
- package/types/metro-config/getViteMetroPluginOptions.d.ts +0 -5
- package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
- package/types/metro-config/getViteMetroPluginOptions.integration.test.d.ts +2 -0
- package/types/metro-config/getViteMetroPluginOptions.integration.test.d.ts.map +1 -0
- package/types/metro-config/withOne.d.ts +44 -0
- package/types/metro-config/withOne.d.ts.map +1 -0
- package/types/metro-config/withOne.test.d.ts +2 -0
- package/types/metro-config/withOne.test.d.ts.map +1 -0
- package/types/vite/loadConfig.d.ts +1 -0
- package/types/vite/loadConfig.d.ts.map +1 -1
- package/types/vite/plugins/warmRoutesPlugin.d.ts.map +1 -1
- package/dist/cjs/metro-config/getViteMetroPluginOptions.test.cjs +0 -23
- package/dist/cjs/metro-config/getViteMetroPluginOptions.test.native.js +0 -26
- package/dist/cjs/metro-config/getViteMetroPluginOptions.test.native.js.map +0 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.test.mjs +0 -24
- package/dist/esm/metro-config/getViteMetroPluginOptions.test.mjs.map +0 -1
- package/dist/esm/metro-config/getViteMetroPluginOptions.test.native.js +0 -24
- package/dist/esm/metro-config/getViteMetroPluginOptions.test.native.js.map +0 -1
- package/src/metro-config/getViteMetroPluginOptions.test.ts +0 -34
- package/types/metro-config/getViteMetroPluginOptions.test.d.ts +0 -2
- package/types/metro-config/getViteMetroPluginOptions.test.d.ts.map +0 -1
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __copyProps = (to, from, except, desc) => {
|
|
8
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
9
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
10
|
+
get: () => from[key],
|
|
11
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return to;
|
|
15
|
+
};
|
|
16
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
17
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
18
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
19
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
20
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
22
|
+
value: mod,
|
|
23
|
+
enumerable: true
|
|
24
|
+
}) : target, mod));
|
|
25
|
+
var import_node_path = __toESM(require("node:path"), 1);
|
|
26
|
+
var import_node_fs = __toESM(require("node:fs"), 1);
|
|
27
|
+
var import_vitest = require("vitest");
|
|
28
|
+
var import_withOne = require("./withOne.cjs");
|
|
29
|
+
const projectRoot = import_node_path.default.resolve(__dirname, "../../");
|
|
30
|
+
const tmpDirs = [];
|
|
31
|
+
function createOneFixtureProject() {
|
|
32
|
+
const workspaceRoot = import_node_path.default.resolve(__dirname, "../../../../");
|
|
33
|
+
const tmpDir = import_node_fs.default.mkdtempSync(import_node_path.default.join(workspaceRoot, ".tmp-with-one-"));
|
|
34
|
+
tmpDirs.push(tmpDir);
|
|
35
|
+
import_node_fs.default.writeFileSync(import_node_path.default.join(tmpDir, "package.json"), JSON.stringify({
|
|
36
|
+
name: "tmp-with-one",
|
|
37
|
+
private: true
|
|
38
|
+
}));
|
|
39
|
+
import_node_fs.default.writeFileSync(import_node_path.default.join(tmpDir, "tsconfig.json"), JSON.stringify({
|
|
40
|
+
compilerOptions: {
|
|
41
|
+
paths: {}
|
|
42
|
+
}
|
|
43
|
+
}));
|
|
44
|
+
import_node_fs.default.mkdirSync(import_node_path.default.join(tmpDir, "app"));
|
|
45
|
+
import_node_fs.default.writeFileSync(import_node_path.default.join(tmpDir, "app", "index.tsx"), "export default null\n");
|
|
46
|
+
import_node_fs.default.writeFileSync(import_node_path.default.join(tmpDir, "vite.config.ts"), `
|
|
47
|
+
const defaultConfigOverrides = (config) => ({
|
|
48
|
+
...config,
|
|
49
|
+
watchFolders: [
|
|
50
|
+
...(config.watchFolders || []),
|
|
51
|
+
${JSON.stringify(import_node_path.default.join(tmpDir, "shared"))},
|
|
52
|
+
],
|
|
53
|
+
resolver: {
|
|
54
|
+
...config.resolver,
|
|
55
|
+
extraNodeModules: {
|
|
56
|
+
...config.resolver?.extraNodeModules,
|
|
57
|
+
'fixture-singleton': ${JSON.stringify(tmpDir)},
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
})
|
|
61
|
+
|
|
62
|
+
globalThis.__oneOptions = {
|
|
63
|
+
setupFile: {
|
|
64
|
+
native: './src/setup-native.ts',
|
|
65
|
+
},
|
|
66
|
+
native: {
|
|
67
|
+
bundler: 'metro',
|
|
68
|
+
bundlerOptions: {
|
|
69
|
+
argv: {
|
|
70
|
+
projectRoot: ${JSON.stringify(tmpDir)},
|
|
71
|
+
},
|
|
72
|
+
defaultConfigOverrides,
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
}
|
|
76
|
+
globalThis.__vxrnMetroOptions__ = {
|
|
77
|
+
argv: {
|
|
78
|
+
projectRoot: ${JSON.stringify(tmpDir)},
|
|
79
|
+
},
|
|
80
|
+
defaultConfigOverrides,
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export default {
|
|
84
|
+
root: ${JSON.stringify(tmpDir)},
|
|
85
|
+
}
|
|
86
|
+
`);
|
|
87
|
+
return tmpDir;
|
|
88
|
+
}
|
|
89
|
+
(0, import_vitest.afterAll)(() => {
|
|
90
|
+
for (const tmpDir of tmpDirs) {
|
|
91
|
+
import_node_fs.default.rmSync(tmpDir, {
|
|
92
|
+
recursive: true,
|
|
93
|
+
force: true
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
(0, import_vitest.describe)("withOne", () => {
|
|
98
|
+
(0, import_vitest.it)("returns a config produced by the production native bundle pipeline", async () => {
|
|
99
|
+
const config = await (0, import_withOne.withOne)(projectRoot, {
|
|
100
|
+
loadViteConfig: false
|
|
101
|
+
});
|
|
102
|
+
(0, import_vitest.expect)(config).toBeTruthy();
|
|
103
|
+
(0, import_vitest.expect)(config.resolver).toBeTruthy();
|
|
104
|
+
(0, import_vitest.expect)(typeof config.resolver.resolveRequest).toBe("function");
|
|
105
|
+
(0, import_vitest.expect)(config.transformer).toBeTruthy();
|
|
106
|
+
(0, import_vitest.expect)(config.transformer.babelTransformerPath).toMatch(/vite-plugin-metro.*babel-transformer/);
|
|
107
|
+
});
|
|
108
|
+
(0, import_vitest.it)("orders sourceExts so .js wins over .mjs (the proven One fix)", async () => {
|
|
109
|
+
const config = await (0, import_withOne.withOne)(projectRoot, {
|
|
110
|
+
loadViteConfig: false
|
|
111
|
+
});
|
|
112
|
+
const exts = config.resolver.sourceExts;
|
|
113
|
+
(0, import_vitest.expect)(exts).toContain("mjs");
|
|
114
|
+
(0, import_vitest.expect)(exts).toContain("js");
|
|
115
|
+
(0, import_vitest.expect)(exts.indexOf("js")).toBeLessThan(exts.indexOf("mjs"));
|
|
116
|
+
});
|
|
117
|
+
(0, import_vitest.it)("accepts a project root as the first arg", async () => {
|
|
118
|
+
const config = await (0, import_withOne.withOne)(projectRoot, {
|
|
119
|
+
loadViteConfig: false
|
|
120
|
+
});
|
|
121
|
+
(0, import_vitest.expect)(config).toBeTruthy();
|
|
122
|
+
});
|
|
123
|
+
(0, import_vitest.it)("loads vite.config by default and applies the real native Metro options", async () => {
|
|
124
|
+
const fixtureRoot = createOneFixtureProject();
|
|
125
|
+
const config = await (0, import_withOne.withOne)(fixtureRoot);
|
|
126
|
+
(0, import_vitest.expect)(config.resolver.extraNodeModules["fixture-singleton"]).toBe(fixtureRoot);
|
|
127
|
+
(0, import_vitest.expect)(config.watchFolders).toContain(import_node_path.default.join(fixtureRoot, "shared"));
|
|
128
|
+
});
|
|
129
|
+
});
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: () => from[key],
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
19
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
20
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
21
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
22
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
23
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
24
|
+
value: mod,
|
|
25
|
+
enumerable: true
|
|
26
|
+
}) : target, mod));
|
|
27
|
+
var import_path = __toESM(require("path"), 1);
|
|
28
|
+
var import_fs = __toESM(require("fs"), 1);
|
|
29
|
+
var import_vitest = require("vitest");
|
|
30
|
+
var import_withOne = require("./withOne.native.js");
|
|
31
|
+
function _type_of(obj) {
|
|
32
|
+
"@swc/helpers - typeof";
|
|
33
|
+
|
|
34
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
35
|
+
}
|
|
36
|
+
var projectRoot = import_path.default.resolve(__dirname, "../../");
|
|
37
|
+
var tmpDirs = [];
|
|
38
|
+
function createOneFixtureProject() {
|
|
39
|
+
var workspaceRoot = import_path.default.resolve(__dirname, "../../../../");
|
|
40
|
+
var tmpDir = import_fs.default.mkdtempSync(import_path.default.join(workspaceRoot, ".tmp-with-one-"));
|
|
41
|
+
tmpDirs.push(tmpDir);
|
|
42
|
+
import_fs.default.writeFileSync(import_path.default.join(tmpDir, "package.json"), JSON.stringify({
|
|
43
|
+
name: "tmp-with-one",
|
|
44
|
+
private: true
|
|
45
|
+
}));
|
|
46
|
+
import_fs.default.writeFileSync(import_path.default.join(tmpDir, "tsconfig.json"), JSON.stringify({
|
|
47
|
+
compilerOptions: {
|
|
48
|
+
paths: {}
|
|
49
|
+
}
|
|
50
|
+
}));
|
|
51
|
+
import_fs.default.mkdirSync(import_path.default.join(tmpDir, "app"));
|
|
52
|
+
import_fs.default.writeFileSync(import_path.default.join(tmpDir, "app", "index.tsx"), "export default null\n");
|
|
53
|
+
import_fs.default.writeFileSync(import_path.default.join(tmpDir, "vite.config.ts"), `
|
|
54
|
+
const defaultConfigOverrides = (config) => ({
|
|
55
|
+
...config,
|
|
56
|
+
watchFolders: [
|
|
57
|
+
...(config.watchFolders || []),
|
|
58
|
+
${JSON.stringify(import_path.default.join(tmpDir, "shared"))},
|
|
59
|
+
],
|
|
60
|
+
resolver: {
|
|
61
|
+
...config.resolver,
|
|
62
|
+
extraNodeModules: {
|
|
63
|
+
...config.resolver?.extraNodeModules,
|
|
64
|
+
'fixture-singleton': ${JSON.stringify(tmpDir)},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
globalThis.__oneOptions = {
|
|
70
|
+
setupFile: {
|
|
71
|
+
native: './src/setup-native.ts',
|
|
72
|
+
},
|
|
73
|
+
native: {
|
|
74
|
+
bundler: 'metro',
|
|
75
|
+
bundlerOptions: {
|
|
76
|
+
argv: {
|
|
77
|
+
projectRoot: ${JSON.stringify(tmpDir)},
|
|
78
|
+
},
|
|
79
|
+
defaultConfigOverrides,
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
}
|
|
83
|
+
globalThis.__vxrnMetroOptions__ = {
|
|
84
|
+
argv: {
|
|
85
|
+
projectRoot: ${JSON.stringify(tmpDir)},
|
|
86
|
+
},
|
|
87
|
+
defaultConfigOverrides,
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export default {
|
|
91
|
+
root: ${JSON.stringify(tmpDir)},
|
|
92
|
+
}
|
|
93
|
+
`);
|
|
94
|
+
return tmpDir;
|
|
95
|
+
}
|
|
96
|
+
(0, import_vitest.afterAll)(function () {
|
|
97
|
+
var _iteratorNormalCompletion = true,
|
|
98
|
+
_didIteratorError = false,
|
|
99
|
+
_iteratorError = void 0;
|
|
100
|
+
try {
|
|
101
|
+
for (var _iterator = tmpDirs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
102
|
+
var tmpDir = _step.value;
|
|
103
|
+
import_fs.default.rmSync(tmpDir, {
|
|
104
|
+
recursive: true,
|
|
105
|
+
force: true
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
} catch (err) {
|
|
109
|
+
_didIteratorError = true;
|
|
110
|
+
_iteratorError = err;
|
|
111
|
+
} finally {
|
|
112
|
+
try {
|
|
113
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
114
|
+
_iterator.return();
|
|
115
|
+
}
|
|
116
|
+
} finally {
|
|
117
|
+
if (_didIteratorError) {
|
|
118
|
+
throw _iteratorError;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
(0, import_vitest.describe)("withOne", function () {
|
|
124
|
+
(0, import_vitest.it)("returns a config produced by the production native bundle pipeline", async function () {
|
|
125
|
+
var config = await (0, import_withOne.withOne)(projectRoot, {
|
|
126
|
+
loadViteConfig: false
|
|
127
|
+
});
|
|
128
|
+
(0, import_vitest.expect)(config).toBeTruthy();
|
|
129
|
+
(0, import_vitest.expect)(config.resolver).toBeTruthy();
|
|
130
|
+
(0, import_vitest.expect)(_type_of(config.resolver.resolveRequest)).toBe("function");
|
|
131
|
+
(0, import_vitest.expect)(config.transformer).toBeTruthy();
|
|
132
|
+
(0, import_vitest.expect)(config.transformer.babelTransformerPath).toMatch(/vite-plugin-metro.*babel-transformer/);
|
|
133
|
+
});
|
|
134
|
+
(0, import_vitest.it)("orders sourceExts so .js wins over .mjs (the proven One fix)", async function () {
|
|
135
|
+
var config = await (0, import_withOne.withOne)(projectRoot, {
|
|
136
|
+
loadViteConfig: false
|
|
137
|
+
});
|
|
138
|
+
var exts = config.resolver.sourceExts;
|
|
139
|
+
(0, import_vitest.expect)(exts).toContain("mjs");
|
|
140
|
+
(0, import_vitest.expect)(exts).toContain("js");
|
|
141
|
+
(0, import_vitest.expect)(exts.indexOf("js")).toBeLessThan(exts.indexOf("mjs"));
|
|
142
|
+
});
|
|
143
|
+
(0, import_vitest.it)("accepts a project root as the first arg", async function () {
|
|
144
|
+
var config = await (0, import_withOne.withOne)(projectRoot, {
|
|
145
|
+
loadViteConfig: false
|
|
146
|
+
});
|
|
147
|
+
(0, import_vitest.expect)(config).toBeTruthy();
|
|
148
|
+
});
|
|
149
|
+
(0, import_vitest.it)("loads vite.config by default and applies the real native Metro options", async function () {
|
|
150
|
+
var fixtureRoot = createOneFixtureProject();
|
|
151
|
+
var config = await (0, import_withOne.withOne)(fixtureRoot);
|
|
152
|
+
(0, import_vitest.expect)(config.resolver.extraNodeModules["fixture-singleton"]).toBe(fixtureRoot);
|
|
153
|
+
(0, import_vitest.expect)(config.watchFolders).toContain(import_path.default.join(fixtureRoot, "shared"));
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
//# sourceMappingURL=withOne.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["import_path","__toESM","require","import_fs","import_vitest","import_withOne","_type_of","obj","Symbol","constructor","projectRoot","default","resolve","__dirname","tmpDirs","createOneFixtureProject","workspaceRoot","tmpDir","mkdtempSync","join","push","writeFileSync","JSON","stringify","name","private","compilerOptions","paths","mkdirSync","afterAll","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","value","rmSync","recursive","force","err","return","describe","it","config","withOne","loadViteConfig","expect","toBeTruthy","resolver","resolveRequest","toBe"],"sources":["../../../src/metro-config/withOne.test.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;gBAAA;AACA,IAAAA,WAAA,GAAAC,OAAe,CAAAC,OAAA;AACf,IAAAC,SAAA,GAAAF,OAA+C,CAAAC,OAAA;AAC/C,IAAAE,aAAA,GAAAF,OAAwB;AAExB,IAAAG,cAAM,GAAcH,OAAA;AACpB,SAAMI,QAAqBA,CAAAC,GAAA;EAE3B,uBAAS;;EACP,OAAMA,GAAA,WAAAC,MAAgB,oBAAKD,GAAA,CAAAE,WAAQ,KAAWD,MAAA,WAAc,UAAAD,GAAA;AAC5D;AACA,IAAAG,WAAa,GAAAV,WAAM,CAAAW,OAAA,CAAAC,OAAA,CAAAC,SAAA;AAEnB,IAAAC,OAAA;AAAG,SACDC,uBAAKA,CAAA,EAAK;EAAsB,IAChCC,aAAe,GAAEhB,WAAM,CAAAW,OAAA,CAAAC,OAAgB,CAAAC,SAAe;EACxD,IAAAI,MAAA,GAAAd,SAAA,CAAAQ,OAAA,CAAAO,WAAA,CAAAlB,WAAA,CAAAW,OAAA,CAAAQ,IAAA,CAAAH,aAAA;EACAF,OAAA,CAAAM,IAAA,CAAAH,MAAA;EAAGd,SACD,CAAAQ,OAAA,CAAAU,aAAK,CAAKrB,WAAQ,CAAAW,OAAA,CAAAQ,IAAe,CAAAF,MAAA,mBAAAK,IAAA,CAAAC,SAAA;IACjCC,IAAA,EAAK,cAAY;IACnBC,OAAA;EACA;EACAtB,SAAA,CAAAQ,OAAA,CAAAU,aAAG,CAAArB,WAAc,CAAAW,OAAA,CAAAQ,IAAA,CAAAF,MAAK,iBAAa,GAAOK,IAAA,CAAAC,SAAc;IAExDG,eAAA;MACEC,KAAA;IACA;EAAA;EAAAxB,SAAA,CAAAQ,OAAA,CAAAiB,SAAA,CAAA5B,WAAA,CAAAW,OAAA,CAAAQ,IAAA,CAAAF,MAAA;EAAAd,SAAA,CAAAQ,OAAA,CAAAU,aAAA,CAAArB,WAAA,CAAAW,OAAA,CAAAQ,IAAA,CAAAF,MAAA;EAAAd,SAAA,CAAAQ,OAAA,CAAAU,aAAA,CAAArB,WAAA,CAAAW,OAAA,CAAAQ,IAAA,CAAAF,MAAA;AAAA;AAK6C;AAAA;AAAA;AAAA,MAAAK,IAAA,CAAAC,SAAA,CAAAvB,WAAA,CAAAW,OAAA,CAAAQ,IAAA,CAAAF,MAAA;AAAA;AAAA;AAME;AAAA;AAAA;AAAA,6BAAAK,IAAA,CAAAC,SAAA,CAAAN,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaN;AAAA;AAAA;AAAA,uBAAAK,IAAA,CAAAC,SAAA,CAAAN,MAAA;AAAA;AAAA;AAAA;AAAA;AAQJ;AAAA;AAAA;AAAA,mBAAAK,IAAA,CAAAC,SAAA,CAAAN,MAAA;AAAA;AAAA;AAMT;AAAA;AAAA;AAK9B,UAAOK,IAAA,CAAAC,SAAA,CAAAN,MAAA;AACT;AAAA;EAGE,OAAAA,MAAW;AACT;AAAkD,EACpD,EAAAb,aAAA,CAAAyB,QAAA;EACD,IAAAC,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EAAA,IAED;IACE,SAAAC,SAAA,GAAGnB,OAAA,CAAAN,MAAA,CAAA0B,QAAA,KAAAC,KAAA,IAAAL,yBAAA,IAAAK,KAAsE,GAAAF,SAAY,CAAAG,IAAA,IAAAC,IAAA,GAAAP,yBAAA;MACnF,IAAMb,MAAA,GAAUkB,KAAA,CAAAG,KAAM;MAKtBnC,SAAA,CAAAQ,OAAA,CAAA4B,MAAO,CAAAtB,MAAM,EAAE;QACfuB,SAAA;QACAC,KAAA;MACA;IACA;EAAgD,SAC9CC,GAAA;IACFX,iBAAA;IACDC,cAAA,GAAAU,GAAA;EAED;IACE;MACA,IAAM,CAAAZ,yBAAiC,IAAAG,SAAA,CAAAU,MAAA;QACvCV,SAAA,CAAAU,MAAA;MACA;IAGA;MACD,IAAAZ,iBAAA;QAED,MAAAC,cAAG;MAED;IACA;EACF;AAEA;AACE,IAAA5B,aAAM,CAAAwC,QAAc,yBAAwB;EAC5C,IAAAxC,aAAgB,CAAAyC,EAAA,sEAAyB;IAEzC,IAAAC,MAAA,aAAAzC,cAAc,CAAA0C,OAAS,EAAArC,WAAA,EAAiB;MACtCsC,cAAA;IACF;IACA,IAAA5C,aAAA,CAAA6C,MAAA,EAAOH,MAAA,CAAO,CAAAI,UAAA,CAAY;IAC3B,IAAA9C,aAAA,CAAA6C,MAAA,EAAAH,MAAA,CAAAK,QAAA,EAAAD,UAAA;IACF,IAAA9C,aAAA,CAAA6C,MAAA,EAAA3C,QAAA,CAAAwC,MAAA,CAAAK,QAAA,CAAAC,cAAA,GAAAC,IAAA","ignoreList":[]}
|
|
@@ -39,10 +39,18 @@ function getUserOneOptions() {
|
|
|
39
39
|
}
|
|
40
40
|
async function loadUserOneOptions(command, silent = false) {
|
|
41
41
|
const originalConsoleError = console.error;
|
|
42
|
+
const previousIsVxrnCli = process.env.IS_VXRN_CLI;
|
|
43
|
+
const previousOneOptions = globalThis["__oneOptions"];
|
|
44
|
+
const previousVxrnPluginConfig = globalThis["__vxrnPluginConfig__"];
|
|
45
|
+
const previousVxrnMetroOptions = globalThis["__vxrnMetroOptions__"];
|
|
42
46
|
if (silent) {
|
|
43
47
|
console.error = () => {};
|
|
44
48
|
}
|
|
45
49
|
try {
|
|
50
|
+
process.env.IS_VXRN_CLI = "true";
|
|
51
|
+
delete globalThis["__oneOptions"];
|
|
52
|
+
delete globalThis["__vxrnPluginConfig__"];
|
|
53
|
+
delete globalThis["__vxrnMetroOptions__"];
|
|
46
54
|
const config = await (0, import_vite.loadConfigFromFile)({
|
|
47
55
|
mode: command === "serve" ? "dev" : "prod",
|
|
48
56
|
command
|
|
@@ -56,9 +64,20 @@ async function loadUserOneOptions(command, silent = false) {
|
|
|
56
64
|
}
|
|
57
65
|
return {
|
|
58
66
|
config,
|
|
59
|
-
oneOptions
|
|
67
|
+
oneOptions,
|
|
68
|
+
metroOptions: globalThis["__vxrnMetroOptions__"]
|
|
60
69
|
};
|
|
70
|
+
} catch (error) {
|
|
71
|
+
globalThis["__oneOptions"] = previousOneOptions;
|
|
72
|
+
globalThis["__vxrnPluginConfig__"] = previousVxrnPluginConfig;
|
|
73
|
+
globalThis["__vxrnMetroOptions__"] = previousVxrnMetroOptions;
|
|
74
|
+
throw error;
|
|
61
75
|
} finally {
|
|
76
|
+
if (previousIsVxrnCli === void 0) {
|
|
77
|
+
delete process.env.IS_VXRN_CLI;
|
|
78
|
+
} else {
|
|
79
|
+
process.env.IS_VXRN_CLI = previousIsVxrnCli;
|
|
80
|
+
}
|
|
62
81
|
if (silent) {
|
|
63
82
|
console.error = originalConsoleError;
|
|
64
83
|
}
|
|
@@ -42,10 +42,18 @@ function getUserOneOptions() {
|
|
|
42
42
|
async function loadUserOneOptions(command) {
|
|
43
43
|
var silent = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
44
44
|
var originalConsoleError = console.error;
|
|
45
|
+
var previousIsVxrnCli = process.env.IS_VXRN_CLI;
|
|
46
|
+
var previousOneOptions = globalThis["__oneOptions"];
|
|
47
|
+
var previousVxrnPluginConfig = globalThis["__vxrnPluginConfig__"];
|
|
48
|
+
var previousVxrnMetroOptions = globalThis["__vxrnMetroOptions__"];
|
|
45
49
|
if (silent) {
|
|
46
50
|
console.error = function () {};
|
|
47
51
|
}
|
|
48
52
|
try {
|
|
53
|
+
process.env.IS_VXRN_CLI = "true";
|
|
54
|
+
delete globalThis["__oneOptions"];
|
|
55
|
+
delete globalThis["__vxrnPluginConfig__"];
|
|
56
|
+
delete globalThis["__vxrnMetroOptions__"];
|
|
49
57
|
var config = await (0, import_vite.loadConfigFromFile)({
|
|
50
58
|
mode: command === "serve" ? "dev" : "prod",
|
|
51
59
|
command
|
|
@@ -59,9 +67,20 @@ async function loadUserOneOptions(command) {
|
|
|
59
67
|
}
|
|
60
68
|
return {
|
|
61
69
|
config,
|
|
62
|
-
oneOptions
|
|
70
|
+
oneOptions,
|
|
71
|
+
metroOptions: globalThis["__vxrnMetroOptions__"]
|
|
63
72
|
};
|
|
73
|
+
} catch (error) {
|
|
74
|
+
globalThis["__oneOptions"] = previousOneOptions;
|
|
75
|
+
globalThis["__vxrnPluginConfig__"] = previousVxrnPluginConfig;
|
|
76
|
+
globalThis["__vxrnMetroOptions__"] = previousVxrnMetroOptions;
|
|
77
|
+
throw error;
|
|
64
78
|
} finally {
|
|
79
|
+
if (previousIsVxrnCli === void 0) {
|
|
80
|
+
delete process.env.IS_VXRN_CLI;
|
|
81
|
+
} else {
|
|
82
|
+
process.env.IS_VXRN_CLI = previousIsVxrnCli;
|
|
83
|
+
}
|
|
65
84
|
if (silent) {
|
|
66
85
|
console.error = originalConsoleError;
|
|
67
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","loadConfig_exports","__export","loadUserOneOptions","setOneOptions","module","exports","import_vite","require","import_polyfills_server","next","globalThis","__oneOptions","getUserOneOptions","Error","command","silent","arguments","length","originalConsoleError","console","error","config","loadConfigFromFile","mode","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","loadConfig_exports","__export","loadUserOneOptions","setOneOptions","module","exports","import_vite","require","import_polyfills_server","next","globalThis","__oneOptions","getUserOneOptions","Error","command","silent","arguments","length","originalConsoleError","console","error","previousIsVxrnCli","process","env","IS_VXRN_CLI","previousOneOptions","previousVxrnPluginConfig","previousVxrnMetroOptions","config","loadConfigFromFile","mode","cwd","oneOptions","metroOptions"],"sources":["../../../src/vite/loadConfig.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,kBAAA;AAAAC,QAAA,CAAAD,kBAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAAmC,CAAAK,kBAAA;AACnC,IAAAM,WAAA,GAAAC,OAAA,OAAO;AAKA,IAAAC,uBAAuB,GAAyBD,OAAA;AACrD,SAAAJ,aAAWA,CAAAM,IAAA,EAAe;EAC5BC,UAAA,CAAAC,YAAA,GAAAF,IAAA;AAEA;AACE,SAAKG,iBAAWA,CAAA;EACd,KAAAF,UAAU,CAAAC,YAAA;IAAA,MACR,IAAAE,KAAA;EAAA;EAEJ,OAAAH,UAAA,CAAAC,YAAA;AACA;AACF,eAAAT,mBAAAY,OAAA;EAEA,IAAAC,MAAA,GAAsBC,SAAA,CAAAC,MAAA,GAAmB,KAAAD,SAA4B,QAAS,KAAO,IAAAA,SAAA;EAEnF,IAAAE,oBAAM,GAAAC,OAAuB,CAAAC,KAAQ;EACrC,IAAAC,iBAAM,GAAAC,OAAoB,CAAAC,GAAQ,CAAAC,WAAI;EACtC,IAAAC,kBAAM,GAAAf,UAAqB,eAAW;EACtC,IAAAgB,wBAAM,GAAAhB,UAA2B,uBAAW;EAC5C,IAAAiB,wBAAM,GAAAjB,UAA2B,uBAAW;EAE5C,IAAIK,MAAA,EAAQ;IACVI,OAAA,CAAQC,KAAA,GAAQ,YAAM,CAAC;EACzB;EAEA,IAAI;IACFE,OAAA,CAAQC,GAAA,CAAIC,WAAA,GAAc;IAC1B,OAAOd,UAAA,CAAW,cAAc;IAChC,OAAOA,UAAA,CAAW,sBAAsB;IACxC,OAAOA,UAAA,CAAW,sBAAsB;IAExC,IAAAkB,MAAM,SAAS,IAAAtB,WAAM,CAAAuB,kBAAA;MACnBC,IAAA,EAAMhB,OAAA,KAAY,UAAU,QAAQ;MACpCA;IACF,CAAC;IAED,IAAI,CAACc,MAAA,EAAQ;MACX,MAAM,IAAIf,KAAA,wBAAAS,OAAA,CAAAS,GAAA;IAAA;IAC4B,IACtCC,UAAA,GAAApB,iBAAA;IACF,KAAAoB,UAAA;MAEA,MAAM,IAAAnB,KAAA,2CAA+B;IAErC;IACE;MACFe,MAAA;MAEAI,UAAO;MACLC,YAAA,EAAAvB,UAAA;IAAA;EACA,SACAU,KAAA;IACFV,UAAA,mBAAAe,kBAAA;IACFf,UAAS,uBAAO,IAAAgB,wBAAA;IACdhB,UAAA,CAAW,sBAAkB,IAAAiB,wBAAA;IAC7B,MAAAP,KAAW;EACX;IACA,IAAAC,iBAAM;MACR,OAAEC,OAAA,CAAAC,GAAA,CAAAC,WAAA;IACA,OAAI;MACFF,OAAO,CAAAC,GAAA,CAAAC,WAAY,GAAAH,iBAAA;IACrB;IACE,IAAAN,MAAQ;MACVI,OAAA,CAAAC,KAAA,GAAAF,oBAAA;IAEA;EACE;AAAgB","ignoreList":[]}
|
|
@@ -83,24 +83,30 @@ function autoWarmPlugin(persistPath) {
|
|
|
83
83
|
lastDepsCount = currentDeps.length;
|
|
84
84
|
const depsToCache = currentDeps.filter(d => !userInclude.has(d) && !excludeSet.has(d));
|
|
85
85
|
const allDeps = new Set(depsToCache);
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
let existingRaw;
|
|
87
|
+
if ((0, import_node_fs.existsSync)(cacheFile)) {
|
|
88
|
+
try {
|
|
89
|
+
existingRaw = (0, import_node_fs.readFileSync)(cacheFile, "utf-8");
|
|
90
|
+
const existing = JSON.parse(existingRaw);
|
|
89
91
|
if (Array.isArray(existing.deps)) {
|
|
90
92
|
for (const d of existing.deps) {
|
|
91
93
|
if (!excludeSet.has(d)) allDeps.add(d);
|
|
92
94
|
}
|
|
93
95
|
}
|
|
96
|
+
} catch {
|
|
97
|
+
return;
|
|
94
98
|
}
|
|
95
|
-
}
|
|
99
|
+
}
|
|
96
100
|
const sorted = [...allDeps].sort();
|
|
101
|
+
const nextRaw = JSON.stringify({
|
|
102
|
+
deps: sorted
|
|
103
|
+
}, null, 2);
|
|
104
|
+
if (existingRaw === nextRaw) return;
|
|
97
105
|
const dir = (0, import_node_path.dirname)(cacheFile);
|
|
98
106
|
if (!(0, import_node_fs.existsSync)(dir)) (0, import_node_fs.mkdirSync)(dir, {
|
|
99
107
|
recursive: true
|
|
100
108
|
});
|
|
101
|
-
(0, import_node_fs.writeFileSync)(cacheFile,
|
|
102
|
-
deps: sorted
|
|
103
|
-
}, null, 2));
|
|
109
|
+
(0, import_node_fs.writeFileSync)(cacheFile, nextRaw);
|
|
104
110
|
console.info(`[one] cached ${sorted.length} deps for next startup`);
|
|
105
111
|
} catch {}
|
|
106
112
|
}
|
|
@@ -97,9 +97,11 @@ function autoWarmPlugin(persistPath) {
|
|
|
97
97
|
return !userInclude.has(d2) && !excludeSet.has(d2);
|
|
98
98
|
});
|
|
99
99
|
var allDeps = new Set(depsToCache);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
var existingRaw;
|
|
101
|
+
if ((0, import_fs.existsSync)(cacheFile)) {
|
|
102
|
+
try {
|
|
103
|
+
existingRaw = (0, import_fs.readFileSync)(cacheFile, "utf-8");
|
|
104
|
+
var existing = JSON.parse(existingRaw);
|
|
103
105
|
if (Array.isArray(existing.deps)) {
|
|
104
106
|
var _iteratorNormalCompletion = true,
|
|
105
107
|
_didIteratorError = false,
|
|
@@ -124,16 +126,20 @@ function autoWarmPlugin(persistPath) {
|
|
|
124
126
|
}
|
|
125
127
|
}
|
|
126
128
|
}
|
|
129
|
+
} catch (unused) {
|
|
130
|
+
return;
|
|
127
131
|
}
|
|
128
|
-
}
|
|
132
|
+
}
|
|
129
133
|
var sorted = [...allDeps].sort();
|
|
134
|
+
var nextRaw = JSON.stringify({
|
|
135
|
+
deps: sorted
|
|
136
|
+
}, null, 2);
|
|
137
|
+
if (existingRaw === nextRaw) return;
|
|
130
138
|
var dir = (0, import_path.dirname)(cacheFile);
|
|
131
139
|
if (!(0, import_fs.existsSync)(dir)) (0, import_fs.mkdirSync)(dir, {
|
|
132
140
|
recursive: true
|
|
133
141
|
});
|
|
134
|
-
(0, import_fs.writeFileSync)(cacheFile,
|
|
135
|
-
deps: sorted
|
|
136
|
-
}, null, 2));
|
|
142
|
+
(0, import_fs.writeFileSync)(cacheFile, nextRaw);
|
|
137
143
|
console.info(`[one] cached ${sorted.length} deps for next startup`);
|
|
138
144
|
} catch (unused) {}
|
|
139
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","warmRoutesPlugin_exports","__export","autoWarmPlugin","warmRoutesPlugin","module","exports","import_fs","require","import_path","WARM_DEPS_FILE","TRACKING_WINDOW","persistPath","cacheFile","cachedDeps","excludeSet","name","apply","config","volatileCache","join","process","cwd","existsSync","cached","JSON","parse","readFileSync","Array","isArray","deps","length","console","info","optimizeDeps","include","unused","configResolved","Set","exclude","size","conflicts","filter","d","has","configureServer","server","_server_httpServer","lastDepsCount","timer","userInclude","includes","snapshotDeps","_ref","_server_environments_client","_server_environments","optimizer","environments","client","depsOptimizer","_depsOptimizer","metadata","optimized","discovered","currentDeps","Object","keys","depsToCache","d2","allDeps","existing","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","add","err","return","sorted"],"sources":["../../../../src/vite/plugins/warmRoutesPlugin.ts"],"sourcesContent":[null],"mappings":"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
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","warmRoutesPlugin_exports","__export","autoWarmPlugin","warmRoutesPlugin","module","exports","import_fs","require","import_path","WARM_DEPS_FILE","TRACKING_WINDOW","persistPath","cacheFile","cachedDeps","excludeSet","name","apply","config","volatileCache","join","process","cwd","existsSync","cached","JSON","parse","readFileSync","Array","isArray","deps","length","console","info","optimizeDeps","include","unused","configResolved","Set","exclude","size","conflicts","filter","d","has","configureServer","server","_server_httpServer","lastDepsCount","timer","userInclude","includes","snapshotDeps","_ref","_server_environments_client","_server_environments","optimizer","environments","client","depsOptimizer","_depsOptimizer","metadata","optimized","discovered","currentDeps","Object","keys","depsToCache","d2","allDeps","existingRaw","existing","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","add","err","return","sorted","sort"],"sources":["../../../../src/vite/plugins/warmRoutesPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import module from "node:module";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import mm from "micromatch";
|
|
4
|
+
import tsconfigPaths from "tsconfig-paths";
|
|
5
|
+
import { API_ROUTE_GLOB_PATTERN, ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS } from "../router/glob-patterns.mjs";
|
|
6
|
+
function oneBabelPreset(api, options = {}) {
|
|
7
|
+
const hasViteInjectedOnePlugins = typeof api?.caller === "function" ? api.caller(caller => !!caller?.oneViteMetroBabelConfig) : false;
|
|
8
|
+
if (!api?.caller && typeof api?.cache === "function") {
|
|
9
|
+
api.cache(true);
|
|
10
|
+
}
|
|
11
|
+
const projectRoot = path.resolve(options.projectRoot ?? (typeof api?.cwd === "function" ? api.cwd() : process.cwd()));
|
|
12
|
+
const presets = [];
|
|
13
|
+
if (options.includeExpoPreset !== false) {
|
|
14
|
+
const require2 = module.createRequire(projectRoot + "/");
|
|
15
|
+
try {
|
|
16
|
+
const expoPresetPath = require2.resolve("babel-preset-expo");
|
|
17
|
+
presets.push(require2(expoPresetPath));
|
|
18
|
+
} catch (e) {
|
|
19
|
+
throw new Error(`[one/babel-preset] Could not resolve 'babel-preset-expo' from ${projectRoot}. Install it as a project dependency (it ships with the Expo SDK). If you don't want the Expo base preset, pass { includeExpoPreset: false }.`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
presets,
|
|
24
|
+
plugins: hasViteInjectedOnePlugins ? [] : buildOneBabelPlugins({
|
|
25
|
+
projectRoot,
|
|
26
|
+
relativeRouterRoot: options.routerRoot ?? "app",
|
|
27
|
+
ignoredRouteFiles: options.ignoredRouteFiles,
|
|
28
|
+
linking: options.linking,
|
|
29
|
+
setupFile: options.setupFile,
|
|
30
|
+
includeImportMetaEnv: options.includeImportMetaEnv
|
|
31
|
+
})
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function buildOneBabelPlugins({
|
|
35
|
+
projectRoot,
|
|
36
|
+
relativeRouterRoot,
|
|
37
|
+
ignoredRouteFiles,
|
|
38
|
+
linking,
|
|
39
|
+
setupFile,
|
|
40
|
+
includeImportMetaEnv = true
|
|
41
|
+
}) {
|
|
42
|
+
const tsconfig = tsconfigPaths.loadConfig(projectRoot);
|
|
43
|
+
if (tsconfig.resultType === "failed") {
|
|
44
|
+
throw new Error("[one/babel-preset] tsconfig.json paths could not be loaded");
|
|
45
|
+
}
|
|
46
|
+
const require2 = module.createRequire(projectRoot + "/");
|
|
47
|
+
const metroEntryPath = require2.resolve("one/metro-entry", {
|
|
48
|
+
paths: [projectRoot]
|
|
49
|
+
});
|
|
50
|
+
const setupFileRelativeToMetroEntry = (() => {
|
|
51
|
+
if (!setupFile) return void 0;
|
|
52
|
+
const file = typeof setupFile === "string" ? setupFile : setupFile.native || setupFile.ios || setupFile.android;
|
|
53
|
+
if (!file) return void 0;
|
|
54
|
+
return path.relative(path.dirname(metroEntryPath), path.join(projectRoot, file));
|
|
55
|
+
})();
|
|
56
|
+
return [
|
|
57
|
+
// standalone Metro CLI (expo export, eas update) needs `import.meta.env.*` /
|
|
58
|
+
// `process.env.*` baked in. The Vite path passes `false` here and injects
|
|
59
|
+
// its own version with the user's `define` env via the server hook.
|
|
60
|
+
...(includeImportMetaEnv ? [["@vxrn/vite-plugin-metro/babel-plugins/import-meta-env-plugin", {
|
|
61
|
+
env: buildStandaloneImportMetaEnv()
|
|
62
|
+
}]] : []), "one/babel-plugin-environment-guard", ["one/babel-plugin-remove-server-code", {
|
|
63
|
+
routerRoot: relativeRouterRoot
|
|
64
|
+
}], ["babel-plugin-module-resolver",
|
|
65
|
+
// "vite-tsconfig-paths" for Metro
|
|
66
|
+
{
|
|
67
|
+
alias: Object.fromEntries(Object.entries(tsconfig.paths).map(([k, v]) => {
|
|
68
|
+
const key = k.endsWith("/*") ? k.replace(/\/\*$/, "") : `${k}$`;
|
|
69
|
+
let value = v[0].replace(/\/\*$/, "");
|
|
70
|
+
if (!value.startsWith("./")) value = `./${value}`;
|
|
71
|
+
return [key, value];
|
|
72
|
+
}))
|
|
73
|
+
}], ["one/babel-plugin-one-router-metro", {
|
|
74
|
+
ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY: path.relative(path.dirname(metroEntryPath), path.join(projectRoot, relativeRouterRoot)),
|
|
75
|
+
ONE_ROUTER_ROOT_FOLDER_NAME: relativeRouterRoot,
|
|
76
|
+
ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING: buildRouterRequireContextRegexString(ignoredRouteFiles),
|
|
77
|
+
ONE_ROUTER_LINKING_CONFIG: linking,
|
|
78
|
+
ONE_SETUP_FILE_NATIVE: setupFileRelativeToMetroEntry
|
|
79
|
+
}], "one/babel-plugin-inline-one-server-url"];
|
|
80
|
+
}
|
|
81
|
+
function buildStandaloneImportMetaEnv() {
|
|
82
|
+
const isProduction = process.env.NODE_ENV !== "development";
|
|
83
|
+
const env = {
|
|
84
|
+
MODE: isProduction ? "production" : "development",
|
|
85
|
+
BASE_URL: "/",
|
|
86
|
+
PROD: isProduction,
|
|
87
|
+
DEV: !isProduction,
|
|
88
|
+
SSR: false
|
|
89
|
+
};
|
|
90
|
+
for (const [key, value] of Object.entries(process.env)) {
|
|
91
|
+
if (key.startsWith("EXPO_PUBLIC_") || key.startsWith("ONE_") || key.startsWith("VITE_")) {
|
|
92
|
+
env[key] = value;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return env;
|
|
96
|
+
}
|
|
97
|
+
function normalizeReSource(source) {
|
|
98
|
+
return source.replace(/\[\\\\\/\]/g, "\\/").replace(/\[\^\\\\\/\]/g, "[^/]");
|
|
99
|
+
}
|
|
100
|
+
function buildRouterRequireContextRegexString(ignoredRouteFiles) {
|
|
101
|
+
const excludeRes = [...(ignoredRouteFiles || []).map(pattern => mm.makeRe(pattern)), ...ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS.map(pattern => mm.makeRe(pattern)), mm.makeRe(API_ROUTE_GLOB_PATTERN)];
|
|
102
|
+
const mustStartWith = String.raw`^(?:(?:^|\/|(?:(?:(?!(?:^|\/)\.).)*?)\/)(?!\.)(?=.)[^/]*?`;
|
|
103
|
+
const mustEndWith = String.raw`)$`;
|
|
104
|
+
const negatives = excludeRes.map((re, i) => {
|
|
105
|
+
const reSource = normalizeReSource(re.source);
|
|
106
|
+
if (!(reSource.startsWith(mustStartWith) && reSource.endsWith(mustEndWith))) {
|
|
107
|
+
const pattern = ignoredRouteFiles?.[i];
|
|
108
|
+
throw new Error(pattern ? `[one/metro] ignoredRouteFile pattern "${pattern}" is not supported. We cannot process the corresponding regex "${reSource}" for now.` : `Unsupported regex "${reSource}" in "ignoredRouteFiles".`);
|
|
109
|
+
}
|
|
110
|
+
const inner = reSource.slice(mustStartWith.length, reSource.length - mustEndWith.length);
|
|
111
|
+
return String.raw`(?:.*${inner})`;
|
|
112
|
+
});
|
|
113
|
+
return String.raw`^(?:\.\/)(?!${negatives.join("|")}$).*\.tsx?$`;
|
|
114
|
+
}
|
|
115
|
+
export { buildOneBabelPlugins, buildRouterRequireContextRegexString, oneBabelPreset as default };
|
|
116
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["module","path","mm","tsconfigPaths","API_ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","oneBabelPreset","api","options","hasViteInjectedOnePlugins","caller","oneViteMetroBabelConfig","cache","projectRoot","resolve","cwd","process","presets","includeExpoPreset","require2","createRequire","expoPresetPath","push","e","Error","plugins","buildOneBabelPlugins","relativeRouterRoot","routerRoot","ignoredRouteFiles","linking","setupFile","includeImportMetaEnv","tsconfig","loadConfig","resultType","metroEntryPath","paths","setupFileRelativeToMetroEntry","file","native","ios","android","relative","dirname","join","env","buildStandaloneImportMetaEnv","alias","Object","fromEntries","entries","map","k","v","key","endsWith","replace","value","startsWith","ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY","ONE_ROUTER_ROOT_FOLDER_NAME","ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING","buildRouterRequireContextRegexString","ONE_ROUTER_LINKING_CONFIG","ONE_SETUP_FILE_NATIVE","isProduction","NODE_ENV","MODE","BASE_URL","PROD","DEV","SSR","normalizeReSource","source","excludeRes","pattern","makeRe","mustStartWith","String","raw","mustEndWith","negatives","re","i","reSource","inner","slice","length"],"sources":["../../../src/babel-preset/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|