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,207 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
|
+
import nodeModule from "node:module";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import colors from "picocolors";
|
|
5
|
+
import { getRouterRootFromOneOptions } from "../utils/getRouterRootFromOneOptions.mjs";
|
|
6
|
+
const ONE_GENERATED_MARKER = "@one/generated bundler-config";
|
|
7
|
+
function buildBabelConfigContent({
|
|
8
|
+
eject,
|
|
9
|
+
options
|
|
10
|
+
}) {
|
|
11
|
+
const header = eject ? `// you own this file. edit freely \u2014 \`one\` will not regenerate it.
|
|
12
|
+
// delegates to one/babel-preset which holds the canonical plugin chain.
|
|
13
|
+
` : `// ${ONE_GENERATED_MARKER}
|
|
14
|
+
//
|
|
15
|
+
// auto-generated by \`one patch\` on ci/eas workers when expo-updates is
|
|
16
|
+
// in deps. delegates to one/babel-preset so expo export / eas update
|
|
17
|
+
// use the same router/setup options as \`one dev\` and \`one build\`.
|
|
18
|
+
//
|
|
19
|
+
// to customize, delete this header and edit freely \u2014 re-runs will then
|
|
20
|
+
// leave this file alone.
|
|
21
|
+
`;
|
|
22
|
+
return `${header}
|
|
23
|
+
const oneBabelPreset = require('one/babel-preset')
|
|
24
|
+
const preset = oneBabelPreset.default || oneBabelPreset
|
|
25
|
+
const oneBundlerOptions = ${serializeBundlerConfigOptions(options)}
|
|
26
|
+
|
|
27
|
+
module.exports = function (api) {
|
|
28
|
+
return preset(api, oneBundlerOptions)
|
|
29
|
+
}
|
|
30
|
+
`;
|
|
31
|
+
}
|
|
32
|
+
function buildMetroConfigContent({
|
|
33
|
+
eject,
|
|
34
|
+
options
|
|
35
|
+
}) {
|
|
36
|
+
const header = eject ? `// you own this file. edit freely \u2014 \`one\` will not regenerate it.
|
|
37
|
+
// withOne() invokes the same Metro pipeline One uses for production bundles.
|
|
38
|
+
` : `// ${ONE_GENERATED_MARKER}
|
|
39
|
+
//
|
|
40
|
+
// auto-generated by \`one patch\` on ci/eas workers when expo-updates is
|
|
41
|
+
// in deps. delegates to one/metro-config which invokes the exact same
|
|
42
|
+
// metro pipeline one uses for production native bundles with your
|
|
43
|
+
// router/setup options \u2014 no separate expo/metro-config setup needed.
|
|
44
|
+
//
|
|
45
|
+
// to customize, delete this header and edit freely \u2014 re-runs will then
|
|
46
|
+
// leave this file alone.
|
|
47
|
+
`;
|
|
48
|
+
return `${header}
|
|
49
|
+
const { withOne } = require('one/metro-config')
|
|
50
|
+
const oneBundlerOptions = ${serializeBundlerConfigOptions(options)}
|
|
51
|
+
|
|
52
|
+
module.exports = withOne(__dirname, oneBundlerOptions)
|
|
53
|
+
`;
|
|
54
|
+
}
|
|
55
|
+
const FILES = [{
|
|
56
|
+
name: "babel.config.cjs",
|
|
57
|
+
getContent: buildBabelConfigContent,
|
|
58
|
+
conflicting: ["babel.config.js", "babel.config.mjs", ".babelrc", ".babelrc.js"]
|
|
59
|
+
}, {
|
|
60
|
+
name: "metro.config.cjs",
|
|
61
|
+
getContent: buildMetroConfigContent,
|
|
62
|
+
conflicting: ["metro.config.js", "metro.config.mjs"]
|
|
63
|
+
}];
|
|
64
|
+
function stripUndefined(value) {
|
|
65
|
+
if (Array.isArray(value)) {
|
|
66
|
+
return value.map(stripUndefined);
|
|
67
|
+
}
|
|
68
|
+
if (value && typeof value === "object") {
|
|
69
|
+
return Object.fromEntries(Object.entries(value).filter(([, entry]) => entry !== void 0).map(([key, entry]) => [key, stripUndefined(entry)]));
|
|
70
|
+
}
|
|
71
|
+
return value;
|
|
72
|
+
}
|
|
73
|
+
function assertSerializable(value, keyPath = "one bundler options") {
|
|
74
|
+
if (typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
|
|
75
|
+
throw new Error(`[one] ${keyPath} must be JSON-serializable to generate Babel/Metro config files. Move function-valued native linking/customization into an ejected config.`);
|
|
76
|
+
}
|
|
77
|
+
if (Array.isArray(value)) {
|
|
78
|
+
value.forEach((entry, index) => assertSerializable(entry, `${keyPath}[${index}]`));
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (value && typeof value === "object") {
|
|
82
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
83
|
+
assertSerializable(entry, `${keyPath}.${key}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function serializeBundlerConfigOptions(options) {
|
|
88
|
+
const clean = stripUndefined(options);
|
|
89
|
+
assertSerializable(clean);
|
|
90
|
+
return JSON.stringify(clean, null, 2);
|
|
91
|
+
}
|
|
92
|
+
function getBundlerConfigOptionsFromOneOptions(oneOptions = {}) {
|
|
93
|
+
return stripUndefined({
|
|
94
|
+
routerRoot: getRouterRootFromOneOptions(oneOptions),
|
|
95
|
+
ignoredRouteFiles: oneOptions.router?.ignoredRouteFiles,
|
|
96
|
+
linking: oneOptions.router?.linking,
|
|
97
|
+
setupFile: oneOptions.setupFile
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
function generateBundlerConfig(args = {}) {
|
|
101
|
+
const cwd = path.resolve(args.cwd ?? process.cwd());
|
|
102
|
+
const force = !!args.force;
|
|
103
|
+
const check = !!args.check;
|
|
104
|
+
const quiet = !!args.quiet;
|
|
105
|
+
const log = msg => {
|
|
106
|
+
if (!quiet) console.info(msg);
|
|
107
|
+
};
|
|
108
|
+
const warn = msg => {
|
|
109
|
+
if (!quiet) console.warn(msg);
|
|
110
|
+
};
|
|
111
|
+
const results = [];
|
|
112
|
+
const eject = !!args.eject;
|
|
113
|
+
const bundlerOptions = getBundlerConfigOptionsFromOneOptions(args.oneOptions);
|
|
114
|
+
for (const file of FILES) {
|
|
115
|
+
const filePath = path.join(cwd, file.name);
|
|
116
|
+
const targetContent = file.getContent({
|
|
117
|
+
eject,
|
|
118
|
+
options: bundlerOptions
|
|
119
|
+
});
|
|
120
|
+
const conflict = file.conflicting.find(alt => existsSync(path.join(cwd, alt)));
|
|
121
|
+
if (conflict && !existsSync(filePath)) {
|
|
122
|
+
results.push({
|
|
123
|
+
filePath: path.join(cwd, conflict),
|
|
124
|
+
action: "skipped-other-format",
|
|
125
|
+
reason: `Found ${conflict}; not creating ${file.name}. To switch, delete ${conflict} and re-run with --force.`
|
|
126
|
+
});
|
|
127
|
+
warn(colors.yellow(`[one] found ${conflict} \u2014 leaving it alone. Delete it and re-run with --force to switch to ${file.name}.`));
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
if (!existsSync(filePath)) {
|
|
131
|
+
if (check) {
|
|
132
|
+
results.push({
|
|
133
|
+
filePath,
|
|
134
|
+
action: "would-write"
|
|
135
|
+
});
|
|
136
|
+
log(colors.yellow(`[one] missing: ${file.name}`));
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
writeFileSync(filePath, targetContent);
|
|
140
|
+
results.push({
|
|
141
|
+
filePath,
|
|
142
|
+
action: "wrote"
|
|
143
|
+
});
|
|
144
|
+
log(colors.green(`[one] wrote ${file.name}`));
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
const existing = readFileSync(filePath, "utf8");
|
|
148
|
+
if (existing === targetContent) {
|
|
149
|
+
results.push({
|
|
150
|
+
filePath,
|
|
151
|
+
action: "kept"
|
|
152
|
+
});
|
|
153
|
+
log(colors.dim(`[one] up to date: ${file.name}`));
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
const hasMarker = existing.includes(ONE_GENERATED_MARKER);
|
|
157
|
+
if (!hasMarker && !force) {
|
|
158
|
+
results.push({
|
|
159
|
+
filePath,
|
|
160
|
+
action: "skipped-customized",
|
|
161
|
+
reason: `${file.name} has been customized (no @one marker). Re-add the marker comment or pass --force to overwrite.`
|
|
162
|
+
});
|
|
163
|
+
warn(colors.yellow(`[one] ${file.name} appears customized \u2014 skipping. Pass --force to overwrite.`));
|
|
164
|
+
continue;
|
|
165
|
+
}
|
|
166
|
+
if (check) {
|
|
167
|
+
results.push({
|
|
168
|
+
filePath,
|
|
169
|
+
action: "would-overwrite"
|
|
170
|
+
});
|
|
171
|
+
log(colors.yellow(`[one] out of date: ${file.name}`));
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
writeFileSync(filePath, targetContent);
|
|
175
|
+
results.push({
|
|
176
|
+
filePath,
|
|
177
|
+
action: "wrote"
|
|
178
|
+
});
|
|
179
|
+
log(colors.green(`[one] updated ${file.name}`));
|
|
180
|
+
}
|
|
181
|
+
const acceptableAlways = /* @__PURE__ */new Set(["wrote", "kept", "skipped-other-format", "skipped-customized"]);
|
|
182
|
+
const acceptableInCheck = /* @__PURE__ */new Set(["kept", "skipped-other-format", "skipped-customized"]);
|
|
183
|
+
const ok = (check ? acceptableInCheck : acceptableAlways).size ? results.every(r => (check ? acceptableInCheck : acceptableAlways).has(r.action)) : false;
|
|
184
|
+
return {
|
|
185
|
+
results,
|
|
186
|
+
ok
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
function isCiEnvironment() {
|
|
190
|
+
const truthy = v => !!v && v !== "false" && v !== "0";
|
|
191
|
+
return truthy(process.env.EAS_BUILD) || truthy(process.env.CI);
|
|
192
|
+
}
|
|
193
|
+
function maybeGenerateBundlerConfigOnInstall(cwd = process.cwd(), oneOptions) {
|
|
194
|
+
if (!isCiEnvironment()) return;
|
|
195
|
+
try {
|
|
196
|
+
nodeModule.createRequire(cwd + "/").resolve("expo-updates/package.json");
|
|
197
|
+
} catch {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
generateBundlerConfig({
|
|
201
|
+
cwd,
|
|
202
|
+
quiet: false,
|
|
203
|
+
oneOptions
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
export { ONE_GENERATED_MARKER, generateBundlerConfig, getBundlerConfigOptionsFromOneOptions, isCiEnvironment, maybeGenerateBundlerConfigOnInstall };
|
|
207
|
+
//# sourceMappingURL=generateBundlerConfig.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["existsSync","readFileSync","writeFileSync","nodeModule","path","colors","getRouterRootFromOneOptions","ONE_GENERATED_MARKER","buildBabelConfigContent","eject","options","header","serializeBundlerConfigOptions","buildMetroConfigContent","FILES","name","getContent","conflicting","stripUndefined","value","Array","isArray","map","Object","fromEntries","entries","filter","entry","key","assertSerializable","keyPath","Error","forEach","index","clean","JSON","stringify","getBundlerConfigOptionsFromOneOptions","oneOptions","routerRoot","ignoredRouteFiles","router","linking","setupFile","generateBundlerConfig","args","cwd","resolve","process","force","check","quiet","log","msg","console","info","warn","results","bundlerOptions","file","filePath","join","targetContent","conflict","find","alt","push","action","reason","yellow","green","existing","dim","hasMarker","includes","acceptableAlways","Set","acceptableInCheck","ok","size","every","r","has","isCiEnvironment","truthy","v","env","EAS_BUILD","CI","maybeGenerateBundlerConfigOnInstall","createRequire"],"sources":["../../../src/cli/generateBundlerConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,EAAYC,YAAA,EAAcC,aAAA,QAAqB;AACxD,OAAOC,UAAA,MAAgB;AACvB,OAAOC,IAAA,MAAU;AACjB,OAAOC,MAAA,MAAY;AACnB,SAASC,2BAAA,QAAmC;AAQrC,MAAMC,oBAAA,GAAuB;AASpC,SAASC,wBAAwB;EAC/BC,KAAA;EACAC;AACF,GAGG;EACD,MAAMC,MAAA,GAASF,KAAA,GACX;AAAA;AAAA,IAGA,MAAMF,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAU9B,OAAO,GAAGI,MAAM;AAAA;AAAA;AAAA,4BAGUC,6BAAA,CAA8BF,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAMlE;AAEA,SAASG,wBAAwB;EAC/BJ,KAAA;EACAC;AACF,GAGG;EACD,MAAMC,MAAA,GAASF,KAAA,GACX;AAAA;AAAA,IAGA,MAAMF,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAW9B,OAAO,GAAGI,MAAM;AAAA;AAAA,4BAEUC,6BAAA,CAA8BF,OAAO,CAAC;AAAA;AAAA;AAAA;AAIlE;AAWA,MAAMI,KAAA,GAA6B,CACjC;EACEC,IAAA,EAAM;EACNC,UAAA,EAAYR,uBAAA;EACZS,WAAA,EAAa,CAAC,mBAAmB,oBAAoB,YAAY,aAAa;AAChF,GACA;EACEF,IAAA,EAAM;EACNC,UAAA,EAAYH,uBAAA;EACZI,WAAA,EAAa,CAAC,mBAAmB,kBAAkB;AACrD,EACF;AAEA,SAASC,eAAeC,KAAA,EAAyB;EAC/C,IAAIC,KAAA,CAAMC,OAAA,CAAQF,KAAK,GAAG;IACxB,OAAOA,KAAA,CAAMG,GAAA,CAAIJ,cAAc;EACjC;EAEA,IAAIC,KAAA,IAAS,OAAOA,KAAA,KAAU,UAAU;IACtC,OAAOI,MAAA,CAAOC,WAAA,CACZD,MAAA,CAAOE,OAAA,CAAQN,KAAK,EACjBO,MAAA,CAAO,CAAC,GAAGC,KAAK,MAAMA,KAAA,KAAU,MAAS,EACzCL,GAAA,CAAI,CAAC,CAACM,GAAA,EAAKD,KAAK,MAAM,CAACC,GAAA,EAAKV,cAAA,CAAeS,KAAK,CAAC,CAAC,CACvD;EACF;EAEA,OAAOR,KAAA;AACT;AAEA,SAASU,mBAAmBV,KAAA,EAAgBW,OAAA,GAAU,uBAAuB;EAC3E,IACE,OAAOX,KAAA,KAAU,cACjB,OAAOA,KAAA,KAAU,YACjB,OAAOA,KAAA,KAAU,UACjB;IACA,MAAM,IAAIY,KAAA,CACR,SAASD,OAAO,4IAClB;EACF;EAEA,IAAIV,KAAA,CAAMC,OAAA,CAAQF,KAAK,GAAG;IACxBA,KAAA,CAAMa,OAAA,CAAQ,CAACL,KAAA,EAAOM,KAAA,KAAUJ,kBAAA,CAAmBF,KAAA,EAAO,GAAGG,OAAO,IAAIG,KAAK,GAAG,CAAC;IACjF;EACF;EAEA,IAAId,KAAA,IAAS,OAAOA,KAAA,KAAU,UAAU;IACtC,WAAW,CAACS,GAAA,EAAKD,KAAK,KAAKJ,MAAA,CAAOE,OAAA,CAAQN,KAAK,GAAG;MAChDU,kBAAA,CAAmBF,KAAA,EAAO,GAAGG,OAAO,IAAIF,GAAG,EAAE;IAC/C;EACF;AACF;AAEA,SAAShB,8BAA8BF,OAAA,EAA0C;EAC/E,MAAMwB,KAAA,GAAQhB,cAAA,CAAeR,OAAO;EACpCmB,kBAAA,CAAmBK,KAAK;EACxB,OAAOC,IAAA,CAAKC,SAAA,CAAUF,KAAA,EAAO,MAAM,CAAC;AACtC;AAEO,SAASG,sCACdC,UAAA,GAAgC,CAAC,GACR;EACzB,OAAOpB,cAAA,CAAe;IACpBqB,UAAA,EAAYjC,2BAAA,CAA4BgC,UAAU;IAClDE,iBAAA,EAAmBF,UAAA,CAAWG,MAAA,EAAQD,iBAAA;IACtCE,OAAA,EAASJ,UAAA,CAAWG,MAAA,EAAQC,OAAA;IAC5BC,SAAA,EAAWL,UAAA,CAAWK;EACxB,CAAC;AACH;AA2BO,SAASC,sBAAsBC,IAAA,GAAkC,CAAC,GAGvE;EACA,MAAMC,GAAA,GAAM1C,IAAA,CAAK2C,OAAA,CAAQF,IAAA,CAAKC,GAAA,IAAOE,OAAA,CAAQF,GAAA,CAAI,CAAC;EAClD,MAAMG,KAAA,GAAQ,CAAC,CAACJ,IAAA,CAAKI,KAAA;EACrB,MAAMC,KAAA,GAAQ,CAAC,CAACL,IAAA,CAAKK,KAAA;EACrB,MAAMC,KAAA,GAAQ,CAAC,CAACN,IAAA,CAAKM,KAAA;EAErB,MAAMC,GAAA,GAAOC,GAAA,IAAgB;IAC3B,IAAI,CAACF,KAAA,EAAOG,OAAA,CAAQC,IAAA,CAAKF,GAAG;EAC9B;EACA,MAAMG,IAAA,GAAQH,GAAA,IAAgB;IAC5B,IAAI,CAACF,KAAA,EAAOG,OAAA,CAAQE,IAAA,CAAKH,GAAG;EAC9B;EAEA,MAAMI,OAAA,GAAwB,EAAC;EAE/B,MAAMhD,KAAA,GAAQ,CAAC,CAACoC,IAAA,CAAKpC,KAAA;EACrB,MAAMiD,cAAA,GAAiBrB,qCAAA,CAAsCQ,IAAA,CAAKP,UAAU;EAE5E,WAAWqB,IAAA,IAAQ7C,KAAA,EAAO;IACxB,MAAM8C,QAAA,GAAWxD,IAAA,CAAKyD,IAAA,CAAKf,GAAA,EAAKa,IAAA,CAAK5C,IAAI;IACzC,MAAM+C,aAAA,GAAgBH,IAAA,CAAK3C,UAAA,CAAW;MAAEP,KAAA;MAAOC,OAAA,EAASgD;IAAe,CAAC;IAGxE,MAAMK,QAAA,GAAWJ,IAAA,CAAK1C,WAAA,CAAY+C,IAAA,CAAMC,GAAA,IAAQjE,UAAA,CAAWI,IAAA,CAAKyD,IAAA,CAAKf,GAAA,EAAKmB,GAAG,CAAC,CAAC;IAC/E,IAAIF,QAAA,IAAY,CAAC/D,UAAA,CAAW4D,QAAQ,GAAG;MACrCH,OAAA,CAAQS,IAAA,CAAK;QACXN,QAAA,EAAUxD,IAAA,CAAKyD,IAAA,CAAKf,GAAA,EAAKiB,QAAQ;QACjCI,MAAA,EAAQ;QACRC,MAAA,EAAQ,SAASL,QAAQ,kBAAkBJ,IAAA,CAAK5C,IAAI,uBAAuBgD,QAAQ;MACrF,CAAC;MACDP,IAAA,CACEnD,MAAA,CAAOgE,MAAA,CACL,eAAeN,QAAQ,4EAAuEJ,IAAA,CAAK5C,IAAI,GACzG,CACF;MACA;IACF;IAEA,IAAI,CAACf,UAAA,CAAW4D,QAAQ,GAAG;MACzB,IAAIV,KAAA,EAAO;QACTO,OAAA,CAAQS,IAAA,CAAK;UAAEN,QAAA;UAAUO,MAAA,EAAQ;QAAc,CAAC;QAChDf,GAAA,CAAI/C,MAAA,CAAOgE,MAAA,CAAO,kBAAkBV,IAAA,CAAK5C,IAAI,EAAE,CAAC;QAChD;MACF;MACAb,aAAA,CAAc0D,QAAA,EAAUE,aAAa;MACrCL,OAAA,CAAQS,IAAA,CAAK;QAAEN,QAAA;QAAUO,MAAA,EAAQ;MAAQ,CAAC;MAC1Cf,GAAA,CAAI/C,MAAA,CAAOiE,KAAA,CAAM,eAAeX,IAAA,CAAK5C,IAAI,EAAE,CAAC;MAC5C;IACF;IAEA,MAAMwD,QAAA,GAAWtE,YAAA,CAAa2D,QAAA,EAAU,MAAM;IAE9C,IAAIW,QAAA,KAAaT,aAAA,EAAe;MAC9BL,OAAA,CAAQS,IAAA,CAAK;QAAEN,QAAA;QAAUO,MAAA,EAAQ;MAAO,CAAC;MACzCf,GAAA,CAAI/C,MAAA,CAAOmE,GAAA,CAAI,qBAAqBb,IAAA,CAAK5C,IAAI,EAAE,CAAC;MAChD;IACF;IAEA,MAAM0D,SAAA,GAAYF,QAAA,CAASG,QAAA,CAASnE,oBAAoB;IAExD,IAAI,CAACkE,SAAA,IAAa,CAACxB,KAAA,EAAO;MACxBQ,OAAA,CAAQS,IAAA,CAAK;QACXN,QAAA;QACAO,MAAA,EAAQ;QACRC,MAAA,EAAQ,GAAGT,IAAA,CAAK5C,IAAI;MACtB,CAAC;MACDyC,IAAA,CACEnD,MAAA,CAAOgE,MAAA,CACL,SAASV,IAAA,CAAK5C,IAAI,iEACpB,CACF;MACA;IACF;IAEA,IAAImC,KAAA,EAAO;MACTO,OAAA,CAAQS,IAAA,CAAK;QAAEN,QAAA;QAAUO,MAAA,EAAQ;MAAkB,CAAC;MACpDf,GAAA,CAAI/C,MAAA,CAAOgE,MAAA,CAAO,sBAAsBV,IAAA,CAAK5C,IAAI,EAAE,CAAC;MACpD;IACF;IAEAb,aAAA,CAAc0D,QAAA,EAAUE,aAAa;IACrCL,OAAA,CAAQS,IAAA,CAAK;MAAEN,QAAA;MAAUO,MAAA,EAAQ;IAAQ,CAAC;IAC1Cf,GAAA,CAAI/C,MAAA,CAAOiE,KAAA,CAAM,iBAAiBX,IAAA,CAAK5C,IAAI,EAAE,CAAC;EAChD;EAMA,MAAM4D,gBAAA,GAAmB,mBAAIC,GAAA,CAA0B,CACrD,SACA,QACA,wBACA,qBACD;EACD,MAAMC,iBAAA,GAAoB,mBAAID,GAAA,CAA0B,CACtD,QACA,wBACA,qBACD;EACD,MAAME,EAAA,IAAM5B,KAAA,GAAQ2B,iBAAA,GAAoBF,gBAAA,EAAkBI,IAAA,GACtDtB,OAAA,CAAQuB,KAAA,CAAOC,CAAA,KACZ/B,KAAA,GAAQ2B,iBAAA,GAAoBF,gBAAA,EAAkBO,GAAA,CAAID,CAAA,CAAEd,MAAM,CAC7D,IACA;EAEJ,OAAO;IAAEV,OAAA;IAASqB;EAAG;AACvB;AAYO,SAASK,gBAAA,EAA2B;EACzC,MAAMC,MAAA,GAAUC,CAAA,IACd,CAAC,CAACA,CAAA,IAAKA,CAAA,KAAM,WAAWA,CAAA,KAAM;EAChC,OAAOD,MAAA,CAAOpC,OAAA,CAAQsC,GAAA,CAAIC,SAAS,KAAKH,MAAA,CAAOpC,OAAA,CAAQsC,GAAA,CAAIE,EAAE;AAC/D;AASO,SAASC,oCACd3C,GAAA,GAAcE,OAAA,CAAQF,GAAA,CAAI,GAC1BR,UAAA,EACM;EACN,IAAI,CAAC6C,eAAA,CAAgB,GAAG;EAIxB,IAAI;IACFhF,UAAA,CACGuF,aAAA,CAAc5C,GAAA,GAAM,GAAG,EACvBC,OAAA,CAAQ,2BAA2B;EACxC,QAAQ;IACN;EACF;EAEAH,qBAAA,CAAsB;IAAEE,GAAA;IAAKK,KAAA,EAAO;IAAOb;EAAW,CAAC;AACzD","ignoreList":[]}
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync } from "fs";
|
|
2
|
+
import nodeModule from "module";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import colors from "picocolors";
|
|
5
|
+
import { getRouterRootFromOneOptions } from "../utils/getRouterRootFromOneOptions.native.js";
|
|
6
|
+
function _type_of(obj) {
|
|
7
|
+
"@swc/helpers - typeof";
|
|
8
|
+
|
|
9
|
+
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
10
|
+
}
|
|
11
|
+
var ONE_GENERATED_MARKER = "@one/generated bundler-config";
|
|
12
|
+
function buildBabelConfigContent(param) {
|
|
13
|
+
var {
|
|
14
|
+
eject,
|
|
15
|
+
options
|
|
16
|
+
} = param;
|
|
17
|
+
var header = eject ? `// you own this file. edit freely \u2014 \`one\` will not regenerate it.
|
|
18
|
+
// delegates to one/babel-preset which holds the canonical plugin chain.
|
|
19
|
+
` : `// ${ONE_GENERATED_MARKER}
|
|
20
|
+
//
|
|
21
|
+
// auto-generated by \`one patch\` on ci/eas workers when expo-updates is
|
|
22
|
+
// in deps. delegates to one/babel-preset so expo export / eas update
|
|
23
|
+
// use the same router/setup options as \`one dev\` and \`one build\`.
|
|
24
|
+
//
|
|
25
|
+
// to customize, delete this header and edit freely \u2014 re-runs will then
|
|
26
|
+
// leave this file alone.
|
|
27
|
+
`;
|
|
28
|
+
return `${header}
|
|
29
|
+
const oneBabelPreset = require('one/babel-preset')
|
|
30
|
+
const preset = oneBabelPreset.default || oneBabelPreset
|
|
31
|
+
const oneBundlerOptions = ${serializeBundlerConfigOptions(options)}
|
|
32
|
+
|
|
33
|
+
module.exports = function (api) {
|
|
34
|
+
return preset(api, oneBundlerOptions)
|
|
35
|
+
}
|
|
36
|
+
`;
|
|
37
|
+
}
|
|
38
|
+
function buildMetroConfigContent(param) {
|
|
39
|
+
var {
|
|
40
|
+
eject,
|
|
41
|
+
options
|
|
42
|
+
} = param;
|
|
43
|
+
var header = eject ? `// you own this file. edit freely \u2014 \`one\` will not regenerate it.
|
|
44
|
+
// withOne() invokes the same Metro pipeline One uses for production bundles.
|
|
45
|
+
` : `// ${ONE_GENERATED_MARKER}
|
|
46
|
+
//
|
|
47
|
+
// auto-generated by \`one patch\` on ci/eas workers when expo-updates is
|
|
48
|
+
// in deps. delegates to one/metro-config which invokes the exact same
|
|
49
|
+
// metro pipeline one uses for production native bundles with your
|
|
50
|
+
// router/setup options \u2014 no separate expo/metro-config setup needed.
|
|
51
|
+
//
|
|
52
|
+
// to customize, delete this header and edit freely \u2014 re-runs will then
|
|
53
|
+
// leave this file alone.
|
|
54
|
+
`;
|
|
55
|
+
return `${header}
|
|
56
|
+
const { withOne } = require('one/metro-config')
|
|
57
|
+
const oneBundlerOptions = ${serializeBundlerConfigOptions(options)}
|
|
58
|
+
|
|
59
|
+
module.exports = withOne(__dirname, oneBundlerOptions)
|
|
60
|
+
`;
|
|
61
|
+
}
|
|
62
|
+
var FILES = [{
|
|
63
|
+
name: "babel.config.cjs",
|
|
64
|
+
getContent: buildBabelConfigContent,
|
|
65
|
+
conflicting: ["babel.config.js", "babel.config.mjs", ".babelrc", ".babelrc.js"]
|
|
66
|
+
}, {
|
|
67
|
+
name: "metro.config.cjs",
|
|
68
|
+
getContent: buildMetroConfigContent,
|
|
69
|
+
conflicting: ["metro.config.js", "metro.config.mjs"]
|
|
70
|
+
}];
|
|
71
|
+
function stripUndefined(value) {
|
|
72
|
+
if (Array.isArray(value)) {
|
|
73
|
+
return value.map(stripUndefined);
|
|
74
|
+
}
|
|
75
|
+
if (value && (typeof value === "undefined" ? "undefined" : _type_of(value)) === "object") {
|
|
76
|
+
return Object.fromEntries(Object.entries(value).filter(function (param) {
|
|
77
|
+
var [, entry] = param;
|
|
78
|
+
return entry !== void 0;
|
|
79
|
+
}).map(function (param) {
|
|
80
|
+
var [key, entry] = param;
|
|
81
|
+
return [key, stripUndefined(entry)];
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
return value;
|
|
85
|
+
}
|
|
86
|
+
function assertSerializable(value) {
|
|
87
|
+
var keyPath = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "one bundler options";
|
|
88
|
+
if (typeof value === "function" || (typeof value === "undefined" ? "undefined" : _type_of(value)) === "symbol" || (typeof value === "undefined" ? "undefined" : _type_of(value)) === "bigint") {
|
|
89
|
+
throw new Error(`[one] ${keyPath} must be JSON-serializable to generate Babel/Metro config files. Move function-valued native linking/customization into an ejected config.`);
|
|
90
|
+
}
|
|
91
|
+
if (Array.isArray(value)) {
|
|
92
|
+
value.forEach(function (entry2, index) {
|
|
93
|
+
return assertSerializable(entry2, `${keyPath}[${index}]`);
|
|
94
|
+
});
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
if (value && (typeof value === "undefined" ? "undefined" : _type_of(value)) === "object") {
|
|
98
|
+
var _iteratorNormalCompletion = true,
|
|
99
|
+
_didIteratorError = false,
|
|
100
|
+
_iteratorError = void 0;
|
|
101
|
+
try {
|
|
102
|
+
for (var _iterator = Object.entries(value)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
103
|
+
var [key, entry] = _step.value;
|
|
104
|
+
assertSerializable(entry, `${keyPath}.${key}`);
|
|
105
|
+
}
|
|
106
|
+
} catch (err) {
|
|
107
|
+
_didIteratorError = true;
|
|
108
|
+
_iteratorError = err;
|
|
109
|
+
} finally {
|
|
110
|
+
try {
|
|
111
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
112
|
+
_iterator.return();
|
|
113
|
+
}
|
|
114
|
+
} finally {
|
|
115
|
+
if (_didIteratorError) {
|
|
116
|
+
throw _iteratorError;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function serializeBundlerConfigOptions(options) {
|
|
123
|
+
var clean = stripUndefined(options);
|
|
124
|
+
assertSerializable(clean);
|
|
125
|
+
return JSON.stringify(clean, null, 2);
|
|
126
|
+
}
|
|
127
|
+
function getBundlerConfigOptionsFromOneOptions() {
|
|
128
|
+
var oneOptions = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
129
|
+
var _oneOptions_router, _oneOptions_router1;
|
|
130
|
+
return stripUndefined({
|
|
131
|
+
routerRoot: getRouterRootFromOneOptions(oneOptions),
|
|
132
|
+
ignoredRouteFiles: (_oneOptions_router = oneOptions.router) === null || _oneOptions_router === void 0 ? void 0 : _oneOptions_router.ignoredRouteFiles,
|
|
133
|
+
linking: (_oneOptions_router1 = oneOptions.router) === null || _oneOptions_router1 === void 0 ? void 0 : _oneOptions_router1.linking,
|
|
134
|
+
setupFile: oneOptions.setupFile
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
function generateBundlerConfig() {
|
|
138
|
+
var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
139
|
+
var _args_cwd;
|
|
140
|
+
var cwd = path.resolve((_args_cwd = args.cwd) !== null && _args_cwd !== void 0 ? _args_cwd : process.cwd());
|
|
141
|
+
var force = !!args.force;
|
|
142
|
+
var check = !!args.check;
|
|
143
|
+
var quiet = !!args.quiet;
|
|
144
|
+
var log = function (msg) {
|
|
145
|
+
if (!quiet) console.info(msg);
|
|
146
|
+
};
|
|
147
|
+
var warn = function (msg) {
|
|
148
|
+
if (!quiet) console.warn(msg);
|
|
149
|
+
};
|
|
150
|
+
var results = [];
|
|
151
|
+
var eject = !!args.eject;
|
|
152
|
+
var bundlerOptions = getBundlerConfigOptionsFromOneOptions(args.oneOptions);
|
|
153
|
+
var _iteratorNormalCompletion = true,
|
|
154
|
+
_didIteratorError = false,
|
|
155
|
+
_iteratorError = void 0;
|
|
156
|
+
try {
|
|
157
|
+
for (var _iterator = FILES[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
158
|
+
var file = _step.value;
|
|
159
|
+
var filePath = path.join(cwd, file.name);
|
|
160
|
+
var targetContent = file.getContent({
|
|
161
|
+
eject,
|
|
162
|
+
options: bundlerOptions
|
|
163
|
+
});
|
|
164
|
+
var conflict = file.conflicting.find(function (alt) {
|
|
165
|
+
return existsSync(path.join(cwd, alt));
|
|
166
|
+
});
|
|
167
|
+
if (conflict && !existsSync(filePath)) {
|
|
168
|
+
results.push({
|
|
169
|
+
filePath: path.join(cwd, conflict),
|
|
170
|
+
action: "skipped-other-format",
|
|
171
|
+
reason: `Found ${conflict}; not creating ${file.name}. To switch, delete ${conflict} and re-run with --force.`
|
|
172
|
+
});
|
|
173
|
+
warn(colors.yellow(`[one] found ${conflict} \u2014 leaving it alone. Delete it and re-run with --force to switch to ${file.name}.`));
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
if (!existsSync(filePath)) {
|
|
177
|
+
if (check) {
|
|
178
|
+
results.push({
|
|
179
|
+
filePath,
|
|
180
|
+
action: "would-write"
|
|
181
|
+
});
|
|
182
|
+
log(colors.yellow(`[one] missing: ${file.name}`));
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
writeFileSync(filePath, targetContent);
|
|
186
|
+
results.push({
|
|
187
|
+
filePath,
|
|
188
|
+
action: "wrote"
|
|
189
|
+
});
|
|
190
|
+
log(colors.green(`[one] wrote ${file.name}`));
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
var existing = readFileSync(filePath, "utf8");
|
|
194
|
+
if (existing === targetContent) {
|
|
195
|
+
results.push({
|
|
196
|
+
filePath,
|
|
197
|
+
action: "kept"
|
|
198
|
+
});
|
|
199
|
+
log(colors.dim(`[one] up to date: ${file.name}`));
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
var hasMarker = existing.includes(ONE_GENERATED_MARKER);
|
|
203
|
+
if (!hasMarker && !force) {
|
|
204
|
+
results.push({
|
|
205
|
+
filePath,
|
|
206
|
+
action: "skipped-customized",
|
|
207
|
+
reason: `${file.name} has been customized (no @one marker). Re-add the marker comment or pass --force to overwrite.`
|
|
208
|
+
});
|
|
209
|
+
warn(colors.yellow(`[one] ${file.name} appears customized \u2014 skipping. Pass --force to overwrite.`));
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
if (check) {
|
|
213
|
+
results.push({
|
|
214
|
+
filePath,
|
|
215
|
+
action: "would-overwrite"
|
|
216
|
+
});
|
|
217
|
+
log(colors.yellow(`[one] out of date: ${file.name}`));
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
writeFileSync(filePath, targetContent);
|
|
221
|
+
results.push({
|
|
222
|
+
filePath,
|
|
223
|
+
action: "wrote"
|
|
224
|
+
});
|
|
225
|
+
log(colors.green(`[one] updated ${file.name}`));
|
|
226
|
+
}
|
|
227
|
+
} catch (err) {
|
|
228
|
+
_didIteratorError = true;
|
|
229
|
+
_iteratorError = err;
|
|
230
|
+
} finally {
|
|
231
|
+
try {
|
|
232
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
233
|
+
_iterator.return();
|
|
234
|
+
}
|
|
235
|
+
} finally {
|
|
236
|
+
if (_didIteratorError) {
|
|
237
|
+
throw _iteratorError;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
var acceptableAlways = /* @__PURE__ */new Set(["wrote", "kept", "skipped-other-format", "skipped-customized"]);
|
|
242
|
+
var acceptableInCheck = /* @__PURE__ */new Set(["kept", "skipped-other-format", "skipped-customized"]);
|
|
243
|
+
var ok = (check ? acceptableInCheck : acceptableAlways).size ? results.every(function (r) {
|
|
244
|
+
return (check ? acceptableInCheck : acceptableAlways).has(r.action);
|
|
245
|
+
}) : false;
|
|
246
|
+
return {
|
|
247
|
+
results,
|
|
248
|
+
ok
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
function isCiEnvironment() {
|
|
252
|
+
var truthy = function (v) {
|
|
253
|
+
return !!v && v !== "false" && v !== "0";
|
|
254
|
+
};
|
|
255
|
+
return truthy(process.env.EAS_BUILD) || truthy(process.env.CI);
|
|
256
|
+
}
|
|
257
|
+
function maybeGenerateBundlerConfigOnInstall() {
|
|
258
|
+
var cwd = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : process.cwd(),
|
|
259
|
+
oneOptions = arguments.length > 1 ? arguments[1] : void 0;
|
|
260
|
+
if (!isCiEnvironment()) return;
|
|
261
|
+
try {
|
|
262
|
+
nodeModule.createRequire(cwd + "/").resolve("expo-updates/package.json");
|
|
263
|
+
} catch (unused) {
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
generateBundlerConfig({
|
|
267
|
+
cwd,
|
|
268
|
+
quiet: false,
|
|
269
|
+
oneOptions
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
export { ONE_GENERATED_MARKER, generateBundlerConfig, getBundlerConfigOptionsFromOneOptions, isCiEnvironment, maybeGenerateBundlerConfigOnInstall };
|
|
273
|
+
//# sourceMappingURL=generateBundlerConfig.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["existsSync","readFileSync","writeFileSync","nodeModule","path","colors","getRouterRootFromOneOptions","_type_of","obj","Symbol","constructor","ONE_GENERATED_MARKER","buildBabelConfigContent","param","eject","options","header","serializeBundlerConfigOptions","buildMetroConfigContent","FILES","name","getContent","conflicting","stripUndefined","value","Array","isArray","map","Object","fromEntries","entries","filter","entry","key","assertSerializable","keyPath","arguments","length","Error","forEach","entry2","index","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","err","return","clean","JSON","stringify","getBundlerConfigOptionsFromOneOptions","oneOptions","_oneOptions_router","_oneOptions_router1","routerRoot","ignoredRouteFiles","router","linking","setupFile","generateBundlerConfig","args","_args_cwd","cwd","resolve","process","force","check","quiet","log","msg","console","info","warn","results","bundlerOptions","file","filePath","join","targetContent","conflict","find","alt","push","action","reason","yellow","green","existing","dim","hasMarker","includes"],"sources":["../../../src/cli/generateBundlerConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|