one 1.16.12 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/dist/cjs/babel-preset/index.cjs +154 -0
  2. package/dist/cjs/babel-preset/index.native.js +186 -0
  3. package/dist/cjs/babel-preset/index.native.js.map +1 -0
  4. package/dist/cjs/babel-preset/index.test.cjs +143 -0
  5. package/dist/cjs/babel-preset/index.test.native.js +165 -0
  6. package/dist/cjs/babel-preset/index.test.native.js.map +1 -0
  7. package/dist/cjs/babel-preset/integration.test.cjs +94 -0
  8. package/dist/cjs/babel-preset/integration.test.native.js +97 -0
  9. package/dist/cjs/babel-preset/integration.test.native.js.map +1 -0
  10. package/dist/cjs/cli/generateBundlerConfig.cjs +247 -0
  11. package/dist/cjs/cli/generateBundlerConfig.native.js +316 -0
  12. package/dist/cjs/cli/generateBundlerConfig.native.js.map +1 -0
  13. package/dist/cjs/cli/generateBundlerConfig.test.cjs +350 -0
  14. package/dist/cjs/cli/generateBundlerConfig.test.native.js +380 -0
  15. package/dist/cjs/cli/generateBundlerConfig.test.native.js.map +1 -0
  16. package/dist/cjs/cli/patch.cjs +19 -2
  17. package/dist/cjs/cli/patch.native.js +26 -2
  18. package/dist/cjs/cli/patch.native.js.map +1 -1
  19. package/dist/cjs/cli/patch.test.cjs +56 -0
  20. package/dist/cjs/cli/patch.test.native.js +65 -0
  21. package/dist/cjs/cli/patch.test.native.js.map +1 -0
  22. package/dist/cjs/cli.cjs +39 -2
  23. package/dist/cjs/cli.native.js +40 -2
  24. package/dist/cjs/cli.native.js.map +1 -1
  25. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.cjs +102 -0
  26. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.native.js +109 -0
  27. package/dist/cjs/metro-config/buildOneMetroResolverOverrides.native.js.map +1 -0
  28. package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +17 -150
  29. package/dist/cjs/metro-config/getViteMetroPluginOptions.integration.test.cjs +84 -0
  30. package/dist/cjs/metro-config/getViteMetroPluginOptions.integration.test.native.js +90 -0
  31. package/dist/cjs/metro-config/getViteMetroPluginOptions.integration.test.native.js.map +1 -0
  32. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +17 -158
  33. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  34. package/dist/cjs/metro-config/withOne.cjs +82 -0
  35. package/dist/cjs/metro-config/withOne.native.js +88 -0
  36. package/dist/cjs/metro-config/withOne.native.js.map +1 -0
  37. package/dist/cjs/metro-config/withOne.test.cjs +129 -0
  38. package/dist/cjs/metro-config/withOne.test.native.js +156 -0
  39. package/dist/cjs/metro-config/withOne.test.native.js.map +1 -0
  40. package/dist/cjs/vite/loadConfig.cjs +20 -1
  41. package/dist/cjs/vite/loadConfig.native.js +20 -1
  42. package/dist/cjs/vite/loadConfig.native.js.map +1 -1
  43. package/dist/cjs/vite/plugins/warmRoutesPlugin.cjs +13 -7
  44. package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js +13 -7
  45. package/dist/cjs/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
  46. package/dist/esm/babel-preset/index.mjs +116 -0
  47. package/dist/esm/babel-preset/index.mjs.map +1 -0
  48. package/dist/esm/babel-preset/index.native.js +145 -0
  49. package/dist/esm/babel-preset/index.native.js.map +1 -0
  50. package/dist/esm/babel-preset/index.test.mjs +120 -0
  51. package/dist/esm/babel-preset/index.test.mjs.map +1 -0
  52. package/dist/esm/babel-preset/index.test.native.js +139 -0
  53. package/dist/esm/babel-preset/index.test.native.js.map +1 -0
  54. package/dist/esm/babel-preset/integration.test.mjs +71 -0
  55. package/dist/esm/babel-preset/integration.test.mjs.map +1 -0
  56. package/dist/esm/babel-preset/integration.test.native.js +71 -0
  57. package/dist/esm/babel-preset/integration.test.native.js.map +1 -0
  58. package/dist/esm/cli/generateBundlerConfig.mjs +207 -0
  59. package/dist/esm/cli/generateBundlerConfig.mjs.map +1 -0
  60. package/dist/esm/cli/generateBundlerConfig.native.js +273 -0
  61. package/dist/esm/cli/generateBundlerConfig.native.js.map +1 -0
  62. package/dist/esm/cli/generateBundlerConfig.test.mjs +327 -0
  63. package/dist/esm/cli/generateBundlerConfig.test.mjs.map +1 -0
  64. package/dist/esm/cli/generateBundlerConfig.test.native.js +354 -0
  65. package/dist/esm/cli/generateBundlerConfig.test.native.js.map +1 -0
  66. package/dist/esm/cli/patch.mjs +19 -2
  67. package/dist/esm/cli/patch.mjs.map +1 -1
  68. package/dist/esm/cli/patch.native.js +26 -2
  69. package/dist/esm/cli/patch.native.js.map +1 -1
  70. package/dist/esm/cli/patch.test.mjs +57 -0
  71. package/dist/esm/cli/patch.test.mjs.map +1 -0
  72. package/dist/esm/cli/patch.test.native.js +63 -0
  73. package/dist/esm/cli/patch.test.native.js.map +1 -0
  74. package/dist/esm/cli.mjs +39 -2
  75. package/dist/esm/cli.mjs.map +1 -1
  76. package/dist/esm/cli.native.js +40 -2
  77. package/dist/esm/cli.native.js.map +1 -1
  78. package/dist/esm/metro-config/buildOneMetroResolverOverrides.mjs +66 -0
  79. package/dist/esm/metro-config/buildOneMetroResolverOverrides.mjs.map +1 -0
  80. package/dist/esm/metro-config/buildOneMetroResolverOverrides.native.js +70 -0
  81. package/dist/esm/metro-config/buildOneMetroResolverOverrides.native.js.map +1 -0
  82. package/dist/esm/metro-config/getViteMetroPluginOptions.integration.test.mjs +61 -0
  83. package/dist/esm/metro-config/getViteMetroPluginOptions.integration.test.mjs.map +1 -0
  84. package/dist/esm/metro-config/getViteMetroPluginOptions.integration.test.native.js +64 -0
  85. package/dist/esm/metro-config/getViteMetroPluginOptions.integration.test.native.js.map +1 -0
  86. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +17 -138
  87. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
  88. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +17 -146
  89. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  90. package/dist/esm/metro-config/withOne.mjs +45 -0
  91. package/dist/esm/metro-config/withOne.mjs.map +1 -0
  92. package/dist/esm/metro-config/withOne.native.js +48 -0
  93. package/dist/esm/metro-config/withOne.native.js.map +1 -0
  94. package/dist/esm/metro-config/withOne.test.mjs +106 -0
  95. package/dist/esm/metro-config/withOne.test.mjs.map +1 -0
  96. package/dist/esm/metro-config/withOne.test.native.js +130 -0
  97. package/dist/esm/metro-config/withOne.test.native.js.map +1 -0
  98. package/dist/esm/vite/loadConfig.mjs +20 -1
  99. package/dist/esm/vite/loadConfig.mjs.map +1 -1
  100. package/dist/esm/vite/loadConfig.native.js +20 -1
  101. package/dist/esm/vite/loadConfig.native.js.map +1 -1
  102. package/dist/esm/vite/plugins/warmRoutesPlugin.mjs +13 -7
  103. package/dist/esm/vite/plugins/warmRoutesPlugin.mjs.map +1 -1
  104. package/dist/esm/vite/plugins/warmRoutesPlugin.native.js +13 -7
  105. package/dist/esm/vite/plugins/warmRoutesPlugin.native.js.map +1 -1
  106. package/package.json +20 -9
  107. package/src/babel-preset/index.test.ts +148 -0
  108. package/src/babel-preset/index.ts +250 -0
  109. package/src/babel-preset/integration.test.ts +91 -0
  110. package/src/cli/generateBundlerConfig.test.ts +343 -0
  111. package/src/cli/generateBundlerConfig.ts +339 -0
  112. package/src/cli/patch.test.ts +65 -0
  113. package/src/cli/patch.ts +30 -2
  114. package/src/cli.ts +31 -0
  115. package/src/metro-config/buildOneMetroResolverOverrides.ts +104 -0
  116. package/src/metro-config/getViteMetroPluginOptions.integration.test.ts +75 -0
  117. package/src/metro-config/getViteMetroPluginOptions.ts +15 -230
  118. package/src/metro-config/withOne.test.ts +120 -0
  119. package/src/metro-config/withOne.ts +112 -0
  120. package/src/vite/loadConfig.ts +22 -0
  121. package/src/vite/plugins/warmRoutesPlugin.ts +22 -6
  122. package/types/babel-preset/index.d.ts +68 -0
  123. package/types/babel-preset/index.d.ts.map +1 -0
  124. package/types/babel-preset/index.test.d.ts +2 -0
  125. package/types/babel-preset/index.test.d.ts.map +1 -0
  126. package/types/babel-preset/integration.test.d.ts +2 -0
  127. package/types/babel-preset/integration.test.d.ts.map +1 -0
  128. package/types/cli/generateBundlerConfig.d.ts +61 -0
  129. package/types/cli/generateBundlerConfig.d.ts.map +1 -0
  130. package/types/cli/generateBundlerConfig.test.d.ts +2 -0
  131. package/types/cli/generateBundlerConfig.test.d.ts.map +1 -0
  132. package/types/cli/patch.d.ts.map +1 -1
  133. package/types/cli/patch.test.d.ts +2 -0
  134. package/types/cli/patch.test.d.ts.map +1 -0
  135. package/types/metro-config/buildOneMetroResolverOverrides.d.ts +20 -0
  136. package/types/metro-config/buildOneMetroResolverOverrides.d.ts.map +1 -0
  137. package/types/metro-config/getViteMetroPluginOptions.d.ts +0 -5
  138. package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
  139. package/types/metro-config/getViteMetroPluginOptions.integration.test.d.ts +2 -0
  140. package/types/metro-config/getViteMetroPluginOptions.integration.test.d.ts.map +1 -0
  141. package/types/metro-config/withOne.d.ts +44 -0
  142. package/types/metro-config/withOne.d.ts.map +1 -0
  143. package/types/metro-config/withOne.test.d.ts +2 -0
  144. package/types/metro-config/withOne.test.d.ts.map +1 -0
  145. package/types/vite/loadConfig.d.ts +1 -0
  146. package/types/vite/loadConfig.d.ts.map +1 -1
  147. package/types/vite/plugins/warmRoutesPlugin.d.ts.map +1 -1
  148. package/dist/cjs/metro-config/getViteMetroPluginOptions.test.cjs +0 -23
  149. package/dist/cjs/metro-config/getViteMetroPluginOptions.test.native.js +0 -26
  150. package/dist/cjs/metro-config/getViteMetroPluginOptions.test.native.js.map +0 -1
  151. package/dist/esm/metro-config/getViteMetroPluginOptions.test.mjs +0 -24
  152. package/dist/esm/metro-config/getViteMetroPluginOptions.test.mjs.map +0 -1
  153. package/dist/esm/metro-config/getViteMetroPluginOptions.test.native.js +0 -24
  154. package/dist/esm/metro-config/getViteMetroPluginOptions.test.native.js.map +0 -1
  155. package/src/metro-config/getViteMetroPluginOptions.test.ts +0 -34
  156. package/types/metro-config/getViteMetroPluginOptions.test.d.ts +0 -2
  157. package/types/metro-config/getViteMetroPluginOptions.test.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["module","path","mm","tsconfigPaths","API_ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","normalizeReSource","source","replace","getViteMetroPluginOptions","projectRoot","relativeRouterRoot","ignoredRouteFiles","linking","userDefaultConfigOverrides","setupFile","tsconfigPathsConfigLoadResult","loadConfig","resultType","Error","require2","createRequire","emptyPath","resolve","paths","metroEntryPath","routerRequireContextRegexString","excludeRes","map","pattern","makeRe","supportedRegexMustStartWith","String","raw","supportedRegexMustEndWith","negativeLookaheadGroups","re","i","reSource","startsWith","endsWith","ignoredRouteFile","rePart","slice","length","join","defaultConfigOverrides","defaultConfig","config","resolver","extraNodeModules","nodeModulesPaths","resolveRequest","context","moduleName","platform","type","filePath","test","defaultResolveRequest2","res2","svgSrcSuffix","sep","includes","defaultResolveRequest","res","babelConfig","plugins","routerRoot","alias","Object","fromEntries","entries","k","v","key","value","ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY","relative","dirname","ONE_ROUTER_ROOT_FOLDER_NAME","ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING","ONE_ROUTER_LINKING_CONFIG","ONE_SETUP_FILE_NATIVE","nativeSetupFile","native","ios","android"],"sources":["../../../src/metro-config/getViteMetroPluginOptions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["buildOneBabelPlugins","buildOneMetroResolverOverrides","getViteMetroPluginOptions","projectRoot","relativeRouterRoot","ignoredRouteFiles","linking","userDefaultConfigOverrides","setupFile","applyOneResolverOverrides","oneViteMetroBabelConfig","defaultConfigOverrides","defaultConfig","config","babelConfig","plugins","includeImportMetaEnv"],"sources":["../../../src/metro-config/getViteMetroPluginOptions.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,oBAAA,QAA4B;AACrC,SAASC,8BAAA,QAAsC;AAExC,SAASC,0BAA0B;EACxCC,WAAA;EACAC,kBAAA;EACAC,iBAAA;EACAC,OAAA;EACAC,0BAAA;EACAC;AACF,GASsC;EACpC,MAAMC,yBAAA,GAA4BR,8BAAA,CAA+B;IAAEE;EAAY,CAAC;EAEhF,OAAO;IACLO,uBAAA,EAAyB;IACzBC,sBAAA,EAAyBC,aAAA,IAAkB;MACzC,IAAIC,MAAA,GAASJ,yBAAA,CAA0BG,aAAa;MAEpD,IAAI,OAAOL,0BAAA,KAA+B,YAAY;QACpDM,MAAA,GAASN,0BAAA,CAA2BM,MAAM;MAC5C;MAEA,OAAOA,MAAA;IACT;IACAC,WAAA,EAAa;MACXC,OAAA,EAASf,oBAAA,CAAqB;QAC5BG,WAAA;QACAC,kBAAA;QACAC,iBAAA;QACAC,OAAA;QACAE,SAAA;QAAA;QAAA;QAGAQ,oBAAA,EAAsB;MACxB,CAAC;IACH;EACF;AACF","ignoreList":[]}
@@ -1,11 +1,5 @@
1
- import module from "module";
2
- import path from "path";
3
- import mm from "micromatch";
4
- import tsconfigPaths from "tsconfig-paths";
5
- import { API_ROUTE_GLOB_PATTERN, ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS } from "../router/glob-patterns.native.js";
6
- function normalizeReSource(source) {
7
- return source.replace(/\[\\\\\/\]/g, "\\/").replace(/\[\^\\\\\/\]/g, "[^/]");
8
- }
1
+ import { buildOneBabelPlugins } from "../babel-preset/index.native.js";
2
+ import { buildOneMetroResolverOverrides } from "./buildOneMetroResolverOverrides.native.js";
9
3
  function getViteMetroPluginOptions(param) {
10
4
  var {
11
5
  projectRoot,
@@ -15,154 +9,31 @@ function getViteMetroPluginOptions(param) {
15
9
  userDefaultConfigOverrides,
16
10
  setupFile
17
11
  } = param;
18
- var tsconfigPathsConfigLoadResult = tsconfigPaths.loadConfig(projectRoot);
19
- if (tsconfigPathsConfigLoadResult.resultType === "failed") {
20
- throw new Error("tsconfigPathsConfigLoadResult.resultType is not success");
21
- }
22
- var require2 = module.createRequire(projectRoot);
23
- var emptyPath = require2.resolve("@vxrn/vite-plugin-metro/empty", {
24
- paths: [projectRoot]
25
- });
26
- var metroEntryPath = require2.resolve("one/metro-entry", {
27
- paths: [projectRoot]
12
+ var applyOneResolverOverrides = buildOneMetroResolverOverrides({
13
+ projectRoot
28
14
  });
29
- var routerRequireContextRegexString = function () {
30
- var excludeRes = [...(ignoredRouteFiles || []).map(function (pattern) {
31
- return mm.makeRe(pattern);
32
- }), ...ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS.map(function (pattern) {
33
- return mm.makeRe(pattern);
34
- }), mm.makeRe(API_ROUTE_GLOB_PATTERN)];
35
- var supportedRegexMustStartWith = String.raw`^(?:(?:^|\/|(?:(?:(?!(?:^|\/)\.).)*?)\/)(?!\.)(?=.)[^/]*?`;
36
- var supportedRegexMustEndWith = String.raw`)$`;
37
- var negativeLookaheadGroups = excludeRes.map(function (re, i) {
38
- var reSource = normalizeReSource(re.source);
39
- if (!(reSource.startsWith(supportedRegexMustStartWith) && reSource.endsWith(supportedRegexMustEndWith))) {
40
- var ignoredRouteFile = ignoredRouteFiles === null || ignoredRouteFiles === void 0 ? void 0 : ignoredRouteFiles[i];
41
- if (ignoredRouteFile) {
42
- throw new Error(`[one/metro] ignoredRouteFile pattern "${ignoredRouteFile}" is not supported. We cannot process the corresponding regex "${reSource}" for now.`);
43
- }
44
- throw new Error(`Unsupported regex "${reSource}" in "ignoredRouteFiles".`);
45
- }
46
- var rePart = reSource.slice(supportedRegexMustStartWith.length, reSource.length - supportedRegexMustEndWith.length);
47
- return String.raw`(?:.*${rePart})`;
48
- });
49
- return String.raw`^(?:\.\/)(?!${negativeLookaheadGroups.join("|")}$).*\.tsx?$`;
50
- }();
51
15
  return {
16
+ oneViteMetroBabelConfig: true,
52
17
  defaultConfigOverrides: function (defaultConfig) {
53
- var _defaultConfig_resolver, _defaultConfig_resolver1;
54
- var config = {
55
- ...defaultConfig,
56
- resolver: {
57
- ...(defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.resolver),
58
- extraNodeModules: {
59
- ...(defaultConfig === null || defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver = defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.extraNodeModules)
60
- },
61
- // "vite-tsconfig-paths" for Metro
62
- // Commenting out since we are using babel-plugin-module-resolver alias instead
63
- // ...Object.fromEntries(
64
- // Object.entries(tsconfigPathsConfigLoadResult.paths)
65
- // .map(([k, v]) => {
66
- // if (k.endsWith('/*') && v[0]?.endsWith('/*')) {
67
- // const key = k.replace(/\/\*$/, '')
68
- // let value = v[0].replace(/\/\*$/, '')
69
- // value = path.join(tsconfigPathsConfigLoadResult.absoluteBaseUrl, value)
70
- // return [key, value]
71
- // }
72
- // })
73
- // .filter((i): i is NonNullable<typeof i> => !!i)
74
- // ),
75
- nodeModulesPaths: defaultConfig === null || defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver1 = defaultConfig.resolver) === null || _defaultConfig_resolver1 === void 0 ? void 0 : _defaultConfig_resolver1.nodeModulesPaths,
76
- resolveRequest: function (context, moduleName, platform) {
77
- var _defaultConfig_resolver2;
78
- if (moduleName.endsWith(".css")) {
79
- return {
80
- type: "sourceFile",
81
- filePath: emptyPath
82
- };
83
- }
84
- if (/_middleware.tsx?$/.test(moduleName)) {
85
- return {
86
- type: "sourceFile",
87
- filePath: emptyPath
88
- };
89
- }
90
- if (/\.server(\.[jt]sx?)?$/.test(moduleName)) {
91
- return {
92
- type: "sourceFile",
93
- filePath: emptyPath
94
- };
95
- }
96
- if (moduleName === "react-native-svg") {
97
- var _defaultConfig_resolver12;
98
- var defaultResolveRequest = (defaultConfig === null || defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver12 = defaultConfig.resolver) === null || _defaultConfig_resolver12 === void 0 ? void 0 : _defaultConfig_resolver12.resolveRequest) || context.resolveRequest;
99
- var res = defaultResolveRequest(context, moduleName, platform);
100
- var svgSrcSuffix = `${path.sep}src${path.sep}index.ts`;
101
- if (res && "filePath" in res && res.filePath.includes(svgSrcSuffix)) {
102
- return {
103
- ...res,
104
- filePath: res.filePath.replace(svgSrcSuffix, `${path.sep}lib${path.sep}commonjs${path.sep}index.js`)
105
- };
106
- }
107
- return res;
108
- }
109
- var defaultResolveRequest1 = (defaultConfig === null || defaultConfig === void 0 ? void 0 : (_defaultConfig_resolver2 = defaultConfig.resolver) === null || _defaultConfig_resolver2 === void 0 ? void 0 : _defaultConfig_resolver2.resolveRequest) || context.resolveRequest;
110
- var res1 = defaultResolveRequest1(context, moduleName, platform);
111
- if (res1 && "filePath" in res1 && /\.server\.[jt]sx?$/.test(res1.filePath)) {
112
- return {
113
- type: "sourceFile",
114
- filePath: emptyPath
115
- };
116
- }
117
- return res1;
118
- }
119
- }
120
- };
18
+ var config = applyOneResolverOverrides(defaultConfig);
121
19
  if (typeof userDefaultConfigOverrides === "function") {
122
20
  config = userDefaultConfigOverrides(config);
123
21
  }
124
22
  return config;
125
23
  },
126
24
  babelConfig: {
127
- plugins: [
128
- // enforce environment guard imports (server-only, client-only, etc.)
129
- "one/babel-plugin-environment-guard",
130
- // Remove server-only code (loader, generateStaticParams) from route files
131
- // This must run early to prevent server-only imports from being bundled
132
- ["one/babel-plugin-remove-server-code", {
133
- routerRoot: relativeRouterRoot
134
- }], ["babel-plugin-module-resolver", {
135
- // "vite-tsconfig-paths" for Metro
136
- alias: Object.fromEntries(Object.entries(tsconfigPathsConfigLoadResult.paths).map(function (param2) {
137
- var [k, v] = param2;
138
- var key = function () {
139
- if (k.endsWith("/*")) {
140
- return k.replace(/\/\*$/, "");
141
- }
142
- return `${k}$`;
143
- }();
144
- var value = v[0].replace(/\/\*$/, "");
145
- if (!value.startsWith("./")) {
146
- value = `./${value}`;
147
- }
148
- return [key, value];
149
- }))
150
- }], ["one/babel-plugin-one-router-metro", {
151
- ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY: path.relative(path.dirname(metroEntryPath), path.join(projectRoot, relativeRouterRoot)),
152
- ONE_ROUTER_ROOT_FOLDER_NAME: relativeRouterRoot,
153
- ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING: routerRequireContextRegexString,
154
- ONE_ROUTER_LINKING_CONFIG: linking,
155
- ONE_SETUP_FILE_NATIVE: function () {
156
- if (!setupFile) return void 0;
157
- var nativeSetupFile = typeof setupFile === "string" ? setupFile : setupFile.native || setupFile.ios || setupFile.android;
158
- if (!nativeSetupFile) return void 0;
159
- return path.relative(path.dirname(metroEntryPath), path.join(projectRoot, nativeSetupFile));
160
- }()
161
- }],
162
- // inline ONE_SERVER_URL so native prod bundles know where to fetch loaders
163
- "one/babel-plugin-inline-one-server-url"]
25
+ plugins: buildOneBabelPlugins({
26
+ projectRoot,
27
+ relativeRouterRoot,
28
+ ignoredRouteFiles,
29
+ linking,
30
+ setupFile,
31
+ // vite path injects import-meta-env-plugin separately via the
32
+ // metro server transformFile hook using the user's vite `define`.
33
+ includeImportMetaEnv: false
34
+ })
164
35
  }
165
36
  };
166
37
  }
167
- export { getViteMetroPluginOptions, normalizeReSource };
38
+ export { getViteMetroPluginOptions };
168
39
  //# sourceMappingURL=getViteMetroPluginOptions.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["module","path","mm","tsconfigPaths","API_ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","normalizeReSource","source","replace","getViteMetroPluginOptions","param","projectRoot","relativeRouterRoot","ignoredRouteFiles","linking","userDefaultConfigOverrides","setupFile","tsconfigPathsConfigLoadResult","loadConfig","resultType","Error","require2","createRequire","emptyPath","resolve","paths","metroEntryPath","routerRequireContextRegexString","excludeRes","map","pattern","makeRe","supportedRegexMustStartWith","String","raw","supportedRegexMustEndWith","negativeLookaheadGroups","re","i","reSource","startsWith","endsWith","ignoredRouteFile","rePart","slice","length","join","defaultConfigOverrides","defaultConfig","_defaultConfig_resolver","_defaultConfig_resolver1","config","resolver","extraNodeModules","nodeModulesPaths","resolveRequest","context","moduleName","platform","_defaultConfig_resolver2","type","filePath","test","_defaultConfig_resolver12","defaultResolveRequest","res","svgSrcSuffix","sep","includes","defaultResolveRequest1","res1","babelConfig","plugins","routerRoot","alias","Object","fromEntries","entries","param2","k","v","key","value","ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY","relative","dirname","ONE_ROUTER_ROOT_FOLDER_NAME","ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING","ONE_ROUTER_LINKING_CONFIG","ONE_SETUP_FILE_NATIVE","nativeSetupFile","native","ios","android"],"sources":["../../../src/metro-config/getViteMetroPluginOptions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["buildOneBabelPlugins","buildOneMetroResolverOverrides","getViteMetroPluginOptions","param","projectRoot","relativeRouterRoot","ignoredRouteFiles","linking","userDefaultConfigOverrides","setupFile","applyOneResolverOverrides","oneViteMetroBabelConfig","defaultConfigOverrides","defaultConfig","config","babelConfig","plugins","includeImportMetaEnv"],"sources":["../../../src/metro-config/getViteMetroPluginOptions.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,oBAAA,QAA4B;AACrC,SAASC,8BAAA,QAAsC;AAExC,SAASC,0BAA0BC,KAAA;EACxC;IAAAC,WAAA;IAAAC,kBAAA;IAAAC,iBAAA;IAAAC,OAAA;IAAAC,0BAAA;IAAAC;EAAA,IAAAN,KAAA;EACA,IAAAO,yBAAA,GAAAT,8BAAA;IACAG;EACA;EACA;IACAO,uBAAA;IAUoCC,sBAAA,WAAAA,CAAAC,aAAA;MACpC,IAAMC,MAAA,GAAAJ,yBAA4B,CAAAG,aAAA;MAElC,IAAO,OAAAL,0BAAA;QACLM,MAAA,GAAAN,0BAAyB,CAAAM,MAAA;MACzB;MACE,OAAIA,MAAS;IAEb;IACEC,WAAA,EAAS;MACXC,OAAA,EAAAhB,oBAAA;QAEAI,WAAO;QACTC,kBAAA;QACAC,iBAAa;QACXC,OAAS;QACPE,SAAA;QACA;QACA;QACAQ,oBAAA;MAAA;IACA;EAAA;AAAA;AAGsB,SACvBf,yBACH","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ import path from "node:path";
2
+ import { buildMetroConfigInputFromViteConfig } from "@vxrn/vite-plugin-metro";
3
+ import { getViteMetroPluginOptions } from "./getViteMetroPluginOptions.mjs";
4
+ import { loadUserOneOptions } from "../vite/loadConfig.mjs";
5
+ async function loadUserViteMetroOptions(projectRoot) {
6
+ const previousCwd = process.cwd();
7
+ const previousIsVxrnCli = process.env.IS_VXRN_CLI;
8
+ try {
9
+ process.chdir(projectRoot);
10
+ process.env.IS_VXRN_CLI = "true";
11
+ return await loadUserOneOptions("build", true);
12
+ } finally {
13
+ process.chdir(previousCwd);
14
+ if (previousIsVxrnCli === void 0) {
15
+ delete process.env.IS_VXRN_CLI;
16
+ } else {
17
+ process.env.IS_VXRN_CLI = previousIsVxrnCli;
18
+ }
19
+ }
20
+ }
21
+ async function withOne(baseConfigOrProjectRoot, options = {}) {
22
+ const projectRoot = path.resolve(typeof baseConfigOrProjectRoot === "string" ? baseConfigOrProjectRoot : options.projectRoot ?? process.cwd());
23
+ const loaded = options.loadViteConfig === false ? void 0 : await loadUserViteMetroOptions(projectRoot);
24
+ const metroPluginOptions = loaded?.metroOptions ?? getViteMetroPluginOptions({
25
+ projectRoot,
26
+ relativeRouterRoot: options.routerRoot ?? "app",
27
+ ignoredRouteFiles: options.ignoredRouteFiles,
28
+ linking: options.linking,
29
+ setupFile: options.setupFile
30
+ });
31
+ const viteConfig = {
32
+ ...loaded?.config?.config,
33
+ root: path.resolve(loaded?.config?.config?.root ?? projectRoot)
34
+ };
35
+ const {
36
+ defaultConfig
37
+ } = await buildMetroConfigInputFromViteConfig(viteConfig, {
38
+ ...metroPluginOptions,
39
+ mainModuleName: "one/metro-entry"
40
+ });
41
+ return defaultConfig;
42
+ }
43
+ var withOne_default = withOne;
44
+ export { withOne_default as default, withOne };
45
+ //# sourceMappingURL=withOne.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["path","buildMetroConfigInputFromViteConfig","getViteMetroPluginOptions","loadUserOneOptions","loadUserViteMetroOptions","projectRoot","previousCwd","process","cwd","previousIsVxrnCli","env","IS_VXRN_CLI","chdir","withOne","baseConfigOrProjectRoot","options","resolve","loaded","loadViteConfig","metroPluginOptions","metroOptions","relativeRouterRoot","routerRoot","ignoredRouteFiles","linking","setupFile","viteConfig","config","root","defaultConfig","mainModuleName","withOne_default"],"sources":["../../../src/metro-config/withOne.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,SAASC,mCAAA,QAA2C;AACpD,SAASC,yBAAA,QAAiC;AAC1C,SAASC,kBAAA,QAA0B;AAoBnC,eAAeC,yBAAyBC,WAAA,EAAqB;EAC3D,MAAMC,WAAA,GAAcC,OAAA,CAAQC,GAAA,CAAI;EAChC,MAAMC,iBAAA,GAAoBF,OAAA,CAAQG,GAAA,CAAIC,WAAA;EAEtC,IAAI;IACFJ,OAAA,CAAQK,KAAA,CAAMP,WAAW;IACzBE,OAAA,CAAQG,GAAA,CAAIC,WAAA,GAAc;IAC1B,OAAO,MAAMR,kBAAA,CAAmB,SAAS,IAAI;EAC/C,UAAE;IACAI,OAAA,CAAQK,KAAA,CAAMN,WAAW;IACzB,IAAIG,iBAAA,KAAsB,QAAW;MACnC,OAAOF,OAAA,CAAQG,GAAA,CAAIC,WAAA;IACrB,OAAO;MACLJ,OAAA,CAAQG,GAAA,CAAIC,WAAA,GAAcF,iBAAA;IAC5B;EACF;AACF;AAsBA,eAAsBI,QACpBC,uBAAA,EACAC,OAAA,GAA0B,CAAC,GACT;EAClB,MAAMV,WAAA,GAAcL,IAAA,CAAKgB,OAAA,CACvB,OAAOF,uBAAA,KAA4B,WAC/BA,uBAAA,GACCC,OAAA,CAAQV,WAAA,IAAeE,OAAA,CAAQC,GAAA,CAAI,CAC1C;EAEA,MAAMS,MAAA,GACJF,OAAA,CAAQG,cAAA,KAAmB,QACvB,SACA,MAAMd,wBAAA,CAAyBC,WAAW;EAOhD,MAAMc,kBAAA,GACJF,MAAA,EAAQG,YAAA,IACRlB,yBAAA,CAA0B;IACxBG,WAAA;IACAgB,kBAAA,EAAoBN,OAAA,CAAQO,UAAA,IAAc;IAC1CC,iBAAA,EAAmBR,OAAA,CAAQQ,iBAAA;IAC3BC,OAAA,EAAST,OAAA,CAAQS,OAAA;IACjBC,SAAA,EAAWV,OAAA,CAAQU;EACrB,CAAC;EAMH,MAAMC,UAAA,GAAa;IACjB,GAAGT,MAAA,EAAQU,MAAA,EAAQA,MAAA;IACnBC,IAAA,EAAM5B,IAAA,CAAKgB,OAAA,CAAQC,MAAA,EAAQU,MAAA,EAAQA,MAAA,EAAQC,IAAA,IAAQvB,WAAW;EAChE;EAEA,MAAM;IAAEwB;EAAc,IAAI,MAAM5B,mCAAA,CAC9ByB,UAAA,EACA;IACE,GAAGP,kBAAA;IACHW,cAAA,EAAgB;EAClB,CACF;EAEA,OAAOD,aAAA;AACT;AAEA,IAAOE,eAAA,GAAQlB,OAAA","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ import path from "path";
2
+ import { buildMetroConfigInputFromViteConfig } from "@vxrn/vite-plugin-metro";
3
+ import { getViteMetroPluginOptions } from "./getViteMetroPluginOptions.native.js";
4
+ import { loadUserOneOptions } from "../vite/loadConfig.native.js";
5
+ async function loadUserViteMetroOptions(projectRoot) {
6
+ var previousCwd = process.cwd();
7
+ var previousIsVxrnCli = process.env.IS_VXRN_CLI;
8
+ try {
9
+ process.chdir(projectRoot);
10
+ process.env.IS_VXRN_CLI = "true";
11
+ return await loadUserOneOptions("build", true);
12
+ } finally {
13
+ process.chdir(previousCwd);
14
+ if (previousIsVxrnCli === void 0) {
15
+ delete process.env.IS_VXRN_CLI;
16
+ } else {
17
+ process.env.IS_VXRN_CLI = previousIsVxrnCli;
18
+ }
19
+ }
20
+ }
21
+ async function withOne(baseConfigOrProjectRoot) {
22
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
23
+ var _options_projectRoot, _ref, _options_routerRoot, _ref1;
24
+ var _loaded_config, _loaded_config_config, _loaded_config1;
25
+ var projectRoot = path.resolve(typeof baseConfigOrProjectRoot === "string" ? baseConfigOrProjectRoot : (_options_projectRoot = options.projectRoot) !== null && _options_projectRoot !== void 0 ? _options_projectRoot : process.cwd());
26
+ var loaded = options.loadViteConfig === false ? void 0 : await loadUserViteMetroOptions(projectRoot);
27
+ var metroPluginOptions = (_ref = loaded === null || loaded === void 0 ? void 0 : loaded.metroOptions) !== null && _ref !== void 0 ? _ref : getViteMetroPluginOptions({
28
+ projectRoot,
29
+ relativeRouterRoot: (_options_routerRoot = options.routerRoot) !== null && _options_routerRoot !== void 0 ? _options_routerRoot : "app",
30
+ ignoredRouteFiles: options.ignoredRouteFiles,
31
+ linking: options.linking,
32
+ setupFile: options.setupFile
33
+ });
34
+ var viteConfig = {
35
+ ...(loaded === null || loaded === void 0 ? void 0 : (_loaded_config = loaded.config) === null || _loaded_config === void 0 ? void 0 : _loaded_config.config),
36
+ root: path.resolve((_ref1 = loaded === null || loaded === void 0 ? void 0 : (_loaded_config1 = loaded.config) === null || _loaded_config1 === void 0 ? void 0 : (_loaded_config_config = _loaded_config1.config) === null || _loaded_config_config === void 0 ? void 0 : _loaded_config_config.root) !== null && _ref1 !== void 0 ? _ref1 : projectRoot)
37
+ };
38
+ var {
39
+ defaultConfig
40
+ } = await buildMetroConfigInputFromViteConfig(viteConfig, {
41
+ ...metroPluginOptions,
42
+ mainModuleName: "one/metro-entry"
43
+ });
44
+ return defaultConfig;
45
+ }
46
+ var withOne_default = withOne;
47
+ export { withOne_default as default, withOne };
48
+ //# sourceMappingURL=withOne.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["path","buildMetroConfigInputFromViteConfig","getViteMetroPluginOptions","loadUserOneOptions","loadUserViteMetroOptions","projectRoot","previousCwd","process","cwd","previousIsVxrnCli","env","IS_VXRN_CLI","chdir","withOne","baseConfigOrProjectRoot","options","arguments","length","_options_projectRoot","_ref","_options_routerRoot","_ref1","_loaded_config","_loaded_config_config","_loaded_config1","resolve","loaded","loadViteConfig","metroPluginOptions","metroOptions","relativeRouterRoot","routerRoot","ignoredRouteFiles","linking","setupFile","viteConfig","config","root","defaultConfig","mainModuleName","withOne_default","default"],"sources":["../../../src/metro-config/withOne.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,SAASC,mCAAA,QAA2C;AACpD,SAASC,yBAAA,QAAiC;AAC1C,SAASC,kBAAA,QAA0B;AAoBnC,eAAeC,yBAAyBC,WAAA,EAAqB;EAC3D,IAAAC,WAAM,GAAAC,OAAc,CAAAC,GAAQ;EAC5B,IAAAC,iBAAM,GAAAF,OAAoB,CAAAG,GAAQ,CAAAC,WAAI;EAEtC,IAAI;IACFJ,OAAA,CAAQK,KAAA,CAAMP,WAAW;IACzBE,OAAA,CAAQG,GAAA,CAAIC,WAAA,GAAc;IAC1B,OAAO,MAAMR,kBAAA,CAAmB,SAAS,IAAI;EAC/C,UAAE;IACAI,OAAA,CAAQK,KAAA,CAAMN,WAAW;IACzB,IAAIG,iBAAA,KAAsB,QAAW;MACnC,OAAOF,OAAA,CAAQG,GAAA,CAAIC,WAAA;IACrB,OAAO;MACLJ,OAAA,CAAQG,GAAA,CAAIC,WAAA,GAAcF,iBAAA;IAC5B;EACF;AACF;AAsBA,eAAsBI,QACpBC,uBAAA,EACA;EAEA,IAAAC,OAAM,GAAAC,SAAc,CAAAC,MAAK,QAAAD,SAAA,iBAAAA,SAAA;EAAA,IACvBE,oBAAO,EAAAC,IAAA,EAAAC,mBACH,EAAAC,KAAA;EAEN,IAAAC,cAAA,EAAAC,qBAAA,EAAAC,eAAA;EAEA,IAAAnB,WACE,GAAAL,IAAA,CAAQyB,OAAA,QAAAX,uBAEJ,KAAM,WAAAA,uBAAyB,GAAW,CAAAI,oBAAA,GAAAH,OAAA,CAAAV,WAAA,cAAAa,oBAAA,cAAAA,oBAAA,GAAAX,OAAA,CAAAC,GAAA;EAOhD,IAAAkB,MAAM,GAAAX,OAAA,CAAAY,cACI,kBACR,UAAAvB,wBAA0B,CAAAC,WAAA;EAAA,IACxBuB,kBAAA,IAAAT,IAAA,GAAAO,MAAA,aAAAA,MAAA,uBAAAA,MAAA,CAAAG,YAAA,cAAAV,IAAA,cAAAA,IAAA,GAAAjB,yBAAA;IACAG,WAAA;IACAyB,kBAAA,EAAmB,CAAAV,mBAAQ,GAAAL,OAAA,CAAAgB,UAAA,cAAAX,mBAAA,cAAAA,mBAAA;IAC3BY,iBAAiB,EAAAjB,OAAA,CAAAiB,iBAAA;IACjBC,OAAA,EAAAlB,OAAW,CAAAkB,OAAQ;IACpBC,SAAA,EAAAnB,OAAA,CAAAmB;EAMH;EAAmB,IACjBC,UAAW;IACX,IAAAT,MAAM,KAAK,QAAQA,MAAQ,UAAQ,SAAQ,IAAQ,CAAAJ,cAAW,GAAAI,MAAA,CAAAU,MAAA,cAAAd,cAAA,uBAAAA,cAAA,CAAAc,MAAA;IAChEC,IAAA,EAAArC,IAAA,CAAAyB,OAAA,EAAAJ,KAAA,GAAAK,MAAA,aAAAA,MAAA,wBAAAF,eAAA,GAAAE,MAAA,CAAAU,MAAA,cAAAZ,eAAA,wBAAAD,qBAAA,GAAAC,eAAA,CAAAY,MAAA,cAAAb,qBAAA,uBAAAA,qBAAA,CAAAc,IAAA,cAAAhB,KAAA,cAAAA,KAAA,GAAAhB,WAAA;EAEA;EAAgC,IAC9B;IAAAiC;EAAA,UAAArC,mCAAA,CAAAkC,UAAA;IACA,GAAAP,kBAAA;IAAAW,cACK;EAAA;EACa,OAClBD,aAAA;AAAA;AAGF,IAAAE,eAAO,GAAA3B,OAAA;AACT,SAEA2B,eAAO,IAAAC,OAAQ,E","ignoreList":[]}
@@ -0,0 +1,106 @@
1
+ import path from "node:path";
2
+ import fs from "node:fs";
3
+ import { afterAll, describe, expect, it } from "vitest";
4
+ import { withOne } from "./withOne.mjs";
5
+ const projectRoot = path.resolve(__dirname, "../../");
6
+ const tmpDirs = [];
7
+ function createOneFixtureProject() {
8
+ const workspaceRoot = path.resolve(__dirname, "../../../../");
9
+ const tmpDir = fs.mkdtempSync(path.join(workspaceRoot, ".tmp-with-one-"));
10
+ tmpDirs.push(tmpDir);
11
+ fs.writeFileSync(path.join(tmpDir, "package.json"), JSON.stringify({
12
+ name: "tmp-with-one",
13
+ private: true
14
+ }));
15
+ fs.writeFileSync(path.join(tmpDir, "tsconfig.json"), JSON.stringify({
16
+ compilerOptions: {
17
+ paths: {}
18
+ }
19
+ }));
20
+ fs.mkdirSync(path.join(tmpDir, "app"));
21
+ fs.writeFileSync(path.join(tmpDir, "app", "index.tsx"), "export default null\n");
22
+ fs.writeFileSync(path.join(tmpDir, "vite.config.ts"), `
23
+ const defaultConfigOverrides = (config) => ({
24
+ ...config,
25
+ watchFolders: [
26
+ ...(config.watchFolders || []),
27
+ ${JSON.stringify(path.join(tmpDir, "shared"))},
28
+ ],
29
+ resolver: {
30
+ ...config.resolver,
31
+ extraNodeModules: {
32
+ ...config.resolver?.extraNodeModules,
33
+ 'fixture-singleton': ${JSON.stringify(tmpDir)},
34
+ },
35
+ },
36
+ })
37
+
38
+ globalThis.__oneOptions = {
39
+ setupFile: {
40
+ native: './src/setup-native.ts',
41
+ },
42
+ native: {
43
+ bundler: 'metro',
44
+ bundlerOptions: {
45
+ argv: {
46
+ projectRoot: ${JSON.stringify(tmpDir)},
47
+ },
48
+ defaultConfigOverrides,
49
+ },
50
+ },
51
+ }
52
+ globalThis.__vxrnMetroOptions__ = {
53
+ argv: {
54
+ projectRoot: ${JSON.stringify(tmpDir)},
55
+ },
56
+ defaultConfigOverrides,
57
+ }
58
+
59
+ export default {
60
+ root: ${JSON.stringify(tmpDir)},
61
+ }
62
+ `);
63
+ return tmpDir;
64
+ }
65
+ afterAll(() => {
66
+ for (const tmpDir of tmpDirs) {
67
+ fs.rmSync(tmpDir, {
68
+ recursive: true,
69
+ force: true
70
+ });
71
+ }
72
+ });
73
+ describe("withOne", () => {
74
+ it("returns a config produced by the production native bundle pipeline", async () => {
75
+ const config = await withOne(projectRoot, {
76
+ loadViteConfig: false
77
+ });
78
+ expect(config).toBeTruthy();
79
+ expect(config.resolver).toBeTruthy();
80
+ expect(typeof config.resolver.resolveRequest).toBe("function");
81
+ expect(config.transformer).toBeTruthy();
82
+ expect(config.transformer.babelTransformerPath).toMatch(/vite-plugin-metro.*babel-transformer/);
83
+ });
84
+ it("orders sourceExts so .js wins over .mjs (the proven One fix)", async () => {
85
+ const config = await withOne(projectRoot, {
86
+ loadViteConfig: false
87
+ });
88
+ const exts = config.resolver.sourceExts;
89
+ expect(exts).toContain("mjs");
90
+ expect(exts).toContain("js");
91
+ expect(exts.indexOf("js")).toBeLessThan(exts.indexOf("mjs"));
92
+ });
93
+ it("accepts a project root as the first arg", async () => {
94
+ const config = await withOne(projectRoot, {
95
+ loadViteConfig: false
96
+ });
97
+ expect(config).toBeTruthy();
98
+ });
99
+ it("loads vite.config by default and applies the real native Metro options", async () => {
100
+ const fixtureRoot = createOneFixtureProject();
101
+ const config = await withOne(fixtureRoot);
102
+ expect(config.resolver.extraNodeModules["fixture-singleton"]).toBe(fixtureRoot);
103
+ expect(config.watchFolders).toContain(path.join(fixtureRoot, "shared"));
104
+ });
105
+ });
106
+ //# sourceMappingURL=withOne.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["path","fs","afterAll","describe","expect","it","withOne","projectRoot","resolve","__dirname","tmpDirs","createOneFixtureProject","workspaceRoot","tmpDir","mkdtempSync","join","push","writeFileSync","JSON","stringify","name","private","compilerOptions","paths","mkdirSync","rmSync","recursive","force","config","loadViteConfig","toBeTruthy","resolver","resolveRequest","toBe","transformer","babelTransformerPath","toMatch","exts","sourceExts","toContain","indexOf","toBeLessThan","fixtureRoot","extraNodeModules","watchFolders"],"sources":["../../../src/metro-config/withOne.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,130 @@
1
+ import path from "path";
2
+ import fs from "fs";
3
+ import { afterAll, describe, expect, it } from "vitest";
4
+ import { withOne } from "./withOne.native.js";
5
+ function _type_of(obj) {
6
+ "@swc/helpers - typeof";
7
+
8
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
9
+ }
10
+ var projectRoot = path.resolve(__dirname, "../../");
11
+ var tmpDirs = [];
12
+ function createOneFixtureProject() {
13
+ var workspaceRoot = path.resolve(__dirname, "../../../../");
14
+ var tmpDir = fs.mkdtempSync(path.join(workspaceRoot, ".tmp-with-one-"));
15
+ tmpDirs.push(tmpDir);
16
+ fs.writeFileSync(path.join(tmpDir, "package.json"), JSON.stringify({
17
+ name: "tmp-with-one",
18
+ private: true
19
+ }));
20
+ fs.writeFileSync(path.join(tmpDir, "tsconfig.json"), JSON.stringify({
21
+ compilerOptions: {
22
+ paths: {}
23
+ }
24
+ }));
25
+ fs.mkdirSync(path.join(tmpDir, "app"));
26
+ fs.writeFileSync(path.join(tmpDir, "app", "index.tsx"), "export default null\n");
27
+ fs.writeFileSync(path.join(tmpDir, "vite.config.ts"), `
28
+ const defaultConfigOverrides = (config) => ({
29
+ ...config,
30
+ watchFolders: [
31
+ ...(config.watchFolders || []),
32
+ ${JSON.stringify(path.join(tmpDir, "shared"))},
33
+ ],
34
+ resolver: {
35
+ ...config.resolver,
36
+ extraNodeModules: {
37
+ ...config.resolver?.extraNodeModules,
38
+ 'fixture-singleton': ${JSON.stringify(tmpDir)},
39
+ },
40
+ },
41
+ })
42
+
43
+ globalThis.__oneOptions = {
44
+ setupFile: {
45
+ native: './src/setup-native.ts',
46
+ },
47
+ native: {
48
+ bundler: 'metro',
49
+ bundlerOptions: {
50
+ argv: {
51
+ projectRoot: ${JSON.stringify(tmpDir)},
52
+ },
53
+ defaultConfigOverrides,
54
+ },
55
+ },
56
+ }
57
+ globalThis.__vxrnMetroOptions__ = {
58
+ argv: {
59
+ projectRoot: ${JSON.stringify(tmpDir)},
60
+ },
61
+ defaultConfigOverrides,
62
+ }
63
+
64
+ export default {
65
+ root: ${JSON.stringify(tmpDir)},
66
+ }
67
+ `);
68
+ return tmpDir;
69
+ }
70
+ afterAll(function () {
71
+ var _iteratorNormalCompletion = true,
72
+ _didIteratorError = false,
73
+ _iteratorError = void 0;
74
+ try {
75
+ for (var _iterator = tmpDirs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
76
+ var tmpDir = _step.value;
77
+ fs.rmSync(tmpDir, {
78
+ recursive: true,
79
+ force: true
80
+ });
81
+ }
82
+ } catch (err) {
83
+ _didIteratorError = true;
84
+ _iteratorError = err;
85
+ } finally {
86
+ try {
87
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
88
+ _iterator.return();
89
+ }
90
+ } finally {
91
+ if (_didIteratorError) {
92
+ throw _iteratorError;
93
+ }
94
+ }
95
+ }
96
+ });
97
+ describe("withOne", function () {
98
+ it("returns a config produced by the production native bundle pipeline", async function () {
99
+ var config = await withOne(projectRoot, {
100
+ loadViteConfig: false
101
+ });
102
+ expect(config).toBeTruthy();
103
+ expect(config.resolver).toBeTruthy();
104
+ expect(_type_of(config.resolver.resolveRequest)).toBe("function");
105
+ expect(config.transformer).toBeTruthy();
106
+ expect(config.transformer.babelTransformerPath).toMatch(/vite-plugin-metro.*babel-transformer/);
107
+ });
108
+ it("orders sourceExts so .js wins over .mjs (the proven One fix)", async function () {
109
+ var config = await withOne(projectRoot, {
110
+ loadViteConfig: false
111
+ });
112
+ var exts = config.resolver.sourceExts;
113
+ expect(exts).toContain("mjs");
114
+ expect(exts).toContain("js");
115
+ expect(exts.indexOf("js")).toBeLessThan(exts.indexOf("mjs"));
116
+ });
117
+ it("accepts a project root as the first arg", async function () {
118
+ var config = await withOne(projectRoot, {
119
+ loadViteConfig: false
120
+ });
121
+ expect(config).toBeTruthy();
122
+ });
123
+ it("loads vite.config by default and applies the real native Metro options", async function () {
124
+ var fixtureRoot = createOneFixtureProject();
125
+ var config = await withOne(fixtureRoot);
126
+ expect(config.resolver.extraNodeModules["fixture-singleton"]).toBe(fixtureRoot);
127
+ expect(config.watchFolders).toContain(path.join(fixtureRoot, "shared"));
128
+ });
129
+ });
130
+ //# sourceMappingURL=withOne.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["path","fs","afterAll","describe","expect","it","withOne","_type_of","obj","Symbol","constructor","projectRoot","resolve","__dirname","tmpDirs","createOneFixtureProject","workspaceRoot","tmpDir","mkdtempSync","join","push","writeFileSync","JSON","stringify","name","private","compilerOptions","paths","mkdirSync","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","value","rmSync","recursive","force","err","return","config","loadViteConfig","toBeTruthy","resolver","resolveRequest","toBe","transformer"],"sources":["../../../src/metro-config/withOne.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -10,10 +10,18 @@ function getUserOneOptions() {
10
10
  }
11
11
  async function loadUserOneOptions(command, silent = false) {
12
12
  const originalConsoleError = console.error;
13
+ const previousIsVxrnCli = process.env.IS_VXRN_CLI;
14
+ const previousOneOptions = globalThis["__oneOptions"];
15
+ const previousVxrnPluginConfig = globalThis["__vxrnPluginConfig__"];
16
+ const previousVxrnMetroOptions = globalThis["__vxrnMetroOptions__"];
13
17
  if (silent) {
14
18
  console.error = () => {};
15
19
  }
16
20
  try {
21
+ process.env.IS_VXRN_CLI = "true";
22
+ delete globalThis["__oneOptions"];
23
+ delete globalThis["__vxrnPluginConfig__"];
24
+ delete globalThis["__vxrnMetroOptions__"];
17
25
  const config = await loadConfigFromFile({
18
26
  mode: command === "serve" ? "dev" : "prod",
19
27
  command
@@ -27,9 +35,20 @@ async function loadUserOneOptions(command, silent = false) {
27
35
  }
28
36
  return {
29
37
  config,
30
- oneOptions
38
+ oneOptions,
39
+ metroOptions: globalThis["__vxrnMetroOptions__"]
31
40
  };
41
+ } catch (error) {
42
+ globalThis["__oneOptions"] = previousOneOptions;
43
+ globalThis["__vxrnPluginConfig__"] = previousVxrnPluginConfig;
44
+ globalThis["__vxrnMetroOptions__"] = previousVxrnMetroOptions;
45
+ throw error;
32
46
  } finally {
47
+ if (previousIsVxrnCli === void 0) {
48
+ delete process.env.IS_VXRN_CLI;
49
+ } else {
50
+ process.env.IS_VXRN_CLI = previousIsVxrnCli;
51
+ }
33
52
  if (silent) {
34
53
  console.error = originalConsoleError;
35
54
  }
@@ -1 +1 @@
1
- {"version":3,"names":["loadConfigFromFile","setOneOptions","next","globalThis","__oneOptions","getUserOneOptions","Error","loadUserOneOptions","command","silent","originalConsoleError","console","error","config","mode","process","cwd","oneOptions"],"sources":["../../../src/vite/loadConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AAM5B,SAASC,cAAcC,IAAA,EAAyB;EACrDC,UAAA,CAAWC,YAAA,GAAeF,IAAA;AAC5B;AAEA,SAASG,kBAAA,EAAoB;EAC3B,IAAI,CAACF,UAAA,CAAWC,YAAA,EAAc;IAC5B,MAAM,IAAIE,KAAA,CACR,sEACF;EACF;EACA,OAAOH,UAAA,CAAWC,YAAA;AACpB;AAEA,eAAsBG,mBAAmBC,OAAA,EAA4BC,MAAA,GAAS,OAAO;EAEnF,MAAMC,oBAAA,GAAuBC,OAAA,CAAQC,KAAA;EACrC,IAAIH,MAAA,EAAQ;IACVE,OAAA,CAAQC,KAAA,GAAQ,MAAM,CAAC;EACzB;EAEA,IAAI;IACF,MAAMC,MAAA,GAAS,MAAMb,kBAAA,CAAmB;MACtCc,IAAA,EAAMN,OAAA,KAAY,UAAU,QAAQ;MACpCA;IACF,CAAC;IAED,IAAI,CAACK,MAAA,EAAQ;MACX,MAAM,IAAIP,KAAA,CACR,uBAAuBS,OAAA,CAAQC,GAAA,CAAI,CAAC,kCACtC;IACF;IAEA,MAAMC,UAAA,GAAaZ,iBAAA,CAAkB;IAErC,IAAI,CAACY,UAAA,EAAY;MACf,MAAM,IAAIX,KAAA,CAAM,0CAA0C;IAC5D;IAEA,OAAO;MACLO,MAAA;MACAI;IACF;EACF,UAAE;IACA,IAAIR,MAAA,EAAQ;MACVE,OAAA,CAAQC,KAAA,GAAQF,oBAAA;IAClB;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["loadConfigFromFile","setOneOptions","next","globalThis","__oneOptions","getUserOneOptions","Error","loadUserOneOptions","command","silent","originalConsoleError","console","error","previousIsVxrnCli","process","env","IS_VXRN_CLI","previousOneOptions","previousVxrnPluginConfig","previousVxrnMetroOptions","config","mode","cwd","oneOptions","metroOptions"],"sources":["../../../src/vite/loadConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AAM5B,SAASC,cAAcC,IAAA,EAAyB;EACrDC,UAAA,CAAWC,YAAA,GAAeF,IAAA;AAC5B;AAEA,SAASG,kBAAA,EAAoB;EAC3B,IAAI,CAACF,UAAA,CAAWC,YAAA,EAAc;IAC5B,MAAM,IAAIE,KAAA,CACR,sEACF;EACF;EACA,OAAOH,UAAA,CAAWC,YAAA;AACpB;AAEA,eAAsBG,mBAAmBC,OAAA,EAA4BC,MAAA,GAAS,OAAO;EAEnF,MAAMC,oBAAA,GAAuBC,OAAA,CAAQC,KAAA;EACrC,MAAMC,iBAAA,GAAoBC,OAAA,CAAQC,GAAA,CAAIC,WAAA;EACtC,MAAMC,kBAAA,GAAqBd,UAAA,CAAW,cAAc;EACpD,MAAMe,wBAAA,GAA2Bf,UAAA,CAAW,sBAAsB;EAClE,MAAMgB,wBAAA,GAA2BhB,UAAA,CAAW,sBAAsB;EAElE,IAAIM,MAAA,EAAQ;IACVE,OAAA,CAAQC,KAAA,GAAQ,MAAM,CAAC;EACzB;EAEA,IAAI;IACFE,OAAA,CAAQC,GAAA,CAAIC,WAAA,GAAc;IAC1B,OAAOb,UAAA,CAAW,cAAc;IAChC,OAAOA,UAAA,CAAW,sBAAsB;IACxC,OAAOA,UAAA,CAAW,sBAAsB;IAExC,MAAMiB,MAAA,GAAS,MAAMpB,kBAAA,CAAmB;MACtCqB,IAAA,EAAMb,OAAA,KAAY,UAAU,QAAQ;MACpCA;IACF,CAAC;IAED,IAAI,CAACY,MAAA,EAAQ;MACX,MAAM,IAAId,KAAA,CACR,uBAAuBQ,OAAA,CAAQQ,GAAA,CAAI,CAAC,kCACtC;IACF;IAEA,MAAMC,UAAA,GAAalB,iBAAA,CAAkB;IAErC,IAAI,CAACkB,UAAA,EAAY;MACf,MAAM,IAAIjB,KAAA,CAAM,0CAA0C;IAC5D;IAEA,OAAO;MACLc,MAAA;MACAG,UAAA;MACAC,YAAA,EAAcrB,UAAA,CAAW,sBAAsB;IACjD;EACF,SAASS,KAAA,EAAO;IACdT,UAAA,CAAW,cAAc,IAAIc,kBAAA;IAC7Bd,UAAA,CAAW,sBAAsB,IAAIe,wBAAA;IACrCf,UAAA,CAAW,sBAAsB,IAAIgB,wBAAA;IACrC,MAAMP,KAAA;EACR,UAAE;IACA,IAAIC,iBAAA,KAAsB,QAAW;MACnC,OAAOC,OAAA,CAAQC,GAAA,CAAIC,WAAA;IACrB,OAAO;MACLF,OAAA,CAAQC,GAAA,CAAIC,WAAA,GAAcH,iBAAA;IAC5B;IAEA,IAAIJ,MAAA,EAAQ;MACVE,OAAA,CAAQC,KAAA,GAAQF,oBAAA;IAClB;EACF;AACF","ignoreList":[]}