one 1.1.511 → 1.1.513

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 (100) hide show
  1. package/dist/cjs/babel-plugins/one-router-metro.cjs +4 -2
  2. package/dist/cjs/babel-plugins/one-router-metro.js +10 -2
  3. package/dist/cjs/babel-plugins/one-router-metro.js.map +1 -1
  4. package/dist/cjs/babel-plugins/one-router-metro.native.js +4 -2
  5. package/dist/cjs/babel-plugins/one-router-metro.native.js.map +2 -2
  6. package/dist/cjs/metro-config/getViteMetroPluginOptions.cjs +39 -13
  7. package/dist/cjs/metro-config/getViteMetroPluginOptions.js +42 -15
  8. package/dist/cjs/metro-config/getViteMetroPluginOptions.js.map +2 -2
  9. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js +43 -19
  10. package/dist/cjs/metro-config/getViteMetroPluginOptions.native.js.map +2 -2
  11. package/dist/cjs/router/glob-patterns.cjs +32 -0
  12. package/dist/cjs/router/glob-patterns.js +28 -0
  13. package/dist/cjs/router/glob-patterns.js.map +6 -0
  14. package/dist/cjs/router/glob-patterns.native.js +38 -0
  15. package/dist/cjs/router/glob-patterns.native.js.map +6 -0
  16. package/dist/cjs/typed-routes/generateRouteTypes.cjs +8 -2
  17. package/dist/cjs/typed-routes/generateRouteTypes.js +8 -3
  18. package/dist/cjs/typed-routes/generateRouteTypes.js.map +2 -2
  19. package/dist/cjs/typed-routes/generateRouteTypes.native.js +8 -3
  20. package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +2 -2
  21. package/dist/cjs/vite/one.cjs +4 -3
  22. package/dist/cjs/vite/one.js +4 -3
  23. package/dist/cjs/vite/one.js.map +1 -1
  24. package/dist/cjs/vite/one.native.js +5 -4
  25. package/dist/cjs/vite/one.native.js.map +2 -2
  26. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +2 -2
  27. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js +2 -2
  28. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  29. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +6 -2
  30. package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +2 -2
  31. package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +8 -7
  32. package/dist/cjs/vite/plugins/virtualEntryPlugin.js +9 -6
  33. package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
  34. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +22 -6
  35. package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +2 -2
  36. package/dist/esm/babel-plugins/one-router-metro.js +10 -2
  37. package/dist/esm/babel-plugins/one-router-metro.js.map +1 -1
  38. package/dist/esm/babel-plugins/one-router-metro.mjs +4 -2
  39. package/dist/esm/babel-plugins/one-router-metro.mjs.map +1 -1
  40. package/dist/esm/babel-plugins/one-router-metro.native.js +4 -2
  41. package/dist/esm/babel-plugins/one-router-metro.native.js.map +1 -1
  42. package/dist/esm/metro-config/getViteMetroPluginOptions.js +46 -14
  43. package/dist/esm/metro-config/getViteMetroPluginOptions.js.map +1 -1
  44. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs +38 -12
  45. package/dist/esm/metro-config/getViteMetroPluginOptions.mjs.map +1 -1
  46. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js +45 -17
  47. package/dist/esm/metro-config/getViteMetroPluginOptions.native.js.map +1 -1
  48. package/dist/esm/router/glob-patterns.js +12 -0
  49. package/dist/esm/router/glob-patterns.js.map +6 -0
  50. package/dist/esm/router/glob-patterns.mjs +6 -0
  51. package/dist/esm/router/glob-patterns.mjs.map +1 -0
  52. package/dist/esm/router/glob-patterns.native.js +6 -0
  53. package/dist/esm/router/glob-patterns.native.js.map +1 -0
  54. package/dist/esm/typed-routes/generateRouteTypes.js +8 -2
  55. package/dist/esm/typed-routes/generateRouteTypes.js.map +1 -1
  56. package/dist/esm/typed-routes/generateRouteTypes.mjs +8 -2
  57. package/dist/esm/typed-routes/generateRouteTypes.mjs.map +1 -1
  58. package/dist/esm/typed-routes/generateRouteTypes.native.js +8 -3
  59. package/dist/esm/typed-routes/generateRouteTypes.native.js.map +1 -1
  60. package/dist/esm/vite/one.js +4 -3
  61. package/dist/esm/vite/one.js.map +1 -1
  62. package/dist/esm/vite/one.mjs +4 -3
  63. package/dist/esm/vite/one.mjs.map +1 -1
  64. package/dist/esm/vite/one.native.js +5 -4
  65. package/dist/esm/vite/one.native.js.map +1 -1
  66. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js +2 -2
  67. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
  68. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +2 -2
  69. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
  70. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +6 -2
  71. package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
  72. package/dist/esm/vite/plugins/virtualEntryPlugin.js +14 -5
  73. package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
  74. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +7 -6
  75. package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
  76. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +15 -6
  77. package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
  78. package/metro-entry-ctx.js +1 -2
  79. package/package.json +10 -10
  80. package/src/babel-plugins/one-router-metro.ts +13 -1
  81. package/src/metro-config/getViteMetroPluginOptions.ts +80 -13
  82. package/src/router/glob-patterns.ts +16 -0
  83. package/src/typed-routes/generateRouteTypes.ts +13 -2
  84. package/src/vite/one.ts +2 -1
  85. package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +2 -2
  86. package/src/vite/plugins/virtualEntryPlugin.ts +22 -7
  87. package/src/vite/types.ts +11 -0
  88. package/types/babel-plugins/one-router-metro.d.ts +1 -0
  89. package/types/babel-plugins/one-router-metro.d.ts.map +1 -1
  90. package/types/metro-config/getViteMetroPluginOptions.d.ts +2 -1
  91. package/types/metro-config/getViteMetroPluginOptions.d.ts.map +1 -1
  92. package/types/router/glob-patterns.d.ts +11 -0
  93. package/types/router/glob-patterns.d.ts.map +1 -0
  94. package/types/typed-routes/generateRouteTypes.d.ts +1 -1
  95. package/types/typed-routes/generateRouteTypes.d.ts.map +1 -1
  96. package/types/vite/one.d.ts.map +1 -1
  97. package/types/vite/plugins/virtualEntryPlugin.d.ts +3 -0
  98. package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
  99. package/types/vite/types.d.ts +11 -0
  100. package/types/vite/types.d.ts.map +1 -1
@@ -41,17 +41,19 @@ function oneRouterMetroPlugin(_, options) {
41
41
  }
42
42
  const {
43
43
  ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY,
44
- ONE_ROUTER_ROOT_FOLDER_NAME
44
+ ONE_ROUTER_ROOT_FOLDER_NAME,
45
+ ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING
45
46
  } = options;
46
47
  if (!ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY) throw new Error("[one/babel-plugin-one-router-metro] Must provide option: ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY");
47
48
  if (!ONE_ROUTER_ROOT_FOLDER_NAME) throw new Error("[one/babel-plugin-one-router-metro] Must provide option: ONE_ROUTER_ROOT_FOLDER_NAME");
49
+ if (!ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING) throw new Error("[one/babel-plugin-one-router-metro] Must provide option: ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING");
48
50
  return {
49
51
  name: "one-router-metro",
50
52
  visitor: {
51
53
  MemberExpression(path, state) {
52
54
  if (path.get("object").matchesPattern("process.env")) {
53
55
  const key = path.toComputedKey();
54
- t.isStringLiteral(key) && !isFirstInAssign(path) && (key.value.startsWith("ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY") ? path.replaceWith(t.stringLiteral(ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY)) : key.value.startsWith("ONE_ROUTER_ROOT_FOLDER_NAME") && path.replaceWith(t.stringLiteral(ONE_ROUTER_ROOT_FOLDER_NAME)));
56
+ t.isStringLiteral(key) && !isFirstInAssign(path) && (key.value.startsWith("ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY") ? path.replaceWith(t.stringLiteral(ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY)) : key.value.startsWith("ONE_ROUTER_ROOT_FOLDER_NAME") ? path.replaceWith(t.stringLiteral(ONE_ROUTER_ROOT_FOLDER_NAME)) : key.value.startsWith("ONE_ROUTER_REQUIRE_CONTEXT_REGEX") && path.replaceWith(t.regExpLiteral(ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING)));
55
57
  }
56
58
  }
57
59
  }
@@ -30,7 +30,11 @@ function oneRouterMetroPlugin(_, options) {
30
30
  function isFirstInAssign(path) {
31
31
  return t.isAssignmentExpression(path.parent) && path.parent.left === path.node;
32
32
  }
33
- const { ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY, ONE_ROUTER_ROOT_FOLDER_NAME } = options;
33
+ const {
34
+ ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY,
35
+ ONE_ROUTER_ROOT_FOLDER_NAME,
36
+ ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING
37
+ } = options;
34
38
  if (!ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY)
35
39
  throw new Error(
36
40
  "[one/babel-plugin-one-router-metro] Must provide option: ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY"
@@ -39,13 +43,17 @@ function oneRouterMetroPlugin(_, options) {
39
43
  throw new Error(
40
44
  "[one/babel-plugin-one-router-metro] Must provide option: ONE_ROUTER_ROOT_FOLDER_NAME"
41
45
  );
46
+ if (!ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING)
47
+ throw new Error(
48
+ "[one/babel-plugin-one-router-metro] Must provide option: ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING"
49
+ );
42
50
  return {
43
51
  name: "one-router-metro",
44
52
  visitor: {
45
53
  MemberExpression(path, state) {
46
54
  if (path.get("object").matchesPattern("process.env")) {
47
55
  const key = path.toComputedKey();
48
- t.isStringLiteral(key) && !isFirstInAssign(path) && (key.value.startsWith("ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY") ? path.replaceWith(t.stringLiteral(ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY)) : key.value.startsWith("ONE_ROUTER_ROOT_FOLDER_NAME") && path.replaceWith(t.stringLiteral(ONE_ROUTER_ROOT_FOLDER_NAME)));
56
+ t.isStringLiteral(key) && !isFirstInAssign(path) && (key.value.startsWith("ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY") ? path.replaceWith(t.stringLiteral(ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY)) : key.value.startsWith("ONE_ROUTER_ROOT_FOLDER_NAME") ? path.replaceWith(t.stringLiteral(ONE_ROUTER_ROOT_FOLDER_NAME)) : key.value.startsWith("ONE_ROUTER_REQUIRE_CONTEXT_REGEX") && path.replaceWith(t.regExpLiteral(ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING)));
49
57
  }
50
58
  }
51
59
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/babel-plugins/one-router-metro.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,QAAmB;AAOnB,SAAS,qBAAqB,GAAQ,SAAwB;AAC5D,WAAS,gBAAgB,MAAoC;AAC3D,WAAO,EAAE,uBAAuB,KAAK,MAAM,KAAK,KAAK,OAAO,SAAS,KAAK;AAAA,EAC5E;AAEA,QAAM,EAAE,uCAAuC,4BAA4B,IAAI;AAE/E,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAEF,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAGF,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,MACP,iBAAiB,MAAW,OAAY;AACtC,YAAI,KAAK,IAAI,QAAQ,EAAE,eAAe,aAAa,GAAG;AACpD,gBAAM,MAAM,KAAK,cAAc;AAC/B,UAAI,EAAE,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,MAC7C,IAAI,MAAM,WAAW,uCAAuC,IAC9D,KAAK,YAAY,EAAE,cAAc,qCAAqC,CAAC,IAC9D,IAAI,MAAM,WAAW,6BAA6B,KAC3D,KAAK,YAAY,EAAE,cAAc,2BAA2B,CAAC;AAAA,QAGnE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,2BAAQ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,QAAmB;AAQnB,SAAS,qBAAqB,GAAQ,SAAwB;AAC5D,WAAS,gBAAgB,MAAoC;AAC3D,WAAO,EAAE,uBAAuB,KAAK,MAAM,KAAK,KAAK,OAAO,SAAS,KAAK;AAAA,EAC5E;AAEA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAEF,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAEF,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAGF,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,MACP,iBAAiB,MAAW,OAAY;AACtC,YAAI,KAAK,IAAI,QAAQ,EAAE,eAAe,aAAa,GAAG;AACpD,gBAAM,MAAM,KAAK,cAAc;AAC/B,UAAI,EAAE,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,MAC7C,IAAI,MAAM,WAAW,uCAAuC,IAC9D,KAAK,YAAY,EAAE,cAAc,qCAAqC,CAAC,IAC9D,IAAI,MAAM,WAAW,6BAA6B,IAC3D,KAAK,YAAY,EAAE,cAAc,2BAA2B,CAAC,IACpD,IAAI,MAAM,WAAW,kCAAkC,KAChE,KAAK,YAAY,EAAE,cAAc,uCAAuC,CAAC;AAAA,QAG/E;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,2BAAQ;",
5
5
  "names": []
6
6
  }
@@ -31,18 +31,20 @@ function oneRouterMetroPlugin(_, options) {
31
31
  function isFirstInAssign(path) {
32
32
  return t.isAssignmentExpression(path.parent) && path.parent.left === path.node;
33
33
  }
34
- var { ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY, ONE_ROUTER_ROOT_FOLDER_NAME } = options;
34
+ var { ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY, ONE_ROUTER_ROOT_FOLDER_NAME, ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING } = options;
35
35
  if (!ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY)
36
36
  throw new Error("[one/babel-plugin-one-router-metro] Must provide option: ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY");
37
37
  if (!ONE_ROUTER_ROOT_FOLDER_NAME)
38
38
  throw new Error("[one/babel-plugin-one-router-metro] Must provide option: ONE_ROUTER_ROOT_FOLDER_NAME");
39
+ if (!ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING)
40
+ throw new Error("[one/babel-plugin-one-router-metro] Must provide option: ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING");
39
41
  return {
40
42
  name: "one-router-metro",
41
43
  visitor: {
42
44
  MemberExpression(path, state) {
43
45
  if (path.get("object").matchesPattern("process.env")) {
44
46
  var key = path.toComputedKey();
45
- t.isStringLiteral(key) && !isFirstInAssign(path) && (key.value.startsWith("ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY") ? path.replaceWith(t.stringLiteral(ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY)) : key.value.startsWith("ONE_ROUTER_ROOT_FOLDER_NAME") && path.replaceWith(t.stringLiteral(ONE_ROUTER_ROOT_FOLDER_NAME)));
47
+ t.isStringLiteral(key) && !isFirstInAssign(path) && (key.value.startsWith("ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY") ? path.replaceWith(t.stringLiteral(ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY)) : key.value.startsWith("ONE_ROUTER_ROOT_FOLDER_NAME") ? path.replaceWith(t.stringLiteral(ONE_ROUTER_ROOT_FOLDER_NAME)) : key.value.startsWith("ONE_ROUTER_REQUIRE_CONTEXT_REGEX") && path.replaceWith(t.regExpLiteral(ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING)));
46
48
  }
47
49
  }
48
50
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/babel-plugins/one-router-metro.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;QAAmB;AAOnB,SAASA,qBAAqBC,GAAQC,SAAsB;AAC1D,WAASC,gBAAgBC,MAAkC;AACzD,WAAOC,EAAEC,uBAAuBF,KAAKG,MAAM,KAAKH,KAAKG,OAAOC,SAASJ,KAAKK;EAC5E;AAEA,MAAM,EAAEC,uCAAuCC,4BAA2B,IAAKT;AAE/E,MAAI,CAACQ;AACH,UAAM,IAAIE,MACR,gGAAgG;AAGpG,MAAI,CAACD;AACH,UAAM,IAAIC,MACR,sFAAsF;AAI1F,SAAO;IACLC,MAAM;IACNC,SAAS;MACPC,iBAAiBX,MAAWY,OAAU;AACpC,YAAIZ,KAAKa,IAAI,QAAA,EAAUC,eAAe,aAAA,GAAgB;AACpD,cAAMC,MAAMf,KAAKgB,cAAa;AAC9B,UAAIf,EAAEgB,gBAAgBF,GAAAA,KAAQ,CAAChB,gBAAgBC,IAAAA,MACzCe,IAAIG,MAAMC,WAAW,uCAAA,IACvBnB,KAAKoB,YAAYnB,EAAEoB,cAAcf,qCAAAA,CAAAA,IACxBS,IAAIG,MAAMC,WAAW,6BAAA,KAC9BnB,KAAKoB,YAAYnB,EAAEoB,cAAcd,2BAAAA,CAAAA;QAGvC;MACF;IACF;EACF;AACF;AAEA,IAAA,2BAAeX;",
5
- "names": ["oneRouterMetroPlugin", "_", "options", "isFirstInAssign", "path", "t", "isAssignmentExpression", "parent", "left", "node", "ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY", "ONE_ROUTER_ROOT_FOLDER_NAME", "Error", "name", "visitor", "MemberExpression", "state", "get", "matchesPattern", "key", "toComputedKey", "isStringLiteral", "value", "startsWith", "replaceWith", "stringLiteral"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;QAAmB;AAQnB,SAASA,qBAAqBC,GAAQC,SAAsB;AAC1D,WAASC,gBAAgBC,MAAkC;AACzD,WAAOC,EAAEC,uBAAuBF,KAAKG,MAAM,KAAKH,KAAKG,OAAOC,SAASJ,KAAKK;EAC5E;AAEA,MAAM,EACJC,uCACAC,6BACAC,wCAAuC,IACrCV;AAEJ,MAAI,CAACQ;AACH,UAAM,IAAIG,MACR,gGAAgG;AAGpG,MAAI,CAACF;AACH,UAAM,IAAIE,MACR,sFAAsF;AAG1F,MAAI,CAACD;AACH,UAAM,IAAIC,MACR,kGAAkG;AAItG,SAAO;IACLC,MAAM;IACNC,SAAS;MACPC,iBAAiBZ,MAAWa,OAAU;AACpC,YAAIb,KAAKc,IAAI,QAAA,EAAUC,eAAe,aAAA,GAAgB;AACpD,cAAMC,MAAMhB,KAAKiB,cAAa;AAC9B,UAAIhB,EAAEiB,gBAAgBF,GAAAA,KAAQ,CAACjB,gBAAgBC,IAAAA,MACzCgB,IAAIG,MAAMC,WAAW,uCAAA,IACvBpB,KAAKqB,YAAYpB,EAAEqB,cAAchB,qCAAAA,CAAAA,IACxBU,IAAIG,MAAMC,WAAW,6BAAA,IAC9BpB,KAAKqB,YAAYpB,EAAEqB,cAAcf,2BAAAA,CAAAA,IACxBS,IAAIG,MAAMC,WAAW,kCAAA,KAC9BpB,KAAKqB,YAAYpB,EAAEsB,cAAcf,uCAAAA,CAAAA;QAGvC;MACF;IACF;EACF;AACF;AAEA,IAAA,2BAAeZ;",
5
+ "names": ["oneRouterMetroPlugin", "_", "options", "isFirstInAssign", "path", "t", "isAssignmentExpression", "parent", "left", "node", "ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY", "ONE_ROUTER_ROOT_FOLDER_NAME", "ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING", "Error", "name", "visitor", "MemberExpression", "state", "get", "matchesPattern", "key", "toComputedKey", "isStringLiteral", "value", "startsWith", "replaceWith", "stringLiteral", "regExpLiteral"]
6
6
  }
@@ -36,10 +36,13 @@ __export(getViteMetroPluginOptions_exports, {
36
36
  module.exports = __toCommonJS(getViteMetroPluginOptions_exports);
37
37
  var import_node_module = __toESM(require("node:module"), 1),
38
38
  import_node_path = __toESM(require("node:path"), 1),
39
- import_tsconfig_paths = __toESM(require("tsconfig-paths"), 1);
39
+ import_tsconfig_paths = __toESM(require("tsconfig-paths"), 1),
40
+ import_micromatch = __toESM(require("micromatch"), 1),
41
+ import_glob_patterns = require("../router/glob-patterns.cjs");
40
42
  function getViteMetroPluginOptions({
41
43
  projectRoot,
42
- relativeRouterRoot
44
+ relativeRouterRoot,
45
+ ignoredRouteFiles
43
46
  }) {
44
47
  const tsconfigPathsConfigLoadResult = import_tsconfig_paths.default.loadConfig(projectRoot);
45
48
  if (tsconfigPathsConfigLoadResult.resultType === "failed") throw new Error("tsconfigPathsConfigLoadResult.resultType is not success");
@@ -49,22 +52,43 @@ function getViteMetroPluginOptions({
49
52
  }),
50
53
  metroEntryPath = require2.resolve("one/metro-entry", {
51
54
  paths: [projectRoot]
52
- });
55
+ }),
56
+ routerRequireContextRegexString = (() => {
57
+ const excludeRes = [...(ignoredRouteFiles || []).map(pattern => import_micromatch.default.makeRe(pattern)), ...import_glob_patterns.ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS.map(pattern => import_micromatch.default.makeRe(pattern)), import_micromatch.default.makeRe(import_glob_patterns.API_ROUTE_GLOB_PATTERN)],
58
+ supportedRegexMustStartWith = String.raw`^(?:(?:^|\/|(?:(?:(?!(?:^|\/)\.).)*?)\/)(?!\.)(?=.)[^/]*?`,
59
+ supportedRegexMustEndWith = String.raw`)$`,
60
+ negativeLookaheadGroups = excludeRes.map((re, i) => {
61
+ const reSource = re.source;
62
+ if (!(reSource.startsWith(supportedRegexMustStartWith) && reSource.endsWith(supportedRegexMustEndWith))) {
63
+ const ignoredRouteFile = ignoredRouteFiles?.[i];
64
+ throw ignoredRouteFile ? new Error(`[one/metro] ignoredRouteFile pattern "${ignoredRouteFile}" is not supported. We cannot process the corresponding regex "${reSource}" for now.`) : new Error(`Unsupported regex "${reSource}" in "ignoredRouteFiles".`);
65
+ }
66
+ const rePart = reSource.slice(supportedRegexMustStartWith.length, reSource.length - supportedRegexMustEndWith.length);
67
+ return String.raw`(?:.*${rePart})`;
68
+ });
69
+ return String.raw`^(?:\.\/)(?!${negativeLookaheadGroups.join("|")}$).*\.tsx?$`;
70
+ })();
53
71
  return {
54
72
  defaultConfigOverrides: defaultConfig => ({
55
73
  ...defaultConfig,
56
74
  resolver: {
57
75
  ...defaultConfig?.resolver,
58
76
  extraNodeModules: {
59
- ...defaultConfig?.resolver?.extraNodeModules,
77
+ ...defaultConfig?.resolver?.extraNodeModules
60
78
  // "vite-tsconfig-paths" for Metro
61
- ...Object.fromEntries(Object.entries(tsconfigPathsConfigLoadResult.paths).map(([k, v]) => {
62
- if (k.endsWith("/*") && v[0]?.endsWith("/*")) {
63
- const key = k.replace(/\/\*$/, "");
64
- let value = v[0].replace(/\/\*$/, "");
65
- return value = import_node_path.default.join(tsconfigPathsConfigLoadResult.absoluteBaseUrl, value), [key, value];
66
- }
67
- }).filter(i => !!i))
79
+ // Commenting out since we are using babel-plugin-module-resolver alias instead
80
+ // ...Object.fromEntries(
81
+ // Object.entries(tsconfigPathsConfigLoadResult.paths)
82
+ // .map(([k, v]) => {
83
+ // if (k.endsWith('/*') && v[0]?.endsWith('/*')) {
84
+ // const key = k.replace(/\/\*$/, '')
85
+ // let value = v[0].replace(/\/\*$/, '')
86
+ // value = path.join(tsconfigPathsConfigLoadResult.absoluteBaseUrl, value)
87
+ // return [key, value]
88
+ // }
89
+ // })
90
+ // .filter((i): i is NonNullable<typeof i> => !!i)
91
+ // ),
68
92
  },
69
93
  nodeModulesPaths: tsconfigPathsConfigLoadResult.absoluteBaseUrl ? [
70
94
  // "vite-tsconfig-paths" for Metro
@@ -81,15 +105,17 @@ function getViteMetroPluginOptions({
81
105
  babelConfig: {
82
106
  plugins: [["babel-plugin-module-resolver", {
83
107
  alias: {
108
+ // "vite-tsconfig-paths" for Metro
84
109
  ...Object.fromEntries(Object.entries(tsconfigPathsConfigLoadResult.paths).map(([k, v]) => {
85
- const key = k.replace(/\/\*$/, "");
110
+ const key = k.endsWith("/*") ? k.replace(/\/\*$/, "") : `${k}$`;
86
111
  let value = v[0].replace(/\/\*$/, "");
87
112
  return value.startsWith("./") || (value = `./${value}`), [key, value];
88
113
  }))
89
114
  }
90
115
  }], ["one/babel-plugin-one-router-metro", {
91
116
  ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY: import_node_path.default.relative(import_node_path.default.dirname(metroEntryPath), import_node_path.default.join(projectRoot, relativeRouterRoot)),
92
- ONE_ROUTER_ROOT_FOLDER_NAME: relativeRouterRoot
117
+ ONE_ROUTER_ROOT_FOLDER_NAME: relativeRouterRoot,
118
+ ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING: routerRequireContextRegexString
93
119
  }]]
94
120
  }
95
121
  };
@@ -25,10 +25,11 @@ __export(getViteMetroPluginOptions_exports, {
25
25
  getViteMetroPluginOptions: () => getViteMetroPluginOptions
26
26
  });
27
27
  module.exports = __toCommonJS(getViteMetroPluginOptions_exports);
28
- var import_node_module = __toESM(require("node:module"), 1), import_node_path = __toESM(require("node:path"), 1), import_tsconfig_paths = __toESM(require("tsconfig-paths"), 1);
28
+ var import_node_module = __toESM(require("node:module"), 1), import_node_path = __toESM(require("node:path"), 1), import_tsconfig_paths = __toESM(require("tsconfig-paths"), 1), import_micromatch = __toESM(require("micromatch"), 1), import_glob_patterns = require("../router/glob-patterns");
29
29
  function getViteMetroPluginOptions({
30
30
  projectRoot,
31
- relativeRouterRoot
31
+ relativeRouterRoot,
32
+ ignoredRouteFiles
32
33
  }) {
33
34
  const tsconfigPathsConfigLoadResult = import_tsconfig_paths.default.loadConfig(projectRoot);
34
35
  if (tsconfigPathsConfigLoadResult.resultType === "failed")
@@ -37,24 +38,48 @@ function getViteMetroPluginOptions({
37
38
  paths: [projectRoot]
38
39
  }), metroEntryPath = require2.resolve("one/metro-entry", {
39
40
  paths: [projectRoot]
40
- });
41
+ }), routerRequireContextRegexString = (() => {
42
+ const excludeRes = [
43
+ ...(ignoredRouteFiles || []).map((pattern) => import_micromatch.default.makeRe(pattern)),
44
+ ...import_glob_patterns.ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS.map((pattern) => import_micromatch.default.makeRe(pattern)),
45
+ import_micromatch.default.makeRe(import_glob_patterns.API_ROUTE_GLOB_PATTERN)
46
+ ], supportedRegexMustStartWith = String.raw`^(?:(?:^|\/|(?:(?:(?!(?:^|\/)\.).)*?)\/)(?!\.)(?=.)[^/]*?`, supportedRegexMustEndWith = String.raw`)$`, negativeLookaheadGroups = excludeRes.map((re, i) => {
47
+ const reSource = re.source;
48
+ if (!(reSource.startsWith(supportedRegexMustStartWith) && reSource.endsWith(supportedRegexMustEndWith))) {
49
+ const ignoredRouteFile = ignoredRouteFiles?.[i];
50
+ throw ignoredRouteFile ? new Error(
51
+ `[one/metro] ignoredRouteFile pattern "${ignoredRouteFile}" is not supported. We cannot process the corresponding regex "${reSource}" for now.`
52
+ ) : new Error(`Unsupported regex "${reSource}" in "ignoredRouteFiles".`);
53
+ }
54
+ const rePart = reSource.slice(
55
+ supportedRegexMustStartWith.length,
56
+ reSource.length - supportedRegexMustEndWith.length
57
+ );
58
+ return String.raw`(?:.*${rePart})`;
59
+ });
60
+ return String.raw`^(?:\.\/)(?!${negativeLookaheadGroups.join("|")}$).*\.tsx?$`;
61
+ })();
41
62
  return {
42
63
  defaultConfigOverrides: (defaultConfig) => ({
43
64
  ...defaultConfig,
44
65
  resolver: {
45
66
  ...defaultConfig?.resolver,
46
67
  extraNodeModules: {
47
- ...defaultConfig?.resolver?.extraNodeModules,
68
+ ...defaultConfig?.resolver?.extraNodeModules
48
69
  // "vite-tsconfig-paths" for Metro
49
- ...Object.fromEntries(
50
- Object.entries(tsconfigPathsConfigLoadResult.paths).map(([k, v]) => {
51
- if (k.endsWith("/*") && v[0]?.endsWith("/*")) {
52
- const key = k.replace(/\/\*$/, "");
53
- let value = v[0].replace(/\/\*$/, "");
54
- return value = import_node_path.default.join(tsconfigPathsConfigLoadResult.absoluteBaseUrl, value), [key, value];
55
- }
56
- }).filter((i) => !!i)
57
- )
70
+ // Commenting out since we are using babel-plugin-module-resolver alias instead
71
+ // ...Object.fromEntries(
72
+ // Object.entries(tsconfigPathsConfigLoadResult.paths)
73
+ // .map(([k, v]) => {
74
+ // if (k.endsWith('/*') && v[0]?.endsWith('/*')) {
75
+ // const key = k.replace(/\/\*$/, '')
76
+ // let value = v[0].replace(/\/\*$/, '')
77
+ // value = path.join(tsconfigPathsConfigLoadResult.absoluteBaseUrl, value)
78
+ // return [key, value]
79
+ // }
80
+ // })
81
+ // .filter((i): i is NonNullable<typeof i> => !!i)
82
+ // ),
58
83
  },
59
84
  nodeModulesPaths: tsconfigPathsConfigLoadResult.absoluteBaseUrl ? [
60
85
  // "vite-tsconfig-paths" for Metro
@@ -78,9 +103,10 @@ function getViteMetroPluginOptions({
78
103
  "babel-plugin-module-resolver",
79
104
  {
80
105
  alias: {
106
+ // "vite-tsconfig-paths" for Metro
81
107
  ...Object.fromEntries(
82
108
  Object.entries(tsconfigPathsConfigLoadResult.paths).map(([k, v]) => {
83
- const key = k.replace(/\/\*$/, "");
109
+ const key = k.endsWith("/*") ? k.replace(/\/\*$/, "") : `${k}$`;
84
110
  let value = v[0].replace(/\/\*$/, "");
85
111
  return value.startsWith("./") || (value = `./${value}`), [key, value];
86
112
  })
@@ -95,7 +121,8 @@ function getViteMetroPluginOptions({
95
121
  import_node_path.default.dirname(metroEntryPath),
96
122
  import_node_path.default.join(projectRoot, relativeRouterRoot)
97
123
  ),
98
- ONE_ROUTER_ROOT_FOLDER_NAME: relativeRouterRoot
124
+ ONE_ROUTER_ROOT_FOLDER_NAME: relativeRouterRoot,
125
+ ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING: routerRequireContextRegexString
99
126
  }
100
127
  ]
101
128
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/metro-config/getViteMetroPluginOptions.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,yBAAmB,oCACnB,mBAAiB,kCACjB,wBAA0B;AAEnB,SAAS,0BAA0B;AAAA,EACxC;AAAA,EACA;AACF,GAGsC;AACpC,QAAM,gCAAgC,sBAAAA,QAAc,WAAW,WAAW;AAE1E,MAAI,8BAA8B,eAAe;AAC/C,UAAM,IAAI,MAAM,yDAAyD;AAG3E,QAAMC,WAAU,mBAAAC,QAAO,cAAc,WAAW,GAC1C,YAAYD,SAAQ,QAAQ,iCAAiC;AAAA,IACjE,OAAO,CAAC,WAAW;AAAA,EACrB,CAAC,GAEK,iBAAiBA,SAAQ,QAAQ,mBAAmB;AAAA,IACxD,OAAO,CAAC,WAAW;AAAA,EACrB,CAAC;AACD,SAAO;AAAA,IACL,wBAAwB,CAAC,mBAChB;AAAA,MACL,GAAG;AAAA,MACH,UAAU;AAAA,QACR,GAAG,eAAe;AAAA,QAClB,kBAAkB;AAAA,UAChB,GAAG,eAAe,UAAU;AAAA;AAAA,UAE5B,GAAG,OAAO;AAAA,YACR,OAAO,QAAQ,8BAA8B,KAAK,EAC/C,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM;AACf,kBAAI,EAAE,SAAS,IAAI,KAAK,EAAE,CAAC,GAAG,SAAS,IAAI,GAAG;AAC5C,sBAAM,MAAM,EAAE,QAAQ,SAAS,EAAE;AACjC,oBAAI,QAAQ,EAAE,CAAC,EAAE,QAAQ,SAAS,EAAE;AAEpC,+BAAQ,iBAAAE,QAAK,KAAK,8BAA8B,iBAAiB,KAAK,GAE/D,CAAC,KAAK,KAAK;AAAA,cACpB;AAAA,YACF,CAAC,EACA,OAAO,CAAC,MAAkC,CAAC,CAAC,CAAC;AAAA,UAClD;AAAA,QACF;AAAA,QACA,kBAAkB,8BAA8B,kBAC5C;AAAA;AAAA,UAEE,8BAA8B;AAAA,UAC9B,GAAI,eAAe,UAAU,oBAAoB,CAAC;AAAA,QACpD,IACA,eAAe,UAAU;AAAA,QAC7B,gBAAgB,CAAC,SAAS,YAAY,aAChC,WAAW,SAAS,MAAM,KAC5B,QAAQ;AAAA,UACN,0DAA0D,UAAU;AAAA,QACtE,GACO;AAAA,UACL,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,KAIE,oBAAoB,KAAK,UAAU,IAC9B;AAAA,UACL,MAAM;AAAA,UACN,UAAU;AAAA,QACZ,KAIA,eAAe,UAAU,kBAAkB,QAAQ,gBACnB,SAAS,YAAY,QAAQ;AAAA,MAGnE;AAAA,IACF;AAAA,IAEF,aAAa;AAAA,MACX,SAAS;AAAA,QACP;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO;AAAA,cACL,GAAG,OAAO;AAAA,gBACR,OAAO,QAAQ,8BAA8B,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM;AAClE,wBAAM,MAAM,EAAE,QAAQ,SAAS,EAAE;AACjC,sBAAI,QAAQ,EAAE,CAAC,EAAE,QAAQ,SAAS,EAAE;AAEpC,yBAAK,MAAM,WAAW,IAAI,MACxB,QAAQ,KAAK,KAAK,KAGb,CAAC,KAAK,KAAK;AAAA,gBACpB,CAAC;AAAA,cACH;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,QACA;AAAA,UACE;AAAA,UACA;AAAA,YACE,uCAAuC,iBAAAA,QAAK;AAAA,cAC1C,iBAAAA,QAAK,QAAQ,cAAc;AAAA,cAC3B,iBAAAA,QAAK,KAAK,aAAa,kBAAkB;AAAA,YAC3C;AAAA,YACA,6BAA6B;AAAA,UAC/B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
5
- "names": ["tsconfigPaths", "require", "module", "path"]
4
+ "mappings": "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",
5
+ "names": ["tsconfigPaths", "require", "module", "mm", "path"]
6
6
  }
@@ -26,9 +26,9 @@ __export(getViteMetroPluginOptions_exports, {
26
26
  getViteMetroPluginOptions: () => getViteMetroPluginOptions
27
27
  });
28
28
  module.exports = __toCommonJS(getViteMetroPluginOptions_exports);
29
- var import_node_module = __toESM(require("node:module"), 1), import_node_path = __toESM(require("node:path"), 1), import_tsconfig_paths = __toESM(require("tsconfig-paths"), 1);
29
+ var import_node_module = __toESM(require("node:module"), 1), import_node_path = __toESM(require("node:path"), 1), import_tsconfig_paths = __toESM(require("tsconfig-paths"), 1), import_micromatch = __toESM(require("micromatch"), 1), import_glob_patterns = require("../router/glob-patterns");
30
30
  function getViteMetroPluginOptions(param) {
31
- var { projectRoot, relativeRouterRoot } = param, tsconfigPathsConfigLoadResult = import_tsconfig_paths.default.loadConfig(projectRoot);
31
+ var { projectRoot, relativeRouterRoot, ignoredRouteFiles } = param, tsconfigPathsConfigLoadResult = import_tsconfig_paths.default.loadConfig(projectRoot);
32
32
  if (tsconfigPathsConfigLoadResult.resultType === "failed")
33
33
  throw new Error("tsconfigPathsConfigLoadResult.resultType is not success");
34
34
  var require2 = import_node_module.default.createRequire(projectRoot), emptyPath = require2.resolve("@vxrn/vite-plugin-metro/empty", {
@@ -39,7 +39,26 @@ function getViteMetroPluginOptions(param) {
39
39
  paths: [
40
40
  projectRoot
41
41
  ]
42
- });
42
+ }), routerRequireContextRegexString = function() {
43
+ var excludeRes = [
44
+ ...(ignoredRouteFiles || []).map(function(pattern) {
45
+ return import_micromatch.default.makeRe(pattern);
46
+ }),
47
+ ...import_glob_patterns.ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS.map(function(pattern) {
48
+ return import_micromatch.default.makeRe(pattern);
49
+ }),
50
+ import_micromatch.default.makeRe(import_glob_patterns.API_ROUTE_GLOB_PATTERN)
51
+ ], supportedRegexMustStartWith = String.raw`^(?:(?:^|\/|(?:(?:(?!(?:^|\/)\.).)*?)\/)(?!\.)(?=.)[^/]*?`, supportedRegexMustEndWith = String.raw`)$`, negativeLookaheadGroups = excludeRes.map(function(re, i) {
52
+ var reSource = re.source;
53
+ if (!(reSource.startsWith(supportedRegexMustStartWith) && reSource.endsWith(supportedRegexMustEndWith))) {
54
+ var ignoredRouteFile = ignoredRouteFiles == null ? void 0 : ignoredRouteFiles[i];
55
+ throw ignoredRouteFile ? new Error(`[one/metro] ignoredRouteFile pattern "${ignoredRouteFile}" is not supported. We cannot process the corresponding regex "${reSource}" for now.`) : new Error(`Unsupported regex "${reSource}" in "ignoredRouteFiles".`);
56
+ }
57
+ var rePart = reSource.slice(supportedRegexMustStartWith.length, reSource.length - supportedRegexMustEndWith.length);
58
+ return String.raw`(?:.*${rePart})`;
59
+ });
60
+ return String.raw`^(?:\.\/)(?!${negativeLookaheadGroups.join("|")}$).*\.tsx?$`;
61
+ }();
43
62
  return {
44
63
  defaultConfigOverrides: function(defaultConfig) {
45
64
  var _defaultConfig_resolver, _defaultConfig_resolver1, _defaultConfig_resolver2;
@@ -48,21 +67,22 @@ function getViteMetroPluginOptions(param) {
48
67
  resolver: {
49
68
  ...defaultConfig == null ? void 0 : defaultConfig.resolver,
50
69
  extraNodeModules: {
51
- ...defaultConfig == null || (_defaultConfig_resolver = defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.extraNodeModules,
52
- // "vite-tsconfig-paths" for Metro
53
- ...Object.fromEntries(Object.entries(tsconfigPathsConfigLoadResult.paths).map(function(param2) {
54
- var [k, v] = param2, _v_;
55
- if (k.endsWith("/*") && (!((_v_ = v[0]) === null || _v_ === void 0) && _v_.endsWith("/*"))) {
56
- var key = k.replace(/\/\*$/, ""), value = v[0].replace(/\/\*$/, "");
57
- return value = import_node_path.default.join(tsconfigPathsConfigLoadResult.absoluteBaseUrl, value), [
58
- key,
59
- value
60
- ];
61
- }
62
- }).filter(function(i) {
63
- return !!i;
64
- }))
70
+ ...defaultConfig == null || (_defaultConfig_resolver = defaultConfig.resolver) === null || _defaultConfig_resolver === void 0 ? void 0 : _defaultConfig_resolver.extraNodeModules
65
71
  },
72
+ // "vite-tsconfig-paths" for Metro
73
+ // Commenting out since we are using babel-plugin-module-resolver alias instead
74
+ // ...Object.fromEntries(
75
+ // Object.entries(tsconfigPathsConfigLoadResult.paths)
76
+ // .map(([k, v]) => {
77
+ // if (k.endsWith('/*') && v[0]?.endsWith('/*')) {
78
+ // const key = k.replace(/\/\*$/, '')
79
+ // let value = v[0].replace(/\/\*$/, '')
80
+ // value = path.join(tsconfigPathsConfigLoadResult.absoluteBaseUrl, value)
81
+ // return [key, value]
82
+ // }
83
+ // })
84
+ // .filter((i): i is NonNullable<typeof i> => !!i)
85
+ // ),
66
86
  nodeModulesPaths: tsconfigPathsConfigLoadResult.absoluteBaseUrl ? [
67
87
  // "vite-tsconfig-paths" for Metro
68
88
  tsconfigPathsConfigLoadResult.absoluteBaseUrl,
@@ -92,8 +112,11 @@ function getViteMetroPluginOptions(param) {
92
112
  "babel-plugin-module-resolver",
93
113
  {
94
114
  alias: {
115
+ // "vite-tsconfig-paths" for Metro
95
116
  ...Object.fromEntries(Object.entries(tsconfigPathsConfigLoadResult.paths).map(function(param2) {
96
- var [k, v] = param2, key = k.replace(/\/\*$/, ""), value = v[0].replace(/\/\*$/, "");
117
+ var [k, v] = param2, key = function() {
118
+ return k.endsWith("/*") ? k.replace(/\/\*$/, "") : `${k}$`;
119
+ }(), value = v[0].replace(/\/\*$/, "");
97
120
  return value.startsWith("./") || (value = `./${value}`), [
98
121
  key,
99
122
  value
@@ -106,7 +129,8 @@ function getViteMetroPluginOptions(param) {
106
129
  "one/babel-plugin-one-router-metro",
107
130
  {
108
131
  ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY: import_node_path.default.relative(import_node_path.default.dirname(metroEntryPath), import_node_path.default.join(projectRoot, relativeRouterRoot)),
109
- ONE_ROUTER_ROOT_FOLDER_NAME: relativeRouterRoot
132
+ ONE_ROUTER_ROOT_FOLDER_NAME: relativeRouterRoot,
133
+ ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING: routerRequireContextRegexString
110
134
  }
111
135
  ]
112
136
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/metro-config/getViteMetroPluginOptions.ts"],
4
- "mappings": "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",
5
- "names": ["getViteMetroPluginOptions", "projectRoot", "relativeRouterRoot", "tsconfigPathsConfigLoadResult", "tsconfigPaths", "loadConfig", "resultType", "Error", "require", "module", "createRequire", "emptyPath", "resolve", "paths", "metroEntryPath", "defaultConfigOverrides", "defaultConfig", "resolver", "extraNodeModules", "Object", "fromEntries", "entries", "map", "param", "k", "v", "endsWith", "key", "replace", "value", "path", "join", "absoluteBaseUrl", "filter", "i", "nodeModulesPaths", "resolveRequest", "context", "moduleName", "platform", "console", "warn", "type", "filePath", "test", "defaultResolveRequest", "res", "babelConfig", "plugins", "alias", "startsWith", "ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY", "relative", "dirname", "ONE_ROUTER_ROOT_FOLDER_NAME"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;yBAAmB,oCACnB,mBAAiB,kCACjB,wBAA0B,uCAC1B,oBAAe,mCACf,uBAGO;AAEA,SAASA,0BAA0B,OAQzC;MARyC,EACxCC,aACAC,oBACAC,kBAAiB,IAHuB,OASlCC,gCAAgCC,sBAAAA,QAAcC,WAAWL,WAAAA;AAE/D,MAAIG,8BAA8BG,eAAe;AAC/C,UAAM,IAAIC,MAAM,yDAAA;AAGlB,MAAMC,WAAUC,mBAAAA,QAAOC,cAAcV,WAAAA,GAC/BW,YAAYH,SAAQI,QAAQ,iCAAiC;IACjEC,OAAO;MAACb;;EACV,CAAA,GAEMc,iBAAiBN,SAAQI,QAAQ,mBAAmB;IACxDC,OAAO;MAACb;;EACV,CAAA,GAEMe,kCAAmC,WAAA;AACvC,QAAMC,aAAa;UACbd,qBAAqB,CAAA,GAAIe,IAAI,SAACC,SAAAA;eAAYC,kBAAAA,QAAGC,OAAOF,OAAAA;;SACrDG,0DAAqCJ,IAAI,SAACC,SAAAA;eAAYC,kBAAAA,QAAGC,OAAOF,OAAAA;;MACnEC,kBAAAA,QAAGC,OAAOE,2CAAAA;OAGNC,8BAA8BC,OAAOC,gEACrCC,4BAA4BF,OAAOC,SAEnCE,0BAA0BX,WAAWC,IAAI,SAACW,IAAIC,GAAAA;AAOlD,UAAMC,WAAWF,GAAGG;AAEpB,UACE,EACED,SAASE,WAAWT,2BAAAA,KACpBO,SAASG,SAASP,yBAAAA,IAEpB;AACA,YAAMQ,mBAAmBhC,qBAAAA,OAAAA,SAAAA,kBAAoB2B,CAAAA;AAE7C,cAAIK,mBACI,IAAI3B,MACR,yCAAyC2B,gBAAAA,kEAAkFJ,QAAAA,YAAoB,IAI7I,IAAIvB,MAAM,sBAAsBuB,QAAAA,2BAAmC;MAC3E;AAEA,UAAMK,SAASL,SAASM,MACtBb,4BAA4Bc,QAC5BP,SAASO,SAASX,0BAA0BW,MAAM;AAGpD,aAAOb,OAAOC,WAAWU,MAAAA;IAC3B,CAAA;AAEA,WAAOX,OAAOC,kBAAkBE,wBAAwBW,KAAK,GAAA,CAAA;EAC/D,EAAA;AAEA,SAAO;IACLC,wBAAwB,SAACC,eAAAA;UAMdA,yBAsBKA,0BAENA;AA7BR,aAAO;QACL,GAAGA;QACHC,UAAU;aACLD,iBAAAA,OAAAA,SAAAA,cAAeC;UAClBC,kBAAkB;eACbF,iBAAAA,SAAAA,0BAAAA,cAAeC,cAAQ,QAAvBD,4BAAAA,SAAAA,SAAAA,wBAAyBE;UAiB9B;;;;;;;;;;;;;;;UACAC,kBAAkBxC,8BAA8ByC,kBAC5C;;YAEEzC,8BAA8ByC;gBAC1BJ,iBAAAA,SAAAA,2BAAAA,cAAeC,cAAQ,QAAvBD,6BAAAA,SAAAA,SAAAA,yBAAyBG,qBAAoB,CAAA;cAEnDH,iBAAAA,SAAAA,2BAAAA,cAAeC,cAAQ,QAAvBD,6BAAAA,SAAAA,SAAAA,yBAAyBG;UAC7BE,gBAAgB,SAACC,SAASC,YAAYC,UAAAA;gBAoBlCR;AAnBF,gBAAIO,WAAWd,SAAS,MAAA;AACtBgB,6BAAQC,KACN,0DAA0DH,UAAAA,mBAA6B,GAElF;gBACLI,MAAM;gBACNC,UAAUzC;cACZ;AAIF,gBAAI,oBAAoB0C,KAAKN,UAAAA;AAC3B,qBAAO;gBACLI,MAAM;gBACNC,UAAUzC;cACZ;AAGF,gBAAM2C,yBACJd,iBAAAA,SAAAA,2BAAAA,cAAeC,cAAQ,QAAvBD,6BAAAA,SAAAA,SAAAA,yBAAyBK,mBAAkBC,QAAQD,gBAC/CU,MAAMD,sBAAsBR,SAASC,YAAYC,QAAAA;AACvD,mBAAOO;UACT;QACF;MACF;IACF;IACAC,aAAa;MACXC,SAAS;QACP;UACE;UACA;YACEC,OAAO;;cAEL,GAAGC,OAAOC,YACRD,OAAOE,QAAQ1D,8BAA8BU,KAAK,EAAEI,IAAI,SAAA6C,QAAA;oBAAC,CAACC,GAAGC,CAAAA,IAAEF,QACvDG,MAAO,WAAA;AACX,yBAAIF,EAAE9B,SAAS,IAAA,IACN8B,EAAEG,QAAQ,SAAS,EAAA,IAKrB,GAAGH,CAAAA;gBACZ,EAAA,GAEII,QAAQH,EAAE,CAAA,EAAGE,QAAQ,SAAS,EAAA;AAElC,uBAAKC,MAAMnC,WAAW,IAAA,MACpBmC,QAAQ,KAAKA,KAAAA,KAGR;kBAACF;kBAAKE;;cACf,CAAA,CAAA;YAEJ;UACF;;QAEF;UACE;UACA;YACEC,uCAAuCC,iBAAAA,QAAKC,SAC1CD,iBAAAA,QAAKE,QAAQzD,cAAAA,GACbuD,iBAAAA,QAAK/B,KAAKtC,aAAaC,kBAAAA,CAAAA;YAEzBuE,6BAA6BvE;YAC7BwE,yCAAyC1D;UAC3C;;;IAGN;EACF;AACF;",
5
+ "names": ["getViteMetroPluginOptions", "projectRoot", "relativeRouterRoot", "ignoredRouteFiles", "tsconfigPathsConfigLoadResult", "tsconfigPaths", "loadConfig", "resultType", "Error", "require", "module", "createRequire", "emptyPath", "resolve", "paths", "metroEntryPath", "routerRequireContextRegexString", "excludeRes", "map", "pattern", "mm", "makeRe", "ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS", "API_ROUTE_GLOB_PATTERN", "supportedRegexMustStartWith", "String", "raw", "supportedRegexMustEndWith", "negativeLookaheadGroups", "re", "i", "reSource", "source", "startsWith", "endsWith", "ignoredRouteFile", "rePart", "slice", "length", "join", "defaultConfigOverrides", "defaultConfig", "resolver", "extraNodeModules", "nodeModulesPaths", "absoluteBaseUrl", "resolveRequest", "context", "moduleName", "platform", "console", "warn", "type", "filePath", "test", "defaultResolveRequest", "res", "babelConfig", "plugins", "alias", "Object", "fromEntries", "entries", "param", "k", "v", "key", "replace", "value", "ONE_ROUTER_APP_ROOT_RELATIVE_TO_ENTRY", "path", "relative", "dirname", "ONE_ROUTER_ROOT_FOLDER_NAME", "ONE_ROUTER_REQUIRE_CONTEXT_REGEX_STRING"]
6
6
  }
@@ -0,0 +1,32 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: !0
9
+ });
10
+ },
11
+ __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
13
+ get: () => from[key],
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ return to;
17
+ };
18
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
19
+ value: !0
20
+ }), mod);
21
+ var glob_patterns_exports = {};
22
+ __export(glob_patterns_exports, {
23
+ API_ROUTE_GLOB_PATTERN: () => API_ROUTE_GLOB_PATTERN,
24
+ ROUTE_GLOB_PATTERN: () => ROUTE_GLOB_PATTERN,
25
+ ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS: () => ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS,
26
+ ROUTE_WEB_EXCLUSION_GLOB_PATTERNS: () => ROUTE_WEB_EXCLUSION_GLOB_PATTERNS
27
+ });
28
+ module.exports = __toCommonJS(glob_patterns_exports);
29
+ const ROUTE_GLOB_PATTERN = "**/*.{ts,tsx}",
30
+ API_ROUTE_GLOB_PATTERN = "**/*+api.{ts,tsx}",
31
+ ROUTE_WEB_EXCLUSION_GLOB_PATTERNS = ["**/*.native.{ts,tsx}", "**/*.ios.{ts,tsx}", "**/*.android.{ts,tsx}"],
32
+ ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS = ["**/*.web.{ts,tsx}"];
@@ -0,0 +1,28 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
10
+ for (let key of __getOwnPropNames(from))
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
+ var glob_patterns_exports = {};
16
+ __export(glob_patterns_exports, {
17
+ API_ROUTE_GLOB_PATTERN: () => API_ROUTE_GLOB_PATTERN,
18
+ ROUTE_GLOB_PATTERN: () => ROUTE_GLOB_PATTERN,
19
+ ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS: () => ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS,
20
+ ROUTE_WEB_EXCLUSION_GLOB_PATTERNS: () => ROUTE_WEB_EXCLUSION_GLOB_PATTERNS
21
+ });
22
+ module.exports = __toCommonJS(glob_patterns_exports);
23
+ const ROUTE_GLOB_PATTERN = "**/*.{ts,tsx}", API_ROUTE_GLOB_PATTERN = "**/*+api.{ts,tsx}", ROUTE_WEB_EXCLUSION_GLOB_PATTERNS = [
24
+ "**/*.native.{ts,tsx}",
25
+ "**/*.ios.{ts,tsx}",
26
+ "**/*.android.{ts,tsx}"
27
+ ], ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS = ["**/*.web.{ts,tsx}"];
28
+ //# sourceMappingURL=glob-patterns.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/router/glob-patterns.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,qBAAqB,iBACrB,yBAAyB,qBAKzB,oCAAoC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AACF,GAKa,uCAAuC,CAAC,mBAAmB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
11
+ for (let key of __getOwnPropNames(from))
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
+ var glob_patterns_exports = {};
17
+ __export(glob_patterns_exports, {
18
+ API_ROUTE_GLOB_PATTERN: () => API_ROUTE_GLOB_PATTERN,
19
+ ROUTE_GLOB_PATTERN: () => ROUTE_GLOB_PATTERN,
20
+ ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS: () => ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS,
21
+ ROUTE_WEB_EXCLUSION_GLOB_PATTERNS: () => ROUTE_WEB_EXCLUSION_GLOB_PATTERNS
22
+ });
23
+ module.exports = __toCommonJS(glob_patterns_exports);
24
+ var ROUTE_GLOB_PATTERN = "**/*.{ts,tsx}", API_ROUTE_GLOB_PATTERN = "**/*+api.{ts,tsx}", ROUTE_WEB_EXCLUSION_GLOB_PATTERNS = [
25
+ "**/*.native.{ts,tsx}",
26
+ "**/*.ios.{ts,tsx}",
27
+ "**/*.android.{ts,tsx}"
28
+ ], ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS = [
29
+ "**/*.web.{ts,tsx}"
30
+ ];
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {
33
+ API_ROUTE_GLOB_PATTERN,
34
+ ROUTE_GLOB_PATTERN,
35
+ ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS,
36
+ ROUTE_WEB_EXCLUSION_GLOB_PATTERNS
37
+ });
38
+ //# sourceMappingURL=glob-patterns.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/router/glob-patterns.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;;;;AAAO,IAAMA,qBAAqB,iBACrBC,yBAAyB,qBAKzBC,oCAAoC;EAC/C;EACA;EACA;GAMWC,uCAAuC;EAAC;;",
5
+ "names": ["ROUTE_GLOB_PATTERN", "API_ROUTE_GLOB_PATTERN", "ROUTE_WEB_EXCLUSION_GLOB_PATTERNS", "ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS"]
6
+ }
@@ -37,11 +37,17 @@ module.exports = __toCommonJS(generateRouteTypes_exports);
37
37
  var import_fs_extra = __toESM(require("fs-extra"), 1),
38
38
  import_promises = require("node:fs/promises"),
39
39
  import_node_path = require("node:path"),
40
+ import_micromatch = __toESM(require("micromatch"), 1),
40
41
  import_useViteRoutes = require("../router/useViteRoutes.cjs"),
41
42
  import_globDir = require("../utils/globDir.cjs"),
42
43
  import_getTypedRoutesDeclarationFile = require("./getTypedRoutesDeclarationFile.cjs");
43
- async function generateRouteTypes(outFile, routerRoot) {
44
- const routes = (0, import_globDir.globDir)(routerRoot).reduce((acc, cur) => (acc[cur] = {}, acc), {}),
44
+ async function generateRouteTypes(outFile, routerRoot, ignoredRouteFiles) {
45
+ let routePaths = (0, import_globDir.globDir)(routerRoot);
46
+ ignoredRouteFiles && ignoredRouteFiles.length > 0 && (routePaths = import_micromatch.default.not(routePaths, ignoredRouteFiles, {
47
+ // The path starts with './', such as './foo/bar/baz.test.tsx', and ignoredRouteFiles is like ['**/*.test.*'], so we need matchBase here.
48
+ matchBase: !0
49
+ }));
50
+ const routes = routePaths.reduce((acc, cur) => (acc[cur] = {}, acc), {}),
45
51
  context = (0, import_useViteRoutes.globbedRoutesToRouteContext)(routes, routerRoot),
46
52
  declarations = (0, import_getTypedRoutesDeclarationFile.getTypedRoutesDeclarationFile)(context);
47
53
  await import_fs_extra.default.ensureDir((0, import_node_path.dirname)(outFile)), await (0, import_promises.writeFile)(outFile, declarations);
@@ -25,9 +25,14 @@ __export(generateRouteTypes_exports, {
25
25
  generateRouteTypes: () => generateRouteTypes
26
26
  });
27
27
  module.exports = __toCommonJS(generateRouteTypes_exports);
28
- var import_fs_extra = __toESM(require("fs-extra"), 1), import_promises = require("node:fs/promises"), import_node_path = require("node:path"), import_useViteRoutes = require("../router/useViteRoutes"), import_globDir = require("../utils/globDir"), import_getTypedRoutesDeclarationFile = require("./getTypedRoutesDeclarationFile");
29
- async function generateRouteTypes(outFile, routerRoot) {
30
- const routes = (0, import_globDir.globDir)(routerRoot).reduce((acc, cur) => (acc[cur] = {}, acc), {}), context = (0, import_useViteRoutes.globbedRoutesToRouteContext)(routes, routerRoot), declarations = (0, import_getTypedRoutesDeclarationFile.getTypedRoutesDeclarationFile)(context);
28
+ var import_fs_extra = __toESM(require("fs-extra"), 1), import_promises = require("node:fs/promises"), import_node_path = require("node:path"), import_micromatch = __toESM(require("micromatch"), 1), import_useViteRoutes = require("../router/useViteRoutes"), import_globDir = require("../utils/globDir"), import_getTypedRoutesDeclarationFile = require("./getTypedRoutesDeclarationFile");
29
+ async function generateRouteTypes(outFile, routerRoot, ignoredRouteFiles) {
30
+ let routePaths = (0, import_globDir.globDir)(routerRoot);
31
+ ignoredRouteFiles && ignoredRouteFiles.length > 0 && (routePaths = import_micromatch.default.not(routePaths, ignoredRouteFiles, {
32
+ // The path starts with './', such as './foo/bar/baz.test.tsx', and ignoredRouteFiles is like ['**/*.test.*'], so we need matchBase here.
33
+ matchBase: !0
34
+ }));
35
+ const routes = routePaths.reduce((acc, cur) => (acc[cur] = {}, acc), {}), context = (0, import_useViteRoutes.globbedRoutesToRouteContext)(routes, routerRoot), declarations = (0, import_getTypedRoutesDeclarationFile.getTypedRoutesDeclarationFile)(context);
31
36
  await import_fs_extra.default.ensureDir((0, import_node_path.dirname)(outFile)), await (0, import_promises.writeFile)(outFile, declarations);
32
37
  }
33
38
  //# sourceMappingURL=generateRouteTypes.js.map