@vxrn/vite-plugin-metro 2.0.0-beta.51.1 → 2.0.0-beta.56.1
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/env/platformEnv.cjs +2 -0
- package/dist/cjs/env/platformEnv.native.cjs +2 -0
- package/dist/cjs/env/platformEnv.native.js +2 -0
- package/dist/cjs/env/platformEnv.native.js.map +1 -1
- package/dist/cjs/index.cjs +0 -2
- package/dist/cjs/index.native.cjs +0 -2
- package/dist/cjs/index.native.js +0 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.cjs +10 -15
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.cjs +27 -48
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js +27 -48
- package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +71 -38
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.cjs +86 -42
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +86 -42
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/cjs/transformer/babel-transformer.cjs +53 -4
- package/dist/cjs/transformer/babel-transformer.native.cjs +65 -6
- package/dist/cjs/transformer/babel-transformer.native.js +65 -6
- package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
- package/dist/cjs/transformer/expoVirtualEnv.cjs +92 -0
- package/dist/cjs/transformer/expoVirtualEnv.native.cjs +113 -0
- package/dist/cjs/transformer/expoVirtualEnv.native.js +115 -0
- package/dist/cjs/transformer/expoVirtualEnv.native.js.map +1 -0
- package/dist/cjs/transformer/loadBabelConfig.cjs +1 -1
- package/dist/cjs/transformer/loadBabelConfig.native.cjs +1 -1
- package/dist/cjs/transformer/loadBabelConfig.native.js +1 -1
- package/dist/cjs/transformer/loadBabelConfig.native.js.map +1 -1
- package/dist/cjs/transformer/metroNativeWorker.cjs +20 -29
- package/dist/cjs/transformer/metroNativeWorker.native.cjs +24 -30
- package/dist/cjs/transformer/metroNativeWorker.native.js +24 -30
- package/dist/cjs/transformer/metroNativeWorker.native.js.map +1 -1
- package/dist/cjs/transformer/transformSync.cjs +3 -3
- package/dist/cjs/transformer/transformSync.native.cjs +3 -3
- package/dist/cjs/transformer/transformSync.native.js +3 -3
- package/dist/cjs/transformer/transformSync.native.js.map +1 -1
- package/dist/cjs/utils/exit.cjs +1 -1
- package/dist/cjs/utils/exit.native.cjs +1 -1
- package/dist/cjs/utils/exit.native.js +1 -1
- package/dist/cjs/utils/exit.native.js.map +1 -1
- package/dist/esm/env/platformEnv.mjs +2 -0
- package/dist/esm/env/platformEnv.mjs.map +1 -1
- package/dist/esm/env/platformEnv.native.js +2 -0
- package/dist/esm/env/platformEnv.native.js.map +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.mjs +1 -2
- package/dist/esm/index.native.js +1 -2
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs +11 -15
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js +28 -48
- package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.native.js.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +71 -38
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +86 -42
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/esm/transformer/babel-transformer.mjs +133 -96
- package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
- package/dist/esm/transformer/babel-transformer.native.js +147 -103
- package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
- package/dist/esm/transformer/expoVirtualEnv.mjs +67 -0
- package/dist/esm/transformer/expoVirtualEnv.mjs.map +1 -0
- package/dist/esm/transformer/expoVirtualEnv.native.js +86 -0
- package/dist/esm/transformer/expoVirtualEnv.native.js.map +1 -0
- package/dist/esm/transformer/loadBabelConfig.mjs +1 -1
- package/dist/esm/transformer/loadBabelConfig.mjs.map +1 -1
- package/dist/esm/transformer/loadBabelConfig.native.js +1 -1
- package/dist/esm/transformer/loadBabelConfig.native.js.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.mjs +20 -29
- package/dist/esm/transformer/metroNativeWorker.mjs.map +1 -1
- package/dist/esm/transformer/metroNativeWorker.native.js +24 -30
- package/dist/esm/transformer/metroNativeWorker.native.js.map +1 -1
- package/dist/esm/transformer/transformSync.mjs +3 -3
- package/dist/esm/transformer/transformSync.mjs.map +1 -1
- package/dist/esm/transformer/transformSync.native.js +3 -3
- package/dist/esm/transformer/transformSync.native.js.map +1 -1
- package/dist/esm/utils/exit.mjs +1 -1
- package/dist/esm/utils/exit.mjs.map +1 -1
- package/dist/esm/utils/exit.native.js +1 -1
- package/dist/esm/utils/exit.native.js.map +1 -1
- package/package.json +7 -9
- package/src/babel-plugins/import-meta-env-plugin.ts +1 -1
- package/src/env/platformEnv.test.ts +12 -2
- package/src/env/platformEnv.ts +3 -0
- package/src/index.ts +0 -2
- package/src/metro-config/getMetroBabelConfigFromViteConfig.test.ts +19 -25
- package/src/metro-config/getMetroBabelConfigFromViteConfig.ts +8 -27
- package/src/metro-config/getMetroConfigFromViteConfig.test.ts +60 -0
- package/src/metro-config/getMetroConfigFromViteConfig.ts +119 -96
- package/src/plugins/metroPlugin.ts +3 -6
- package/src/transformer/babel-transformer.test.ts +118 -0
- package/src/transformer/babel-transformer.ts +82 -15
- package/src/transformer/expoVirtualEnv.integration.test.ts +106 -0
- package/src/transformer/expoVirtualEnv.test.ts +72 -0
- package/src/transformer/expoVirtualEnv.ts +115 -0
- package/src/transformer/loadBabelConfig.ts +1 -1
- package/src/transformer/metroNativeWorker.test.ts +134 -17
- package/src/transformer/metroNativeWorker.ts +43 -51
- package/src/transformer/transformSync.test.ts +22 -0
- package/src/transformer/transformSync.ts +4 -4
- package/src/utils/exit.ts +2 -2
- package/src/utils/getTerminalReporter.ts +1 -1
- package/src/utils/projectImport.ts +2 -2
- package/types/babel-plugins/import-meta-env-plugin.d.ts +1 -1
- package/types/env/platformEnv.d.ts +1 -0
- package/types/env/platformEnv.d.ts.map +1 -1
- package/types/index.d.ts +0 -2
- package/types/index.d.ts.map +1 -1
- package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts +1 -1
- package/types/metro-config/getMetroBabelConfigFromViteConfig.d.ts.map +1 -1
- package/types/metro-config/getMetroConfigFromViteConfig.d.ts +2 -2
- package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
- package/types/plugins/metroPlugin.d.ts +2 -4
- package/types/plugins/metroPlugin.d.ts.map +1 -1
- package/types/transformer/babel-transformer.d.ts +10 -1
- package/types/transformer/babel-transformer.d.ts.map +1 -1
- package/types/transformer/expoVirtualEnv.d.ts +8 -0
- package/types/transformer/expoVirtualEnv.d.ts.map +1 -0
- package/types/transformer/metroNativeWorker.d.ts +3 -5
- package/types/transformer/metroNativeWorker.d.ts.map +1 -1
- package/types/utils/projectImport.d.ts +2 -2
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.cjs +0 -59
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.cjs +0 -62
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js +0 -64
- package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.cjs +0 -35
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.cjs +0 -37
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -39
- package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs +0 -40
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.mjs.map +0 -1
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js +0 -41
- package/dist/esm/plugins/expoManifestRequestHandlerPlugin.native.js.map +0 -1
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs +0 -15
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs.map +0 -1
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js +0 -15
- package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js.map +0 -1
- package/src/plugins/expoManifestRequestHandlerPlugin.ts +0 -88
- package/src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts +0 -28
- package/types/plugins/expoManifestRequestHandlerPlugin.d.ts +0 -14
- package/types/plugins/expoManifestRequestHandlerPlugin.d.ts.map +0 -1
- package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts +0 -5
- package/types/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.d.ts.map +0 -1
|
@@ -61,6 +61,8 @@ var import_magic_string = __toESM(require("magic-string"), 1);
|
|
|
61
61
|
var import_remapping = __toESM(require("@jridgewell/remapping"), 1);
|
|
62
62
|
var import_trace_mapping = require("@jridgewell/trace-mapping");
|
|
63
63
|
var import_compiler = require("@vxrn/compiler");
|
|
64
|
+
var import_publicEnv = require("@vxrn/utils/publicEnv");
|
|
65
|
+
var import_expoVirtualEnv = require("./expoVirtualEnv.cjs");
|
|
64
66
|
var import_platformEnv = require("../env/platformEnv.cjs");
|
|
65
67
|
function collectModuleLiteralBindings(program) {
|
|
66
68
|
const reassigned = /* @__PURE__ */ new Set();
|
|
@@ -293,6 +295,11 @@ function applyInlineEnvVars(code, filename, isProduction, env = {}) {
|
|
|
293
295
|
throw new Error(`[vxrn/metro] Failed to parse ${filename} for env inlining: ${parsed.errors[0].message}`);
|
|
294
296
|
}
|
|
295
297
|
if (!parsed?.program) return code;
|
|
298
|
+
const processPublicEnv = Object.fromEntries(Object.entries(process.env).filter(([key]) => key.startsWith("ONE_PUBLIC_") || key.startsWith("EXPO_PUBLIC_")));
|
|
299
|
+
const effectiveEnv = (0, import_publicEnv.withExpoPublicEnvAliases)({
|
|
300
|
+
...processPublicEnv,
|
|
301
|
+
...env
|
|
302
|
+
});
|
|
296
303
|
const ms = new import_magic_string.default(code);
|
|
297
304
|
const edits = [];
|
|
298
305
|
const known = /* @__PURE__ */ new Map();
|
|
@@ -325,27 +332,24 @@ function applyInlineEnvVars(code, filename, isProduction, env = {}) {
|
|
|
325
332
|
replace(node, process.env.ONE_SERVER_URL || "");
|
|
326
333
|
return;
|
|
327
334
|
}
|
|
328
|
-
if (isProcessEnv && !isAssignmentTarget && key?.startsWith("EXPO_PUBLIC_")) {
|
|
329
|
-
|
|
330
|
-
}
|
|
331
|
-
if (isProcessEnv && !isAssignmentTarget && key?.startsWith("ONE_PUBLIC_")) {
|
|
332
|
-
replace(node, env[key] ?? process.env[key] ?? void 0);
|
|
335
|
+
if (isProcessEnv && !isAssignmentTarget && (key?.startsWith("ONE_PUBLIC_") || key?.startsWith("EXPO_PUBLIC_"))) {
|
|
336
|
+
replace(node, effectiveEnv[key] ?? void 0);
|
|
333
337
|
return;
|
|
334
338
|
}
|
|
335
339
|
if (!isAssignmentTarget && isMember && isImportMeta(obj.object) && keyOf(obj.property, obj.computed) === "env" && key !== void 0) {
|
|
336
|
-
replace(node,
|
|
340
|
+
replace(node, effectiveEnv[key]);
|
|
337
341
|
return;
|
|
338
342
|
}
|
|
339
343
|
if (!isAssignmentTarget && isImportMeta(obj) && key === "env") {
|
|
340
344
|
edits.push({
|
|
341
345
|
start: node.start,
|
|
342
346
|
end: node.end,
|
|
343
|
-
text: JSON.stringify(
|
|
347
|
+
text: JSON.stringify(effectiveEnv)
|
|
344
348
|
});
|
|
345
349
|
return;
|
|
346
350
|
}
|
|
347
|
-
if (isProcessEnv && !isAssignmentTarget && key !== void 0 && key in
|
|
348
|
-
replace(node,
|
|
351
|
+
if (isProcessEnv && !isAssignmentTarget && key !== void 0 && key in effectiveEnv) {
|
|
352
|
+
replace(node, effectiveEnv[key]);
|
|
349
353
|
return;
|
|
350
354
|
}
|
|
351
355
|
}
|
|
@@ -1131,26 +1135,13 @@ async function configureWorkletsForWorker(projectRoot) {
|
|
|
1131
1135
|
async function transform(config, projectRoot, filename, data, options) {
|
|
1132
1136
|
assertNoUnportedBabelPlugins(options);
|
|
1133
1137
|
let sourceCode = typeof data === "string" ? data : data.toString("utf8");
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
return { ...acc, ...(dotEnvModules(file)?.default ?? {}) };
|
|
1142
|
-
}, {}) };`;
|
|
1143
|
-
} else {
|
|
1144
|
-
sourceCode = `export const env = new Proxy({}, {
|
|
1145
|
-
get(target, key) {
|
|
1146
|
-
throw new Error(\`Attempting to access internal environment variable "\${String(key)}" is not supported in production bundles.\`);
|
|
1147
|
-
},
|
|
1148
|
-
});`;
|
|
1149
|
-
}
|
|
1150
|
-
} else if (/(^|[\\/])\.env(\.(local|(development|production)(\.local)?))?$/.test(filename)) {
|
|
1151
|
-
const { parseEnvFile } = await import("@expo/metro-config/build/transform-worker/dot-env-development");
|
|
1152
|
-
sourceCode = `export default ${JSON.stringify(parseEnvFile(sourceCode, isClientEnvironment))};`;
|
|
1153
|
-
}
|
|
1138
|
+
sourceCode = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({
|
|
1139
|
+
filename,
|
|
1140
|
+
src: sourceCode,
|
|
1141
|
+
projectRoot,
|
|
1142
|
+
dev: options.dev,
|
|
1143
|
+
environment: options.customTransformOptions?.environment
|
|
1144
|
+
});
|
|
1154
1145
|
checkReservedStrings(sourceCode, config, options);
|
|
1155
1146
|
if (filename.endsWith(".json")) {
|
|
1156
1147
|
try {
|
|
@@ -63,6 +63,8 @@ var import_magic_string = __toESM(require("magic-string"), 1);
|
|
|
63
63
|
var import_remapping = __toESM(require("@jridgewell/remapping"), 1);
|
|
64
64
|
var import_trace_mapping = require("@jridgewell/trace-mapping");
|
|
65
65
|
var import_compiler = require("@vxrn/compiler");
|
|
66
|
+
var import_publicEnv = require("@vxrn/utils/publicEnv");
|
|
67
|
+
var import_expoVirtualEnv = require("./expoVirtualEnv.native.js");
|
|
66
68
|
var import_platformEnv = require("../env/platformEnv.native.js");
|
|
67
69
|
function _class_call_check(instance, Constructor) {
|
|
68
70
|
if (!(instance instanceof Constructor)) {
|
|
@@ -580,6 +582,14 @@ function applyInlineEnvVars(code, filename, isProduction) {
|
|
|
580
582
|
throw new Error(`[vxrn/metro] Failed to parse ${filename} for env inlining: ${parsed.errors[0].message}`);
|
|
581
583
|
}
|
|
582
584
|
if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
|
|
585
|
+
var processPublicEnv = Object.fromEntries(Object.entries(process.env).filter(function(param) {
|
|
586
|
+
var [key] = param;
|
|
587
|
+
return key.startsWith("ONE_PUBLIC_") || key.startsWith("EXPO_PUBLIC_");
|
|
588
|
+
}));
|
|
589
|
+
var effectiveEnv = (0, import_publicEnv.withExpoPublicEnvAliases)({
|
|
590
|
+
...processPublicEnv,
|
|
591
|
+
...env
|
|
592
|
+
});
|
|
583
593
|
var ms = new import_magic_string.default(code);
|
|
584
594
|
var edits = [];
|
|
585
595
|
var known = /* @__PURE__ */ new Map();
|
|
@@ -614,28 +624,25 @@ function applyInlineEnvVars(code, filename, isProduction) {
|
|
|
614
624
|
replace(node, process.env.ONE_SERVER_URL || "");
|
|
615
625
|
return;
|
|
616
626
|
}
|
|
617
|
-
if (isProcessEnv && !isAssignmentTarget && (key === null || key === void 0 ? void 0 : key.startsWith("EXPO_PUBLIC_"))) {
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
if (isProcessEnv && !isAssignmentTarget && (key === null || key === void 0 ? void 0 : key.startsWith("ONE_PUBLIC_"))) {
|
|
621
|
-
var _ref, _env_key;
|
|
622
|
-
replace(node, (_ref = (_env_key = env[key]) !== null && _env_key !== void 0 ? _env_key : process.env[key]) !== null && _ref !== void 0 ? _ref : void 0);
|
|
627
|
+
if (isProcessEnv && !isAssignmentTarget && ((key === null || key === void 0 ? void 0 : key.startsWith("ONE_PUBLIC_")) || (key === null || key === void 0 ? void 0 : key.startsWith("EXPO_PUBLIC_")))) {
|
|
628
|
+
var _effectiveEnv_key;
|
|
629
|
+
replace(node, (_effectiveEnv_key = effectiveEnv[key]) !== null && _effectiveEnv_key !== void 0 ? _effectiveEnv_key : void 0);
|
|
623
630
|
return;
|
|
624
631
|
}
|
|
625
632
|
if (!isAssignmentTarget && isMember && isImportMeta(obj.object) && keyOf(obj.property, obj.computed) === "env" && key !== void 0) {
|
|
626
|
-
replace(node,
|
|
633
|
+
replace(node, effectiveEnv[key]);
|
|
627
634
|
return;
|
|
628
635
|
}
|
|
629
636
|
if (!isAssignmentTarget && isImportMeta(obj) && key === "env") {
|
|
630
637
|
edits.push({
|
|
631
638
|
start: node.start,
|
|
632
639
|
end: node.end,
|
|
633
|
-
text: JSON.stringify(
|
|
640
|
+
text: JSON.stringify(effectiveEnv)
|
|
634
641
|
});
|
|
635
642
|
return;
|
|
636
643
|
}
|
|
637
|
-
if (isProcessEnv && !isAssignmentTarget && key !== void 0 && key in
|
|
638
|
-
replace(node,
|
|
644
|
+
if (isProcessEnv && !isAssignmentTarget && key !== void 0 && key in effectiveEnv) {
|
|
645
|
+
replace(node, effectiveEnv[key]);
|
|
639
646
|
return;
|
|
640
647
|
}
|
|
641
648
|
}
|
|
@@ -2034,26 +2041,13 @@ async function transform(config, projectRoot, filename, data, options) {
|
|
|
2034
2041
|
var _options_customTransformOptions, _options_customTransformOptions1, _options_customTransformOptions2, _oxcRes_errors;
|
|
2035
2042
|
assertNoUnportedBabelPlugins(options);
|
|
2036
2043
|
var sourceCode = typeof data === "string" ? data : data.toString("utf8");
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
return { ...acc, ...(dotEnvModules(file)?.default ?? {}) };
|
|
2045
|
-
}, {}) };`;
|
|
2046
|
-
} else {
|
|
2047
|
-
sourceCode = `export const env = new Proxy({}, {
|
|
2048
|
-
get(target, key) {
|
|
2049
|
-
throw new Error(\`Attempting to access internal environment variable "\${String(key)}" is not supported in production bundles.\`);
|
|
2050
|
-
},
|
|
2051
|
-
});`;
|
|
2052
|
-
}
|
|
2053
|
-
} else if (/(^|[\\/])\.env(\.(local|(development|production)(\.local)?))?$/.test(filename)) {
|
|
2054
|
-
var { parseEnvFile } = await import("@expo/metro-config/build/transform-worker/dot-env-development");
|
|
2055
|
-
sourceCode = `export default ${JSON.stringify(parseEnvFile(sourceCode, isClientEnvironment))};`;
|
|
2056
|
-
}
|
|
2044
|
+
sourceCode = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({
|
|
2045
|
+
filename,
|
|
2046
|
+
src: sourceCode,
|
|
2047
|
+
projectRoot,
|
|
2048
|
+
dev: options.dev,
|
|
2049
|
+
environment: (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment
|
|
2050
|
+
});
|
|
2057
2051
|
checkReservedStrings(sourceCode, config, options);
|
|
2058
2052
|
if (filename.endsWith(".json")) {
|
|
2059
2053
|
try {
|
|
@@ -63,6 +63,8 @@ var import_magic_string = __toESM(require("magic-string"), 1);
|
|
|
63
63
|
var import_remapping = __toESM(require("@jridgewell/remapping"), 1);
|
|
64
64
|
var import_trace_mapping = require("@jridgewell/trace-mapping");
|
|
65
65
|
var import_compiler = require("@vxrn/compiler");
|
|
66
|
+
var import_publicEnv = require("@vxrn/utils/publicEnv");
|
|
67
|
+
var import_expoVirtualEnv = require("./expoVirtualEnv.native.js");
|
|
66
68
|
var import_platformEnv = require("../env/platformEnv.native.js");
|
|
67
69
|
function _class_call_check(instance, Constructor) {
|
|
68
70
|
if (!(instance instanceof Constructor)) {
|
|
@@ -580,6 +582,14 @@ function applyInlineEnvVars(code, filename, isProduction) {
|
|
|
580
582
|
throw new Error(`[vxrn/metro] Failed to parse ${filename} for env inlining: ${parsed.errors[0].message}`);
|
|
581
583
|
}
|
|
582
584
|
if (!(parsed === null || parsed === void 0 ? void 0 : parsed.program)) return code;
|
|
585
|
+
var processPublicEnv = Object.fromEntries(Object.entries(process.env).filter(function(param) {
|
|
586
|
+
var [key] = param;
|
|
587
|
+
return key.startsWith("ONE_PUBLIC_") || key.startsWith("EXPO_PUBLIC_");
|
|
588
|
+
}));
|
|
589
|
+
var effectiveEnv = (0, import_publicEnv.withExpoPublicEnvAliases)({
|
|
590
|
+
...processPublicEnv,
|
|
591
|
+
...env
|
|
592
|
+
});
|
|
583
593
|
var ms = new import_magic_string.default(code);
|
|
584
594
|
var edits = [];
|
|
585
595
|
var known = /* @__PURE__ */ new Map();
|
|
@@ -614,28 +624,25 @@ function applyInlineEnvVars(code, filename, isProduction) {
|
|
|
614
624
|
replace(node, process.env.ONE_SERVER_URL || "");
|
|
615
625
|
return;
|
|
616
626
|
}
|
|
617
|
-
if (isProcessEnv && !isAssignmentTarget && (key === null || key === void 0 ? void 0 : key.startsWith("EXPO_PUBLIC_"))) {
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
if (isProcessEnv && !isAssignmentTarget && (key === null || key === void 0 ? void 0 : key.startsWith("ONE_PUBLIC_"))) {
|
|
621
|
-
var _ref, _env_key;
|
|
622
|
-
replace(node, (_ref = (_env_key = env[key]) !== null && _env_key !== void 0 ? _env_key : process.env[key]) !== null && _ref !== void 0 ? _ref : void 0);
|
|
627
|
+
if (isProcessEnv && !isAssignmentTarget && ((key === null || key === void 0 ? void 0 : key.startsWith("ONE_PUBLIC_")) || (key === null || key === void 0 ? void 0 : key.startsWith("EXPO_PUBLIC_")))) {
|
|
628
|
+
var _effectiveEnv_key;
|
|
629
|
+
replace(node, (_effectiveEnv_key = effectiveEnv[key]) !== null && _effectiveEnv_key !== void 0 ? _effectiveEnv_key : void 0);
|
|
623
630
|
return;
|
|
624
631
|
}
|
|
625
632
|
if (!isAssignmentTarget && isMember && isImportMeta(obj.object) && keyOf(obj.property, obj.computed) === "env" && key !== void 0) {
|
|
626
|
-
replace(node,
|
|
633
|
+
replace(node, effectiveEnv[key]);
|
|
627
634
|
return;
|
|
628
635
|
}
|
|
629
636
|
if (!isAssignmentTarget && isImportMeta(obj) && key === "env") {
|
|
630
637
|
edits.push({
|
|
631
638
|
start: node.start,
|
|
632
639
|
end: node.end,
|
|
633
|
-
text: JSON.stringify(
|
|
640
|
+
text: JSON.stringify(effectiveEnv)
|
|
634
641
|
});
|
|
635
642
|
return;
|
|
636
643
|
}
|
|
637
|
-
if (isProcessEnv && !isAssignmentTarget && key !== void 0 && key in
|
|
638
|
-
replace(node,
|
|
644
|
+
if (isProcessEnv && !isAssignmentTarget && key !== void 0 && key in effectiveEnv) {
|
|
645
|
+
replace(node, effectiveEnv[key]);
|
|
639
646
|
return;
|
|
640
647
|
}
|
|
641
648
|
}
|
|
@@ -2034,26 +2041,13 @@ async function transform(config, projectRoot, filename, data, options) {
|
|
|
2034
2041
|
var _options_customTransformOptions, _options_customTransformOptions1, _options_customTransformOptions2, _oxcRes_errors;
|
|
2035
2042
|
assertNoUnportedBabelPlugins(options);
|
|
2036
2043
|
var sourceCode = typeof data === "string" ? data : data.toString("utf8");
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
return { ...acc, ...(dotEnvModules(file)?.default ?? {}) };
|
|
2045
|
-
}, {}) };`;
|
|
2046
|
-
} else {
|
|
2047
|
-
sourceCode = `export const env = new Proxy({}, {
|
|
2048
|
-
get(target, key) {
|
|
2049
|
-
throw new Error(\`Attempting to access internal environment variable "\${String(key)}" is not supported in production bundles.\`);
|
|
2050
|
-
},
|
|
2051
|
-
});`;
|
|
2052
|
-
}
|
|
2053
|
-
} else if (/(^|[\\/])\.env(\.(local|(development|production)(\.local)?))?$/.test(filename)) {
|
|
2054
|
-
var { parseEnvFile } = await import("@expo/metro-config/build/transform-worker/dot-env-development");
|
|
2055
|
-
sourceCode = `export default ${JSON.stringify(parseEnvFile(sourceCode, isClientEnvironment))};`;
|
|
2056
|
-
}
|
|
2044
|
+
sourceCode = (0, import_expoVirtualEnv.substituteExpoVirtualEnvSource)({
|
|
2045
|
+
filename,
|
|
2046
|
+
src: sourceCode,
|
|
2047
|
+
projectRoot,
|
|
2048
|
+
dev: options.dev,
|
|
2049
|
+
environment: (_options_customTransformOptions = options.customTransformOptions) === null || _options_customTransformOptions === void 0 ? void 0 : _options_customTransformOptions.environment
|
|
2050
|
+
});
|
|
2057
2051
|
checkReservedStrings(sourceCode, config, options);
|
|
2058
2052
|
if (filename.endsWith(".json")) {
|
|
2059
2053
|
try {
|