@vxrn/vite-plugin-metro 1.2.9 → 1.2.10
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/metro-config/getMetroConfigFromViteConfig.cjs +10 -38
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.js +8 -28
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.js.map +2 -2
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +14 -50
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +5 -25
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js +5 -27
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js.map +1 -1
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +6 -41
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
- package/dist/cjs/plugins/metroPlugin.js.map +1 -1
- package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.js +5 -18
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.js.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +5 -22
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +9 -34
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js +5 -27
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js.map +1 -1
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +5 -25
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +6 -41
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
- package/dist/esm/plugins/metroPlugin.js.map +1 -1
- package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
- package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
- package/package.json +2 -3
- package/src/metro-config/getMetroConfigFromViteConfig.ts +7 -41
- package/src/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.ts +5 -65
- package/src/plugins/metroPlugin.ts +1 -22
- package/types/metro-config/getMetroConfigFromViteConfig.d.ts.map +1 -1
- package/types/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.d.ts.map +1 -1
- package/types/plugins/metroPlugin.d.ts +1 -22
- package/types/plugins/metroPlugin.d.ts.map +1 -1
- package/types/transformer/loadBabelConfig.d.ts +1 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import micromatch from "micromatch";
|
|
2
1
|
import { projectImport, projectResolve } from "../utils/projectImport.mjs";
|
|
3
2
|
import { getTerminalReporter } from "../utils/getTerminalReporter.mjs";
|
|
4
3
|
import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from "../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.mjs";
|
|
@@ -10,9 +9,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
10
9
|
{
|
|
11
10
|
mainModuleName,
|
|
12
11
|
argv,
|
|
13
|
-
defaultConfigOverrides
|
|
14
|
-
watchman,
|
|
15
|
-
excludeModules
|
|
12
|
+
defaultConfigOverrides
|
|
16
13
|
} = metroPluginOptions,
|
|
17
14
|
{
|
|
18
15
|
loadConfig
|
|
@@ -48,9 +45,6 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
48
45
|
..._defaultConfig,
|
|
49
46
|
resolver: {
|
|
50
47
|
..._defaultConfig?.resolver,
|
|
51
|
-
...(watchman !== void 0 ? {
|
|
52
|
-
useWatchman: watchman
|
|
53
|
-
} : {}),
|
|
54
48
|
sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
|
|
55
49
|
// `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
56
50
|
resolveRequest: (context, moduleName, platform) => {
|
|
@@ -75,20 +69,6 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
75
69
|
},
|
|
76
70
|
reporter: await getTerminalReporter(projectRoot)
|
|
77
71
|
};
|
|
78
|
-
let finalConfig = {
|
|
79
|
-
...defaultConfig,
|
|
80
|
-
...(typeof defaultConfigOverrides == "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
|
|
81
|
-
};
|
|
82
|
-
if (excludeModules && excludeModules.length > 0) {
|
|
83
|
-
const existingResolveRequest = finalConfig.resolver?.resolveRequest;
|
|
84
|
-
finalConfig = {
|
|
85
|
-
...finalConfig,
|
|
86
|
-
resolver: {
|
|
87
|
-
...finalConfig.resolver,
|
|
88
|
-
resolveRequest: (context, moduleName, platform) => micromatch.isMatch(moduleName, excludeModules) ? (_defaultConfig?.resolver?.resolveRequest || context.resolveRequest)(context, "@vxrn/vite-plugin-metro/empty", platform) : existingResolveRequest ? existingResolveRequest(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform)
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
72
|
return {
|
|
93
73
|
...(await loadConfig({
|
|
94
74
|
cwd: projectRoot,
|
|
@@ -96,7 +76,10 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
96
76
|
"reset-cache": !!process.env.METRO_RESET_CACHE,
|
|
97
77
|
// TODO: `--clean`
|
|
98
78
|
...argv
|
|
99
|
-
},
|
|
79
|
+
}, {
|
|
80
|
+
...defaultConfig,
|
|
81
|
+
...(typeof defaultConfigOverrides == "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
|
|
82
|
+
})),
|
|
100
83
|
...extraConfig
|
|
101
84
|
};
|
|
102
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["projectImport","projectResolve","getTerminalReporter","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","getMetroConfigFromViteConfig","config","metroPluginOptions","extraConfig","root","projectRoot","mainModuleName","argv","defaultConfigOverrides","loadConfig","getDefaultConfig","_defaultConfig","origRewriteRequestUrl","server","rewriteRequestUrl","resolveMainModuleName","ExpoGoManifestHandlerMiddleware","default","manifestHandlerMiddleware","p","pkg","main","platform","getResolveMainModuleName","url","includes","resolvedMainModulePath","replace","defaultConfig","resolver","sourceExts","resolveRequest","context","moduleName","origResolveRequestFn","startsWith","contextOverride","unstable_conditionNames","filter","c","transformer","babelTransformerPath","reporter","cwd","process","env","METRO_RESET_CACHE"],"sources":["../../../src/metro-config/getMetroConfigFromViteConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import micromatch from "micromatch";
|
|
2
1
|
import { projectImport, projectResolve } from "../utils/projectImport.native.js";
|
|
3
2
|
import { getTerminalReporter } from "../utils/getTerminalReporter.native.js";
|
|
4
3
|
import { patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName } from "../utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.native.js";
|
|
@@ -10,9 +9,7 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
10
9
|
{
|
|
11
10
|
mainModuleName,
|
|
12
11
|
argv,
|
|
13
|
-
defaultConfigOverrides
|
|
14
|
-
watchman,
|
|
15
|
-
excludeModules
|
|
12
|
+
defaultConfigOverrides
|
|
16
13
|
} = metroPluginOptions,
|
|
17
14
|
{
|
|
18
15
|
loadConfig
|
|
@@ -49,9 +46,6 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
49
46
|
..._defaultConfig,
|
|
50
47
|
resolver: {
|
|
51
48
|
..._defaultConfig?.resolver,
|
|
52
|
-
...(watchman !== void 0 ? {
|
|
53
|
-
useWatchman: watchman
|
|
54
|
-
} : {}),
|
|
55
49
|
sourceExts: ["js", "jsx", "json", "ts", "tsx", "mjs", "cjs"],
|
|
56
50
|
// `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
57
51
|
resolveRequest: function (context, moduleName, platform) {
|
|
@@ -79,35 +73,16 @@ async function getMetroConfigFromViteConfig(config, metroPluginOptions) {
|
|
|
79
73
|
// publicPath: '/assets/?unstable_path=.',
|
|
80
74
|
reporter: await getTerminalReporter(projectRoot)
|
|
81
75
|
},
|
|
82
|
-
|
|
76
|
+
metroConfig = await loadConfig({
|
|
77
|
+
cwd: projectRoot,
|
|
78
|
+
projectRoot,
|
|
79
|
+
"reset-cache": !!process.env.METRO_RESET_CACHE,
|
|
80
|
+
// TODO: `--clean`
|
|
81
|
+
...argv
|
|
82
|
+
}, {
|
|
83
83
|
...defaultConfig,
|
|
84
84
|
...(typeof defaultConfigOverrides == "function" ? defaultConfigOverrides(defaultConfig) : defaultConfigOverrides)
|
|
85
|
-
};
|
|
86
|
-
if (excludeModules && excludeModules.length > 0) {
|
|
87
|
-
var _finalConfig_resolver,
|
|
88
|
-
existingResolveRequest = (_finalConfig_resolver = finalConfig.resolver) === null || _finalConfig_resolver === void 0 ? void 0 : _finalConfig_resolver.resolveRequest;
|
|
89
|
-
finalConfig = {
|
|
90
|
-
...finalConfig,
|
|
91
|
-
resolver: {
|
|
92
|
-
...finalConfig.resolver,
|
|
93
|
-
resolveRequest: function (context, moduleName, platform) {
|
|
94
|
-
if (micromatch.isMatch(moduleName, excludeModules)) {
|
|
95
|
-
var _defaultConfig_resolver,
|
|
96
|
-
origResolveRequestFn = (_defaultConfig == null || (_defaultConfig_resolver = _defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.resolveRequest) || context.resolveRequest;
|
|
97
|
-
return origResolveRequestFn(context, "@vxrn/vite-plugin-metro/empty", platform);
|
|
98
|
-
}
|
|
99
|
-
return existingResolveRequest ? existingResolveRequest(context, moduleName, platform) : context.resolveRequest(context, moduleName, platform);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
var metroConfig = await loadConfig({
|
|
105
|
-
cwd: projectRoot,
|
|
106
|
-
projectRoot,
|
|
107
|
-
"reset-cache": !!process.env.METRO_RESET_CACHE,
|
|
108
|
-
// TODO: `--clean`
|
|
109
|
-
...argv
|
|
110
|
-
}, finalConfig);
|
|
85
|
+
});
|
|
111
86
|
return {
|
|
112
87
|
...metroConfig,
|
|
113
88
|
...extraConfig
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["projectImport","projectResolve","getTerminalReporter","patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName","getMetroConfigFromViteConfig","config","metroPluginOptions","extraConfig","root","projectRoot","mainModuleName","argv","defaultConfigOverrides","loadConfig","getDefaultConfig","_defaultConfig","origRewriteRequestUrl","server","rewriteRequestUrl","resolveMainModuleName","ExpoGoManifestHandlerMiddleware","default","manifestHandlerMiddleware","p","pkg","main","platform","getResolveMainModuleName","url","includes","resolvedMainModulePath","replace","defaultConfig","resolver","sourceExts","resolveRequest","context","moduleName","_defaultConfig_resolver","origResolveRequestFn","startsWith","contextOverride","unstable_conditionNames","filter","c","transformer","babelTransformerPath","reporter","metroConfig","cwd","process","env","METRO_RESET_CACHE"],"sources":["../../../src/metro-config/getMetroConfigFromViteConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,34 +1,12 @@
|
|
|
1
1
|
import { getMetroBabelConfigFromViteConfig } from "./getMetroBabelConfigFromViteConfig";
|
|
2
|
-
function deepMergeBabelConfig(base, override) {
|
|
3
|
-
if (!override) return base;
|
|
4
|
-
const merged = {
|
|
5
|
-
...base,
|
|
6
|
-
...override
|
|
7
|
-
};
|
|
8
|
-
if ((base.plugins || override.plugins) && (merged.plugins = [...base.plugins || [], ...override.plugins || []]), (base.presets || override.presets) && (merged.presets = [...base.presets || [], ...override.presets || []]), base.env && override.env) {
|
|
9
|
-
merged.env = { ...base.env };
|
|
10
|
-
for (const [key, value] of Object.entries(override.env))
|
|
11
|
-
value && (merged.env[key] = deepMergeBabelConfig(base.env[key] || {}, value));
|
|
12
|
-
}
|
|
13
|
-
return base.parserOpts && override.parserOpts && (merged.parserOpts = {
|
|
14
|
-
...base.parserOpts,
|
|
15
|
-
...override.parserOpts,
|
|
16
|
-
// Merge plugins arrays if both exist
|
|
17
|
-
...base.parserOpts.plugins || override.parserOpts.plugins ? {
|
|
18
|
-
plugins: [
|
|
19
|
-
...base.parserOpts.plugins || [],
|
|
20
|
-
...override.parserOpts.plugins || []
|
|
21
|
-
]
|
|
22
|
-
} : {}
|
|
23
|
-
}), base.generatorOpts && override.generatorOpts && (merged.generatorOpts = {
|
|
24
|
-
...base.generatorOpts,
|
|
25
|
-
...override.generatorOpts
|
|
26
|
-
}), merged;
|
|
27
|
-
}
|
|
28
2
|
function patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, config, options) {
|
|
29
3
|
const originalTransformFile = metroServer.getBundler().getBundler().transformFile.bind(metroServer.getBundler().getBundler()), defaultBabelConfig = getMetroBabelConfigFromViteConfig(config);
|
|
30
4
|
metroServer.getBundler().getBundler().transformFile = async (filePath, transformOptions, fileBuffer) => {
|
|
31
|
-
let babelConfig =
|
|
5
|
+
let babelConfig = {
|
|
6
|
+
...defaultBabelConfig,
|
|
7
|
+
...options.babelConfig,
|
|
8
|
+
plugins: [...defaultBabelConfig.plugins || [], ...options.babelConfig?.plugins || []]
|
|
9
|
+
};
|
|
32
10
|
options.babelConfigOverrides && (babelConfig = options.babelConfigOverrides(babelConfig));
|
|
33
11
|
const viteCustomTransformOptions = {
|
|
34
12
|
// config: server.config,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.ts"],
|
|
4
|
-
"mappings": "AAKA,SAAS,yCAAyC;
|
|
4
|
+
"mappings": "AAKA,SAAS,yCAAyC;AAE3C,SAAS,oDACd,aACA,QACA,SACA;AAEA,QAAM,wBAAwB,YAC3B,WAAW,EACX,WAAW,EACX,cAAc,KAAK,YAAY,WAAW,EAAE,WAAW,CAAC,GAErD,qBAAqB,kCAAkC,MAAM;AAEnE,cAAY,WAAW,EAAE,WAAW,EAAE,gBAAgB,OACpD,UACA,kBACA,eACG;AACH,QAAI,cAAgC;AAAA,MAClC,GAAG;AAAA,MACH,GAAG,QAAQ;AAAA,MACX,SAAS,CAAC,GAAI,mBAAmB,WAAW,CAAC,GAAI,GAAI,QAAQ,aAAa,WAAW,CAAC,CAAE;AAAA,IAC1F;AAEA,IAAI,QAAQ,yBACV,cAAc,QAAQ,qBAAqB,WAAW;AAGxD,UAAM,6BAAyD;AAAA;AAAA,MAE7D;AAAA,IACF;AACA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,wBAAwB;AAAA,UACtB,GAAG,iBAAiB;AAAA;AAAA,UAEpB,MAAM;AAAA,QACR;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,33 +1,13 @@
|
|
|
1
1
|
import { getMetroBabelConfigFromViteConfig } from "./getMetroBabelConfigFromViteConfig.mjs";
|
|
2
|
-
function deepMergeBabelConfig(base, override) {
|
|
3
|
-
if (!override) return base;
|
|
4
|
-
const merged = {
|
|
5
|
-
...base,
|
|
6
|
-
...override
|
|
7
|
-
};
|
|
8
|
-
if ((base.plugins || override.plugins) && (merged.plugins = [...(base.plugins || []), ...(override.plugins || [])]), (base.presets || override.presets) && (merged.presets = [...(base.presets || []), ...(override.presets || [])]), base.env && override.env) {
|
|
9
|
-
merged.env = {
|
|
10
|
-
...base.env
|
|
11
|
-
};
|
|
12
|
-
for (const [key, value] of Object.entries(override.env)) value && (merged.env[key] = deepMergeBabelConfig(base.env[key] || {}, value));
|
|
13
|
-
}
|
|
14
|
-
return base.parserOpts && override.parserOpts && (merged.parserOpts = {
|
|
15
|
-
...base.parserOpts,
|
|
16
|
-
...override.parserOpts,
|
|
17
|
-
// Merge plugins arrays if both exist
|
|
18
|
-
...(base.parserOpts.plugins || override.parserOpts.plugins ? {
|
|
19
|
-
plugins: [...(base.parserOpts.plugins || []), ...(override.parserOpts.plugins || [])]
|
|
20
|
-
} : {})
|
|
21
|
-
}), base.generatorOpts && override.generatorOpts && (merged.generatorOpts = {
|
|
22
|
-
...base.generatorOpts,
|
|
23
|
-
...override.generatorOpts
|
|
24
|
-
}), merged;
|
|
25
|
-
}
|
|
26
2
|
function patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, config, options) {
|
|
27
3
|
const originalTransformFile = metroServer.getBundler().getBundler().transformFile.bind(metroServer.getBundler().getBundler()),
|
|
28
4
|
defaultBabelConfig = getMetroBabelConfigFromViteConfig(config);
|
|
29
5
|
metroServer.getBundler().getBundler().transformFile = async (filePath, transformOptions, fileBuffer) => {
|
|
30
|
-
let babelConfig =
|
|
6
|
+
let babelConfig = {
|
|
7
|
+
...defaultBabelConfig,
|
|
8
|
+
...options.babelConfig,
|
|
9
|
+
plugins: [...(defaultBabelConfig.plugins || []), ...(options.babelConfig?.plugins || [])]
|
|
10
|
+
};
|
|
31
11
|
options.babelConfigOverrides && (babelConfig = options.babelConfigOverrides(babelConfig));
|
|
32
12
|
const viteCustomTransformOptions = {
|
|
33
13
|
// config: server.config,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getMetroBabelConfigFromViteConfig","
|
|
1
|
+
{"version":3,"names":["getMetroBabelConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","metroServer","config","options","originalTransformFile","getBundler","transformFile","bind","defaultBabelConfig","filePath","transformOptions","fileBuffer","babelConfig","plugins","babelConfigOverrides","viteCustomTransformOptions","customTransformOptions","vite"],"sources":["../../../src/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.ts"],"sourcesContent":[null],"mappings":"AAKA,SAASA,iCAAA,QAAyC;AAE3C,SAASC,oDACdC,WAAA,EACAC,MAAA,EACAC,OAAA,EACA;EAEA,MAAMC,qBAAA,GAAwBH,WAAA,CAC3BI,UAAA,CAAW,EACXA,UAAA,CAAW,EACXC,aAAA,CAAcC,IAAA,CAAKN,WAAA,CAAYI,UAAA,CAAW,EAAEA,UAAA,CAAW,CAAC;IAErDG,kBAAA,GAAqBT,iCAAA,CAAkCG,MAAM;EAEnED,WAAA,CAAYI,UAAA,CAAW,EAAEA,UAAA,CAAW,EAAEC,aAAA,GAAgB,OACpDG,QAAA,EACAC,gBAAA,EACAC,UAAA,KACG;IACH,IAAIC,WAAA,GAAgC;MAClC,GAAGJ,kBAAA;MACH,GAAGL,OAAA,CAAQS,WAAA;MACXC,OAAA,EAAS,CAAC,IAAIL,kBAAA,CAAmBK,OAAA,IAAW,EAAC,GAAI,IAAIV,OAAA,CAAQS,WAAA,EAAaC,OAAA,IAAW,EAAG;IAC1F;IAEIV,OAAA,CAAQW,oBAAA,KACVF,WAAA,GAAcT,OAAA,CAAQW,oBAAA,CAAqBF,WAAW;IAGxD,MAAMG,0BAAA,GAAyD;MAAA;MAE7DH;IACF;IACA,OAAOR,qBAAA,CACLK,QAAA,EACA;MACE,GAAGC,gBAAA;MACHM,sBAAA,EAAwB;QACtB,GAAGN,gBAAA,CAAiBM,sBAAA;QAAA;QAEpBC,IAAA,EAAMF;MACR;IACF,GACAJ,UACF;EACF;AACF","ignoreList":[]}
|
|
@@ -1,49 +1,14 @@
|
|
|
1
1
|
import { getMetroBabelConfigFromViteConfig } from "./getMetroBabelConfigFromViteConfig.native.js";
|
|
2
|
-
function deepMergeBabelConfig(base, override) {
|
|
3
|
-
if (!override) return base;
|
|
4
|
-
var merged = {
|
|
5
|
-
...base,
|
|
6
|
-
...override
|
|
7
|
-
};
|
|
8
|
-
if ((base.plugins || override.plugins) && (merged.plugins = [...(base.plugins || []), ...(override.plugins || [])]), (base.presets || override.presets) && (merged.presets = [...(base.presets || []), ...(override.presets || [])]), base.env && override.env) {
|
|
9
|
-
merged.env = {
|
|
10
|
-
...base.env
|
|
11
|
-
};
|
|
12
|
-
var _iteratorNormalCompletion = !0,
|
|
13
|
-
_didIteratorError = !1,
|
|
14
|
-
_iteratorError = void 0;
|
|
15
|
-
try {
|
|
16
|
-
for (var _iterator = Object.entries(override.env)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
17
|
-
var [key, value] = _step.value;
|
|
18
|
-
value && (merged.env[key] = deepMergeBabelConfig(base.env[key] || {}, value));
|
|
19
|
-
}
|
|
20
|
-
} catch (err) {
|
|
21
|
-
_didIteratorError = !0, _iteratorError = err;
|
|
22
|
-
} finally {
|
|
23
|
-
try {
|
|
24
|
-
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
25
|
-
} finally {
|
|
26
|
-
if (_didIteratorError) throw _iteratorError;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return base.parserOpts && override.parserOpts && (merged.parserOpts = {
|
|
31
|
-
...base.parserOpts,
|
|
32
|
-
...override.parserOpts,
|
|
33
|
-
// Merge plugins arrays if both exist
|
|
34
|
-
...(base.parserOpts.plugins || override.parserOpts.plugins ? {
|
|
35
|
-
plugins: [...(base.parserOpts.plugins || []), ...(override.parserOpts.plugins || [])]
|
|
36
|
-
} : {})
|
|
37
|
-
}), base.generatorOpts && override.generatorOpts && (merged.generatorOpts = {
|
|
38
|
-
...base.generatorOpts,
|
|
39
|
-
...override.generatorOpts
|
|
40
|
-
}), merged;
|
|
41
|
-
}
|
|
42
2
|
function patchMetroServerWithViteConfigAndMetroPluginOptions(metroServer, config, options) {
|
|
43
3
|
var originalTransformFile = metroServer.getBundler().getBundler().transformFile.bind(metroServer.getBundler().getBundler()),
|
|
44
4
|
defaultBabelConfig = getMetroBabelConfigFromViteConfig(config);
|
|
45
5
|
metroServer.getBundler().getBundler().transformFile = async function (filePath, transformOptions, fileBuffer) {
|
|
46
|
-
var
|
|
6
|
+
var _options_babelConfig,
|
|
7
|
+
babelConfig = {
|
|
8
|
+
...defaultBabelConfig,
|
|
9
|
+
...options.babelConfig,
|
|
10
|
+
plugins: [...(defaultBabelConfig.plugins || []), ...(((_options_babelConfig = options.babelConfig) === null || _options_babelConfig === void 0 ? void 0 : _options_babelConfig.plugins) || [])]
|
|
11
|
+
};
|
|
47
12
|
options.babelConfigOverrides && (babelConfig = options.babelConfigOverrides(babelConfig));
|
|
48
13
|
var viteCustomTransformOptions = {
|
|
49
14
|
// config: server.config,
|
package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getMetroBabelConfigFromViteConfig","
|
|
1
|
+
{"version":3,"names":["getMetroBabelConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","metroServer","config","options","originalTransformFile","getBundler","transformFile","bind","defaultBabelConfig","filePath","transformOptions","fileBuffer","_options_babelConfig","babelConfig","plugins","babelConfigOverrides","viteCustomTransformOptions","customTransformOptions","vite"],"sources":["../../../src/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.ts"],"sourcesContent":[null],"mappings":"AAKA,SAASA,iCAAA,QAAyC;AAE3C,SAASC,oDACdC,WAAA,EACAC,MAAA,EACAC,OAAA,EACA;EAEA,IAAAC,qBAAM,GAAAH,WAAwB,CAAAI,UAC3B,GAAWA,UACX,GAAWC,aACX,CAAAC,IAAc,CAAAN,WAAK,CAAAI,UAAY,GAAWA,UAAE,GAAW;IAACG,kBAErD,GAAAT,iCAAqB,CAAAG,MAAkC;EAE7DD,WAAA,CAAYI,UAAA,CAAW,EAAEA,UAAA,CAAW,EAAEC,aAAA,GAAgB,gBACpDG,QACA,EAAAC,gBACA,EAAAC,UACG;IACH,IAAIC,oBAAgC;MAAAC,WAAA;QAClC,GAAGL,kBAAA;QACH,GAAGL,OAAA,CAAQU,WAAA;QACXC,OAAA,EAAS,CACX,IAAAN,kBAAA,CAAAM,OAAA,SAEI,KAAQ,CAAAF,oBAAA,GAAAT,OACV,CAAAU,WAAc,MAAQ,QAAAD,oBAAqB,KAAW,kBAAAA,oBAAA,CAAAE,OAAA;MAGO;IAAAX,OAE7D,CAAAY,oBAAA,KAAAF,WAAA,GAAAV,OAAA,CAAAY,oBAAA,CAAAF,WAAA;IACF,IAAAG,0BAAA;MACA;MACEH;IAAA;IACA,OACKT,qBAAA,CAAAK,QAAA;MAAA,GACHC,gBAAA;MAAwBO,sBACnB,EAAiB;QAAA,GAAAP,gBAAA,CAAAO,sBAAA;QAAA;QAGtBC,IAAA,EAAAF;MACF;IAAA,GACAL,UAAA;EAAA;AACF;AAEJ,S","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/plugins/metroPlugin.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AACzB,SAAS,aAAa;AAEtB,OAAO,kBAAkB;AAWzB,SAAS,qBAAqB;AAE9B,SAAS,oCAAoC;AAC7C,SAAS,2DAA2D;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["existsSync","readFile","parse","launchEditor","projectImport","getMetroConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","metroPlugin","options","globalThis","__viteMetroPluginOptions__","name","configureServer","server","logger","root","projectRoot","config","default","Metro","MetroHmrServer","createWebsocketServer","createDevMiddleware","middleware","end","metroServer","createConnectMiddleware","watch","hmrServer","getBundler","getCreateModuleId","reactNativeDevToolsUrl","host","port","rnDevtoolsMiddleware","websocketEndpoints","rnDevtoolsWebsocketEndpoints","serverBaseUrl","console","middlewares","use","req","res","next","url","includes","VITE_METRO_DEBUG_BUNDLE","process","env","info","content","setHeader","headers","statusCode","method","body","on","chunk","toString","frame","JSON","file","e","error","websocketServer","httpServer","request","socket","head","pathname","handleUpgrade","ws","emit"],"sources":["../../../src/plugins/metroPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,QAAA,QAAgB;AACzB,SAASC,KAAA,QAAa;AAEtB,OAAOC,YAAA,MAAkB;AAWzB,SAASC,aAAA,QAAqB;AAE9B,SAASC,4BAAA,QAAoC;AAC7C,SAASC,mDAAA,QAA2D;
|
|
1
|
+
{"version":3,"names":["existsSync","readFile","parse","launchEditor","projectImport","getMetroConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","metroPlugin","options","globalThis","__viteMetroPluginOptions__","name","configureServer","server","logger","root","projectRoot","config","default","Metro","MetroHmrServer","createWebsocketServer","createDevMiddleware","middleware","end","metroServer","createConnectMiddleware","watch","hmrServer","getBundler","getCreateModuleId","reactNativeDevToolsUrl","host","port","rnDevtoolsMiddleware","websocketEndpoints","rnDevtoolsWebsocketEndpoints","serverBaseUrl","console","middlewares","use","req","res","next","url","includes","VITE_METRO_DEBUG_BUNDLE","process","env","info","content","setHeader","headers","statusCode","method","body","on","chunk","toString","frame","JSON","file","e","error","websocketServer","httpServer","request","socket","head","pathname","handleUpgrade","ws","emit"],"sources":["../../../src/plugins/metroPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["existsSync","readFile","parse","launchEditor","projectImport","getMetroConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","metroPlugin","options","arguments","length","globalThis","__viteMetroPluginOptions__","name","configureServer","server","_server_httpServer","logger","root","projectRoot","config","default","Metro","MetroHmrServer","createWebsocketServer","createDevMiddleware","middleware","end","metroServer","createConnectMiddleware","watch","hmrServer","getBundler","getCreateModuleId","reactNativeDevToolsUrl","host","port","rnDevtoolsMiddleware","websocketEndpoints","rnDevtoolsWebsocketEndpoints","serverBaseUrl","console","middlewares","use","req","res","next","_req_url","_req_headers_useragent","_req_headers_useragent1","url","includes","VITE_METRO_DEBUG_BUNDLE","process","env","info","content","setHeader","headers","statusCode","method","body","on","chunk","toString","frame","JSON","file","e","error","websocketServer","httpServer","request","socket","head","pathname","handleUpgrade","ws","emit"],"sources":["../../../src/plugins/metroPlugin.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,QAAkB;AAC3B,SAASC,QAAA,QAAgB;AACzB,SAASC,KAAA,QAAa;AAEtB,OAAOC,YAAA,MAAkB;AAWzB,SAASC,aAAA,QAAqB;AAE9B,SAASC,4BAAA,QAAoC;AAC7C,SAASC,mDAAA,QAA2D;
|
|
1
|
+
{"version":3,"names":["existsSync","readFile","parse","launchEditor","projectImport","getMetroConfigFromViteConfig","patchMetroServerWithViteConfigAndMetroPluginOptions","metroPlugin","options","arguments","length","globalThis","__viteMetroPluginOptions__","name","configureServer","server","_server_httpServer","logger","root","projectRoot","config","default","Metro","MetroHmrServer","createWebsocketServer","createDevMiddleware","middleware","end","metroServer","createConnectMiddleware","watch","hmrServer","getBundler","getCreateModuleId","reactNativeDevToolsUrl","host","port","rnDevtoolsMiddleware","websocketEndpoints","rnDevtoolsWebsocketEndpoints","serverBaseUrl","console","middlewares","use","req","res","next","_req_url","_req_headers_useragent","_req_headers_useragent1","url","includes","VITE_METRO_DEBUG_BUNDLE","process","env","info","content","setHeader","headers","statusCode","method","body","on","chunk","toString","frame","JSON","file","e","error","websocketServer","httpServer","request","socket","head","pathname","handleUpgrade","ws","emit"],"sources":["../../../src/plugins/metroPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vxrn/vite-plugin-metro",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.10",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/cjs",
|
|
@@ -60,10 +60,9 @@
|
|
|
60
60
|
"@babel/core": "^7.28.5",
|
|
61
61
|
"@babel/helper-plugin-utils": "^7.27.1",
|
|
62
62
|
"@babel/types": "^7.28.5",
|
|
63
|
-
"@vxrn/debug": "1.2.
|
|
63
|
+
"@vxrn/debug": "1.2.10",
|
|
64
64
|
"babel-preset-expo": "*",
|
|
65
65
|
"launch-editor": "^2.10.0",
|
|
66
|
-
"micromatch": "^4.0.8",
|
|
67
66
|
"picocolors": "^1.0.0"
|
|
68
67
|
},
|
|
69
68
|
"devDependencies": {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { ResolvedConfig } from 'vite'
|
|
2
|
-
import micromatch from 'micromatch'
|
|
3
2
|
|
|
4
3
|
// For Metro and Expo, we only import types here.
|
|
5
4
|
// We use `projectImport` to dynamically import the actual modules
|
|
@@ -21,8 +20,7 @@ export async function getMetroConfigFromViteConfig(
|
|
|
21
20
|
): Promise<MetroConfigExtended> {
|
|
22
21
|
const extraConfig: ExtraConfig = {}
|
|
23
22
|
const { root: projectRoot } = config
|
|
24
|
-
const { mainModuleName, argv, defaultConfigOverrides
|
|
25
|
-
metroPluginOptions
|
|
23
|
+
const { mainModuleName, argv, defaultConfigOverrides } = metroPluginOptions
|
|
26
24
|
|
|
27
25
|
const { loadConfig } = await projectImport<{
|
|
28
26
|
loadConfig: typeof loadConfigT
|
|
@@ -85,7 +83,6 @@ export async function getMetroConfigFromViteConfig(
|
|
|
85
83
|
..._defaultConfig,
|
|
86
84
|
resolver: {
|
|
87
85
|
..._defaultConfig?.resolver,
|
|
88
|
-
...(watchman !== undefined ? { useWatchman: watchman } : {}),
|
|
89
86
|
sourceExts: ['js', 'jsx', 'json', 'ts', 'tsx', 'mjs', 'cjs'], // `one` related packages are using `.mjs` extensions. This somehow fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
90
87
|
resolveRequest: (context, moduleName, platform) => {
|
|
91
88
|
const origResolveRequestFn =
|
|
@@ -125,42 +122,6 @@ export async function getMetroConfigFromViteConfig(
|
|
|
125
122
|
reporter: await getTerminalReporter(projectRoot),
|
|
126
123
|
}
|
|
127
124
|
|
|
128
|
-
// Apply user's defaultConfigOverrides first
|
|
129
|
-
let finalConfig: MetroInputConfig = {
|
|
130
|
-
...defaultConfig,
|
|
131
|
-
...(typeof defaultConfigOverrides === 'function'
|
|
132
|
-
? defaultConfigOverrides(defaultConfig)
|
|
133
|
-
: defaultConfigOverrides),
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// If excludeModules is provided, wrap the resolveRequest to handle it
|
|
137
|
-
if (excludeModules && excludeModules.length > 0) {
|
|
138
|
-
const existingResolveRequest = finalConfig.resolver?.resolveRequest
|
|
139
|
-
|
|
140
|
-
finalConfig = {
|
|
141
|
-
...finalConfig,
|
|
142
|
-
resolver: {
|
|
143
|
-
...finalConfig.resolver,
|
|
144
|
-
resolveRequest: (context, moduleName, platform) => {
|
|
145
|
-
// Handle excludeModules first - resolve excluded modules to empty module using glob patterns
|
|
146
|
-
if (micromatch.isMatch(moduleName, excludeModules)) {
|
|
147
|
-
const origResolveRequestFn =
|
|
148
|
-
_defaultConfig?.resolver?.resolveRequest || context.resolveRequest
|
|
149
|
-
return origResolveRequestFn(context, '@vxrn/vite-plugin-metro/empty', platform)
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
// Otherwise use the existing resolveRequest (which includes user overrides and @babel/runtime logic)
|
|
153
|
-
if (existingResolveRequest) {
|
|
154
|
-
return existingResolveRequest(context, moduleName, platform)
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// Fallback to context.resolveRequest
|
|
158
|
-
return context.resolveRequest(context, moduleName, platform)
|
|
159
|
-
},
|
|
160
|
-
},
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
|
|
164
125
|
const metroConfig = await loadConfig(
|
|
165
126
|
{
|
|
166
127
|
cwd: projectRoot,
|
|
@@ -168,7 +129,12 @@ export async function getMetroConfigFromViteConfig(
|
|
|
168
129
|
'reset-cache': !!process.env.METRO_RESET_CACHE, // TODO: `--clean`
|
|
169
130
|
...argv,
|
|
170
131
|
},
|
|
171
|
-
|
|
132
|
+
{
|
|
133
|
+
...defaultConfig,
|
|
134
|
+
...(typeof defaultConfigOverrides === 'function'
|
|
135
|
+
? defaultConfigOverrides(defaultConfig)
|
|
136
|
+
: defaultConfigOverrides),
|
|
137
|
+
}
|
|
172
138
|
)
|
|
173
139
|
|
|
174
140
|
// @ts-expect-error TODO
|
|
@@ -5,68 +5,6 @@ import type { MetroPluginOptions } from '../plugins/metroPlugin'
|
|
|
5
5
|
import type { ViteCustomTransformOptions } from '../transformer/types'
|
|
6
6
|
import { getMetroBabelConfigFromViteConfig } from './getMetroBabelConfigFromViteConfig'
|
|
7
7
|
|
|
8
|
-
/**
|
|
9
|
-
* Deep merges babel configs, properly handling arrays like plugins and presets
|
|
10
|
-
*/
|
|
11
|
-
function deepMergeBabelConfig(
|
|
12
|
-
base: TransformOptions,
|
|
13
|
-
override: TransformOptions | undefined
|
|
14
|
-
): TransformOptions {
|
|
15
|
-
if (!override) return base
|
|
16
|
-
|
|
17
|
-
const merged: TransformOptions = {
|
|
18
|
-
...base,
|
|
19
|
-
...override,
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// Deep merge plugins - concatenate arrays
|
|
23
|
-
if (base.plugins || override.plugins) {
|
|
24
|
-
merged.plugins = [...(base.plugins || []), ...(override.plugins || [])]
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// Deep merge presets - concatenate arrays
|
|
28
|
-
if (base.presets || override.presets) {
|
|
29
|
-
merged.presets = [...(base.presets || []), ...(override.presets || [])]
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// Deep merge env if both exist
|
|
33
|
-
if (base.env && override.env) {
|
|
34
|
-
merged.env = { ...base.env }
|
|
35
|
-
for (const [key, value] of Object.entries(override.env)) {
|
|
36
|
-
if (value) {
|
|
37
|
-
merged.env[key] = deepMergeBabelConfig(base.env[key] || {}, value)
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// Deep merge parserOpts if both exist
|
|
43
|
-
if (base.parserOpts && override.parserOpts) {
|
|
44
|
-
merged.parserOpts = {
|
|
45
|
-
...base.parserOpts,
|
|
46
|
-
...override.parserOpts,
|
|
47
|
-
// Merge plugins arrays if both exist
|
|
48
|
-
...(base.parserOpts.plugins || override.parserOpts.plugins
|
|
49
|
-
? {
|
|
50
|
-
plugins: [
|
|
51
|
-
...(base.parserOpts.plugins || []),
|
|
52
|
-
...(override.parserOpts.plugins || []),
|
|
53
|
-
],
|
|
54
|
-
}
|
|
55
|
-
: {}),
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Deep merge generatorOpts if both exist
|
|
60
|
-
if (base.generatorOpts && override.generatorOpts) {
|
|
61
|
-
merged.generatorOpts = {
|
|
62
|
-
...base.generatorOpts,
|
|
63
|
-
...override.generatorOpts,
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return merged
|
|
68
|
-
}
|
|
69
|
-
|
|
70
8
|
export function patchMetroServerWithViteConfigAndMetroPluginOptions(
|
|
71
9
|
metroServer: Server,
|
|
72
10
|
config: ResolvedConfig,
|
|
@@ -85,10 +23,12 @@ export function patchMetroServerWithViteConfigAndMetroPluginOptions(
|
|
|
85
23
|
transformOptions: Parameters<typeof originalTransformFile>[1],
|
|
86
24
|
fileBuffer?: Parameters<typeof originalTransformFile>[2]
|
|
87
25
|
) => {
|
|
88
|
-
|
|
89
|
-
|
|
26
|
+
let babelConfig: TransformOptions = {
|
|
27
|
+
...defaultBabelConfig,
|
|
28
|
+
...options.babelConfig,
|
|
29
|
+
plugins: [...(defaultBabelConfig.plugins || []), ...(options.babelConfig?.plugins || [])],
|
|
30
|
+
}
|
|
90
31
|
|
|
91
|
-
// Apply babelConfigOverrides for full control
|
|
92
32
|
if (options.babelConfigOverrides) {
|
|
93
33
|
babelConfig = options.babelConfigOverrides(babelConfig)
|
|
94
34
|
}
|