@vxrn/vite-plugin-metro 1.12.2 → 1.12.4

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.
Files changed (125) hide show
  1. package/dist/esm/index.js +5 -16
  2. package/dist/esm/index.js.map +1 -6
  3. package/package.json +3 -3
  4. package/dist/cjs/babel-plugins/import-meta-env-plugin.js +0 -73
  5. package/dist/cjs/babel-plugins/import-meta-env-plugin.js.map +0 -6
  6. package/dist/cjs/env/platformEnv.js +0 -60
  7. package/dist/cjs/env/platformEnv.js.map +0 -6
  8. package/dist/cjs/index.js +0 -26
  9. package/dist/cjs/index.js.map +0 -6
  10. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.js +0 -39
  11. package/dist/cjs/metro-config/getMetroBabelConfigFromViteConfig.js.map +0 -6
  12. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.js +0 -115
  13. package/dist/cjs/metro-config/getMetroConfigFromViteConfig.js.map +0 -6
  14. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js +0 -51
  15. package/dist/cjs/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js.map +0 -6
  16. package/dist/cjs/metro-config/types.js +0 -14
  17. package/dist/cjs/metro-config/types.js.map +0 -6
  18. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.js +0 -57
  19. package/dist/cjs/plugins/expoManifestRequestHandlerPlugin.js.map +0 -6
  20. package/dist/cjs/plugins/metroPlugin.js +0 -150
  21. package/dist/cjs/plugins/metroPlugin.js.map +0 -6
  22. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.js +0 -75
  23. package/dist/cjs/rn-commands/bundle/assetCatalogIOS.js.map +0 -6
  24. package/dist/cjs/rn-commands/bundle/assetPathUtils.js +0 -62
  25. package/dist/cjs/rn-commands/bundle/assetPathUtils.js.map +0 -6
  26. package/dist/cjs/rn-commands/bundle/buildBundle.js +0 -52
  27. package/dist/cjs/rn-commands/bundle/buildBundle.js.map +0 -6
  28. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.js +0 -73
  29. package/dist/cjs/rn-commands/bundle/buildBundleWithConfig.js.map +0 -6
  30. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.js +0 -40
  31. package/dist/cjs/rn-commands/bundle/filterPlatformAssetScales.js.map +0 -6
  32. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.js +0 -34
  33. package/dist/cjs/rn-commands/bundle/getAssetDestPathAndroid.js.map +0 -6
  34. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.js +0 -40
  35. package/dist/cjs/rn-commands/bundle/getAssetDestPathIOS.js.map +0 -6
  36. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.js +0 -37
  37. package/dist/cjs/rn-commands/bundle/getBuildBundleFn.js.map +0 -6
  38. package/dist/cjs/rn-commands/bundle/index.js +0 -22
  39. package/dist/cjs/rn-commands/bundle/index.js.map +0 -6
  40. package/dist/cjs/rn-commands/bundle/saveAssets.js +0 -96
  41. package/dist/cjs/rn-commands/bundle/saveAssets.js.map +0 -6
  42. package/dist/cjs/rn-commands/bundle/types.js +0 -14
  43. package/dist/cjs/rn-commands/bundle/types.js.map +0 -6
  44. package/dist/cjs/rn-commands/index.js +0 -29
  45. package/dist/cjs/rn-commands/index.js.map +0 -6
  46. package/dist/cjs/transformer/babel-core.js +0 -22
  47. package/dist/cjs/transformer/babel-core.js.map +0 -6
  48. package/dist/cjs/transformer/babel-transformer.js +0 -138
  49. package/dist/cjs/transformer/babel-transformer.js.map +0 -6
  50. package/dist/cjs/transformer/loadBabelConfig.js +0 -52
  51. package/dist/cjs/transformer/loadBabelConfig.js.map +0 -6
  52. package/dist/cjs/transformer/transformSync.js +0 -53
  53. package/dist/cjs/transformer/transformSync.js.map +0 -6
  54. package/dist/cjs/transformer/types.js +0 -14
  55. package/dist/cjs/transformer/types.js.map +0 -6
  56. package/dist/cjs/utils/exit.js +0 -112
  57. package/dist/cjs/utils/exit.js.map +0 -6
  58. package/dist/cjs/utils/getTerminalReporter.js +0 -51
  59. package/dist/cjs/utils/getTerminalReporter.js.map +0 -6
  60. package/dist/cjs/utils/metroCacheManager.js +0 -65
  61. package/dist/cjs/utils/metroCacheManager.js.map +0 -6
  62. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js +0 -32
  63. package/dist/cjs/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js.map +0 -6
  64. package/dist/cjs/utils/projectImport.js +0 -48
  65. package/dist/cjs/utils/projectImport.js.map +0 -6
  66. package/dist/esm/babel-plugins/import-meta-env-plugin.js +0 -51
  67. package/dist/esm/babel-plugins/import-meta-env-plugin.js.map +0 -6
  68. package/dist/esm/env/platformEnv.js +0 -44
  69. package/dist/esm/env/platformEnv.js.map +0 -6
  70. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.js +0 -23
  71. package/dist/esm/metro-config/getMetroBabelConfigFromViteConfig.js.map +0 -6
  72. package/dist/esm/metro-config/getMetroConfigFromViteConfig.js +0 -94
  73. package/dist/esm/metro-config/getMetroConfigFromViteConfig.js.map +0 -6
  74. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js +0 -35
  75. package/dist/esm/metro-config/patchMetroServerWithViteConfigAndMetroPluginOptions.js.map +0 -6
  76. package/dist/esm/metro-config/types.js +0 -1
  77. package/dist/esm/metro-config/types.js.map +0 -6
  78. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.js +0 -43
  79. package/dist/esm/plugins/expoManifestRequestHandlerPlugin.js.map +0 -6
  80. package/dist/esm/plugins/metroPlugin.js +0 -133
  81. package/dist/esm/plugins/metroPlugin.js.map +0 -6
  82. package/dist/esm/rn-commands/bundle/assetCatalogIOS.js +0 -53
  83. package/dist/esm/rn-commands/bundle/assetCatalogIOS.js.map +0 -6
  84. package/dist/esm/rn-commands/bundle/assetPathUtils.js +0 -46
  85. package/dist/esm/rn-commands/bundle/assetPathUtils.js.map +0 -6
  86. package/dist/esm/rn-commands/bundle/buildBundle.js +0 -40
  87. package/dist/esm/rn-commands/bundle/buildBundle.js.map +0 -6
  88. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.js +0 -53
  89. package/dist/esm/rn-commands/bundle/buildBundleWithConfig.js.map +0 -6
  90. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.js +0 -24
  91. package/dist/esm/rn-commands/bundle/filterPlatformAssetScales.js.map +0 -6
  92. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.js +0 -11
  93. package/dist/esm/rn-commands/bundle/getAssetDestPathAndroid.js.map +0 -6
  94. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.js +0 -16
  95. package/dist/esm/rn-commands/bundle/getAssetDestPathIOS.js.map +0 -6
  96. package/dist/esm/rn-commands/bundle/getBuildBundleFn.js +0 -22
  97. package/dist/esm/rn-commands/bundle/getBuildBundleFn.js.map +0 -6
  98. package/dist/esm/rn-commands/bundle/index.js +0 -7
  99. package/dist/esm/rn-commands/bundle/index.js.map +0 -6
  100. package/dist/esm/rn-commands/bundle/saveAssets.js +0 -82
  101. package/dist/esm/rn-commands/bundle/saveAssets.js.map +0 -6
  102. package/dist/esm/rn-commands/bundle/types.js +0 -1
  103. package/dist/esm/rn-commands/bundle/types.js.map +0 -6
  104. package/dist/esm/rn-commands/index.js +0 -5
  105. package/dist/esm/rn-commands/index.js.map +0 -6
  106. package/dist/esm/transformer/babel-core.js +0 -9
  107. package/dist/esm/transformer/babel-core.js.map +0 -6
  108. package/dist/esm/transformer/babel-transformer.js +0 -119
  109. package/dist/esm/transformer/babel-transformer.js.map +0 -6
  110. package/dist/esm/transformer/loadBabelConfig.js +0 -29
  111. package/dist/esm/transformer/loadBabelConfig.js.map +0 -6
  112. package/dist/esm/transformer/transformSync.js +0 -29
  113. package/dist/esm/transformer/transformSync.js.map +0 -6
  114. package/dist/esm/transformer/types.js +0 -1
  115. package/dist/esm/transformer/types.js.map +0 -6
  116. package/dist/esm/utils/exit.js +0 -90
  117. package/dist/esm/utils/exit.js.map +0 -6
  118. package/dist/esm/utils/getTerminalReporter.js +0 -28
  119. package/dist/esm/utils/getTerminalReporter.js.map +0 -6
  120. package/dist/esm/utils/metroCacheManager.js +0 -51
  121. package/dist/esm/utils/metroCacheManager.js.map +0 -6
  122. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js +0 -16
  123. package/dist/esm/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js.map +0 -6
  124. package/dist/esm/utils/projectImport.js +0 -25
  125. package/dist/esm/utils/projectImport.js.map +0 -6
@@ -1,119 +0,0 @@
1
- import assert from "node:assert";
2
- import { loadBabelConfig } from "./loadBabelConfig";
3
- import { transformSync } from "./transformSync";
4
- const debug = require("debug")(
5
- "expo:metro-config:babel-transformer"
6
- );
7
- function isCustomTruthy(value) {
8
- return String(value) === "true";
9
- }
10
- function memoize(fn) {
11
- const cache = /* @__PURE__ */ new Map();
12
- return ((...args) => {
13
- const key = JSON.stringify(args);
14
- if (cache.has(key))
15
- return cache.get(key);
16
- const result = fn(...args);
17
- return cache.set(key, result), result;
18
- });
19
- }
20
- const memoizeWarning = memoize((message) => {
21
- debug(message);
22
- });
23
- function getBabelCaller({
24
- filename,
25
- options
26
- }) {
27
- const isNodeModule = filename.includes("node_modules"), isReactServer = options.customTransformOptions?.environment === "react-server", isGenericServer = options.customTransformOptions?.environment === "node", isServer = isReactServer || isGenericServer, routerRoot = typeof options.customTransformOptions?.routerRoot == "string" ? decodeURI(options.customTransformOptions.routerRoot) : void 0;
28
- return routerRoot == null && memoizeWarning(
29
- "Warning: Missing transform.routerRoot option in Metro bundling request, falling back to `app` as routes directory. This can occur if you bundle without Expo CLI or expo/metro-config."
30
- ), {
31
- name: "metro",
32
- bundler: "metro",
33
- platform: options.platform,
34
- // Empower the babel preset to know the env it's bundling for.
35
- // Metro automatically updates the cache to account for the custom transform options.
36
- isServer,
37
- // Enable React Server Component rules for AST. The naming maps to the resolver property `--conditions=react-server`.
38
- isReactServer,
39
- // The base url to make requests from, used for hosting from non-standard locations.
40
- baseUrl: typeof options.customTransformOptions?.baseUrl == "string" ? decodeURI(options.customTransformOptions.baseUrl) : "",
41
- // Ensure we always use a mostly-valid router root.
42
- routerRoot: routerRoot ?? "app",
43
- isDev: options.dev,
44
- // This value indicates if the user has disabled the feature or not.
45
- // Other criteria may still cause the feature to be disabled, but all inputs used are
46
- // already considered in the cache key.
47
- preserveEnvVars: isCustomTruthy(options.customTransformOptions?.preserveEnvVars) ? !0 : void 0,
48
- asyncRoutes: isCustomTruthy(options.customTransformOptions?.asyncRoutes) ? !0 : void 0,
49
- // Pass the engine to babel so we can automatically transpile for the correct
50
- // target environment.
51
- engine: stringOrUndefined(options.customTransformOptions?.engine),
52
- // Provide the project root for accurately reading the Expo config.
53
- projectRoot: options.projectRoot,
54
- isNodeModule,
55
- isHMREnabled: options.dev,
56
- // Set the standard Babel flag to disable ESM transformations.
57
- supportsStaticESM: isCustomTruthy(options.customTransformOptions?.optimize) || options.experimentalImportSupport,
58
- // Enable React compiler support in Babel.
59
- // TODO: Remove this in the future when compiler is on by default.
60
- supportsReactCompiler: isCustomTruthy(options.customTransformOptions?.reactCompiler) ? !0 : void 0
61
- };
62
- }
63
- function stringOrUndefined(value) {
64
- return typeof value == "string" ? value : void 0;
65
- }
66
- const transform = ({
67
- filename,
68
- src,
69
- options,
70
- // `plugins` is used for `functionMapBabelPlugin` from `metro-source-map`. Could make sense to move this to `babel-preset-expo` too.
71
- plugins
72
- }) => {
73
- const babelConfigFromVitePlugin = (() => {
74
- const c = options.customTransformOptions?.vite;
75
- if (!c || typeof c != "object")
76
- throw new Error(
77
- `[vite-plugin-metro/babel-transformer]: Expect options.customTransformOptions.vite to be an object, but got ${typeof c}.`
78
- );
79
- return c;
80
- })().babelConfig || {}, OLD_BABEL_ENV = process.env.BABEL_ENV;
81
- process.env.BABEL_ENV = options.dev ? "development" : process.env.BABEL_ENV || "production";
82
- try {
83
- const babelConfig = {
84
- // ES modules require sourceType='module' but OSS may not always want that
85
- sourceType: "unambiguous",
86
- // The output we want from Babel methods
87
- ast: !0,
88
- code: !1,
89
- // NOTE(EvanBacon): We split the parse/transform steps up to accommodate
90
- // Hermes parsing, but this defaults to cloning the AST which increases
91
- // the transformation time by a fair amount.
92
- // You get this behavior by default when using Babel's `transform` method directly.
93
- cloneInputAst: !1,
94
- // Options for debugging
95
- cwd: options.projectRoot,
96
- filename,
97
- highlightCode: !0,
98
- ...babelConfigFromVitePlugin,
99
- ...loadBabelConfig(options),
100
- babelrc: typeof options.enableBabelRCLookup == "boolean" ? options.enableBabelRCLookup : !0,
101
- plugins: [...babelConfigFromVitePlugin.plugins || [], ...plugins],
102
- // NOTE(EvanBacon): We heavily leverage the caller functionality to mutate the babel config.
103
- // This compensates for the lack of a format plugin system in Metro. Users can modify the
104
- // all (most) of the transforms in their local Babel config.
105
- // This also helps us keep the transform layers small and focused on a single task. We can also use this to
106
- // ensure the Babel config caching is more accurate.
107
- // Additionally, by moving everything Babel-related to the Babel preset, it makes it easier for users to reason
108
- // about the requirements of an Expo project, making it easier to migrate to other transpilers in the future.
109
- caller: getBabelCaller({ filename, options })
110
- }, result = transformSync(src, babelConfig, options);
111
- return result ? (assert(result.ast), { ast: result.ast, metadata: result.metadata }) : { ast: null };
112
- } finally {
113
- OLD_BABEL_ENV && (process.env.BABEL_ENV = OLD_BABEL_ENV);
114
- }
115
- }, babelTransformer = {
116
- transform
117
- };
118
- module.exports = babelTransformer;
119
- //# sourceMappingURL=babel-transformer.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/transformer/babel-transformer.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,29 +0,0 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- const loadBabelConfig = /* @__PURE__ */ (() => {
4
- let babelRC = null;
5
- return function({ projectRoot }) {
6
- if (babelRC !== null)
7
- return babelRC;
8
- if (babelRC = {}, projectRoot) {
9
- const foundBabelRCPath = [
10
- ".babelrc",
11
- ".babelrc.js",
12
- "babel.config.js",
13
- "babel.config.cjs",
14
- "babel.config.mjs"
15
- ].find(
16
- (configFileName) => fs.existsSync(path.resolve(projectRoot, configFileName))
17
- );
18
- foundBabelRCPath && (babelRC.extends = path.resolve(projectRoot, foundBabelRCPath));
19
- }
20
- return babelRC.extends || (babelRC.presets = [
21
- // { plugins: [transformImportMetaGlobPlugin] }, // Added to support Vite's `import.meta.glob`
22
- require("babel-preset-expo")
23
- ]), babelRC;
24
- };
25
- })();
26
- export {
27
- loadBabelConfig
28
- };
29
- //# sourceMappingURL=loadBabelConfig.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/transformer/loadBabelConfig.ts"],
4
- "mappings": "AAOA,OAAO,QAAQ;AACf,OAAO,UAAU;AASV,MAAM,kBAAmB,uBAAM;AACpC,MAAI,UAAgE;AAEpE,SAAO,SAAqB,EAAE,YAAY,GAA4B;AACpE,QAAI,YAAY;AACd,aAAO;AAKT,QAFA,UAAU,CAAC,GAEP,aAAa;AAWf,YAAM,mBARuB;AAAA,QAC3B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAE8C;AAAA,QAAK,CAAC,mBAClD,GAAG,WAAW,KAAK,QAAQ,aAAa,cAAc,CAAC;AAAA,MACzD;AAGA,MAAI,qBACF,QAAQ,UAAU,KAAK,QAAQ,aAAa,gBAAgB;AAAA,IAEhE;AAGA,WAAK,QAAQ,YACX,QAAQ,UAAU;AAAA;AAAA,MAEhB,QAAQ,mBAAmB;AAAA,IAC7B,IAGK;AAAA,EACT;AACF,GAAG;",
5
- "names": []
6
- }
@@ -1,29 +0,0 @@
1
- import * as babel from "./babel-core";
2
- function isTypeScriptSource(fileName) {
3
- return fileName?.endsWith(".ts");
4
- }
5
- function isTSXSource(fileName) {
6
- return fileName?.endsWith(".tsx");
7
- }
8
- function transformSync(src, babelConfig, { hermesParser }) {
9
- const isTypeScript = isTypeScriptSource(babelConfig.filename) || isTSXSource(babelConfig.filename);
10
- return isTypeScript ? parseWithBabel(src, babelConfig) : !isTypeScript && // The Hermes parser doesn't support comments or babel proposals such as export default from, meaning it has lower compatibility with larger parts
11
- // of the ecosystem.
12
- // However, React Native ships with flow syntax that isn't supported in Babel so we need to use Hermes for those files.
13
- // We can try to quickly detect if the file uses flow syntax by checking for the @flow pragma which is present in every React Native file.
14
- (hermesParser || src.includes(" @flow")) ? parseWithHermes(src, babelConfig) : parseWithBabel(src, babelConfig);
15
- }
16
- function parseWithHermes(src, babelConfig) {
17
- const sourceAst = require("hermes-parser").parse(src, {
18
- babel: !0,
19
- sourceType: babelConfig.sourceType
20
- });
21
- return babel.transformFromAstSync(sourceAst, src, babelConfig);
22
- }
23
- function parseWithBabel(src, babelConfig) {
24
- return babel.transformSync(src, babelConfig);
25
- }
26
- export {
27
- transformSync
28
- };
29
- //# sourceMappingURL=transformSync.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/transformer/transformSync.ts"],
4
- "mappings": "AAMA,YAAY,WAAW;AAGvB,SAAS,mBAAmB,UAA2B;AACrD,SAAO,UAAU,SAAS,KAAK;AACjC;AAEA,SAAS,YAAY,UAA2B;AAC9C,SAAO,UAAU,SAAS,MAAM;AAClC;AAEO,SAAS,cACd,KACA,aACA,EAAE,aAAa,GACf;AACA,QAAM,eACJ,mBAAmB,YAAY,QAAS,KAAK,YAAY,YAAY,QAAS;AAEhF,SAAI,eACK,eAAe,KAAK,WAAW,IAItC,CAAC;AAAA;AAAA;AAAA;AAAA,GAKA,gBAAgB,IAAI,SAAS,QAAQ,KAE/B,gBAAgB,KAAK,WAAW,IAGlC,eAAe,KAAK,WAAW;AACxC;AAEA,SAAS,gBAAgB,KAAa,aAAqC;AACzE,QAAM,YAAY,QAAQ,eAAe,EAAE,MAAM,KAAK;AAAA,IACpD,OAAO;AAAA,IACP,YAAY,YAAY;AAAA,EAC1B,CAAC;AACD,SAAO,MAAM,qBAAqB,WAAW,KAAK,WAAW;AAC/D;AAEA,SAAS,eAAe,KAAa,aAAqC;AACxE,SAAO,MAAM,cAAc,KAAK,WAAW;AAC7C;",
5
- "names": []
6
- }
@@ -1 +0,0 @@
1
- //# sourceMappingURL=types.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "mappings": "",
5
- "names": []
6
- }
@@ -1,90 +0,0 @@
1
- import { ChildProcess } from "node:child_process";
2
- import process from "node:process";
3
- import colors from "picocolors";
4
- const debug = ((..._) => {
5
- }), PRE_EXIT_SIGNALS = ["SIGHUP", "SIGINT", "SIGTERM", "SIGBREAK"], queue = [];
6
- let unsubscribe = null;
7
- function installExitHooks(asyncExitHook) {
8
- return queue.length || (unsubscribe = attachMasterListener()), queue.push(asyncExitHook), () => {
9
- const index = queue.indexOf(asyncExitHook);
10
- index >= 0 && queue.splice(index, 1), queue.length || unsubscribe?.();
11
- };
12
- }
13
- function createExitHook(signal) {
14
- return guardAsync(async () => {
15
- debug(`pre-exit (signal: ${signal}, queue length: ${queue.length})`);
16
- for (const [index, hookAsync] of Object.entries(queue))
17
- try {
18
- await hookAsync(signal);
19
- } catch (error) {
20
- debug(`Error in exit hook: %O (queue: ${index})`, error);
21
- }
22
- debug(`post-exit (code: ${process.exitCode ?? 0})`), process.exit();
23
- });
24
- }
25
- function attachMasterListener() {
26
- const hooks = [];
27
- for (const signal of PRE_EXIT_SIGNALS) {
28
- const hook = createExitHook(signal);
29
- hooks.push([signal, hook]), process.on(signal, hook);
30
- }
31
- return () => {
32
- for (const [signal, hook] of hooks)
33
- process.removeListener(signal, hook);
34
- };
35
- }
36
- function ensureProcessExitsAfterDelay(waitUntilExitMs = 1e4, startedAtMs = Date.now()) {
37
- const expectedResources = [
38
- process.stdout.isTTY ? "TTYWrap" : "PipeWrap",
39
- process.stderr.isTTY ? "TTYWrap" : "PipeWrap",
40
- process.stdin.isTTY ? "TTYWrap" : "PipeWrap"
41
- ], activeResources = process.getActiveResourcesInfo(), unexpectedActiveResources = activeResources.filter((activeResource) => {
42
- const index = expectedResources.indexOf(activeResource);
43
- return index >= 0 ? (expectedResources.splice(index, 1), !1) : !0;
44
- });
45
- if (!unexpectedActiveResources.length)
46
- return debug("no active resources detected, process can safely exit");
47
- if (debug(
48
- "process is trying to exit, but is stuck on unexpected active resources:",
49
- unexpectedActiveResources
50
- ), Date.now() - startedAtMs > waitUntilExitMs)
51
- return debug(
52
- "active handles detected past the exit delay, forcefully exiting:",
53
- activeResources
54
- ), tryWarnActiveProcesses(), process.exit(0);
55
- const timeoutId = setTimeout(() => {
56
- clearTimeout(timeoutId), ensureProcessExitsAfterDelay(waitUntilExitMs, startedAtMs);
57
- }, 100);
58
- }
59
- function tryWarnActiveProcesses() {
60
- let activeProcesses = [];
61
- try {
62
- const children = process._getActiveHandles().filter((handle) => handle instanceof ChildProcess);
63
- children.length && (activeProcesses = children.map((child) => child.spawnargs.join(" ")));
64
- } catch (error) {
65
- debug("failed to get active process information:", error);
66
- }
67
- if (!activeProcesses.length)
68
- warn("Something prevented Expo from exiting, forcefully exiting now.");
69
- else {
70
- const singularOrPlural = activeProcesses.length === 1 ? "1 process" : `${activeProcesses.length} processes`;
71
- warn(
72
- `Detected ${singularOrPlural} preventing process from exiting, forcefully exiting now.`
73
- ), warn(" - " + activeProcesses.join(`
74
- - `));
75
- }
76
- }
77
- function guardAsync(fn) {
78
- let invoked = !1, returnValue;
79
- return async (...args) => (invoked || (invoked = !0, returnValue = await fn(...args)), returnValue);
80
- }
81
- function warn(...message) {
82
- console.warn(...message.map((value) => colors.yellow(value)));
83
- }
84
- export {
85
- ensureProcessExitsAfterDelay,
86
- guardAsync,
87
- installExitHooks,
88
- warn
89
- };
90
- //# sourceMappingURL=exit.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utils/exit.ts"],
4
- "mappings": "AAMA,SAAS,oBAAoB;AAC7B,OAAO,aAAa;AAEpB,OAAO,YAAY;AAEnB,MAAM,SAAS,IAAI,MAAW;AAAC,IAIzB,mBAAqC,CAAC,UAAU,UAAU,WAAW,UAAU,GAI/E,QAAyB,CAAC;AAEhC,IAAI,cAAmC;AAGhC,SAAS,iBAAiB,eAA0C;AAEzE,SAAK,MAAM,WAET,cAAc,qBAAqB,IAGrC,MAAM,KAAK,aAAa,GAEjB,MAAM;AACX,UAAM,QAAQ,MAAM,QAAQ,aAAa;AACzC,IAAI,SAAS,KACX,MAAM,OAAO,OAAO,CAAC,GAGlB,MAAM,UACT,cAAc;AAAA,EAElB;AACF;AAGA,SAAS,eAAe,QAAwB;AAC9C,SAAO,WAAW,YAAY;AAC5B,UAAM,qBAAqB,MAAM,mBAAmB,MAAM,MAAM,GAAG;AAEnE,eAAW,CAAC,OAAO,SAAS,KAAK,OAAO,QAAQ,KAAK;AACnD,UAAI;AACF,cAAM,UAAU,MAAM;AAAA,MACxB,SAAS,OAAY;AACnB,cAAM,kCAAkC,KAAK,KAAK,KAAK;AAAA,MACzD;AAGF,UAAM,oBAAoB,QAAQ,YAAY,CAAC,GAAG,GAElD,QAAQ,KAAK;AAAA,EACf,CAAC;AACH;AAEA,SAAS,uBAAuB;AAC9B,QAAM,QAAuC,CAAC;AAC9C,aAAW,UAAU,kBAAkB;AACrC,UAAM,OAAO,eAAe,MAAM;AAClC,UAAM,KAAK,CAAC,QAAQ,IAAI,CAAC,GACzB,QAAQ,GAAG,QAAQ,IAAI;AAAA,EACzB;AACA,SAAO,MAAM;AACX,eAAW,CAAC,QAAQ,IAAI,KAAK;AAC3B,cAAQ,eAAe,QAAQ,IAAI;AAAA,EAEvC;AACF;AAQO,SAAS,6BACd,kBAAkB,KAClB,cAAc,KAAK,IAAI,GACvB;AAGA,QAAM,oBAAoB;AAAA,IACxB,QAAQ,OAAO,QAAQ,YAAY;AAAA,IACnC,QAAQ,OAAO,QAAQ,YAAY;AAAA,IACnC,QAAQ,MAAM,QAAQ,YAAY;AAAA,EACpC,GAEM,kBAAkB,QAAQ,uBAAuB,GAEjD,4BAA4B,gBAAgB,OAAO,CAAC,mBAAmB;AAC3E,UAAM,QAAQ,kBAAkB,QAAQ,cAAc;AACtD,WAAI,SAAS,KACX,kBAAkB,OAAO,OAAO,CAAC,GAC1B,MAGF;AAAA,EACT,CAAC;AAGD,MADuB,CAAC,0BAA0B;AAEhD,WAAO,MAAM,uDAAuD;AAStE,MAPA;AAAA,IACE;AAAA,IACA;AAAA,EACF,GAGoB,KAAK,IAAI,IAAI,cACf;AAChB;AAAA,MACE;AAAA,MACA;AAAA,IACF,GACA,uBAAuB,GAChB,QAAQ,KAAK,CAAC;AAGvB,QAAM,YAAY,WAAW,MAAM;AAEjC,iBAAa,SAAS,GAEtB,6BAA6B,iBAAiB,WAAW;AAAA,EAC3D,GAAG,GAAG;AACR;AAcA,SAAS,yBAAyB;AAChC,MAAI,kBAA4B,CAAC;AAEjC,MAAI;AACF,UAAM,WAA2B,QAE9B,kBAAkB,EAClB,OAAO,CAAC,WAAgB,kBAAkB,YAAY;AAEzD,IAAI,SAAS,WACX,kBAAkB,SAAS,IAAI,CAAC,UAAU,MAAM,UAAU,KAAK,GAAG,CAAC;AAAA,EAEvE,SAAS,OAAO;AACd,UAAM,6CAA6C,KAAK;AAAA,EAC1D;AAEA,MAAI,CAAC,gBAAgB;AACnB,SAAK,gEAAgE;AAAA,OAChE;AACL,UAAM,mBACJ,gBAAgB,WAAW,IAAI,cAAc,GAAG,gBAAgB,MAAM;AAExE;AAAA,MACE,YAAY,gBAAgB;AAAA,IAC9B,GACA,KAAK,SAAS,gBAAgB,KAAK;AAAA,KAAQ,CAAC;AAAA,EAC9C;AACF;AAGO,SAAS,WAAwD,IAAU;AAChF,MAAI,UAAU,IACV;AAWJ,SATmB,UAAU,UACtB,YACH,UAAU,IACV,cAAc,MAAM,GAAG,GAAG,IAAI,IAGzB;AAIX;AACO,SAAS,QAAQ,SAAyB;AAC/C,UAAQ,KAAK,GAAG,QAAQ,IAAI,CAAC,UAAU,OAAO,OAAO,KAAK,CAAC,CAAC;AAC9D;",
5
- "names": []
6
- }
@@ -1,28 +0,0 @@
1
- import colors from "picocolors";
2
- import { projectImport } from "./projectImport";
3
- async function getTerminalReporter(projectRoot) {
4
- const { Terminal, TerminalReporter } = await projectImport(projectRoot, "metro");
5
- let metroWelcomeMessagePrinted = !1;
6
- const terminal = new Terminal(process.stdout);
7
- terminal._log = terminal.log, terminal.log = (message, ...rest) => {
8
- if (!metroWelcomeMessagePrinted) {
9
- const match = message.match(/Welcome to Metro.+v(\d+\.\d+\.\d+)/);
10
- if (match) {
11
- const version = match[1];
12
- return metroWelcomeMessagePrinted = !0, terminal._log(
13
- colors.dim(`
14
- Using Metro Bundler v${version}`),
15
- ...rest
16
- );
17
- }
18
- }
19
- return terminal._log(message, ...rest);
20
- };
21
- const terminalReporter = new TerminalReporter(terminal);
22
- return terminalReporter._logInitializing = () => {
23
- }, terminalReporter;
24
- }
25
- export {
26
- getTerminalReporter
27
- };
28
- //# sourceMappingURL=getTerminalReporter.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utils/getTerminalReporter.ts"],
4
- "mappings": "AAIA,OAAO,YAAY;AAEnB,SAAS,qBAAqB;AAE9B,eAAsB,oBAAoB,aAAqB;AAC7D,QAAM,EAAE,UAAU,iBAAiB,IAAI,MAAM,cAG1C,aAAa,OAAO;AAEvB,MAAI,6BAA6B;AAEjC,QAAM,WAAW,IAAI,SAAS,QAAQ,MAAM;AAC3C,EAAC,SAAiB,OAAO,SAAS,KACnC,SAAS,MAAM,CAAC,YAAY,SAAS;AAGnC,QAAI,CAAC,4BAA4B;AAC/B,YAAM,QAAQ,QAAQ,MAAM,oCAAoC;AAChE,UAAI,OAAO;AACT,cAAM,UAAU,MAAM,CAAC;AACvB,4CAA6B,IACrB,SAAiB;AAAA,UACvB,OAAO,IAAI;AAAA,yBAA4B,OAAO,EAAE;AAAA,UAChD,GAAG;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAEA,WAAQ,SAAiB,KAAK,SAAS,GAAG,IAAI;AAAA,EAChD;AAGA,QAAM,mBAAmB,IAAI,iBAAiB,QAAQ;AAIrD,SAAC,iBAAyB,mBAAmB,MAAM;AAAA,EAAC,GAE9C;AACT;",
5
- "names": []
6
- }
@@ -1,51 +0,0 @@
1
- import { existsSync, mkdirSync, readFileSync, writeFileSync, rmSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { createDebugger } from "@vxrn/debug";
4
- const { debug } = createDebugger("vite-plugin-metro:cache"), CACHE_METADATA_FILE = "_vite_metro_metadata.json";
5
- function getMetroCacheDir(root) {
6
- return join(root, "node_modules", ".cache", "vite-plugin-metro");
7
- }
8
- function getMetroCachePaths(root) {
9
- const paths = [];
10
- return paths.push(join(root, "node_modules", ".cache", "metro")), paths.push(join(root, "node_modules", ".cache", "babel-loader")), paths.push(join(root, "node_modules", ".cache", "haste-map")), paths;
11
- }
12
- function readCacheMetadata(cacheDir) {
13
- const metadataPath = join(cacheDir, CACHE_METADATA_FILE);
14
- if (!existsSync(metadataPath)) return null;
15
- try {
16
- return JSON.parse(readFileSync(metadataPath, "utf-8"));
17
- } catch {
18
- return null;
19
- }
20
- }
21
- function writeCacheMetadata(cacheDir, metadata) {
22
- existsSync(cacheDir) || mkdirSync(cacheDir, { recursive: !0 }), writeFileSync(join(cacheDir, CACHE_METADATA_FILE), JSON.stringify(metadata, null, 2));
23
- }
24
- function clearMetroCache(root) {
25
- const paths = getMetroCachePaths(root);
26
- for (const cachePath of paths)
27
- if (existsSync(cachePath))
28
- try {
29
- rmSync(cachePath, { recursive: !0, force: !0 }), debug?.(`Cleared cache: ${cachePath}`);
30
- } catch (e) {
31
- debug?.(`Failed to clear cache ${cachePath}: ${e}`);
32
- }
33
- process.env.METRO_RESET_CACHE = "1";
34
- }
35
- const PLUGIN_VERSION = "1";
36
- function checkAndClearMetroCacheFromVite(server, logger) {
37
- const { root } = server.config, cacheDir = getMetroCacheDir(root), depsOptimizer = server.environments.client?.depsOptimizer;
38
- if (!depsOptimizer)
39
- return debug?.("No depsOptimizer available, skipping Metro cache check"), !1;
40
- const { lockfileHash, configHash } = depsOptimizer.metadata, currentMetadata = {
41
- lockfileHash,
42
- configHash,
43
- pluginVersion: PLUGIN_VERSION
44
- }, cachedMetadata = readCacheMetadata(cacheDir);
45
- let shouldClear = !1, reason = "";
46
- return cachedMetadata ? (cachedMetadata.pluginVersion !== PLUGIN_VERSION ? (shouldClear = !0, reason = "vite-plugin-metro was updated") : cachedMetadata.lockfileHash !== lockfileHash ? (shouldClear = !0, reason = "lockfile has changed") : cachedMetadata.configHash !== configHash && (shouldClear = !0, reason = "vite config has changed"), shouldClear ? (logger.info(`Clearing Metro cache because ${reason}`, { timestamp: !0 }), clearMetroCache(root), writeCacheMetadata(cacheDir, currentMetadata), !0) : !1) : (writeCacheMetadata(cacheDir, currentMetadata), !1);
47
- }
48
- export {
49
- checkAndClearMetroCacheFromVite
50
- };
51
- //# sourceMappingURL=metroCacheManager.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utils/metroCacheManager.ts"],
4
- "mappings": "AAAA,SAAS,YAAY,WAAW,cAAc,eAAe,cAAc;AAC3E,SAAS,YAAY;AAErB,SAAS,sBAAsB;AAE/B,MAAM,EAAE,MAAM,IAAI,eAAe,yBAAyB,GAEpD,sBAAsB;AAW5B,SAAS,iBAAiB,MAAsB;AAE9C,SAAO,KAAK,MAAM,gBAAgB,UAAU,mBAAmB;AACjE;AAKA,SAAS,mBAAmB,MAAwB;AAClD,QAAM,QAAkB,CAAC;AAGzB,eAAM,KAAK,KAAK,MAAM,gBAAgB,UAAU,OAAO,CAAC,GACxD,MAAM,KAAK,KAAK,MAAM,gBAAgB,UAAU,cAAc,CAAC,GAC/D,MAAM,KAAK,KAAK,MAAM,gBAAgB,UAAU,WAAW,CAAC,GAErD;AACT;AAKA,SAAS,kBAAkB,UAAwC;AACjE,QAAM,eAAe,KAAK,UAAU,mBAAmB;AACvD,MAAI,CAAC,WAAW,YAAY,EAAG,QAAO;AAEtC,MAAI;AACF,WAAO,KAAK,MAAM,aAAa,cAAc,OAAO,CAAC;AAAA,EACvD,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAKA,SAAS,mBAAmB,UAAkB,UAA+B;AAC3E,EAAK,WAAW,QAAQ,KACtB,UAAU,UAAU,EAAE,WAAW,GAAK,CAAC,GAEzC,cAAc,KAAK,UAAU,mBAAmB,GAAG,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AACtF;AAKA,SAAS,gBAAgB,MAAoB;AAC3C,QAAM,QAAQ,mBAAmB,IAAI;AAErC,aAAW,aAAa;AACtB,QAAI,WAAW,SAAS;AACtB,UAAI;AACF,eAAO,WAAW,EAAE,WAAW,IAAM,OAAO,GAAK,CAAC,GAClD,QAAQ,kBAAkB,SAAS,EAAE;AAAA,MACvC,SAAS,GAAG;AACV,gBAAQ,yBAAyB,SAAS,KAAK,CAAC,EAAE;AAAA,MACpD;AAKJ,UAAQ,IAAI,oBAAoB;AAClC;AAGA,MAAM,iBAAiB;AAOhB,SAAS,gCACd,QACA,QACS;AACT,QAAM,EAAE,KAAK,IAAI,OAAO,QAClB,WAAW,iBAAiB,IAAI,GAGhC,gBAAgB,OAAO,aAAa,QAAQ;AAClD,MAAI,CAAC;AACH,mBAAQ,wDAAwD,GACzD;AAGT,QAAM,EAAE,cAAc,WAAW,IAAI,cAAc,UAE7C,kBAAiC;AAAA,IACrC;AAAA,IACA;AAAA,IACA,eAAe;AAAA,EACjB,GAEM,iBAAiB,kBAAkB,QAAQ;AAEjD,MAAI,cAAc,IACd,SAAS;AAEb,SAAK,kBAMD,eAAe,kBAAkB,kBACnC,cAAc,IACd,SAAS,mCACA,eAAe,iBAAiB,gBACzC,cAAc,IACd,SAAS,0BACA,eAAe,eAAe,eACvC,cAAc,IACd,SAAS,4BAGP,eACF,OAAO,KAAK,gCAAgC,MAAM,IAAI,EAAE,WAAW,GAAK,CAAC,GACzE,gBAAgB,IAAI,GACpB,mBAAmB,UAAU,eAAe,GACrC,MAGF,OAtBL,mBAAmB,UAAU,eAAe,GACrC;AAsBX;",
5
- "names": []
6
- }
@@ -1,16 +0,0 @@
1
- function patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName(manifestHandlerMiddleware, mainModuleName) {
2
- const origResolveMainModuleName = manifestHandlerMiddleware.resolveMainModuleName.bind(
3
- manifestHandlerMiddleware
4
- );
5
- manifestHandlerMiddleware.resolveMainModuleName = (props) => origResolveMainModuleName({
6
- ...props,
7
- pkg: {
8
- ...props.pkg,
9
- main: mainModuleName
10
- }
11
- });
12
- }
13
- export {
14
- patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName
15
- };
16
- //# sourceMappingURL=patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utils/patchExpoGoManifestHandlerMiddlewareWithCustomMainModuleName.ts"],
4
- "mappings": "AAGO,SAAS,6DACd,2BACA,gBACA;AASA,QAAM,4BAA4B,0BAA0B,sBAAsB;AAAA,IAChF;AAAA,EACF;AACA,4BAA0B,wBAAwB,CAAC,UAC1C,0BAA0B;AAAA,IAC/B,GAAG;AAAA,IACH,KAAK;AAAA,MACH,GAAG,MAAM;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF,CAAC;AAEL;",
5
- "names": []
6
- }
@@ -1,25 +0,0 @@
1
- import { createDebugger } from "@vxrn/debug";
2
- import module from "node:module";
3
- const { debug } = createDebugger("vite-metro:projectImport");
4
- async function projectImport(projectRoot, path) {
5
- try {
6
- const importPath = projectResolve(projectRoot, path);
7
- debug?.(`Importing "${path}" from project root: "${projectRoot}" at "${importPath}"`);
8
- const out = await import(importPath);
9
- return out?.default?.default ? {
10
- ...out,
11
- default: out.default.default
12
- } : out;
13
- } catch (e) {
14
- throw e instanceof Error && (e.message = `[vite-plugin-metro] Failed to import ${path} from your project (${projectRoot}): ${e.message}`), e;
15
- }
16
- }
17
- function projectResolve(projectRoot, path) {
18
- return module.createRequire(projectRoot).resolve(path, { paths: [projectRoot] });
19
- }
20
- export {
21
- debug,
22
- projectImport,
23
- projectResolve
24
- };
25
- //# sourceMappingURL=projectImport.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/utils/projectImport.ts"],
4
- "mappings": "AAAA,SAAS,sBAAsB;AAC/B,OAAO,YAAY;AAEZ,MAAM,EAAE,MAAM,IAAI,eAAe,0BAA0B;AAQlE,eAAsB,cACpB,aACA,MACY;AACZ,MAAI;AACF,UAAM,aAAa,eAAe,aAAa,IAAI;AAEnD,YAAQ,cAAc,IAAI,yBAAyB,WAAW,SAAS,UAAU,GAAG;AAEpF,UAAM,MAAM,MAAM,OAAO;AAGzB,WAAI,KAAK,SAAS,UACT;AAAA,MACL,GAAG;AAAA,MACH,SAAS,IAAI,QAAQ;AAAA,IACvB,IAGK;AAAA,EACT,SAAS,GAAG;AACV,UAAI,aAAa,UACf,EAAE,UAAU,wCAAwC,IAAI,uBAAuB,WAAW,MAAM,EAAE,OAAO,KAGrG;AAAA,EACR;AACF;AAEO,SAAS,eAAe,aAAqB,MAAsB;AAGxE,SAFgB,OAAO,cAAc,WAAW,EACrB,QAAQ,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;AAEnE;",
5
- "names": []
6
- }