one 1.6.18 → 1.6.20

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 (96) hide show
  1. package/devtools/dev.mjs +6 -0
  2. package/devtools/source-inspector.mjs +5 -0
  3. package/dist/cjs/createAPIRoute.cjs +28 -0
  4. package/dist/cjs/createAPIRoute.js +23 -0
  5. package/dist/cjs/createAPIRoute.js.map +6 -0
  6. package/dist/cjs/createAPIRoute.native.js +31 -0
  7. package/dist/cjs/createAPIRoute.native.js.map +1 -0
  8. package/dist/cjs/index.cjs +2 -0
  9. package/dist/cjs/index.js +2 -1
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/index.native.js +2 -0
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/router/getRoutes.cjs +19 -7
  14. package/dist/cjs/router/getRoutes.js +18 -7
  15. package/dist/cjs/router/getRoutes.js.map +1 -1
  16. package/dist/cjs/router/getRoutes.native.js +53 -24
  17. package/dist/cjs/router/getRoutes.native.js.map +1 -1
  18. package/dist/cjs/router/matchers.cjs +9 -0
  19. package/dist/cjs/router/matchers.js +10 -0
  20. package/dist/cjs/router/matchers.js.map +1 -1
  21. package/dist/cjs/router/matchers.native.js +9 -0
  22. package/dist/cjs/router/matchers.native.js.map +1 -1
  23. package/dist/cjs/router/matchers.test.cjs +29 -0
  24. package/dist/cjs/router/matchers.test.js +29 -0
  25. package/dist/cjs/router/matchers.test.js.map +1 -1
  26. package/dist/cjs/router/matchers.test.native.js +29 -0
  27. package/dist/cjs/router/matchers.test.native.js.map +1 -1
  28. package/dist/cjs/utils/getPathnameFromFilePath.cjs +1 -1
  29. package/dist/cjs/utils/getPathnameFromFilePath.js +1 -1
  30. package/dist/cjs/utils/getPathnameFromFilePath.js.map +1 -1
  31. package/dist/cjs/utils/getPathnameFromFilePath.native.js +3 -1
  32. package/dist/cjs/utils/getPathnameFromFilePath.native.js.map +1 -1
  33. package/dist/cjs/vite/plugins/SSRCSSPlugin.cjs +4 -2
  34. package/dist/cjs/vite/plugins/SSRCSSPlugin.js +4 -2
  35. package/dist/cjs/vite/plugins/SSRCSSPlugin.js.map +1 -1
  36. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js +4 -2
  37. package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  38. package/dist/esm/createAPIRoute.js +7 -0
  39. package/dist/esm/createAPIRoute.js.map +6 -0
  40. package/dist/esm/createAPIRoute.mjs +5 -0
  41. package/dist/esm/createAPIRoute.mjs.map +1 -0
  42. package/dist/esm/createAPIRoute.native.js +5 -0
  43. package/dist/esm/createAPIRoute.native.js.map +1 -0
  44. package/dist/esm/index.js +2 -0
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/index.mjs +2 -1
  47. package/dist/esm/index.mjs.map +1 -1
  48. package/dist/esm/index.native.js +2 -1
  49. package/dist/esm/index.native.js.map +1 -1
  50. package/dist/esm/router/getRoutes.js +19 -7
  51. package/dist/esm/router/getRoutes.js.map +1 -1
  52. package/dist/esm/router/getRoutes.mjs +20 -8
  53. package/dist/esm/router/getRoutes.mjs.map +1 -1
  54. package/dist/esm/router/getRoutes.native.js +54 -25
  55. package/dist/esm/router/getRoutes.native.js.map +1 -1
  56. package/dist/esm/router/matchers.js +10 -0
  57. package/dist/esm/router/matchers.js.map +1 -1
  58. package/dist/esm/router/matchers.mjs +9 -1
  59. package/dist/esm/router/matchers.mjs.map +1 -1
  60. package/dist/esm/router/matchers.native.js +9 -1
  61. package/dist/esm/router/matchers.native.js.map +1 -1
  62. package/dist/esm/router/matchers.test.js +30 -0
  63. package/dist/esm/router/matchers.test.js.map +1 -1
  64. package/dist/esm/router/matchers.test.mjs +30 -1
  65. package/dist/esm/router/matchers.test.mjs.map +1 -1
  66. package/dist/esm/router/matchers.test.native.js +30 -1
  67. package/dist/esm/router/matchers.test.native.js.map +1 -1
  68. package/dist/esm/utils/getPathnameFromFilePath.js +1 -1
  69. package/dist/esm/utils/getPathnameFromFilePath.js.map +1 -1
  70. package/dist/esm/utils/getPathnameFromFilePath.mjs +1 -1
  71. package/dist/esm/utils/getPathnameFromFilePath.mjs.map +1 -1
  72. package/dist/esm/utils/getPathnameFromFilePath.native.js +3 -1
  73. package/dist/esm/utils/getPathnameFromFilePath.native.js.map +1 -1
  74. package/dist/esm/vite/plugins/SSRCSSPlugin.js +4 -2
  75. package/dist/esm/vite/plugins/SSRCSSPlugin.js.map +1 -1
  76. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs +4 -2
  77. package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
  78. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js +4 -2
  79. package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
  80. package/package.json +9 -9
  81. package/src/createAPIRoute.ts +30 -0
  82. package/src/index.ts +2 -0
  83. package/src/router/getRoutes.ts +46 -5
  84. package/src/router/matchers.test.ts +44 -0
  85. package/src/router/matchers.ts +35 -0
  86. package/src/utils/getPathnameFromFilePath.ts +4 -1
  87. package/src/vite/plugins/SSRCSSPlugin.ts +4 -2
  88. package/types/createAPIRoute.d.ts +22 -0
  89. package/types/createAPIRoute.d.ts.map +1 -0
  90. package/types/index.d.ts +1 -0
  91. package/types/index.d.ts.map +1 -1
  92. package/types/router/getRoutes.d.ts.map +1 -1
  93. package/types/router/matchers.d.ts +16 -0
  94. package/types/router/matchers.d.ts.map +1 -1
  95. package/types/utils/getPathnameFromFilePath.d.ts.map +1 -1
  96. package/types/vite/plugins/SSRCSSPlugin.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["dynamicNameRe","matchDynamicName","name","_name_match","paramName","match","startsWith","slice","deep","matchDeepDynamicRouteName","testNotFound","endsWith","matchGroupName","matchArrayGroupName","getNameFromFilePath","removeSupportedExtensions","removeFileSystemDots","getContextKey","normal","replace","filePath","stripGroupSegmentsFromPath","path","split","reduce","acc","v","push","join","stripInvisibleSegmentsFromPath","isTypedRoute","slotPrefixRe","matchSlotName","isSlotDirectory","test","matchInterceptPrefix","segment","prefixes","targetPath"],"sources":["../../../src/router/matchers.ts"],"sourcesContent":[null],"mappings":"AACA,IAAAA,aAAM,qBAAgB;AAQf,SAASC,iBAAiBC,IAAA,EAA4C;EAC3E,IAAAC,WAAM;IAAAC,SAAiB,GAAM,CAAAD,WAAA,GAAaD,IAAK,CAAAG,KAAA,CAAAL,aAAA,eAAAG,WAAA,uBAAAA,WAAA;EAC/C,IAAIC,SAAA,IAAa,MAEV,OAAIA,SAAA,CAAUE,UAAA,CAAW,KAAK,IAC5B;IAIXJ,IAAA,EAAAE,SAAA,CAAAG,KAAA;IAMOC,IAAS;EACd;IACFN,IAAA,EAAAE,SAAA;IAGOI,IAAS;EACd;AACF;AAGO,SAASC,yBAAiDA,CAAAP,IAAA;EAC/D,IAAAC,WAAY;EACd,QAAAA,WAAA,GAAAD,IAAA,CAAAG,KAAA,sCAAAF,WAAA,uBAAAA,WAAA;AAGO;AACL,SAAOO,YAAWA,CAAAR,IAAA;EACpB,OAAAA,IAAA,CAAAS,QAAA;AAEO;AACL,SAAOC,eAAAV,IAAA;EACT,IAAAC,WAAA;EAEO,OAAS,CAAAA,WAAA,GAAcD,IAAA,CAAsBG,KAAA,mDAAAF,WAAA,uBAAAA,WAAA;AAGlD;AACA,SAAKU,mBAAgBA,CAAAX,IAAA,EAAS;EAIhC,IAAAC,WAAA;EAGO,OAAS,CAAAA,WAAA,GAAAD,IAAA,CAAAG,KAAA,CAA0B,gDAAsB,eAAAF,WAAA,uBAAAA,WAAA;AAC9D;AACF,SAAAW,oBAAAZ,IAAA;EAGO,OAASa,yBAAqB,CAAAC,oBAA0B,CAAAd,IAAA;AAC7D;AACF,SAAAe,cAAAf,IAAA;EAEO,IAAAgB,MAAS,SAAAJ,mBAA2B,CAAAZ,IAAsB;EAC/D,OAAOgB,MACJ,CAAAP,QAAS,CACT,SAAQ,IAAKO,MAAA,CACRC,OAAA,cAAqB,QACvBD,MAAI;AAKZ;AAEO,SAASH,0BAAAb,IAAA,EAA+B;EAC7C,OAAOA,IAAA,CAAAiB,OAAA,oCAAyC;AAClD;AAQO,SAASH,oBAA2BA,CAAAI,QAAA;EACzC,OACEA,QAAM,CAAAD,OAAA,CAAW,gBACX;AAGV;AAOA,SAAME,0BAAeA,CAAAC,IAAA;EAGd,OAASA,IAAA,CAAAC,KAAA,IAAc,EAAAC,MAAkC,WAAAC,GAAA,EAAAC,CAAA;IAC9D,OAAOd,cAAW,CAAAc,CAAA,KAAY,IAAI,IAACD,GAAA,CAAAE,IAAA,CAAAD,CAAA,GAAAD,GAAA;EACrC,OAAAG,IAAA;AAGO;AACL,SAAOC,8BAAsBA,CAAAP,IAAA;EAC/B,OAAAD,0BAAA,CAAAC,IAAA,EAAAH,OAAA;AAoBO;AAEL,SAAMW,YAAQA,CAAA5B,IAAQ;EACtB,OAAK,CAAAA,IAAO,CAAAI,UAAA,UAAAJ,IAAA,CAAAS,QAAA,aAAAT,IAAA,CAAAG,KAAA;AAEZ;AAGA,IAAA0B,YAAI,GAAS,6BACM;AAQrB,SAAAC,cAAA9B,IAAA;EAOO,IAAAC,WAAS;EACd,OAAM,CAAAA,WAAQ,GAAAD,IAAA,CAAAG,KAAA,CAAA0B,YAA4B,eAAA5B,WAAA,uBAAAA,WAAA;AAC1C;AACF,SAAA8B,gBAAA/B,IAAA;EAKO,OAAS6B,YAAA,CAAAG,IAAA,CAAAhC,IAAmB;AACjC;AACF,SAAAiC,qBAAAC,OAAA;EAMO,IAAA/B,KAAS,GAAA+B,OAAA,CAAA/B,KAAA,2BAAgD;EAC9D,IAAAA,KAAO;IAIT,OAAAgC,QAAA,EAAAC,UAAA,IAAAjC,KAAA","ignoreList":[]}
1
+ {"version":3,"names":["dynamicNameRe","matchDynamicName","name","_name_match","paramName","match","startsWith","slice","deep","matchDeepDynamicRouteName","testNotFound","endsWith","matchGroupName","matchArrayGroupName","getNameFromFilePath","removeSupportedExtensions","removeFileSystemDots","getContextKey","normal","replace","filePath","stripGroupSegmentsFromPath","path","split","reduce","acc","v","push","join","stripInvisibleSegmentsFromPath","isTypedRoute","directoryRenderModeRe","matchDirectoryRenderMode","renderMode","slotPrefixRe","matchSlotName","isSlotDirectory","test","matchInterceptPrefix","segment","prefixes","targetPath"],"sources":["../../../src/router/matchers.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ import {
3
3
  getNameFromFilePath,
4
4
  matchArrayGroupName,
5
5
  matchDeepDynamicRouteName,
6
+ matchDirectoryRenderMode,
6
7
  matchDynamicName,
7
8
  matchGroupName,
8
9
  stripGroupSegmentsFromPath
@@ -57,4 +58,33 @@ describe(matchArrayGroupName, () => {
57
58
  ), expect(matchArrayGroupName("(leading)/(foo,bar)/((fruit),apple)")).toEqual("foo,bar");
58
59
  });
59
60
  });
61
+ describe(matchDirectoryRenderMode, () => {
62
+ it("should match directory names with render mode suffixes", () => {
63
+ expect(matchDirectoryRenderMode("dashboard+ssr")).toEqual({
64
+ name: "dashboard",
65
+ renderMode: "ssr"
66
+ }), expect(matchDirectoryRenderMode("blog+ssg")).toEqual({
67
+ name: "blog",
68
+ renderMode: "ssg"
69
+ }), expect(matchDirectoryRenderMode("admin+spa")).toEqual({
70
+ name: "admin",
71
+ renderMode: "spa"
72
+ }), expect(matchDirectoryRenderMode("api-routes+api")).toEqual({
73
+ name: "api-routes",
74
+ renderMode: "api"
75
+ });
76
+ }), it("should not match directory names without render mode suffixes", () => {
77
+ expect(matchDirectoryRenderMode("dashboard")).toEqual(void 0), expect(matchDirectoryRenderMode("blog")).toEqual(void 0), expect(matchDirectoryRenderMode("admin")).toEqual(void 0);
78
+ }), it("should not match invalid render modes", () => {
79
+ expect(matchDirectoryRenderMode("dashboard+invalid")).toEqual(void 0), expect(matchDirectoryRenderMode("blog+csr")).toEqual(void 0);
80
+ }), it("should handle directory names with hyphens and underscores", () => {
81
+ expect(matchDirectoryRenderMode("my-dashboard+ssr")).toEqual({
82
+ name: "my-dashboard",
83
+ renderMode: "ssr"
84
+ }), expect(matchDirectoryRenderMode("my_blog+ssg")).toEqual({
85
+ name: "my_blog",
86
+ renderMode: "ssg"
87
+ });
88
+ });
89
+ });
60
90
  //# sourceMappingURL=matchers.test.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/router/matchers.test.ts"],
4
- "mappings": "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",
4
+ "mappings": "AAAA,SAAS,UAAU,QAAQ,UAAU;AACrC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,4BAA4B,MAAM;AACzC,KAAG,mDAAmD,MAAM;AAC1D,WAAO,2BAA2B,wCAAwC,CAAC,EAAE;AAAA,MAC3E;AAAA,IACF,GACA,OAAO,2BAA2B,aAAa,CAAC,EAAE,KAAK,EAAE;AAAA,EAC3D,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,MAAM;AAC7B,KAAG,WAAW,MAAM;AAClB,WAAO,eAAe,eAAe,CAAC,EAAE,QAAQ,MAAS,GACzD,OAAO,eAAe,YAAY,CAAC,EAAE,QAAQ,MAAS,GACtD,OAAO,eAAe,aAAa,CAAC,EAAE,QAAQ,MAAS,GACvD,OAAO,eAAe,UAAU,CAAC,EAAE,QAAQ,MAAS,GACpD,OAAO,eAAe,UAAU,CAAC,EAAE,QAAQ,QAAQ,GACnD,OAAO,eAAe,WAAW,CAAC,EAAE,QAAQ,SAAS,GACrD,OAAO,eAAe,YAAY,CAAC,EAAE,QAAQ,UAAU,GACvD,OAAO,eAAe,aAAa,CAAC,EAAE,QAAQ,WAAW,GACzD,OAAO,eAAe,QAAQ,CAAC,EAAE,QAAQ,MAAS,GAClD,OAAO,eAAe,gBAAgB,CAAC,EAAE,QAAQ,MAAS,GAC1D,OAAO,eAAe,kBAAkB,CAAC,EAAE,QAAQ,QAAQ,GAC3D,OAAO,eAAe,oBAAoB,CAAC,EAAE,QAAQ,UAAU,GAC/D,OAAO,eAAe,qBAAqB,CAAC,EAAE,QAAQ,WAAW,GACjE,OAAO,eAAe,mBAAmB,CAAC,EAAE,QAAQ,SAAS,GAC7D,OAAO,eAAe,yBAAyB,CAAC,EAAE,QAAQ,MAAS,GACnE,OAAO,eAAe,2BAA2B,CAAC,EAAE,QAAQ,QAAQ,GACpE,OAAO,eAAe,6BAA6B,CAAC,EAAE,QAAQ,UAAU,GACxE,OAAO,eAAe,8BAA8B,CAAC,EAAE,QAAQ,WAAW,GAC1E,OAAO,eAAe,6BAA6B,CAAC,EAAE,QAAQ,SAAS,GACvE,OAAO,eAAe,iCAAiC,CAAC,EAAE,QAAQ,SAAS;AAAA,EAC7E,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,MAAM;AAC/B,KAAG,WAAW,MAAM;AAClB,WAAO,iBAAiB,eAAe,CAAC,EAAE,QAAQ,MAAS,GAC3D,OAAO,iBAAiB,YAAY,CAAC,EAAE,QAAQ,MAAS,GACxD,OAAO,iBAAiB,aAAa,CAAC,EAAE,QAAQ;AAAA,MAC9C,MAAM;AAAA,MACN,MAAM;AAAA,IACR,CAAC,GACD,OAAO,iBAAiB,UAAU,CAAC,EAAE,QAAQ;AAAA,MAC3C,MAAM;AAAA,MACN,MAAM;AAAA,IACR,CAAC,GACD,OAAO,iBAAiB,QAAQ,CAAC,EAAE,QAAQ,MAAS;AAAA,EACtD,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,MAAM;AACxC,KAAG,WAAW,MAAM;AAClB,WAAO,0BAA0B,eAAe,CAAC,EAAE,QAAQ,MAAS,GACpE,OAAO,0BAA0B,YAAY,CAAC,EAAE,QAAQ,MAAS,GACjE,OAAO,0BAA0B,aAAa,CAAC,EAAE,QAAQ,QAAQ,GACjE,OAAO,0BAA0B,UAAU,CAAC,EAAE,QAAQ,MAAS,GAC/D,OAAO,0BAA0B,QAAQ,CAAC,EAAE,QAAQ,MAAS;AAAA,EAC/D,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,MAAM;AAClC,KAAG,sCAAsC,MAAM;AAC7C,WAAO,oBAAoB,kBAAkB,CAAC,EAAE,KAAK,YAAY,GACjE,OAAO,oBAAoB,kBAAkB,CAAC,EAAE,KAAK,YAAY,GACjE,OAAO,oBAAoB,cAAc,CAAC,EAAE,KAAK,QAAQ,GACzD,OAAO,oBAAoB,qCAAqC,CAAC,EAAE;AAAA,MACjE;AAAA,IACF;AAAA,EACF,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,MAAM;AAClC,KAAG,0CAA0C,MAAM;AACjD,WAAO,oBAAoB,eAAe,CAAC,EAAE,QAAQ,MAAS,GAC9D,OAAO,oBAAoB,YAAY,CAAC,EAAE,QAAQ,MAAS,GAC3D,OAAO,oBAAoB,aAAa,CAAC,EAAE,QAAQ,MAAS,GAC5D,OAAO,oBAAoB,UAAU,CAAC,EAAE,QAAQ,MAAS,GACzD,OAAO,oBAAoB,QAAQ,CAAC,EAAE,QAAQ,MAAS,GACvD,OAAO,oBAAoB,gBAAgB,CAAC,EAAE,QAAQ,MAAS,GAC/D,OAAO,oBAAoB,yBAAyB,CAAC,EAAE,QAAQ,MAAS;AAAA,EAC1E,CAAC,GACD,GAAG,+CAA+C,MAAM;AACtD,WAAO,oBAAoB,UAAU,CAAC,EAAE,QAAQ,MAAS,GACzD,OAAO,oBAAoB,YAAY,CAAC,EAAE,QAAQ,MAAS,GAC3D,OAAO,oBAAoB,aAAa,CAAC,EAAE,QAAQ,MAAS,GAC5D,OAAO,oBAAoB,kBAAkB,CAAC,EAAE,QAAQ,MAAS,GACjE,OAAO,oBAAoB,oBAAoB,CAAC,EAAE,QAAQ,MAAS,GACnE,OAAO,oBAAoB,qBAAqB,CAAC,EAAE,QAAQ,MAAS,GACpE,OAAO,oBAAoB,2BAA2B,CAAC,EAAE,QAAQ,MAAS,GAC1E,OAAO,oBAAoB,6BAA6B,CAAC,EAAE,QAAQ,MAAS,GAC5E,OAAO,oBAAoB,8BAA8B,CAAC,EAAE,QAAQ,MAAS,GAC7E,OAAO,oBAAoB,kBAAkB,CAAC,EAAE,QAAQ,MAAS,GACjE,OAAO,oBAAoB,oBAAoB,CAAC,EAAE,QAAQ,MAAS,GACnE,OAAO,oBAAoB,sBAAsB,CAAC,EAAE,QAAQ,MAAS,GACrE,OAAO,oBAAoB,uBAAuB,CAAC,EAAE,QAAQ,MAAS,GACtE,OAAO,oBAAoB,2BAA2B,CAAC,EAAE,QAAQ,MAAS,GAC1E,OAAO,oBAAoB,6BAA6B,CAAC,EAAE,QAAQ,MAAS,GAC5E,OAAO,oBAAoB,+BAA+B,CAAC,EAAE,QAAQ,MAAS,GAC9E,OAAO,oBAAoB,gCAAgC,CAAC,EAAE,QAAQ,MAAS;AAAA,EACjF,CAAC,GACD,GAAG,KAAK,+CAA+C,MAAM;AAC3D,WAAO,oBAAoB,WAAW,CAAC,EAAE,QAAQ,SAAS,GAC1D,OAAO,oBAAoB,mBAAmB,CAAC,EAAE,QAAQ,SAAS,GAClE,OAAO,oBAAoB,6BAA6B,CAAC,EAAE,QAAQ,SAAS,GAC5E,OAAO,oBAAoB,iCAAiC,CAAC,EAAE,QAAQ,aAAa,GACpF,OAAO,oBAAoB,iCAAiC,CAAC,EAAE,QAAQ,SAAS,GAChF,OAAO,oBAAoB,qBAAqB,CAAC,EAAE,QAAQ,SAAS,GACpE,OAAO,oBAAoB,+BAA+B,CAAC,EAAE,QAAQ,SAAS,GAC9E,OAAO,oBAAoB,mCAAmC,CAAC,EAAE;AAAA,MAC/D;AAAA,IACF;AAAA,EACF,CAAC,GACD,GAAG,KAAK,6DAA6D,MAAM;AACzE,WAAO,oBAAoB,mCAAmC,CAAC,EAAE,QAAQ,SAAS,GAClF,OAAO,oBAAoB,qCAAqC,CAAC,EAAE;AAAA,MACjE;AAAA,IACF,GACA,OAAO,oBAAoB,qCAAqC,CAAC,EAAE,QAAQ,SAAS;AAAA,EACtF,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,MAAM;AACvC,KAAG,0DAA0D,MAAM;AACjE,WAAO,yBAAyB,eAAe,CAAC,EAAE,QAAQ;AAAA,MACxD,MAAM;AAAA,MACN,YAAY;AAAA,IACd,CAAC,GACD,OAAO,yBAAyB,UAAU,CAAC,EAAE,QAAQ;AAAA,MACnD,MAAM;AAAA,MACN,YAAY;AAAA,IACd,CAAC,GACD,OAAO,yBAAyB,WAAW,CAAC,EAAE,QAAQ;AAAA,MACpD,MAAM;AAAA,MACN,YAAY;AAAA,IACd,CAAC,GACD,OAAO,yBAAyB,gBAAgB,CAAC,EAAE,QAAQ;AAAA,MACzD,MAAM;AAAA,MACN,YAAY;AAAA,IACd,CAAC;AAAA,EACH,CAAC,GAED,GAAG,iEAAiE,MAAM;AACxE,WAAO,yBAAyB,WAAW,CAAC,EAAE,QAAQ,MAAS,GAC/D,OAAO,yBAAyB,MAAM,CAAC,EAAE,QAAQ,MAAS,GAC1D,OAAO,yBAAyB,OAAO,CAAC,EAAE,QAAQ,MAAS;AAAA,EAC7D,CAAC,GAED,GAAG,yCAAyC,MAAM;AAChD,WAAO,yBAAyB,mBAAmB,CAAC,EAAE,QAAQ,MAAS,GACvE,OAAO,yBAAyB,UAAU,CAAC,EAAE,QAAQ,MAAS;AAAA,EAChE,CAAC,GAED,GAAG,8DAA8D,MAAM;AACrE,WAAO,yBAAyB,kBAAkB,CAAC,EAAE,QAAQ;AAAA,MAC3D,MAAM;AAAA,MACN,YAAY;AAAA,IACd,CAAC,GACD,OAAO,yBAAyB,aAAa,CAAC,EAAE,QAAQ;AAAA,MACtD,MAAM;AAAA,MACN,YAAY;AAAA,IACd,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
5
5
  "names": []
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { getNameFromFilePath, matchArrayGroupName, matchDeepDynamicRouteName, matchDynamicName, matchGroupName, stripGroupSegmentsFromPath } from "./matchers.mjs";
2
+ import { getNameFromFilePath, matchArrayGroupName, matchDeepDynamicRouteName, matchDirectoryRenderMode, matchDynamicName, matchGroupName, stripGroupSegmentsFromPath } from "./matchers.mjs";
3
3
  describe(stripGroupSegmentsFromPath, () => {
4
4
  it("strips group segments, preserving initial slash", () => {
5
5
  expect(stripGroupSegmentsFromPath("/[[...foobar]]/(foo)/bar/[bax]/(other)")).toBe("/[[...foobar]]/bar/[bax]"), expect(stripGroupSegmentsFromPath("(foo)/(bar)")).toBe("");
@@ -42,4 +42,33 @@ describe(matchArrayGroupName, () => {
42
42
  expect(matchArrayGroupName("(leading)/(foo,bar)/(fruit,apple)")).toEqual("foo,bar"), expect(matchArrayGroupName("(leading)/((foo),bar)/(fruit,apple)")).toEqual("(foo),bar"), expect(matchArrayGroupName("(leading)/(foo,bar)/((fruit),apple)")).toEqual("foo,bar");
43
43
  });
44
44
  });
45
+ describe(matchDirectoryRenderMode, () => {
46
+ it("should match directory names with render mode suffixes", () => {
47
+ expect(matchDirectoryRenderMode("dashboard+ssr")).toEqual({
48
+ name: "dashboard",
49
+ renderMode: "ssr"
50
+ }), expect(matchDirectoryRenderMode("blog+ssg")).toEqual({
51
+ name: "blog",
52
+ renderMode: "ssg"
53
+ }), expect(matchDirectoryRenderMode("admin+spa")).toEqual({
54
+ name: "admin",
55
+ renderMode: "spa"
56
+ }), expect(matchDirectoryRenderMode("api-routes+api")).toEqual({
57
+ name: "api-routes",
58
+ renderMode: "api"
59
+ });
60
+ }), it("should not match directory names without render mode suffixes", () => {
61
+ expect(matchDirectoryRenderMode("dashboard")).toEqual(void 0), expect(matchDirectoryRenderMode("blog")).toEqual(void 0), expect(matchDirectoryRenderMode("admin")).toEqual(void 0);
62
+ }), it("should not match invalid render modes", () => {
63
+ expect(matchDirectoryRenderMode("dashboard+invalid")).toEqual(void 0), expect(matchDirectoryRenderMode("blog+csr")).toEqual(void 0);
64
+ }), it("should handle directory names with hyphens and underscores", () => {
65
+ expect(matchDirectoryRenderMode("my-dashboard+ssr")).toEqual({
66
+ name: "my-dashboard",
67
+ renderMode: "ssr"
68
+ }), expect(matchDirectoryRenderMode("my_blog+ssg")).toEqual({
69
+ name: "my_blog",
70
+ renderMode: "ssg"
71
+ });
72
+ });
73
+ });
45
74
  //# sourceMappingURL=matchers.test.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","it","getNameFromFilePath","matchArrayGroupName","matchDeepDynamicRouteName","matchDynamicName","matchGroupName","stripGroupSegmentsFromPath","toBe","toEqual","name","deep","skip"],"sources":["../../../src/router/matchers.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","it","getNameFromFilePath","matchArrayGroupName","matchDeepDynamicRouteName","matchDirectoryRenderMode","matchDynamicName","matchGroupName","stripGroupSegmentsFromPath","toBe","toEqual","name","deep","skip","renderMode"],"sources":["../../../src/router/matchers.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { getNameFromFilePath, matchArrayGroupName, matchDeepDynamicRouteName, matchDynamicName, matchGroupName, stripGroupSegmentsFromPath } from "./matchers.native.js";
2
+ import { getNameFromFilePath, matchArrayGroupName, matchDeepDynamicRouteName, matchDirectoryRenderMode, matchDynamicName, matchGroupName, stripGroupSegmentsFromPath } from "./matchers.native.js";
3
3
  describe(stripGroupSegmentsFromPath, function () {
4
4
  it("strips group segments, preserving initial slash", function () {
5
5
  expect(stripGroupSegmentsFromPath("/[[...foobar]]/(foo)/bar/[bax]/(other)")).toBe("/[[...foobar]]/bar/[bax]"), expect(stripGroupSegmentsFromPath("(foo)/(bar)")).toBe("");
@@ -42,4 +42,33 @@ describe(matchArrayGroupName, function () {
42
42
  expect(matchArrayGroupName("(leading)/(foo,bar)/(fruit,apple)")).toEqual("foo,bar"), expect(matchArrayGroupName("(leading)/((foo),bar)/(fruit,apple)")).toEqual("(foo),bar"), expect(matchArrayGroupName("(leading)/(foo,bar)/((fruit),apple)")).toEqual("foo,bar");
43
43
  });
44
44
  });
45
+ describe(matchDirectoryRenderMode, function () {
46
+ it("should match directory names with render mode suffixes", function () {
47
+ expect(matchDirectoryRenderMode("dashboard+ssr")).toEqual({
48
+ name: "dashboard",
49
+ renderMode: "ssr"
50
+ }), expect(matchDirectoryRenderMode("blog+ssg")).toEqual({
51
+ name: "blog",
52
+ renderMode: "ssg"
53
+ }), expect(matchDirectoryRenderMode("admin+spa")).toEqual({
54
+ name: "admin",
55
+ renderMode: "spa"
56
+ }), expect(matchDirectoryRenderMode("api-routes+api")).toEqual({
57
+ name: "api-routes",
58
+ renderMode: "api"
59
+ });
60
+ }), it("should not match directory names without render mode suffixes", function () {
61
+ expect(matchDirectoryRenderMode("dashboard")).toEqual(void 0), expect(matchDirectoryRenderMode("blog")).toEqual(void 0), expect(matchDirectoryRenderMode("admin")).toEqual(void 0);
62
+ }), it("should not match invalid render modes", function () {
63
+ expect(matchDirectoryRenderMode("dashboard+invalid")).toEqual(void 0), expect(matchDirectoryRenderMode("blog+csr")).toEqual(void 0);
64
+ }), it("should handle directory names with hyphens and underscores", function () {
65
+ expect(matchDirectoryRenderMode("my-dashboard+ssr")).toEqual({
66
+ name: "my-dashboard",
67
+ renderMode: "ssr"
68
+ }), expect(matchDirectoryRenderMode("my_blog+ssg")).toEqual({
69
+ name: "my_blog",
70
+ renderMode: "ssg"
71
+ });
72
+ });
73
+ });
45
74
  //# sourceMappingURL=matchers.test.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["describe","expect","it","getNameFromFilePath","matchArrayGroupName","matchDeepDynamicRouteName","matchDynamicName","matchGroupName","stripGroupSegmentsFromPath","toBe","toEqual","name","deep","skip"],"sources":["../../../src/router/matchers.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["describe","expect","it","getNameFromFilePath","matchArrayGroupName","matchDeepDynamicRouteName","matchDirectoryRenderMode","matchDynamicName","matchGroupName","stripGroupSegmentsFromPath","toBe","toEqual","name","deep","skip","renderMode"],"sources":["../../../src/router/matchers.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import Path from "node:path";
2
2
  function getPathnameFromFilePath(inputPath, params = {}, strict = !1, options = {}) {
3
- const path = inputPath.replace(/\+(spa|ssg|ssr|api)\.tsx?$/, ""), dirname = Path.dirname(path).replace(/\([^/]+\)/gi, "").replace(/\[([^\]]+)\]/g, ":$1"), file = Path.basename(path), fileName = options.preserveExtensions ? file : file.replace(/\.[a-z]+$/, "");
3
+ const path = inputPath.replace(/\+(spa|ssg|ssr|api)\.tsx?$/, ""), dirname = Path.dirname(path).split("/").map((segment) => segment.replace(/\+(api|ssg|ssr|spa)$/, "")).join("/").replace(/\([^/]+\)/gi, "").replace(/\[([^\]]+)\]/g, ":$1"), file = Path.basename(path), fileName = options.preserveExtensions ? file : file.replace(/\.[a-z]+$/, "");
4
4
  function paramsError(part) {
5
5
  throw new Error(
6
6
  `[one] Params doesn't fit route:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/utils/getPathnameFromFilePath.ts"],
4
- "mappings": "AAAA,OAAO,UAAU;AAEV,SAAS,wBACd,WACA,SAAS,CAAC,GACV,SAAS,IACT,UAAoE,CAAC,GACrE;AACA,QAAM,OAAO,UAAU,QAAQ,8BAA8B,EAAE,GAEzD,UAAU,KAAK,QAAQ,IAAI,EAC9B,QAAQ,eAAe,EAAE,EACzB,QAAQ,iBAAiB,KAAK,GAC3B,OAAO,KAAK,SAAS,IAAI,GACzB,WAAW,QAAQ,qBAAqB,OAAO,KAAK,QAAQ,aAAa,EAAE;AAEjF,WAAS,YAAY,MAAc;AACjC,UAAM,IAAI;AAAA,MACR;AAAA;AAAA,gBAEU,IAAI;AAAA,gBACJ,IAAI;AAAA,oBACA,QAAQ;AAAA;AAAA;AAAA,EAG1B,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,kBAAkB,MAAM;AAC5B,QAAI,aAAa,WAAW,CAAC,QAAQ;AACnC,aAAO;AAET,QAAI,SAAS,WAAW,MAAM,GAAG;AAC/B,YAAM,OAAO,SAAS,QAAQ,QAAQ,EAAE,EAAE,QAAQ,KAAK,EAAE;AACzD,UAAI,CAAC,OAAO,IAAI,GAAG;AACjB,YAAI;AACF,gBAAM,YAAY,IAAI;AAExB,eAAO;AAAA,MACT;AACA,aAAO,IAAI,OAAO,IAAI,CAAC;AAAA,IACzB;AACA,WAAO,IAAI,SACR,MAAM,GAAG,EACT,IAAI,CAAC,SAAS;AACb,UAAI,KAAK,CAAC,MAAM,KAAK;AACnB,cAAM,QAAQ,OAAO,KAAK,MAAM,GAAG,KAAK,SAAS,CAAC,CAAC;AACnD,YAAI,CAAC,OAAO;AACV,cAAI;AACF,kBAAM,YAAY,IAAI;AAGxB,iBAAO,MAAM,KAAK,QAAQ,KAAK,EAAE,EAAE,QAAQ,KAAK,EAAE;AAAA,QACpD;AACA,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,CAAC,EACA,KAAK,GAAG,CAAC;AAAA,EACd,GAAG;AAGH,SAAO,GAAG,OAAO,GAAG,cAAc,GAAG,QAAQ,WAAW,GAAG;AAC7D;",
4
+ "mappings": "AAAA,OAAO,UAAU;AAEV,SAAS,wBACd,WACA,SAAS,CAAC,GACV,SAAS,IACT,UAAoE,CAAC,GACrE;AACA,QAAM,OAAO,UAAU,QAAQ,8BAA8B,EAAE,GAEzD,UAAU,KAAK,QAAQ,IAAI,EAC9B,MAAM,GAAG,EACT,IAAI,CAAC,YAAY,QAAQ,QAAQ,wBAAwB,EAAE,CAAC,EAC5D,KAAK,GAAG,EACR,QAAQ,eAAe,EAAE,EACzB,QAAQ,iBAAiB,KAAK,GAC3B,OAAO,KAAK,SAAS,IAAI,GACzB,WAAW,QAAQ,qBAAqB,OAAO,KAAK,QAAQ,aAAa,EAAE;AAEjF,WAAS,YAAY,MAAc;AACjC,UAAM,IAAI;AAAA,MACR;AAAA;AAAA,gBAEU,IAAI;AAAA,gBACJ,IAAI;AAAA,oBACA,QAAQ;AAAA;AAAA;AAAA,EAG1B,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAAA,IAC7B;AAAA,EACF;AAEA,QAAM,kBAAkB,MAAM;AAC5B,QAAI,aAAa,WAAW,CAAC,QAAQ;AACnC,aAAO;AAET,QAAI,SAAS,WAAW,MAAM,GAAG;AAC/B,YAAM,OAAO,SAAS,QAAQ,QAAQ,EAAE,EAAE,QAAQ,KAAK,EAAE;AACzD,UAAI,CAAC,OAAO,IAAI,GAAG;AACjB,YAAI;AACF,gBAAM,YAAY,IAAI;AAExB,eAAO;AAAA,MACT;AACA,aAAO,IAAI,OAAO,IAAI,CAAC;AAAA,IACzB;AACA,WAAO,IAAI,SACR,MAAM,GAAG,EACT,IAAI,CAAC,SAAS;AACb,UAAI,KAAK,CAAC,MAAM,KAAK;AACnB,cAAM,QAAQ,OAAO,KAAK,MAAM,GAAG,KAAK,SAAS,CAAC,CAAC;AACnD,YAAI,CAAC,OAAO;AACV,cAAI;AACF,kBAAM,YAAY,IAAI;AAGxB,iBAAO,MAAM,KAAK,QAAQ,KAAK,EAAE,EAAE,QAAQ,KAAK,EAAE;AAAA,QACpD;AACA,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,CAAC,EACA,KAAK,GAAG,CAAC;AAAA,EACd,GAAG;AAGH,SAAO,GAAG,OAAO,GAAG,cAAc,GAAG,QAAQ,WAAW,GAAG;AAC7D;",
5
5
  "names": []
6
6
  }
@@ -1,7 +1,7 @@
1
1
  import Path from "node:path";
2
2
  function getPathnameFromFilePath(inputPath, params = {}, strict = !1, options = {}) {
3
3
  const path = inputPath.replace(/\+(spa|ssg|ssr|api)\.tsx?$/, ""),
4
- dirname = Path.dirname(path).replace(/\([^/]+\)/gi, "").replace(/\[([^\]]+)\]/g, ":$1"),
4
+ dirname = Path.dirname(path).split("/").map(segment => segment.replace(/\+(api|ssg|ssr|spa)$/, "")).join("/").replace(/\([^/]+\)/gi, "").replace(/\[([^\]]+)\]/g, ":$1"),
5
5
  file = Path.basename(path),
6
6
  fileName = options.preserveExtensions ? file : file.replace(/\.[a-z]+$/, "");
7
7
  function paramsError(part) {
@@ -1 +1 @@
1
- {"version":3,"names":["Path","getPathnameFromFilePath","inputPath","params","strict","options","path","replace","dirname","file","basename","fileName","preserveExtensions","paramsError","part","Error","JSON","stringify","nameWithParams","includeIndex","startsWith","split","map","found","slice","length","join"],"sources":["../../../src/utils/getPathnameFromFilePath.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AAEV,SAASC,wBACdC,SAAA,EACAC,MAAA,GAAS,CAAC,GACVC,MAAA,GAAS,IACTC,OAAA,GAAoE,CAAC,GACrE;EACA,MAAMC,IAAA,GAAOJ,SAAA,CAAUK,OAAA,CAAQ,8BAA8B,EAAE;IAEzDC,OAAA,GAAUR,IAAA,CAAKQ,OAAA,CAAQF,IAAI,EAC9BC,OAAA,CAAQ,eAAe,EAAE,EACzBA,OAAA,CAAQ,iBAAiB,KAAK;IAC3BE,IAAA,GAAOT,IAAA,CAAKU,QAAA,CAASJ,IAAI;IACzBK,QAAA,GAAWN,OAAA,CAAQO,kBAAA,GAAqBH,IAAA,GAAOA,IAAA,CAAKF,OAAA,CAAQ,aAAa,EAAE;EAEjF,SAASM,YAAYC,IAAA,EAAc;IACjC,MAAM,IAAIC,KAAA,CACR;AAAA;AAAA,gBAEUT,IAAI;AAAA,gBACJQ,IAAI;AAAA,oBACAH,QAAQ;AAAA;AAAA;AAAA,EAG1BK,IAAA,CAAKC,SAAA,CAAUd,MAAA,EAAQ,MAAM,CAAC,CAAC,EAC7B;EACF;EAEA,MAAMe,cAAA,IAAkB,MAAM;IAC5B,IAAIP,QAAA,KAAa,WAAW,CAACN,OAAA,CAAQc,YAAA,EACnC,OAAO;IAET,IAAIR,QAAA,CAASS,UAAA,CAAW,MAAM,GAAG;MAC/B,MAAMN,IAAA,GAAOH,QAAA,CAASJ,OAAA,CAAQ,QAAQ,EAAE,EAAEA,OAAA,CAAQ,KAAK,EAAE;MACzD,IAAI,CAACJ,MAAA,CAAOW,IAAI,GAAG;QACjB,IAAIV,MAAA,EACF,MAAMS,WAAA,CAAYC,IAAI;QAExB,OAAO;MACT;MACA,OAAO,IAAIX,MAAA,CAAOW,IAAI,CAAC;IACzB;IACA,OAAO,IAAIH,QAAA,CACRU,KAAA,CAAM,GAAG,EACTC,GAAA,CAAKR,IAAA,IAAS;MACb,IAAIA,IAAA,CAAK,CAAC,MAAM,KAAK;QACnB,MAAMS,KAAA,GAAQpB,MAAA,CAAOW,IAAA,CAAKU,KAAA,CAAM,GAAGV,IAAA,CAAKW,MAAA,GAAS,CAAC,CAAC;QACnD,IAAI,CAACF,KAAA,EAAO;UACV,IAAInB,MAAA,EACF,MAAMS,WAAA,CAAYC,IAAI;UAGxB,OAAO,MAAMA,IAAA,CAAKP,OAAA,CAAQ,KAAK,EAAE,EAAEA,OAAA,CAAQ,KAAK,EAAE;QACpD;QACA,OAAOgB,KAAA;MACT;MACA,OAAOT,IAAA;IACT,CAAC,EACAY,IAAA,CAAK,GAAG,CAAC;EACd,GAAG;EAGH,OAAO,GAAGlB,OAAO,GAAGU,cAAc,GAAGX,OAAA,CAAQ,WAAW,GAAG;AAC7D","ignoreList":[]}
1
+ {"version":3,"names":["Path","getPathnameFromFilePath","inputPath","params","strict","options","path","replace","dirname","split","map","segment","join","file","basename","fileName","preserveExtensions","paramsError","part","Error","JSON","stringify","nameWithParams","includeIndex","startsWith","found","slice","length"],"sources":["../../../src/utils/getPathnameFromFilePath.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AAEV,SAASC,wBACdC,SAAA,EACAC,MAAA,GAAS,CAAC,GACVC,MAAA,GAAS,IACTC,OAAA,GAAoE,CAAC,GACrE;EACA,MAAMC,IAAA,GAAOJ,SAAA,CAAUK,OAAA,CAAQ,8BAA8B,EAAE;IAEzDC,OAAA,GAAUR,IAAA,CAAKQ,OAAA,CAAQF,IAAI,EAC9BG,KAAA,CAAM,GAAG,EACTC,GAAA,CAAKC,OAAA,IAAYA,OAAA,CAAQJ,OAAA,CAAQ,wBAAwB,EAAE,CAAC,EAC5DK,IAAA,CAAK,GAAG,EACRL,OAAA,CAAQ,eAAe,EAAE,EACzBA,OAAA,CAAQ,iBAAiB,KAAK;IAC3BM,IAAA,GAAOb,IAAA,CAAKc,QAAA,CAASR,IAAI;IACzBS,QAAA,GAAWV,OAAA,CAAQW,kBAAA,GAAqBH,IAAA,GAAOA,IAAA,CAAKN,OAAA,CAAQ,aAAa,EAAE;EAEjF,SAASU,YAAYC,IAAA,EAAc;IACjC,MAAM,IAAIC,KAAA,CACR;AAAA;AAAA,gBAEUb,IAAI;AAAA,gBACJY,IAAI;AAAA,oBACAH,QAAQ;AAAA;AAAA;AAAA,EAG1BK,IAAA,CAAKC,SAAA,CAAUlB,MAAA,EAAQ,MAAM,CAAC,CAAC,EAC7B;EACF;EAEA,MAAMmB,cAAA,IAAkB,MAAM;IAC5B,IAAIP,QAAA,KAAa,WAAW,CAACV,OAAA,CAAQkB,YAAA,EACnC,OAAO;IAET,IAAIR,QAAA,CAASS,UAAA,CAAW,MAAM,GAAG;MAC/B,MAAMN,IAAA,GAAOH,QAAA,CAASR,OAAA,CAAQ,QAAQ,EAAE,EAAEA,OAAA,CAAQ,KAAK,EAAE;MACzD,IAAI,CAACJ,MAAA,CAAOe,IAAI,GAAG;QACjB,IAAId,MAAA,EACF,MAAMa,WAAA,CAAYC,IAAI;QAExB,OAAO;MACT;MACA,OAAO,IAAIf,MAAA,CAAOe,IAAI,CAAC;IACzB;IACA,OAAO,IAAIH,QAAA,CACRN,KAAA,CAAM,GAAG,EACTC,GAAA,CAAKQ,IAAA,IAAS;MACb,IAAIA,IAAA,CAAK,CAAC,MAAM,KAAK;QACnB,MAAMO,KAAA,GAAQtB,MAAA,CAAOe,IAAA,CAAKQ,KAAA,CAAM,GAAGR,IAAA,CAAKS,MAAA,GAAS,CAAC,CAAC;QACnD,IAAI,CAACF,KAAA,EAAO;UACV,IAAIrB,MAAA,EACF,MAAMa,WAAA,CAAYC,IAAI;UAGxB,OAAO,MAAMA,IAAA,CAAKX,OAAA,CAAQ,KAAK,EAAE,EAAEA,OAAA,CAAQ,KAAK,EAAE;QACpD;QACA,OAAOkB,KAAA;MACT;MACA,OAAOP,IAAA;IACT,CAAC,EACAN,IAAA,CAAK,GAAG,CAAC;EACd,GAAG;EAGH,OAAO,GAAGJ,OAAO,GAAGc,cAAc,GAAGf,OAAA,CAAQ,WAAW,GAAG;AAC7D","ignoreList":[]}
@@ -4,7 +4,9 @@ function getPathnameFromFilePath(inputPath) {
4
4
  strict = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1,
5
5
  options = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {},
6
6
  path = inputPath.replace(/\+(spa|ssg|ssr|api)\.tsx?$/, ""),
7
- dirname = Path.dirname(path).replace(/\([^/]+\)/gi, "").replace(/\[([^\]]+)\]/g, ":$1"),
7
+ dirname = Path.dirname(path).split("/").map(function (segment) {
8
+ return segment.replace(/\+(api|ssg|ssr|spa)$/, "");
9
+ }).join("/").replace(/\([^/]+\)/gi, "").replace(/\[([^\]]+)\]/g, ":$1"),
8
10
  file = Path.basename(path),
9
11
  fileName = options.preserveExtensions ? file : file.replace(/\.[a-z]+$/, "");
10
12
  function paramsError(part) {
@@ -1 +1 @@
1
- {"version":3,"names":["Path","getPathnameFromFilePath","inputPath","params","arguments","length","strict","options","path","replace","dirname","file","basename","fileName","preserveExtensions","paramsError","part","Error","JSON","stringify","nameWithParams","includeIndex","startsWith","split","map","part2","found","slice","join"],"sources":["../../../src/utils/getPathnameFromFilePath.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AAEV,SAASC,wBACdC,SAAA,EACA;EAIA,IAAAC,MAAM,GAAOC,SAAA,CAAUC,MAAA,GAAQ,KAAAD,SAAA,iBAAgCA,SAEzD,MAAU;IAAKE,MAAA,GAAQF,SAC1B,CAAAC,MAAQ,QAAAD,SACR,QAAQ,SAAAA,SAAiB,EAAK,IAC3B;IAAAG,OAAY,GAAAH,SAAS,CAAIC,MACzB,QAAWD,SAAQ,iBAAAA,SAAqB,CAAO,KAAK;IAAAI,IAAQ,GAAAN,SAAA,CAAaO,OAAE;IAAAC,OAAA,GAAAV,IAAA,CAAAU,OAAA,CAAAF,IAAA,EAAAC,OAAA,oBAAAA,OAAA;IAAAE,IAAA,GAAAX,IAAA,CAAAY,QAAA,CAAAJ,IAAA;IAAAK,QAAA,GAAAN,OAAA,CAAAO,kBAAA,GAAAH,IAAA,GAAAA,IAAA,CAAAF,OAAA;EAEjF,SAASM,YAAYC,IAAA,EAAc;IACjC,MAAM,IAAIC,KAAA;AAAA;AACR,gBAAAT,IAAA;AAAA,gBAEUQ,IAAI;AAAA,oBACAH,QAAA;AAAA;AACQ;AAAA,EAAAK,IAAA,CAAAC,SAAA,CAAAhB,MAAA;EAG1B;EAA+B,IAC7BiB,cAAA;IACF,IAAAP,QAAA,iBAAAN,OAAA,CAAAc,YAAA,EAEA,OAAM;IACJ,IAAIR,QAAA,CAAAS,UAAa,OAAY;MAC3B,IAAAN,IAAO,GAAAH,QAAA,CAAAJ,OAAA,aAAAA,OAAA;MAET,IAAI,CAAAN,MAAS,CAAAa,IAAA;QACX,IAAMV,MAAA,EACF,MAACS,WAAc,CAAAC,IAAA;QACjB,OAAI;MACF;MAEF,WAAOb,MAAA,CAAAa,IAAA;IAAA;IAET,WAAOH,QAAI,CAAOU,KAAK,MAAAC,GAAA,WAAAC,KAAA;MACzB,IAAAA,KAAA;QACA,IAAOC,KAAI,GAAAvB,MACR,CAAAsB,KAAM,CAAGE,KACT,CAAI,CAAC,EAAAF,KAAA,CAAApB,MAAS;QACb,IAAI,CAAAqB,KAAM;UACR,IAAMpB,MAAA,EACF,MAACS,WAAO,CAAAU,KAAA;UACV,OAAI,MAAAA,KAAA,CAAAhB,OAAA,UAAAA,OAAA;QACF;QAGF,OAAAiB,KAAO;MAA2C;MAEpD,OAAAD,KAAO;IAAA,EACT,CAAAG,IAAA;EACA;EAAO,OAER,GAAKlB,OAAI,GAAAU,cAAA,GAAAX,OAAA;AAAA;AAId,SACFR,uBAAA","ignoreList":[]}
1
+ {"version":3,"names":["Path","getPathnameFromFilePath","inputPath","params","arguments","length","strict","options","path","replace","dirname","split","map","segment","join","file","basename","fileName","preserveExtensions","paramsError","part","Error","JSON","stringify","nameWithParams","includeIndex","startsWith","part2","found","slice"],"sources":["../../../src/utils/getPathnameFromFilePath.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AAEV,SAASC,wBACdC,SAAA,EACA;EAIA,IAAAC,MAAM,GAAOC,SAAA,CAAUC,MAAA,GAAQ,KAAAD,SAAA,iBAAgCA,SAEzD,MAAU;IAAKE,MAAA,GAAQF,SAC1B,CAAMC,MACN,GAAI,CAAC,IAAAD,SAAY,QAAQ,SAAQA,SAAA;IAAAG,OAA2B,GAC5DH,SACA,CAAAC,MAAQ,QAAAD,SAAiB,EACzB,WAAQ,IAAAA,SAAA,CAAiB,KAAK;IAC3BI,IAAA,GAAON,SAAK,CAAAO,OAAa,6BACN;IAAAC,OAAqB,GAAAV,IAAO,CAAAU,OAAK,CAAAF,IAAQ,EAAAG,KAAA,MAAaC,GAAE,WAAAC,OAAA;MAEjF,OAASA,OAAA,CAAAJ,OAAY,uBAAc;IACjC,GAAAK,IAAA,CAAM,IAAI,CAAAL,OAAA,oBAAAA,OAAA;IAAAM,IAAA,GAAAf,IAAA,CAAAgB,QAAA,CAAAR,IAAA;IAAAS,QAAA,GAAAV,OAAA,CAAAW,kBAAA,GAAAH,IAAA,GAAAA,IAAA,CAAAN,OAAA;EAAA,SACRU,YAAAC,IAAA;IAAA,UAAAC,KAAA;AAAA;AAEc,gBACJb,IAAI;AAAA,gBAAAY,IACA;AAAQ,oBAAAH,QAAA;AAAA;AAAA;AAGK,EAAAK,IAC7B,CAAAC,SAAA,CAAApB,MAAA;EACF;EAEA,IAAAqB,cAAM,eAAwB;IAC5B,IAAIP,QAAA,KAAa,WAAW,CAACV,OAAA,CAAQkB,YAAA,EACnC,OAAO;IAET,IAAIR,QAAA,CAASS,UAAA,CAAW,MAAM,GAAG;MAC/B,IAAAN,IAAM,GAAAH,QAAO,CAAAR,OAAS,OAAQ,IAAQ,EAAEA,OAAE,IAAQ,IAAK;MACvD,IAAI,CAACN,MAAA,CAAOiB,IAAI,GAAG;QACjB,IAAId,MAAA,EACF,MAAMa,WAAA,CAAYC,IAAI;QAExB,OAAO;MACT;MACA,OAAO,IAAIjB,MAAA,CAAOiB,IAAI,CAAC;IACzB;IACA,OAAO,IAAIH,QAAA,CACRN,KAAA,CAAM,GAAG,EACTC,GAAA,CAAI,UAACe,KAAS;MACb,IAAIA,KAAK,CAAC,OAAM,KAAK;QACnB,IAAAC,KAAM,GAAAzB,MAAQ,CAAAwB,KAAO,CAAAE,KAAK,EAAM,EAAAF,KAAG,CAAKtB,MAAA,GAAS,CAAC,CAAC;QACnD,IAAI,CAACuB,KAAA,EAAO;UACV,IAAItB,MAAA,EACF,MAAMa,WAAA,CAAYQ,KAAI;UAGxB,OAAO,MAAMA,KAAK,CAAAlB,OAAQ,MAAK,EAAE,CAAE,CAAAA,OAAQ,MAAK,EAAE;QACpD;QACA,OAAOmB,KAAA;MACT;MACA,OAAOD,KAAA;IACT,CAAC,EACAb,IAAA,CAAK,GAAG,CAAC;EACd,EAAG;EAGH,OAAO,GAAGJ,OAAO,GAAGc,cAAc,GAAGf,OAAA,CAAQ,WAAW,GAAG;AAC7D","ignoreList":[]}
@@ -32,7 +32,9 @@ function SSRCSSPlugin(pluginOpts) {
32
32
  handler: async () => [
33
33
  {
34
34
  tag: "link",
35
- injectTo: "head",
35
+ // prepend so SSR CSS comes BEFORE individual style tags injected by JS
36
+ // this ensures individual styles (later in DOM) win in CSS cascade
37
+ injectTo: "head-prepend",
36
38
  attrs: {
37
39
  rel: "stylesheet",
38
40
  href: VIRTUAL_SSR_CSS_HREF,
@@ -48,7 +50,7 @@ function SSRCSSPlugin(pluginOpts) {
48
50
  `
49
51
  import { createHotContext } from "/@vite/client";
50
52
  const hot = createHotContext("/__clear_ssr_css");
51
- hot.on("vite:afterUpdate", () => {
53
+ hot.on("vite:beforeUpdate", () => {
52
54
  document
53
55
  .querySelectorAll("[data-ssr-css]")
54
56
  .forEach(node => node.remove());
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/vite/plugins/SSRCSSPlugin.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -31,7 +31,9 @@ function SSRCSSPlugin(pluginOpts) {
31
31
  transformIndexHtml: {
32
32
  handler: async () => [{
33
33
  tag: "link",
34
- injectTo: "head",
34
+ // prepend so SSR CSS comes BEFORE individual style tags injected by JS
35
+ // this ensures individual styles (later in DOM) win in CSS cascade
36
+ injectTo: "head-prepend",
35
37
  attrs: {
36
38
  rel: "stylesheet",
37
39
  href: VIRTUAL_SSR_CSS_HREF,
@@ -47,7 +49,7 @@ function SSRCSSPlugin(pluginOpts) {
47
49
  `
48
50
  import { createHotContext } from "/@vite/client";
49
51
  const hot = createHotContext("/__clear_ssr_css");
50
- hot.on("vite:afterUpdate", () => {
52
+ hot.on("vite:beforeUpdate", () => {
51
53
  document
52
54
  .querySelectorAll("[data-ssr-css]")
53
55
  .forEach(node => node.remove());
@@ -1 +1 @@
1
- {"version":3,"names":["VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SSRCSSPlugin","pluginOpts","server","name","apply","configureServer","server_","middlewares","use","req","res","next","url","includes","invalidateModule","code","collectStyle","entries","setHeader","write","end","resolveId","source","_importer","_options","startsWith","load","id","URL","slice","searchParams","has","JSON","stringify","transformIndexHtml","handler","tag","injectTo","attrs","rel","href","type","children","mod","moduleGraph","getModuleById","transform","urls","collectStyleUrls","out","Promise","all","map","transformRequest","prefix","buffer","Buffer","from","codeOut","Uint8Array","byteOffset","byteLength","processed","filename","config","css","lightningcss","toString","err","console","error","flat","filter","Boolean","join","visited","Set","traverse","resolveUrl","add","importedModules","childMod","e","match","CSS_LANGS_RE"],"sources":["../../../../src/vite/plugins/SSRCSSPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SSRCSSPlugin","pluginOpts","server","name","apply","configureServer","server_","middlewares","use","req","res","next","url","includes","invalidateModule","code","collectStyle","entries","setHeader","write","end","resolveId","source","_importer","_options","startsWith","load","id","URL","slice","searchParams","has","JSON","stringify","transformIndexHtml","handler","tag","injectTo","attrs","rel","href","type","children","mod","moduleGraph","getModuleById","transform","urls","collectStyleUrls","out","Promise","all","map","transformRequest","prefix","buffer","Buffer","from","codeOut","Uint8Array","byteOffset","byteLength","processed","filename","config","css","lightningcss","toString","err","console","error","flat","filter","Boolean","join","visited","Set","traverse","resolveUrl","add","importedModules","childMod","e","match","CSS_LANGS_RE"],"sources":["../../../../src/vite/plugins/SSRCSSPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -33,7 +33,9 @@ function SSRCSSPlugin(pluginOpts) {
33
33
  handler: async function () {
34
34
  return [{
35
35
  tag: "link",
36
- injectTo: "head",
36
+ // prepend so SSR CSS comes BEFORE individual style tags injected by JS
37
+ // this ensures individual styles (later in DOM) win in CSS cascade
38
+ injectTo: "head-prepend",
37
39
  attrs: {
38
40
  rel: "stylesheet",
39
41
  href: VIRTUAL_SSR_CSS_HREF,
@@ -49,7 +51,7 @@ function SSRCSSPlugin(pluginOpts) {
49
51
  `
50
52
  import { createHotContext } from "/@vite/client";
51
53
  const hot = createHotContext("/__clear_ssr_css");
52
- hot.on("vite:afterUpdate", () => {
54
+ hot.on("vite:beforeUpdate", () => {
53
55
  document
54
56
  .querySelectorAll("[data-ssr-css]")
55
57
  .forEach(node => node.remove());
@@ -1 +1 @@
1
- {"version":3,"names":["VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SSRCSSPlugin","pluginOpts","server","name","apply","configureServer","server_","middlewares","use","req","res","next","_req_url","url","includes","invalidateModule","code","collectStyle","entries","setHeader","write","end","resolveId","source","_importer","_options","startsWith","load","id","URL","slice","searchParams","has","JSON","stringify","transformIndexHtml","handler","tag","injectTo","attrs","rel","href","type","children","mod","moduleGraph","getModuleById","transform","urls","collectStyleUrls","codes","Promise","all","map","transformRequest","prefix","buffer2","Buffer","from","codeOut2","Uint8Array","buffer","byteOffset","byteLength","processed","filename","config","css","lightningcss","toString","err","console","error","out","flat","filter","Boolean","join","codeOut","visited","Set","traverse","resolveUrl","add","importedModules","childMod"],"sources":["../../../../src/vite/plugins/SSRCSSPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["VIRTUAL_SSR_CSS_ENTRY","VIRTUAL_SSR_CSS_HREF","SSRCSSPlugin","pluginOpts","server","name","apply","configureServer","server_","middlewares","use","req","res","next","_req_url","url","includes","invalidateModule","code","collectStyle","entries","setHeader","write","end","resolveId","source","_importer","_options","startsWith","load","id","URL","slice","searchParams","has","JSON","stringify","transformIndexHtml","handler","tag","injectTo","attrs","rel","href","type","children","mod","moduleGraph","getModuleById","transform","urls","collectStyleUrls","codes","Promise","all","map","transformRequest","prefix","buffer2","Buffer","from","codeOut2","Uint8Array","buffer","byteOffset","byteLength","processed","filename","config","css","lightningcss","toString","err","console","error","out","flat","filter","Boolean","join","codeOut","visited","Set","traverse","resolveUrl","add","importedModules","childMod"],"sources":["../../../../src/vite/plugins/SSRCSSPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.6.18",
3
+ "version": "1.6.20",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -154,17 +154,17 @@
154
154
  "@react-navigation/routers": "~7.5.1",
155
155
  "@swc/core": "^1.14.0",
156
156
  "@ungap/structured-clone": "^1.2.0",
157
- "@vxrn/color-scheme": "1.6.18",
158
- "@vxrn/compiler": "1.6.18",
159
- "@vxrn/resolve": "1.6.18",
160
- "@vxrn/tslib-lite": "1.6.18",
161
- "@vxrn/use-isomorphic-layout-effect": "1.6.18",
162
- "@vxrn/vite-plugin-metro": "1.6.18",
157
+ "@vxrn/color-scheme": "1.6.20",
158
+ "@vxrn/compiler": "1.6.20",
159
+ "@vxrn/resolve": "1.6.20",
160
+ "@vxrn/tslib-lite": "1.6.20",
161
+ "@vxrn/use-isomorphic-layout-effect": "1.6.20",
162
+ "@vxrn/vite-plugin-metro": "1.6.20",
163
163
  "babel-dead-code-elimination": "1.0.10",
164
164
  "babel-plugin-module-resolver": "^5.0.2",
165
165
  "citty": "^0.1.6",
166
166
  "core-js": "^3.38.1",
167
- "create-vxrn": "1.6.18",
167
+ "create-vxrn": "1.6.20",
168
168
  "escape-string-regexp": "^5.0.0",
169
169
  "expo-linking": "~8.0.8",
170
170
  "expo-modules-core": "~3.0.24",
@@ -189,7 +189,7 @@
189
189
  "use-latest-callback": "^0.2.3",
190
190
  "vite": "^7.1.12",
191
191
  "vite-tsconfig-paths": "^6.0.5",
192
- "vxrn": "1.6.18",
192
+ "vxrn": "1.6.20",
193
193
  "ws": "^8.18.0",
194
194
  "xxhashjs": "^0.2.2"
195
195
  },
@@ -0,0 +1,30 @@
1
+ import type { OneRouter } from './interfaces/router'
2
+
3
+ type MaybePromise<T> = T | Promise<T>
4
+
5
+ type APIRouteHandler<Params extends Record<string, string> = Record<string, string>> = (
6
+ request: Request,
7
+ context: { params: Params }
8
+ ) => MaybePromise<Response>
9
+
10
+ /**
11
+ * Type helper for API route handlers with typed params.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * // app/api/users/[id]+api.ts
16
+ * import { createAPIRoute } from 'one'
17
+ *
18
+ * export const GET = createAPIRoute<'/api/users/[id]'>((request, { params }) => {
19
+ * // params.id is typed as string
20
+ * return Response.json({ id: params.id })
21
+ * })
22
+ * ```
23
+ */
24
+ export function createAPIRoute<Path extends string = string>(
25
+ handler: APIRouteHandler<OneRouter.RouteType<Path>['Params']>
26
+ ) {
27
+ return handler
28
+ }
29
+
30
+ export type { APIRouteHandler }
package/src/index.ts CHANGED
@@ -52,6 +52,8 @@ export { onClientLoaderResolve } from './clientLoaderResolver'
52
52
 
53
53
  // middleware
54
54
  export { createMiddleware, type Middleware } from './createMiddleware'
55
+ // api routes
56
+ export { createAPIRoute, type APIRouteHandler } from './createAPIRoute'
55
57
  export { getURL } from './getURL'
56
58
  export { Head } from './head'
57
59
  // for easier expo-router migration