one 1.6.19 → 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.
- package/devtools/dev.mjs +6 -0
- package/devtools/source-inspector.mjs +5 -0
- package/dist/cjs/router/getRoutes.cjs +19 -7
- package/dist/cjs/router/getRoutes.js +18 -7
- package/dist/cjs/router/getRoutes.js.map +1 -1
- package/dist/cjs/router/getRoutes.native.js +53 -24
- package/dist/cjs/router/getRoutes.native.js.map +1 -1
- package/dist/cjs/router/matchers.cjs +9 -0
- package/dist/cjs/router/matchers.js +10 -0
- package/dist/cjs/router/matchers.js.map +1 -1
- package/dist/cjs/router/matchers.native.js +9 -0
- package/dist/cjs/router/matchers.native.js.map +1 -1
- package/dist/cjs/router/matchers.test.cjs +29 -0
- package/dist/cjs/router/matchers.test.js +29 -0
- package/dist/cjs/router/matchers.test.js.map +1 -1
- package/dist/cjs/router/matchers.test.native.js +29 -0
- package/dist/cjs/router/matchers.test.native.js.map +1 -1
- package/dist/cjs/utils/getPathnameFromFilePath.cjs +1 -1
- package/dist/cjs/utils/getPathnameFromFilePath.js +1 -1
- package/dist/cjs/utils/getPathnameFromFilePath.js.map +1 -1
- package/dist/cjs/utils/getPathnameFromFilePath.native.js +3 -1
- package/dist/cjs/utils/getPathnameFromFilePath.native.js.map +1 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.cjs +4 -2
- package/dist/cjs/vite/plugins/SSRCSSPlugin.js +4 -2
- package/dist/cjs/vite/plugins/SSRCSSPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js +4 -2
- package/dist/cjs/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
- package/dist/esm/router/getRoutes.js +19 -7
- package/dist/esm/router/getRoutes.js.map +1 -1
- package/dist/esm/router/getRoutes.mjs +20 -8
- package/dist/esm/router/getRoutes.mjs.map +1 -1
- package/dist/esm/router/getRoutes.native.js +54 -25
- package/dist/esm/router/getRoutes.native.js.map +1 -1
- package/dist/esm/router/matchers.js +10 -0
- package/dist/esm/router/matchers.js.map +1 -1
- package/dist/esm/router/matchers.mjs +9 -1
- package/dist/esm/router/matchers.mjs.map +1 -1
- package/dist/esm/router/matchers.native.js +9 -1
- package/dist/esm/router/matchers.native.js.map +1 -1
- package/dist/esm/router/matchers.test.js +30 -0
- package/dist/esm/router/matchers.test.js.map +1 -1
- package/dist/esm/router/matchers.test.mjs +30 -1
- package/dist/esm/router/matchers.test.mjs.map +1 -1
- package/dist/esm/router/matchers.test.native.js +30 -1
- package/dist/esm/router/matchers.test.native.js.map +1 -1
- package/dist/esm/utils/getPathnameFromFilePath.js +1 -1
- package/dist/esm/utils/getPathnameFromFilePath.js.map +1 -1
- package/dist/esm/utils/getPathnameFromFilePath.mjs +1 -1
- package/dist/esm/utils/getPathnameFromFilePath.mjs.map +1 -1
- package/dist/esm/utils/getPathnameFromFilePath.native.js +3 -1
- package/dist/esm/utils/getPathnameFromFilePath.native.js.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.js +4 -2
- package/dist/esm/vite/plugins/SSRCSSPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.mjs +4 -2
- package/dist/esm/vite/plugins/SSRCSSPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/SSRCSSPlugin.native.js +4 -2
- package/dist/esm/vite/plugins/SSRCSSPlugin.native.js.map +1 -1
- package/package.json +9 -9
- package/src/router/getRoutes.ts +46 -5
- package/src/router/matchers.test.ts +44 -0
- package/src/router/matchers.ts +35 -0
- package/src/utils/getPathnameFromFilePath.ts +4 -1
- package/src/vite/plugins/SSRCSSPlugin.ts +4 -2
- package/types/router/getRoutes.d.ts.map +1 -1
- package/types/router/matchers.d.ts +16 -0
- package/types/router/matchers.d.ts.map +1 -1
- package/types/utils/getPathnameFromFilePath.d.ts.map +1 -1
- package/types/vite/plugins/SSRCSSPlugin.d.ts.map +1 -1
|
@@ -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","
|
|
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).
|
|
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","
|
|
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
|
-
|
|
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:
|
|
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": "AACA,SAAS,uBAAuB,4BAA4B;AAIrD,SAAS,aAAa,YAA2C;AACtE,MAAI;AAEJ,SAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,gBAAgB,SAAS;AACvB,eAAS,SAGT,OAAO,YAAY,IAAI,OAAO,KAAK,KAAK,SAAS;AAC/C,YAAI,IAAI,KAAK,SAAS,oBAAoB,GAAG;AAC3C,2BAAiB,QAAQ,OAAO,wBAAwB,SAAS;AAEjE,gBAAM,OAAO,MAAM,aAAa,QAAQ,WAAW,OAAO;AAE1D,cAAI,UAAU,gBAAgB,UAAU,GACxC,IAAI,UAAU,iBAAiB,UAAU,GACzC,IAAI,UAAU,QAAQ,GAAG,GACzB,IAAI,MAAM,IAAI,GACd,IAAI,IAAI;AACR;AAAA,QACF;AACA,aAAK;AAAA,MACP,CAAC;AAAA,IACH;AAAA;AAAA;AAAA,IAIA,UAAU,QAAQ,WAAW,UAAU;AACrC,aAAO,OAAO,WAAW,qBAAqB,IAAI,OAAO,SAAS;AAAA,IACpE;AAAA,IAEA,MAAM,KAAK,IAAI,UAAU;AACvB,UAAI,GAAG,WAAW,OAAO,qBAAqB,GAAG;AAC/C,cAAM,MAAM,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,oBAAoB;AACrD,YAAI,OAAO,MAAM,aAAa,QAAQ,WAAW,OAAO;AACxD,eAAK,IAAI,aAAa,IAAI,QAAQ,MAChC,OAAO,kBAAkB,KAAK,UAAU,IAAI,CAAC,KAExC;AAAA,MACT;AAAA,IAGF;AAAA;AAAA,IAGA,oBAAoB;AAAA,MAClB,SAAS,YACA;AAAA,QACL;AAAA,UACE,KAAK;AAAA,
|
|
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
|
-
|
|
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:
|
|
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":"AACA,SAASA,qBAAA,EAAuBC,oBAAA,QAA4B;AAIrD,SAASC,aAAaC,UAAA,EAA2C;EACtE,IAAIC,MAAA;EAEJ,OAAO;IACLC,IAAA,EAAM;IACNC,KAAA,EAAO;IACPC,gBAAgBC,OAAA,EAAS;MACvBJ,MAAA,GAASI,OAAA,EAGTJ,MAAA,CAAOK,WAAA,CAAYC,GAAA,CAAI,OAAOC,GAAA,EAAKC,GAAA,EAAKC,IAAA,KAAS;QAC/C,IAAIF,GAAA,CAAIG,GAAA,EAAKC,QAAA,CAASd,oBAAoB,GAAG;UAC3Ce,gBAAA,CAAiBZ,MAAA,EAAQ,OAAOJ,qBAAA,GAAwB,SAAS;UAEjE,MAAMiB,IAAA,GAAO,MAAMC,YAAA,CAAad,MAAA,EAAQD,UAAA,CAAWgB,OAAO;UAE1DP,GAAA,CAAIQ,SAAA,CAAU,gBAAgB,UAAU,GACxCR,GAAA,CAAIQ,SAAA,CAAU,iBAAiB,UAAU,GACzCR,GAAA,CAAIQ,SAAA,CAAU,QAAQ,GAAG,GACzBR,GAAA,CAAIS,KAAA,CAAMJ,IAAI,GACdL,GAAA,CAAIU,GAAA,CAAI;UACR;QACF;QACAT,IAAA,CAAK;MACP,CAAC;IACH;IAAA;IAAA;IAIAU,UAAUC,MAAA,EAAQC,SAAA,EAAWC,QAAA,EAAU;MACrC,OAAOF,MAAA,CAAOG,UAAA,CAAW3B,qBAAqB,IAAI,OAAOwB,MAAA,GAAS;IACpE;IAEA,MAAMI,KAAKC,EAAA,EAAIH,QAAA,EAAU;MACvB,IAAIG,EAAA,CAAGF,UAAA,CAAW,OAAO3B,qBAAqB,GAAG;QAC/C,MAAMc,GAAA,GAAM,IAAIgB,GAAA,CAAID,EAAA,CAAGE,KAAA,CAAM,CAAC,GAAG,oBAAoB;QACrD,IAAId,IAAA,GAAO,MAAMC,YAAA,CAAad,MAAA,EAAQD,UAAA,CAAWgB,OAAO;QACxD,OAAKL,GAAA,CAAIkB,YAAA,CAAaC,GAAA,CAAI,QAAQ,MAChChB,IAAA,GAAO,kBAAkBiB,IAAA,CAAKC,SAAA,CAAUlB,IAAI,CAAC,KAExCA,IAAA;MACT;IAGF;IAAA;IAGAmB,kBAAA,EAAoB;MAClBC,OAAA,EAAS,MAAAA,CAAA,KACA,CACL;QACEC,GAAA,EAAK;
|
|
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
|
-
|
|
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:
|
|
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":"AACA,SAASA,qBAAA,EAAuBC,oBAAA,QAA4B;AAIrD,SAASC,aAAaC,UAAA,EAA2C;EACtE,IAAIC,MAAA;EAEJ,OAAO;IACLC,IAAA,EAAM;IACNC,KAAA,EAAO;IACPC,gBAAgBC,OAAA,EAAS;MACvBJ,MAAA,GAASI,OAAA,EAGTJ,MAAA,CAAOK,WAAA,CAAYC,GAAA,CAAI,gBAAYC,GAAK,EAAAC,GAAA,EAAAC,IAAS;QAC/C,IAAIC,QAAI;QACN,OAAAA,QAAA,GAAAH,GAAiB,CAAAI,GAAA,MAAQ,IAAO,IAAAD,QAAA,WAAwB,KAAAA,QAAS,CAAAE,QAAA,CAAAf,oBAAA;UAEjEgB,gBAAa,CAAAb,MAAM,SAAaJ,qBAAmB,YAAO;UAE1D,IAAIkB,IAAA,SAAUC,YAAA,CAAgBf,MAAA,EAAAD,UAC1B,CAAAiB,OAAA,CAAU;UAIdR,GAAA,CAAAS,SAAA,8BAAAT,GAAA,CAAAS,SAAA,+BAAAT,GAAA,CAAAS,SAAA,eAAAT,GAAA,CAAAU,KAAA,CAAAJ,IAAA,GAAAN,GAAA,CAAAW,GAAA;UACF;QACA;QACDV,IAAA;MACH;IAAA;IAAA;IAIA;IACEW,SAAOA,CAAAC,MAAO,EAAAC,SAAW,EAAAC,QAAA;MAC3B,OAAAF,MAAA,CAAAG,UAAA,CAAA5B,qBAAA,WAAAyB,MAAA;IAEA;IACE,MAAII,IAAGA,CAAAC,EAAA,EAAAH,QAAW;MAChB,IAAAG,EAAA,CAAAF,UAAY,CAAI,IAAI,GAAG5B,qBAAU;QACjC,IAAIe,GAAA,OAAOgB,GAAM,CAAAD,EAAA,CAAAE,KAAA,KAAa,oBAAmB;UAAAd,IAAO,SAAAC,YAAA,CAAAf,MAAA,EAAAD,UAAA,CAAAiB,OAAA;QACxD,OAAKL,GAAA,CAAIkB,YAAA,CAAaC,GAAA,CAAI,QAAQ,MAChChB,IAAA,GAAO,kBAAkBiB,IAAA,CAAKC,SAAA,CAAUlB,IAAI,CAAC,KAExCA,IAAA;MACT;IAGF;IAAA;IAGAmB,kBAAA,EAAoB;MAClBC,OAAA,EAAS,eAAAA,CAAA,EACA;QACL,QACE;
|
|
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.
|
|
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.
|
|
158
|
-
"@vxrn/compiler": "1.6.
|
|
159
|
-
"@vxrn/resolve": "1.6.
|
|
160
|
-
"@vxrn/tslib-lite": "1.6.
|
|
161
|
-
"@vxrn/use-isomorphic-layout-effect": "1.6.
|
|
162
|
-
"@vxrn/vite-plugin-metro": "1.6.
|
|
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.
|
|
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.
|
|
192
|
+
"vxrn": "1.6.20",
|
|
193
193
|
"ws": "^8.18.0",
|
|
194
194
|
"xxhashjs": "^0.2.2"
|
|
195
195
|
},
|
package/src/router/getRoutes.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { getPageExport } from '../utils/getPageExport'
|
|
|
3
3
|
import type { One } from '../vite/types'
|
|
4
4
|
import {
|
|
5
5
|
matchArrayGroupName,
|
|
6
|
+
matchDirectoryRenderMode,
|
|
6
7
|
matchDynamicName,
|
|
7
8
|
matchGroupName,
|
|
8
9
|
matchInterceptPrefix,
|
|
@@ -29,6 +30,8 @@ type DirectoryNode = {
|
|
|
29
30
|
subdirectories: Map<string, DirectoryNode>
|
|
30
31
|
/** Slot directories (@modal, @sidebar, etc.) for parallel routes */
|
|
31
32
|
slots: Map<string, DirectoryNode>
|
|
33
|
+
/** Render mode for this directory (e.g., from dashboard+ssr or api+api) */
|
|
34
|
+
renderMode?: One.RouteRenderMode | 'api'
|
|
32
35
|
}
|
|
33
36
|
|
|
34
37
|
const validPlatforms = new Set(['android', 'ios', 'native', 'web'])
|
|
@@ -99,7 +102,20 @@ function getDirectoryTree(contextModule: One.RouteContext, options: Options) {
|
|
|
99
102
|
|
|
100
103
|
isValid = true
|
|
101
104
|
|
|
102
|
-
|
|
105
|
+
// First pass: determine parent render mode by traversing directories
|
|
106
|
+
let parentRenderMode: One.RouteRenderMode | 'api' | undefined
|
|
107
|
+
const pathParts = filePath.replace(/^\.\//, '').split('/')
|
|
108
|
+
const directoryParts = pathParts.slice(0, -1)
|
|
109
|
+
|
|
110
|
+
for (const part of directoryParts) {
|
|
111
|
+
const dirRenderMode = matchDirectoryRenderMode(part)
|
|
112
|
+
if (dirRenderMode) {
|
|
113
|
+
// Inner folders override outer folders
|
|
114
|
+
parentRenderMode = dirRenderMode.renderMode
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
const meta = getFileMeta(filePath, options, parentRenderMode)
|
|
103
119
|
|
|
104
120
|
// This is a file that should be ignored. e.g maybe it has an invalid platform?
|
|
105
121
|
if (meta.specificity < 0) {
|
|
@@ -168,8 +184,12 @@ function getDirectoryTree(contextModule: One.RouteContext, options: Options) {
|
|
|
168
184
|
}
|
|
169
185
|
directory = slotDirectory
|
|
170
186
|
} else {
|
|
187
|
+
// Check for directory render mode suffix (e.g., dashboard+ssr)
|
|
188
|
+
const dirRenderMode = matchDirectoryRenderMode(part)
|
|
189
|
+
const dirName = dirRenderMode?.name ?? part
|
|
190
|
+
|
|
171
191
|
// Handle regular subdirectory
|
|
172
|
-
let subDirectory = directory.subdirectories.get(
|
|
192
|
+
let subDirectory = directory.subdirectories.get(dirName)
|
|
173
193
|
|
|
174
194
|
// Create any missing subdirectories
|
|
175
195
|
if (!subDirectory) {
|
|
@@ -177,8 +197,9 @@ function getDirectoryTree(contextModule: One.RouteContext, options: Options) {
|
|
|
177
197
|
files: new Map(),
|
|
178
198
|
subdirectories: new Map(),
|
|
179
199
|
slots: new Map(),
|
|
200
|
+
renderMode: dirRenderMode?.renderMode,
|
|
180
201
|
}
|
|
181
|
-
directory.subdirectories.set(
|
|
202
|
+
directory.subdirectories.set(dirName, subDirectory)
|
|
182
203
|
}
|
|
183
204
|
|
|
184
205
|
directory = subDirectory
|
|
@@ -491,7 +512,11 @@ function flattenSlotSubdirectory(
|
|
|
491
512
|
return routes
|
|
492
513
|
}
|
|
493
514
|
|
|
494
|
-
function getFileMeta(
|
|
515
|
+
function getFileMeta(
|
|
516
|
+
key: string,
|
|
517
|
+
options: Options,
|
|
518
|
+
parentRenderMode?: One.RouteRenderMode | 'api'
|
|
519
|
+
) {
|
|
495
520
|
// Remove the leading `./`
|
|
496
521
|
key = key.replace(/^\.\//, '')
|
|
497
522
|
|
|
@@ -505,7 +530,23 @@ function getFileMeta(key: string, options: Options) {
|
|
|
505
530
|
|
|
506
531
|
const [_fullname, renderModeFound] =
|
|
507
532
|
filename.match(/\+(api|ssg|ssr|spa)\.(\w+\.)?[jt]sx?$/) || []
|
|
508
|
-
const
|
|
533
|
+
const fileRenderMode = renderModeFound as 'api' | One.RouteRenderMode | undefined
|
|
534
|
+
|
|
535
|
+
// Hierarchical render mode resolution:
|
|
536
|
+
// 1. File suffix (highest priority)
|
|
537
|
+
// 2. Parent folder suffix
|
|
538
|
+
// 3. Falls back to getDefaultRenderMode() later (vite config)
|
|
539
|
+
const renderMode = fileRenderMode ?? parentRenderMode
|
|
540
|
+
|
|
541
|
+
// Strip render mode suffixes from directory names in the route
|
|
542
|
+
// e.g., "dashboard+ssr/analytics" -> "dashboard/analytics"
|
|
543
|
+
route = route
|
|
544
|
+
.split('/')
|
|
545
|
+
.map((segment) => {
|
|
546
|
+
const dirRenderMode = matchDirectoryRenderMode(segment)
|
|
547
|
+
return dirRenderMode ? dirRenderMode.name : segment
|
|
548
|
+
})
|
|
549
|
+
.join('/')
|
|
509
550
|
|
|
510
551
|
if (
|
|
511
552
|
filenameWithoutExtensions.startsWith('(') &&
|
|
@@ -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,
|
|
@@ -128,3 +129,46 @@ describe(matchArrayGroupName, () => {
|
|
|
128
129
|
expect(matchArrayGroupName('(leading)/(foo,bar)/((fruit),apple)')).toEqual('foo,bar')
|
|
129
130
|
})
|
|
130
131
|
})
|
|
132
|
+
|
|
133
|
+
describe(matchDirectoryRenderMode, () => {
|
|
134
|
+
it('should match directory names with render mode suffixes', () => {
|
|
135
|
+
expect(matchDirectoryRenderMode('dashboard+ssr')).toEqual({
|
|
136
|
+
name: 'dashboard',
|
|
137
|
+
renderMode: 'ssr',
|
|
138
|
+
})
|
|
139
|
+
expect(matchDirectoryRenderMode('blog+ssg')).toEqual({
|
|
140
|
+
name: 'blog',
|
|
141
|
+
renderMode: 'ssg',
|
|
142
|
+
})
|
|
143
|
+
expect(matchDirectoryRenderMode('admin+spa')).toEqual({
|
|
144
|
+
name: 'admin',
|
|
145
|
+
renderMode: 'spa',
|
|
146
|
+
})
|
|
147
|
+
expect(matchDirectoryRenderMode('api-routes+api')).toEqual({
|
|
148
|
+
name: 'api-routes',
|
|
149
|
+
renderMode: 'api',
|
|
150
|
+
})
|
|
151
|
+
})
|
|
152
|
+
|
|
153
|
+
it('should not match directory names without render mode suffixes', () => {
|
|
154
|
+
expect(matchDirectoryRenderMode('dashboard')).toEqual(undefined)
|
|
155
|
+
expect(matchDirectoryRenderMode('blog')).toEqual(undefined)
|
|
156
|
+
expect(matchDirectoryRenderMode('admin')).toEqual(undefined)
|
|
157
|
+
})
|
|
158
|
+
|
|
159
|
+
it('should not match invalid render modes', () => {
|
|
160
|
+
expect(matchDirectoryRenderMode('dashboard+invalid')).toEqual(undefined)
|
|
161
|
+
expect(matchDirectoryRenderMode('blog+csr')).toEqual(undefined)
|
|
162
|
+
})
|
|
163
|
+
|
|
164
|
+
it('should handle directory names with hyphens and underscores', () => {
|
|
165
|
+
expect(matchDirectoryRenderMode('my-dashboard+ssr')).toEqual({
|
|
166
|
+
name: 'my-dashboard',
|
|
167
|
+
renderMode: 'ssr',
|
|
168
|
+
})
|
|
169
|
+
expect(matchDirectoryRenderMode('my_blog+ssg')).toEqual({
|
|
170
|
+
name: 'my_blog',
|
|
171
|
+
renderMode: 'ssg',
|
|
172
|
+
})
|
|
173
|
+
})
|
|
174
|
+
})
|
package/src/router/matchers.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { One } from '../vite/types'
|
|
2
|
+
|
|
1
3
|
/** Match `[page]` -> `page` or `[...page]` -> `page` with deep flag */
|
|
2
4
|
const dynamicNameRe = /^\[([^[\]]+?)\]$/
|
|
3
5
|
|
|
@@ -95,6 +97,39 @@ export function isTypedRoute(name: string) {
|
|
|
95
97
|
)
|
|
96
98
|
}
|
|
97
99
|
|
|
100
|
+
// ============================================
|
|
101
|
+
// Directory Render Modes
|
|
102
|
+
// ============================================
|
|
103
|
+
|
|
104
|
+
/** Match directory render mode suffixes: dashboard+ssr, blog+ssg, etc. */
|
|
105
|
+
const directoryRenderModeRe = /^(.+)\+(api|ssg|ssr|spa)$/
|
|
106
|
+
|
|
107
|
+
export interface DirectoryRenderModeMatch {
|
|
108
|
+
/** Directory name without the render mode suffix */
|
|
109
|
+
name: string
|
|
110
|
+
/** The render mode for this directory */
|
|
111
|
+
renderMode: One.RouteRenderMode | 'api'
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Match directory render mode suffixes
|
|
116
|
+
*
|
|
117
|
+
* Examples:
|
|
118
|
+
* - "dashboard+ssr" -> { name: "dashboard", renderMode: "ssr" }
|
|
119
|
+
* - "blog+ssg" -> { name: "blog", renderMode: "ssg" }
|
|
120
|
+
* - "admin+spa" -> { name: "admin", renderMode: "spa" }
|
|
121
|
+
*/
|
|
122
|
+
export function matchDirectoryRenderMode(
|
|
123
|
+
name: string
|
|
124
|
+
): DirectoryRenderModeMatch | undefined {
|
|
125
|
+
const match = name.match(directoryRenderModeRe)
|
|
126
|
+
if (!match) return undefined
|
|
127
|
+
return {
|
|
128
|
+
name: match[1],
|
|
129
|
+
renderMode: match[2] as One.RouteRenderMode | 'api',
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
98
133
|
// ============================================
|
|
99
134
|
// Parallel Routes & Intercepting Routes
|
|
100
135
|
// ============================================
|
|
@@ -7,8 +7,11 @@ export function getPathnameFromFilePath(
|
|
|
7
7
|
options: { preserveExtensions?: boolean; includeIndex?: boolean } = {}
|
|
8
8
|
) {
|
|
9
9
|
const path = inputPath.replace(/\+(spa|ssg|ssr|api)\.tsx?$/, '')
|
|
10
|
-
// remove groups and convert [param] to :param in dirname
|
|
10
|
+
// remove groups, folder render mode suffixes, and convert [param] to :param in dirname
|
|
11
11
|
const dirname = Path.dirname(path)
|
|
12
|
+
.split('/')
|
|
13
|
+
.map((segment) => segment.replace(/\+(api|ssg|ssr|spa)$/, ''))
|
|
14
|
+
.join('/')
|
|
12
15
|
.replace(/\([^/]+\)/gi, '')
|
|
13
16
|
.replace(/\[([^\]]+)\]/g, ':$1')
|
|
14
17
|
const file = Path.basename(path)
|
|
@@ -55,7 +55,9 @@ export function SSRCSSPlugin(pluginOpts: { entries: string[] }): Plugin {
|
|
|
55
55
|
return [
|
|
56
56
|
{
|
|
57
57
|
tag: 'link',
|
|
58
|
-
|
|
58
|
+
// prepend so SSR CSS comes BEFORE individual style tags injected by JS
|
|
59
|
+
// this ensures individual styles (later in DOM) win in CSS cascade
|
|
60
|
+
injectTo: 'head-prepend',
|
|
59
61
|
attrs: {
|
|
60
62
|
rel: 'stylesheet',
|
|
61
63
|
href: VIRTUAL_SSR_CSS_HREF,
|
|
@@ -70,7 +72,7 @@ export function SSRCSSPlugin(pluginOpts: { entries: string[] }): Plugin {
|
|
|
70
72
|
children: /* js */ `
|
|
71
73
|
import { createHotContext } from "/@vite/client";
|
|
72
74
|
const hot = createHotContext("/__clear_ssr_css");
|
|
73
|
-
hot.on("vite:
|
|
75
|
+
hot.on("vite:beforeUpdate", () => {
|
|
74
76
|
document
|
|
75
77
|
.querySelectorAll("[data-ssr-css]")
|
|
76
78
|
.forEach(node => node.remove());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRoutes.d.ts","sourceRoot":"","sources":["../../src/router/getRoutes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"getRoutes.d.ts","sourceRoot":"","sources":["../../src/router/getRoutes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAWxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAc,MAAM,SAAS,CAAA;AAEvE,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAeD;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CACvB,aAAa,EAAE,GAAG,CAAC,YAAY,EAC/B,OAAO,GAAE,OAAY,GACpB,SAAS,GAAG,IAAI,CAelB;AAmlBD,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,YAM9C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,GAAG,CAAC,MAAM,CAAa,GAC5B,GAAG,CAAC,MAAM,CAAC,CA0Bb;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,IAAI,CAmBxE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { One } from '../vite/types';
|
|
1
2
|
export interface DynamicNameMatch {
|
|
2
3
|
name: string;
|
|
3
4
|
deep: boolean;
|
|
@@ -29,6 +30,21 @@ export declare function stripInvisibleSegmentsFromPath(path: string): string;
|
|
|
29
30
|
* - .d.ts files (type definition files)
|
|
30
31
|
*/
|
|
31
32
|
export declare function isTypedRoute(name: string): boolean;
|
|
33
|
+
export interface DirectoryRenderModeMatch {
|
|
34
|
+
/** Directory name without the render mode suffix */
|
|
35
|
+
name: string;
|
|
36
|
+
/** The render mode for this directory */
|
|
37
|
+
renderMode: One.RouteRenderMode | 'api';
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Match directory render mode suffixes
|
|
41
|
+
*
|
|
42
|
+
* Examples:
|
|
43
|
+
* - "dashboard+ssr" -> { name: "dashboard", renderMode: "ssr" }
|
|
44
|
+
* - "blog+ssg" -> { name: "blog", renderMode: "ssg" }
|
|
45
|
+
* - "admin+spa" -> { name: "admin", renderMode: "spa" }
|
|
46
|
+
*/
|
|
47
|
+
export declare function matchDirectoryRenderMode(name: string): DirectoryRenderModeMatch | undefined;
|
|
32
48
|
/** Match @modal -> 'modal', @sidebar -> 'sidebar' */
|
|
33
49
|
export declare function matchSlotName(name: string): string | undefined;
|
|
34
50
|
/** Check if a directory name is a slot directory */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/router/matchers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/router/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAKxC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;CACd;AAED,yGAAyG;AACzG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAS3E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1E;AAED,yBAAyB;AACzB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,+BAA+B;AAC/B,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE/D;AAED,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,sBAE/C;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQlD;AAED,0CAA0C;AAC1C,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9D;AAGD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAU/D;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,WAMxC;AASD,MAAM,WAAW,wBAAwB;IACvC,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAA;IACZ,yCAAyC;IACzC,UAAU,EAAE,GAAG,CAAC,eAAe,GAAG,KAAK,CAAA;CACxC;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,GACX,wBAAwB,GAAG,SAAS,CAOtC;AASD,qDAAqD;AACrD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE9D;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAA;IACd,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAA;IAClB,wDAAwD;IACxD,eAAe,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAiBhF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPathnameFromFilePath.d.ts","sourceRoot":"","sources":["../../src/utils/getPathnameFromFilePath.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,KAAK,EACX,MAAM,UAAQ,EACd,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,
|
|
1
|
+
{"version":3,"file":"getPathnameFromFilePath.d.ts","sourceRoot":"","sources":["../../src/utils/getPathnameFromFilePath.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,KAAK,EACX,MAAM,UAAQ,EACd,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,UA6DvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SSRCSSPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/SSRCSSPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAKjD,wBAAgB,YAAY,CAAC,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"SSRCSSPlugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/SSRCSSPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,MAAM,CAAA;AAKjD,wBAAgB,YAAY,CAAC,UAAU,EAAE;IAAE,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,CAgFtE;AAaD,wBAAsB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,mBAgD1E"}
|