@vxrn/vite-plugin-metro 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/index.cjs +7 -2
- package/dist/cjs/index.native.js +6 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.cjs +89 -0
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js +94 -0
- package/dist/cjs/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.cjs +2 -1
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +2 -1
- package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
- package/dist/cjs/plugins/metroPlugin.native.js.map +1 -1
- package/dist/cjs/transformer/babel-transformer.cjs +11 -4
- package/dist/cjs/transformer/babel-transformer.native.js +12 -5
- package/dist/cjs/transformer/babel-transformer.native.js.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs +89 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.mjs.map +1 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js +94 -1
- package/dist/esm/metro-config/getMetroConfigFromViteConfig.native.js.map +1 -1
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs +2 -1
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.mjs.map +1 -1
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js +2 -1
- package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.native.js.map +1 -1
- package/dist/esm/plugins/metroPlugin.mjs.map +1 -1
- package/dist/esm/plugins/metroPlugin.native.js.map +1 -1
- package/dist/esm/transformer/babel-transformer.mjs +11 -4
- package/dist/esm/transformer/babel-transformer.mjs.map +1 -1
- package/dist/esm/transformer/babel-transformer.native.js +12 -5
- package/dist/esm/transformer/babel-transformer.native.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +5 -0
- package/src/metro-config/getMetroConfigFromViteConfig.ts +145 -0
- package/src/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.ts +1 -0
- package/src/plugins/metroPlugin.ts +5 -0
- package/src/transformer/babel-transformer.ts +22 -13
- package/src/transformer/types.ts +5 -0
- package/types/index.d.ts +2 -0
- package/types/index.d.ts.map +1 -1
- package/types/metro-config/getMetroConfigFromViteConfig.d.ts +14 -1
- 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 +5 -0
- package/types/plugins/metroPlugin.d.ts.map +1 -1
- package/types/transformer/babel-transformer.d.ts +1 -0
- package/types/transformer/babel-transformer.d.ts.map +1 -1
- package/types/transformer/types.d.ts +5 -0
- package/types/transformer/types.d.ts.map +1 -1
|
@@ -59,6 +59,151 @@ async function isWatchmanResponsive(projectRoot: string) {
|
|
|
59
59
|
return probe
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
/**
|
|
63
|
+
* Build the Metro config input WITHOUT calling Metro's `loadConfig`. Returns
|
|
64
|
+
* the same shape Metro `loadConfig` expects as its second argument. Use this
|
|
65
|
+
* from a project's `metro.config.cjs` so the outer `loadConfig` (driven by
|
|
66
|
+
* Expo CLI / Metro CLI) is the only one that runs — avoids infinite
|
|
67
|
+
* recursion that would happen if the inner pipeline also called `loadConfig`
|
|
68
|
+
* and re-read the same metro.config.cjs.
|
|
69
|
+
*/
|
|
70
|
+
export async function buildMetroConfigInputFromViteConfig(
|
|
71
|
+
config: ResolvedConfig,
|
|
72
|
+
metroPluginOptions: MetroPluginOptions
|
|
73
|
+
): Promise<{ defaultConfig: any; projectRoot: string; extraConfig: ExtraConfig }> {
|
|
74
|
+
const extraConfig: ExtraConfig = {}
|
|
75
|
+
const projectRoot = resolve(metroPluginOptions.argv?.projectRoot ?? config.root)
|
|
76
|
+
const { mainModuleName, defaultConfigOverrides, watchman, excludeModules } =
|
|
77
|
+
metroPluginOptions
|
|
78
|
+
const useWatchman = watchman ?? (await isWatchmanResponsive(projectRoot))
|
|
79
|
+
|
|
80
|
+
if (watchman === undefined && !useWatchman && !didWarnAboutWatchmanFallback) {
|
|
81
|
+
didWarnAboutWatchmanFallback = true
|
|
82
|
+
console.warn(
|
|
83
|
+
'[vxrn/metro] Watchman is unavailable or unresponsive; falling back to Node file watching.'
|
|
84
|
+
)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const { getDefaultConfig } = await projectImport<{
|
|
88
|
+
getDefaultConfig: typeof getDefaultConfigT
|
|
89
|
+
}>(projectRoot, '@expo/metro-config')
|
|
90
|
+
|
|
91
|
+
const _defaultConfig: MetroInputConfig = getDefaultConfig(projectRoot) as any
|
|
92
|
+
|
|
93
|
+
if (mainModuleName) {
|
|
94
|
+
const origRewriteRequestUrl = _defaultConfig!.server!.rewriteRequestUrl!
|
|
95
|
+
|
|
96
|
+
const resolveMainModuleName: (p: { platform: 'ios' | 'android' }) => string =
|
|
97
|
+
await (async () => {
|
|
98
|
+
const ExpoGoManifestHandlerMiddleware = (
|
|
99
|
+
await projectImport(
|
|
100
|
+
projectRoot,
|
|
101
|
+
'@expo/cli/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js'
|
|
102
|
+
)
|
|
103
|
+
).default.ExpoGoManifestHandlerMiddleware
|
|
104
|
+
|
|
105
|
+
const manifestHandlerMiddleware = new ExpoGoManifestHandlerMiddleware(
|
|
106
|
+
projectRoot,
|
|
107
|
+
{}
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(
|
|
111
|
+
manifestHandlerMiddleware,
|
|
112
|
+
mainModuleName
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
return (p) => {
|
|
116
|
+
return manifestHandlerMiddleware.resolveMainModuleName({
|
|
117
|
+
pkg: { main: mainModuleName },
|
|
118
|
+
platform: p.platform,
|
|
119
|
+
})
|
|
120
|
+
}
|
|
121
|
+
})()
|
|
122
|
+
|
|
123
|
+
extraConfig.getResolveMainModuleName = resolveMainModuleName
|
|
124
|
+
|
|
125
|
+
// @ts-expect-error Metro 0.83 made this read-only in types but we need to patch it
|
|
126
|
+
_defaultConfig!.server!.rewriteRequestUrl = (url) => {
|
|
127
|
+
if (url.includes('/.expo/.virtual-metro-entry.bundle?')) {
|
|
128
|
+
const resolvedMainModulePath = resolveMainModuleName({ platform: 'ios' })
|
|
129
|
+
return url.replace('.expo/.virtual-metro-entry', resolvedMainModulePath)
|
|
130
|
+
}
|
|
131
|
+
return origRewriteRequestUrl(url)
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
const existingBlockList = _defaultConfig?.resolver?.blockList
|
|
136
|
+
const buildOutputExclusions = [
|
|
137
|
+
/[/\\]dist[/\\](?:static|server)(?:[/\\]|$)/,
|
|
138
|
+
/[/\\]tests[/\\][^/\\]+[/\\]dist(?:[/\\]|$)/,
|
|
139
|
+
/[/\\]\.docker(?:[/\\]|$)/,
|
|
140
|
+
/[/\\]\.vite(?:[/\\]|$)/,
|
|
141
|
+
]
|
|
142
|
+
const blockList: RegExp[] = [
|
|
143
|
+
...(existingBlockList
|
|
144
|
+
? Array.isArray(existingBlockList)
|
|
145
|
+
? existingBlockList
|
|
146
|
+
: [existingBlockList]
|
|
147
|
+
: []),
|
|
148
|
+
...buildOutputExclusions,
|
|
149
|
+
]
|
|
150
|
+
|
|
151
|
+
const defaultConfig: MetroInputConfig = {
|
|
152
|
+
..._defaultConfig,
|
|
153
|
+
resolver: {
|
|
154
|
+
..._defaultConfig?.resolver,
|
|
155
|
+
useWatchman,
|
|
156
|
+
blockList,
|
|
157
|
+
sourceExts: ['js', 'jsx', 'json', 'ts', 'tsx', 'mjs', 'cjs'], // `one` related packages are using `.mjs` extensions. This fixes `.native` files not being resolved correctly when `.mjs` files are present.
|
|
158
|
+
resolveRequest: (context, moduleName, platform) => {
|
|
159
|
+
const origResolveRequestFn =
|
|
160
|
+
_defaultConfig?.resolver?.resolveRequest || context.resolveRequest
|
|
161
|
+
|
|
162
|
+
if (excludeModules && excludeModules.length > 0) {
|
|
163
|
+
if (micromatch.isMatch(moduleName, excludeModules)) {
|
|
164
|
+
return origResolveRequestFn(
|
|
165
|
+
context,
|
|
166
|
+
'@vxrn/vite-plugin-metro/empty',
|
|
167
|
+
platform
|
|
168
|
+
)
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// HACK: Do not assert the "import" condition for `@babel/runtime`.
|
|
173
|
+
// Resolves the "TypeError: _interopRequireDefault is not a function (it is Object)" error.
|
|
174
|
+
if (moduleName.startsWith('@babel/runtime')) {
|
|
175
|
+
const contextOverride = {
|
|
176
|
+
...context,
|
|
177
|
+
unstable_conditionNames: context.unstable_conditionNames.filter(
|
|
178
|
+
(c) => c !== 'import'
|
|
179
|
+
),
|
|
180
|
+
}
|
|
181
|
+
return origResolveRequestFn(contextOverride, moduleName, platform)
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
return origResolveRequestFn(context, moduleName, platform)
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
transformer: {
|
|
188
|
+
..._defaultConfig?.transformer,
|
|
189
|
+
babelTransformerPath: projectResolve(
|
|
190
|
+
projectRoot,
|
|
191
|
+
'@vxrn/vite-plugin-metro/babel-transformer'
|
|
192
|
+
),
|
|
193
|
+
},
|
|
194
|
+
reporter: await getTerminalReporter(projectRoot),
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
const merged = {
|
|
198
|
+
...defaultConfig,
|
|
199
|
+
...(typeof defaultConfigOverrides === 'function'
|
|
200
|
+
? defaultConfigOverrides(defaultConfig)
|
|
201
|
+
: defaultConfigOverrides),
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
return { defaultConfig: merged, projectRoot, extraConfig }
|
|
205
|
+
}
|
|
206
|
+
|
|
62
207
|
export async function getMetroConfigFromViteConfig(
|
|
63
208
|
config: ResolvedConfig,
|
|
64
209
|
metroPluginOptions: MetroPluginOptions
|
|
@@ -39,6 +39,7 @@ export function patchMetroServerWithViteConfigAndMetroPluginOptions(
|
|
|
39
39
|
const viteCustomTransformOptions: ViteCustomTransformOptions = {
|
|
40
40
|
// config: server.config,
|
|
41
41
|
babelConfig,
|
|
42
|
+
oneViteMetroBabelConfig: options.oneViteMetroBabelConfig,
|
|
42
43
|
}
|
|
43
44
|
return originalTransformFile(
|
|
44
45
|
filePath,
|
|
@@ -50,6 +50,11 @@ export type MetroPluginOptions = {
|
|
|
50
50
|
/** Consider using babelConfigOverrides instead */
|
|
51
51
|
babelConfig?: TransformOptions
|
|
52
52
|
babelConfigOverrides?: (defaultConfig: TransformOptions) => TransformOptions
|
|
53
|
+
/**
|
|
54
|
+
* internal marker used by one's babel preset to avoid double-applying its
|
|
55
|
+
* plugin chain when one already supplied the vite metro babel config.
|
|
56
|
+
*/
|
|
57
|
+
oneViteMetroBabelConfig?: boolean
|
|
53
58
|
/**
|
|
54
59
|
* Overrides the main module name which is normally defined as the `main` field in `package.json`.
|
|
55
60
|
*
|
|
@@ -33,6 +33,7 @@ export type ExpoBabelCaller = TransformOptions['caller'] & {
|
|
|
33
33
|
platform?: string | null
|
|
34
34
|
routerRoot?: string
|
|
35
35
|
projectRoot: string
|
|
36
|
+
oneViteMetroBabelConfig?: boolean
|
|
36
37
|
}
|
|
37
38
|
|
|
38
39
|
const debug = require('debug')(
|
|
@@ -63,7 +64,10 @@ const memoizeWarning = memoize((message: string) => {
|
|
|
63
64
|
function getBabelCaller({
|
|
64
65
|
filename,
|
|
65
66
|
options,
|
|
66
|
-
|
|
67
|
+
oneViteMetroBabelConfig,
|
|
68
|
+
}: Pick<BabelTransformerArgs, 'filename' | 'options'> & {
|
|
69
|
+
oneViteMetroBabelConfig: boolean
|
|
70
|
+
}): ExpoBabelCaller {
|
|
67
71
|
const isNodeModule = filename.includes('node_modules')
|
|
68
72
|
const isReactServer = options.customTransformOptions?.environment === 'react-server'
|
|
69
73
|
const isGenericServer = options.customTransformOptions?.environment === 'node'
|
|
@@ -117,6 +121,7 @@ function getBabelCaller({
|
|
|
117
121
|
|
|
118
122
|
// Provide the project root for accurately reading the Expo config.
|
|
119
123
|
projectRoot: options.projectRoot,
|
|
124
|
+
oneViteMetroBabelConfig,
|
|
120
125
|
|
|
121
126
|
isNodeModule,
|
|
122
127
|
|
|
@@ -146,22 +151,22 @@ const transform: BabelTransformer['transform'] = ({
|
|
|
146
151
|
// `plugins` is used for `functionMapBabelPlugin` from `metro-source-map`. Could make sense to move this to `babel-preset-expo` too.
|
|
147
152
|
plugins,
|
|
148
153
|
}: BabelTransformerArgs): ReturnType<BabelTransformer['transform']> => {
|
|
154
|
+
const viteCustomTransformOptions = options.customTransformOptions?.vite
|
|
155
|
+
|
|
149
156
|
const customOptionsFromVite: ViteCustomTransformOptions = (() => {
|
|
150
|
-
const c: any =
|
|
157
|
+
const c: any = viteCustomTransformOptions
|
|
158
|
+
// Standalone Metro invocations (expo export, eas update) don't set
|
|
159
|
+
// customTransformOptions.vite — the plugins flow entirely through the
|
|
160
|
+
// project's babel.config.cjs in that case. Tolerate the missing field
|
|
161
|
+
// rather than throwing so a single Metro config can serve both the
|
|
162
|
+
// Vite-driven and standalone paths.
|
|
151
163
|
if (!c || typeof c !== 'object') {
|
|
152
|
-
|
|
153
|
-
`[vite-plugin-metro/babel-transformer]: Expect options.customTransformOptions.vite to be an object, but got ${typeof c}.`
|
|
154
|
-
)
|
|
164
|
+
return { babelConfig: {} } as ViteCustomTransformOptions
|
|
155
165
|
}
|
|
156
|
-
|
|
157
|
-
// if (!c.config) {
|
|
158
|
-
// throw new Error(
|
|
159
|
-
// `[vite-plugin-metro/babel-transformer]: Expect options.customTransformOptions.vite to be an ViteCustomTransformOptions type, but the config property is missing.`
|
|
160
|
-
// )
|
|
161
|
-
// }
|
|
162
|
-
|
|
163
166
|
return c
|
|
164
167
|
})()
|
|
168
|
+
const hasOneViteMetroBabelConfig =
|
|
169
|
+
customOptionsFromVite.oneViteMetroBabelConfig === true
|
|
165
170
|
|
|
166
171
|
const babelConfigFromVitePlugin: TransformOptions =
|
|
167
172
|
customOptionsFromVite.babelConfig || {}
|
|
@@ -207,7 +212,11 @@ const transform: BabelTransformer['transform'] = ({
|
|
|
207
212
|
// ensure the Babel config caching is more accurate.
|
|
208
213
|
// Additionally, by moving everything Babel-related to the Babel preset, it makes it easier for users to reason
|
|
209
214
|
// about the requirements of an Expo project, making it easier to migrate to other transpilers in the future.
|
|
210
|
-
caller: getBabelCaller({
|
|
215
|
+
caller: getBabelCaller({
|
|
216
|
+
filename,
|
|
217
|
+
options,
|
|
218
|
+
oneViteMetroBabelConfig: hasOneViteMetroBabelConfig,
|
|
219
|
+
}),
|
|
211
220
|
}
|
|
212
221
|
|
|
213
222
|
const result = transformSync(src, babelConfig, options)
|
package/src/transformer/types.ts
CHANGED
|
@@ -15,4 +15,9 @@ export type ViteCustomTransformOptions = {
|
|
|
15
15
|
* Vite Metro plugin as the `babelConfig` option.
|
|
16
16
|
*/
|
|
17
17
|
babelConfig?: TransformOptions
|
|
18
|
+
/**
|
|
19
|
+
* internal marker used by one's babel preset to avoid double-applying its
|
|
20
|
+
* plugin chain when one already supplied the vite metro babel config.
|
|
21
|
+
*/
|
|
22
|
+
oneViteMetroBabelConfig?: boolean
|
|
18
23
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -4,4 +4,6 @@ export { expoManifestRequestHandlerPlugin } from './plugins/expoManifestRequestH
|
|
|
4
4
|
export type { ExpoManifestRequestHandlerPluginPluginOptions } from './plugins/expoManifestRequestHandlerPlugin';
|
|
5
5
|
export { getPlatformEnv, getPlatformEnvDefine, metroPlatformToViteEnvironment, type Platform, type PlatformEnv, type ViteEnvironment, } from './env/platformEnv';
|
|
6
6
|
export { checkAndClearMetroCacheFromVite } from './utils/metroCacheManager';
|
|
7
|
+
export { getMetroConfigFromViteConfig, buildMetroConfigInputFromViteConfig, } from './metro-config/getMetroConfigFromViteConfig';
|
|
8
|
+
export { patchMetroServerWithViteConfigAndMetroPluginOptions } from './metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAA;AAC7F,YAAY,EAAE,6CAA6C,EAAE,MAAM,4CAA4C,CAAA;AAC/G,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAA;AAC7F,YAAY,EAAE,6CAA6C,EAAE,MAAM,4CAA4C,CAAA;AAC/G,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,eAAe,GACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAA;AAC3E,OAAO,EACL,4BAA4B,EAC5B,mCAAmC,GACpC,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,mDAAmD,EAAE,MAAM,oEAAoE,CAAA"}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import type { ResolvedConfig } from 'vite';
|
|
2
2
|
import type { MetroPluginOptions } from '../plugins/metroPlugin';
|
|
3
|
-
import type { MetroConfigExtended } from './types';
|
|
3
|
+
import type { ExtraConfig, MetroConfigExtended } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Build the Metro config input WITHOUT calling Metro's `loadConfig`. Returns
|
|
6
|
+
* the same shape Metro `loadConfig` expects as its second argument. Use this
|
|
7
|
+
* from a project's `metro.config.cjs` so the outer `loadConfig` (driven by
|
|
8
|
+
* Expo CLI / Metro CLI) is the only one that runs — avoids infinite
|
|
9
|
+
* recursion that would happen if the inner pipeline also called `loadConfig`
|
|
10
|
+
* and re-read the same metro.config.cjs.
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildMetroConfigInputFromViteConfig(config: ResolvedConfig, metroPluginOptions: MetroPluginOptions): Promise<{
|
|
13
|
+
defaultConfig: any;
|
|
14
|
+
projectRoot: string;
|
|
15
|
+
extraConfig: ExtraConfig;
|
|
16
|
+
}>;
|
|
4
17
|
export declare function getMetroConfigFromViteConfig(config: ResolvedConfig, metroPluginOptions: MetroPluginOptions): Promise<MetroConfigExtended>;
|
|
5
18
|
//# sourceMappingURL=getMetroConfigFromViteConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMetroConfigFromViteConfig.d.ts","sourceRoot":"","sources":["../../src/metro-config/getMetroConfigFromViteConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAc1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"getMetroConfigFromViteConfig.d.ts","sourceRoot":"","sources":["../../src/metro-config/getMetroConfigFromViteConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAc1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AA8C/D;;;;;;;GAOG;AACH,wBAAsB,mCAAmC,CACvD,MAAM,EAAE,cAAc,EACtB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC;IAAE,aAAa,EAAE,GAAG,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC,CAoIhF;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,cAAc,EACtB,kBAAkB,EAAE,kBAAkB,GACrC,OAAO,CAAC,mBAAmB,CAAC,CA+K9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patchMetroServerWithViteConfigAndMetroPluginOptions.d.ts","sourceRoot":"","sources":["../../src/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAIhE,wBAAgB,mDAAmD,CACjE,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"patchMetroServerWithViteConfigAndMetroPluginOptions.d.ts","sourceRoot":"","sources":["../../src/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAIhE,wBAAgB,mDAAmD,CACjE,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,kBAAkB,QA8C5B"}
|
|
@@ -26,6 +26,11 @@ export type MetroPluginOptions = {
|
|
|
26
26
|
/** Consider using babelConfigOverrides instead */
|
|
27
27
|
babelConfig?: TransformOptions;
|
|
28
28
|
babelConfigOverrides?: (defaultConfig: TransformOptions) => TransformOptions;
|
|
29
|
+
/**
|
|
30
|
+
* internal marker used by one's babel preset to avoid double-applying its
|
|
31
|
+
* plugin chain when one already supplied the vite metro babel config.
|
|
32
|
+
*/
|
|
33
|
+
oneViteMetroBabelConfig?: boolean;
|
|
29
34
|
/**
|
|
30
35
|
* Overrides the main module name which is normally defined as the `main` field in `package.json`.
|
|
31
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metroPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/metroPlugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAWxC,OAAO,KAAK,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,OAAO,CAAA;AAMtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAIjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AAEzD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,kBAAkB,CAAA;IACzB,sBAAsB,CAAC,EACnB,gBAAgB,GAChB,CAAC,CAAC,aAAa,EAAE,gBAAgB,KAAK,gBAAgB,CAAC,CAAA;IAC3D;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,kDAAkD;IAClD,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B,oBAAoB,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,KAAK,gBAAgB,CAAA;IAC5E;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAC3B,CAAA;AAED,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,YAAY,CA2Q1E"}
|
|
1
|
+
{"version":3,"file":"metroPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/metroPlugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAWxC,OAAO,KAAK,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,OAAO,CAAA;AAMtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAIjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;AAEzD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,kBAAkB,CAAA;IACzB,sBAAsB,CAAC,EACnB,gBAAgB,GAChB,CAAC,CAAC,aAAa,EAAE,gBAAgB,KAAK,gBAAgB,CAAC,CAAA;IAC3D;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,kDAAkD;IAClD,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B,oBAAoB,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,KAAK,gBAAgB,CAAA;IAC5E;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAC3B,CAAA;AAED,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,YAAY,CA2Q1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babel-transformer.d.ts","sourceRoot":"","sources":["../../src/transformer/babel-transformer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAKpD,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG;IACzD,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"babel-transformer.d.ts","sourceRoot":"","sources":["../../src/transformer/babel-transformer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAKpD,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG;IACzD,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC,CAAA"}
|
|
@@ -12,5 +12,10 @@ export type ViteCustomTransformOptions = {
|
|
|
12
12
|
* Vite Metro plugin as the `babelConfig` option.
|
|
13
13
|
*/
|
|
14
14
|
babelConfig?: TransformOptions;
|
|
15
|
+
/**
|
|
16
|
+
* internal marker used by one's babel preset to avoid double-applying its
|
|
17
|
+
* plugin chain when one already supplied the vite metro babel config.
|
|
18
|
+
*/
|
|
19
|
+
oneViteMetroBabelConfig?: boolean;
|
|
15
20
|
};
|
|
16
21
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transformer/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC;;OAEG;IAEH;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transformer/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG;IACvC;;OAEG;IAEH;;;OAGG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAClC,CAAA"}
|