one 1.17.3 → 1.17.5
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/dist/cjs/metro-config/withOne.test.cjs +8 -0
- package/dist/cjs/metro-config/withOne.test.native.js +8 -0
- package/dist/cjs/metro-config/withOne.test.native.js.map +1 -1
- package/dist/cjs/typed-routes/generateRouteTypes.cjs +12 -2
- package/dist/cjs/typed-routes/generateRouteTypes.native.js +12 -2
- package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +1 -1
- package/dist/cjs/typed-routes/generateRouteTypes.test.cjs +58 -0
- package/dist/cjs/typed-routes/generateRouteTypes.test.native.js +61 -0
- package/dist/cjs/typed-routes/generateRouteTypes.test.native.js.map +1 -0
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.cjs +5 -5
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js +5 -5
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.test.cjs +18 -0
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.test.native.js +25 -0
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.test.native.js.map +1 -0
- package/dist/cjs/utils/routeFileWatch.cjs +58 -0
- package/dist/cjs/utils/routeFileWatch.native.js +62 -0
- package/dist/cjs/utils/routeFileWatch.native.js.map +1 -0
- package/dist/cjs/utils/routeFileWatch.test.cjs +92 -0
- package/dist/cjs/utils/routeFileWatch.test.native.js +95 -0
- package/dist/cjs/utils/routeFileWatch.test.native.js.map +1 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.cjs +16 -7
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js +16 -7
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.cjs +111 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js +116 -0
- package/dist/cjs/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -0
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +9 -9
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +10 -10
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
- package/dist/esm/metro-config/withOne.test.mjs +8 -0
- package/dist/esm/metro-config/withOne.test.mjs.map +1 -1
- package/dist/esm/metro-config/withOne.test.native.js +8 -0
- package/dist/esm/metro-config/withOne.test.native.js.map +1 -1
- package/dist/esm/typed-routes/generateRouteTypes.mjs +13 -3
- package/dist/esm/typed-routes/generateRouteTypes.mjs.map +1 -1
- package/dist/esm/typed-routes/generateRouteTypes.native.js +13 -3
- package/dist/esm/typed-routes/generateRouteTypes.native.js.map +1 -1
- package/dist/esm/typed-routes/generateRouteTypes.test.mjs +35 -0
- package/dist/esm/typed-routes/generateRouteTypes.test.mjs.map +1 -0
- package/dist/esm/typed-routes/generateRouteTypes.test.native.js +35 -0
- package/dist/esm/typed-routes/generateRouteTypes.test.native.js.map +1 -0
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs +5 -5
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs.map +1 -1
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js +5 -5
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.test.mjs +19 -0
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.test.mjs.map +1 -0
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.test.native.js +23 -0
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.test.native.js.map +1 -0
- package/dist/esm/utils/routeFileWatch.mjs +20 -0
- package/dist/esm/utils/routeFileWatch.mjs.map +1 -0
- package/dist/esm/utils/routeFileWatch.native.js +21 -0
- package/dist/esm/utils/routeFileWatch.native.js.map +1 -0
- package/dist/esm/utils/routeFileWatch.test.mjs +69 -0
- package/dist/esm/utils/routeFileWatch.test.mjs.map +1 -0
- package/dist/esm/utils/routeFileWatch.test.native.js +69 -0
- package/dist/esm/utils/routeFileWatch.test.native.js.map +1 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs +16 -7
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js +16 -7
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs +88 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.mjs.map +1 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js +90 -0
- package/dist/esm/vite/plugins/fileSystemRouterPlugin.test.native.js.map +1 -0
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +9 -9
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +10 -10
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
- package/package.json +10 -10
- package/src/metro-config/withOne.test.ts +14 -0
- package/src/typed-routes/generateRouteTypes.test.ts +53 -0
- package/src/typed-routes/generateRouteTypes.ts +14 -3
- package/src/typed-routes/getTypedRoutesDeclarationFile.test.ts +22 -0
- package/src/typed-routes/getTypedRoutesDeclarationFile.ts +5 -5
- package/src/utils/routeFileWatch.test.ts +94 -0
- package/src/utils/routeFileWatch.ts +40 -0
- package/src/vite/plugins/fileSystemRouterPlugin.test.ts +106 -0
- package/src/vite/plugins/fileSystemRouterPlugin.tsx +21 -13
- package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +16 -17
- package/types/typed-routes/generateRouteTypes.d.ts.map +1 -1
- package/types/typed-routes/generateRouteTypes.test.d.ts +2 -0
- package/types/typed-routes/generateRouteTypes.test.d.ts.map +1 -0
- package/types/typed-routes/getTypedRoutesDeclarationFile.test.d.ts +2 -0
- package/types/typed-routes/getTypedRoutesDeclarationFile.test.d.ts.map +1 -0
- package/types/utils/routeFileWatch.d.ts +9 -0
- package/types/utils/routeFileWatch.d.ts.map +1 -0
- package/types/utils/routeFileWatch.test.d.ts +2 -0
- package/types/utils/routeFileWatch.test.d.ts.map +1 -0
- package/types/vite/plugins/fileSystemRouterPlugin.d.ts.map +1 -1
- package/types/vite/plugins/fileSystemRouterPlugin.test.d.ts +2 -0
- package/types/vite/plugins/fileSystemRouterPlugin.test.d.ts.map +1 -0
- package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts.map +1 -1
|
@@ -102,5 +102,13 @@ describe("withOne", () => {
|
|
|
102
102
|
expect(config.resolver.extraNodeModules["fixture-singleton"]).toBe(fixtureRoot);
|
|
103
103
|
expect(config.watchFolders).toContain(path.join(fixtureRoot, "shared"));
|
|
104
104
|
});
|
|
105
|
+
it("rewrites native default index bundle requests to the One entry", async () => {
|
|
106
|
+
const config = await withOne(projectRoot, {
|
|
107
|
+
loadViteConfig: false
|
|
108
|
+
});
|
|
109
|
+
const rewriteRequestUrl = config.server.rewriteRequestUrl;
|
|
110
|
+
expect(rewriteRequestUrl("/.expo/.virtual-metro-entry.bundle?platform=ios&dev=true")).toContain("/packages/one/metro-entry.bundle?platform=ios&dev=true");
|
|
111
|
+
expect(rewriteRequestUrl("/index.bundle?platform=ios&dev=true&hot=true&minify=false")).toContain("/packages/one/metro-entry.bundle?platform=ios&dev=true&hot=true&minify=false");
|
|
112
|
+
});
|
|
105
113
|
});
|
|
106
114
|
//# sourceMappingURL=withOne.test.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["path","fs","afterAll","describe","expect","it","withOne","projectRoot","resolve","__dirname","tmpDirs","createOneFixtureProject","workspaceRoot","tmpDir","mkdtempSync","join","push","writeFileSync","JSON","stringify","name","private","compilerOptions","paths","mkdirSync","rmSync","recursive","force","config","loadViteConfig","toBeTruthy","resolver","resolveRequest","toBe","transformer","babelTransformerPath","toMatch","exts","sourceExts","toContain","indexOf","toBeLessThan","fixtureRoot","extraNodeModules","watchFolders"],"sources":["../../../src/metro-config/withOne.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["path","fs","afterAll","describe","expect","it","withOne","projectRoot","resolve","__dirname","tmpDirs","createOneFixtureProject","workspaceRoot","tmpDir","mkdtempSync","join","push","writeFileSync","JSON","stringify","name","private","compilerOptions","paths","mkdirSync","rmSync","recursive","force","config","loadViteConfig","toBeTruthy","resolver","resolveRequest","toBe","transformer","babelTransformerPath","toMatch","exts","sourceExts","toContain","indexOf","toBeLessThan","fixtureRoot","extraNodeModules","watchFolders","rewriteRequestUrl","server"],"sources":["../../../src/metro-config/withOne.test.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,OAAOC,EAAA,MAAQ;AACf,SAASC,QAAA,EAAUC,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAC/C,SAASC,OAAA,QAAe;AAExB,MAAMC,WAAA,GAAcP,IAAA,CAAKQ,OAAA,CAAQC,SAAA,EAAW,QAAQ;AACpD,MAAMC,OAAA,GAAoB,EAAC;AAE3B,SAASC,wBAAA,EAA0B;EACjC,MAAMC,aAAA,GAAgBZ,IAAA,CAAKQ,OAAA,CAAQC,SAAA,EAAW,cAAc;EAC5D,MAAMI,MAAA,GAASZ,EAAA,CAAGa,WAAA,CAAYd,IAAA,CAAKe,IAAA,CAAKH,aAAA,EAAe,gBAAgB,CAAC;EACxEF,OAAA,CAAQM,IAAA,CAAKH,MAAM;EAEnBZ,EAAA,CAAGgB,aAAA,CACDjB,IAAA,CAAKe,IAAA,CAAKF,MAAA,EAAQ,cAAc,GAChCK,IAAA,CAAKC,SAAA,CAAU;IAAEC,IAAA,EAAM;IAAgBC,OAAA,EAAS;EAAK,CAAC,CACxD;EACApB,EAAA,CAAGgB,aAAA,CACDjB,IAAA,CAAKe,IAAA,CAAKF,MAAA,EAAQ,eAAe,GACjCK,IAAA,CAAKC,SAAA,CAAU;IAAEG,eAAA,EAAiB;MAAEC,KAAA,EAAO,CAAC;IAAE;EAAE,CAAC,CACnD;EACAtB,EAAA,CAAGuB,SAAA,CAAUxB,IAAA,CAAKe,IAAA,CAAKF,MAAA,EAAQ,KAAK,CAAC;EACrCZ,EAAA,CAAGgB,aAAA,CAAcjB,IAAA,CAAKe,IAAA,CAAKF,MAAA,EAAQ,OAAO,WAAW,GAAG,uBAAuB;EAE/EZ,EAAA,CAAGgB,aAAA,CACDjB,IAAA,CAAKe,IAAA,CAAKF,MAAA,EAAQ,gBAAgB,GAClC;AAAA;AAAA;AAAA;AAAA;AAAA,MAKEK,IAAA,CAAKC,SAAA,CAAUnB,IAAA,CAAKe,IAAA,CAAKF,MAAA,EAAQ,QAAQ,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAMpBK,IAAA,CAAKC,SAAA,CAAUN,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAa5BK,IAAA,CAAKC,SAAA,CAAUN,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAQ1BK,IAAA,CAAKC,SAAA,CAAUN,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAM/BK,IAAA,CAAKC,SAAA,CAAUN,MAAM,CAAC;AAAA;AAAA,CAG9B;EAEA,OAAOA,MAAA;AACT;AAEAX,QAAA,CAAS,MAAM;EACb,WAAWW,MAAA,IAAUH,OAAA,EAAS;IAC5BT,EAAA,CAAGwB,MAAA,CAAOZ,MAAA,EAAQ;MAAEa,SAAA,EAAW;MAAMC,KAAA,EAAO;IAAK,CAAC;EACpD;AACF,CAAC;AAEDxB,QAAA,CAAS,WAAW,MAAM;EACxBE,EAAA,CAAG,sEAAsE,YAAY;IACnF,MAAMuB,MAAA,GAAU,MAAMtB,OAAA,CAAQC,WAAA,EAAa;MAAEsB,cAAA,EAAgB;IAAM,CAAC;IAKpEzB,MAAA,CAAOwB,MAAM,EAAEE,UAAA,CAAW;IAC1B1B,MAAA,CAAOwB,MAAA,CAAOG,QAAQ,EAAED,UAAA,CAAW;IACnC1B,MAAA,CAAO,OAAOwB,MAAA,CAAOG,QAAA,CAASC,cAAc,EAAEC,IAAA,CAAK,UAAU;IAC7D7B,MAAA,CAAOwB,MAAA,CAAOM,WAAW,EAAEJ,UAAA,CAAW;IACtC1B,MAAA,CAAOwB,MAAA,CAAOM,WAAA,CAAYC,oBAAoB,EAAEC,OAAA,CAC9C,sCACF;EACF,CAAC;EAED/B,EAAA,CAAG,gEAAgE,YAAY;IAC7E,MAAMuB,MAAA,GAAU,MAAMtB,OAAA,CAAQC,WAAA,EAAa;MAAEsB,cAAA,EAAgB;IAAM,CAAC;IACpE,MAAMQ,IAAA,GAAiBT,MAAA,CAAOG,QAAA,CAASO,UAAA;IACvClC,MAAA,CAAOiC,IAAI,EAAEE,SAAA,CAAU,KAAK;IAC5BnC,MAAA,CAAOiC,IAAI,EAAEE,SAAA,CAAU,IAAI;IAG3BnC,MAAA,CAAOiC,IAAA,CAAKG,OAAA,CAAQ,IAAI,CAAC,EAAEC,YAAA,CAAaJ,IAAA,CAAKG,OAAA,CAAQ,KAAK,CAAC;EAC7D,CAAC;EAEDnC,EAAA,CAAG,2CAA2C,YAAY;IAExD,MAAMuB,MAAA,GAAU,MAAMtB,OAAA,CAAQC,WAAA,EAAa;MAAEsB,cAAA,EAAgB;IAAM,CAAC;IACpEzB,MAAA,CAAOwB,MAAM,EAAEE,UAAA,CAAW;EAC5B,CAAC;EAEDzB,EAAA,CAAG,0EAA0E,YAAY;IACvF,MAAMqC,WAAA,GAAc/B,uBAAA,CAAwB;IAC5C,MAAMiB,MAAA,GAAU,MAAMtB,OAAA,CAAQoC,WAAW;IAEzCtC,MAAA,CAAOwB,MAAA,CAAOG,QAAA,CAASY,gBAAA,CAAiB,mBAAmB,CAAC,EAAEV,IAAA,CAAKS,WAAW;IAC9EtC,MAAA,CAAOwB,MAAA,CAAOgB,YAAY,EAAEL,SAAA,CAAUvC,IAAA,CAAKe,IAAA,CAAK2B,WAAA,EAAa,QAAQ,CAAC;EACxE,CAAC;EAEDrC,EAAA,CAAG,kEAAkE,YAAY;IAC/E,MAAMuB,MAAA,GAAU,MAAMtB,OAAA,CAAQC,WAAA,EAAa;MAAEsB,cAAA,EAAgB;IAAM,CAAC;IACpE,MAAMgB,iBAAA,GAAoBjB,MAAA,CAAOkB,MAAA,CAAOD,iBAAA;IAExCzC,MAAA,CACEyC,iBAAA,CAAkB,0DAA0D,CAC9E,EAAEN,SAAA,CAAU,wDAAwD;IACpEnC,MAAA,CACEyC,iBAAA,CAAkB,2DAA2D,CAC/E,EAAEN,SAAA,CACA,8EACF;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -126,5 +126,13 @@ describe("withOne", function () {
|
|
|
126
126
|
expect(config.resolver.extraNodeModules["fixture-singleton"]).toBe(fixtureRoot);
|
|
127
127
|
expect(config.watchFolders).toContain(path.join(fixtureRoot, "shared"));
|
|
128
128
|
});
|
|
129
|
+
it("rewrites native default index bundle requests to the One entry", async function () {
|
|
130
|
+
var config = await withOne(projectRoot, {
|
|
131
|
+
loadViteConfig: false
|
|
132
|
+
});
|
|
133
|
+
var rewriteRequestUrl = config.server.rewriteRequestUrl;
|
|
134
|
+
expect(rewriteRequestUrl("/.expo/.virtual-metro-entry.bundle?platform=ios&dev=true")).toContain("/packages/one/metro-entry.bundle?platform=ios&dev=true");
|
|
135
|
+
expect(rewriteRequestUrl("/index.bundle?platform=ios&dev=true&hot=true&minify=false")).toContain("/packages/one/metro-entry.bundle?platform=ios&dev=true&hot=true&minify=false");
|
|
136
|
+
});
|
|
129
137
|
});
|
|
130
138
|
//# sourceMappingURL=withOne.test.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["path","fs","afterAll","describe","expect","it","withOne","_type_of","obj","Symbol","constructor","projectRoot","resolve","__dirname","tmpDirs","createOneFixtureProject","workspaceRoot","tmpDir","mkdtempSync","join","push","writeFileSync","JSON","stringify","name","private","compilerOptions","paths","mkdirSync","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","value","rmSync","recursive","force","err","return","config","loadViteConfig","toBeTruthy","resolver"],"sources":["../../../src/metro-config/withOne.test.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,OAAOC,EAAA,MAAQ;AACf,SAASC,QAAA,EAAUC,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAC/C,SAASC,OAAA,QAAe;AAExB,SAAMC,SAAAC,GAAc;EACpB,uBAA2B;;EAE3B,OAASA,GAAA,WAAAC,MAAA,gBAA0B,IAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAA,qBAAAD,GAAA;AACjC;AACA,IAAAG,WAAM,GAASX,IAAG,CAAAY,OAAA,CAAAC,SAAiB,EAAK;AACxC,IAAAC,OAAQ,KAAK;AAEb,SAAGC,wBAAA;EAAA,IACDC,aAAU,GAAQhB,IAAA,CAAAY,OAAA,CAAAC,SAAc;EAAA,IAChCI,MAAK,GAAAhB,EAAA,CAAAiB,WAAkB,CAAAlB,IAAA,CAAAmB,IAAA,CAAAH,aAAyB,kBAAM;EACxDF,OAAA,CAAAM,IAAA,CAAAH,MAAA;EACAhB,EAAA,CAAGoB,aAAA,CAAArB,IAAA,CAAAmB,IAAA,CAAAF,MAAA,mBAAAK,IAAA,CAAAC,SAAA;IACDC,IAAA,EAAK,cAAa;IAClBC,OAAK;EACP;EACAxB,EAAA,CAAGoB,aAAU,CAAArB,IAAK,CAAAmB,IAAK,CAAAF,MAAQ,iBAAM,GAAAK,IAAA,CAAAC,SAAA;IACrCG,eAAiB;MAEdC,KAAA;IACD;EAAkC,EAClC;EAAA1B,EAAA,CAAA2B,SAAA,CAAA5B,IAAA,CAAAmB,IAAA,CAAAF,MAAA;EAAAhB,EAAA,CAAAoB,aAAA,CAAArB,IAAA,CAAAmB,IAAA,CAAAF,MAAA;EAAAhB,EAAA,CAAAoB,aAAA,CAAArB,IAAA,CAAAmB,IAAA,CAAAF,MAAA;AAAA;AAAA;AAK6C;AAAA;AAAA,MAAAK,IAAA,CAAAC,SAAA,CAAAvB,IAAA,CAAAmB,IAAA,CAAAF,MAAA;AAAA;AAAA;AAAA;AAME;AAAA;AAAA,6BAAAK,IAAA,CAAAC,SAAA,CAAAN,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaN;AAAA;AAAA,uBAAAK,IAAA,CAAAC,SAAA,CAAAN,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQJ;AAAA;AAAA,mBAAAK,IAAA,CAAAC,SAAA,CAAAN,MAAA;AAAA;AAAA;AAAA;AAMT;AAAA;AAAA,UAG9BK,IAAA,CAAAC,SAAA,CAAAN,MAAA;AAEA;AACF;EAEA,OAASA,MAAM;AACb;AACEf,QAAG,aAAO;EACZ,IAAA2B,yBAAA;IAAAC,iBAAA;IAAAC,cAAA;EACD;IAED,KAAS,IAAAC,SAAW,GAAAlB,OAAM,CAAAL,MAAA,CAAAwB,QAAA,KAAAC,KAAA,IAAAL,yBAAA,IAAAK,KAAA,GAAAF,SAAA,CAAAG,IAAA,IAAAC,IAAA,GAAAP,yBAAA;MACrB,IAAAZ,MAAA,GAAAiB,KAAA,CAAAG,KAAA;MACDpC,EAAA,CAAAqC,MAAM,CAAArB,MAAU;QAKhBsB,SAAa,EAAE;QACfC,KAAO;MACP;IACA;EACA,SAAOC,GAAA;IAAyCX,iBAC9C;IACFC,cAAA,GAAAU,GAAA;EACF,CAAC;IAED,IAAG;MACD,IAAM,CAAAZ,yBAAwB,IAAAG,SAAe,CAAAU,MAAA,QAAgB;QAC7DV,SAAuB,CAAAU,MAAO;MAC9B;IACA,UAAO;MAGP,IAAAZ,iBAAoB,EAAK;QAC1B,MAAAC,cAAA;MAEE;IAED;EACA;AAA0B,EAC5B;AAEA5B,QAAG;EACDE,EAAA,qEAA4C;IAC5C,IAAAsC,MAAM,SAAUrC,OAAM,CAAAK,WAAQ,EAAW;MAEzCiC,cAAc;IACd;IACDxC,MAAA,CAAAuC,MAAA,EAAAE,UAAA;
|
|
1
|
+
{"version":3,"names":["path","fs","afterAll","describe","expect","it","withOne","_type_of","obj","Symbol","constructor","projectRoot","resolve","__dirname","tmpDirs","createOneFixtureProject","workspaceRoot","tmpDir","mkdtempSync","join","push","writeFileSync","JSON","stringify","name","private","compilerOptions","paths","mkdirSync","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","value","rmSync","recursive","force","err","return","config","loadViteConfig","toBeTruthy","resolver","resolveRequest","toBe","transformer","babelTransformerPath","toMatch","exts","sourceExts","toContain","indexOf","toBeLessThan"],"sources":["../../../src/metro-config/withOne.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { writeFile } from "node:fs/promises";
|
|
1
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import FSExtra from "fs-extra";
|
|
4
4
|
import micromatch from "micromatch";
|
|
@@ -23,8 +23,18 @@ async function generateRouteTypes(outFile, routerRoot, ignoredRouteFiles, typedR
|
|
|
23
23
|
const context = globbedRoutesToRouteContext(routes, routerRoot);
|
|
24
24
|
const declarations = getTypedRoutesDeclarationFile(context);
|
|
25
25
|
const outDir = dirname(outFile);
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
let currentDeclarations;
|
|
27
|
+
try {
|
|
28
|
+
currentDeclarations = await readFile(outFile, "utf8");
|
|
29
|
+
} catch (error) {
|
|
30
|
+
if (error.code !== "ENOENT") {
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (currentDeclarations !== declarations) {
|
|
35
|
+
await FSExtra.ensureDir(outDir);
|
|
36
|
+
await writeFile(outFile, declarations);
|
|
37
|
+
}
|
|
28
38
|
if (typedRoutesMode) {
|
|
29
39
|
const mode = typedRoutesMode === "type" ? "type" : "runtime";
|
|
30
40
|
for (const routePath of routePaths) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["writeFile","dirname","join","FSExtra","micromatch","removeSupportedExtensions","globbedRoutesToRouteContext","globDir","getTypedRoutesDeclarationFile","injectRouteHelpers","generateRouteTypes","outFile","routerRoot","ignoredRouteFiles","typedRoutesMode","routePaths","length","not","matchBase","routes","reduce","acc","cur","vitePath","replace","context","declarations","outDir","ensureDir","mode","routePath","includes","startsWith","endsWith","fullPath","process","cwd","routeName","cleanRouteName"],"sources":["../../../src/typed-routes/generateRouteTypes.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;
|
|
1
|
+
{"version":3,"names":["readFile","writeFile","dirname","join","FSExtra","micromatch","removeSupportedExtensions","globbedRoutesToRouteContext","globDir","getTypedRoutesDeclarationFile","injectRouteHelpers","generateRouteTypes","outFile","routerRoot","ignoredRouteFiles","typedRoutesMode","routePaths","length","not","matchBase","routes","reduce","acc","cur","vitePath","replace","context","declarations","outDir","currentDeclarations","error","code","ensureDir","mode","routePath","includes","startsWith","endsWith","fullPath","process","cwd","routeName","cleanRouteName"],"sources":["../../../src/typed-routes/generateRouteTypes.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,SAAA,QAAiB;AACpC,SAASC,OAAA,EAASC,IAAA,QAAY;AAC9B,OAAOC,OAAA,MAAa;AACpB,OAAOC,UAAA,MAAgB;AACvB,SAASC,yBAAA,QAAiC;AAC1C,SAASC,2BAAA,QAAmC;AAC5C,SAASC,OAAA,QAAe;AAExB,SAASC,6BAAA,QAAqC;AAC9C,SAA0BC,kBAAA,QAA0B;AAEpD,eAAsBC,mBACpBC,OAAA,EACAC,UAAA,EACAC,iBAAA,EACAC,eAAA,EACA;EACA,IAAIC,UAAA,GAAaR,OAAA,CAAQK,UAAU;EACnC,IAAIC,iBAAA,IAAqBA,iBAAA,CAAkBG,MAAA,GAAS,GAAG;IACrDD,UAAA,GAAaX,UAAA,CAAWa,GAAA,CAAIF,UAAA,EAAYF,iBAAA,EAAmB;MAAA;MAEzDK,SAAA,EAAW;IACb,CAAC;EACH;EAIA,MAAMC,MAAA,GAASJ,UAAA,CAAWK,MAAA,CAAO,CAACC,GAAA,EAAKC,GAAA,KAAQ;IAC7C,MAAMC,QAAA,GAAW,IAAIX,UAAU,IAAIU,GAAA,CAAIE,OAAA,CAAQ,SAAS,EAAE,CAAC;IAC3DH,GAAA,CAAIE,QAAQ,IAAI,CAAC;IACjB,OAAOF,GAAA;EACT,GAAG,CAAC,CAAC;EACL,MAAMI,OAAA,GAAUnB,2BAAA,CAA4Ba,MAAA,EAAQP,UAAU;EAC9D,MAAMc,YAAA,GAAelB,6BAAA,CAA8BiB,OAAO;EAC1D,MAAME,MAAA,GAAS1B,OAAA,CAAQU,OAAO;EAC9B,IAAIiB,mBAAA;EACJ,IAAI;IACFA,mBAAA,GAAsB,MAAM7B,QAAA,CAASY,OAAA,EAAS,MAAM;EACtD,SAASkB,KAAA,EAAO;IACd,IAAKA,KAAA,CAAgCC,IAAA,KAAS,UAAU;MACtD,MAAMD,KAAA;IACR;EACF;EAEA,IAAID,mBAAA,KAAwBF,YAAA,EAAc;IACxC,MAAMvB,OAAA,CAAQ4B,SAAA,CAAUJ,MAAM;IAC9B,MAAM3B,SAAA,CAAUW,OAAA,EAASe,YAAY;EACvC;EAGA,IAAIZ,eAAA,EAAiB;IACnB,MAAMkB,IAAA,GAAmBlB,eAAA,KAAoB,SAAS,SAAS;IAG/D,WAAWmB,SAAA,IAAalB,UAAA,EAAY;MAElC,IACEkB,SAAA,CAAUC,QAAA,CAAS,SAAS,KAC5BD,SAAA,CAAUC,QAAA,CAAS,MAAM,KACzBD,SAAA,CAAUE,UAAA,CAAW,GAAG,KACxBF,SAAA,CAAUG,QAAA,CAAS,OAAO,GAC1B;QACA;MACF;MAIA,MAAMC,QAAA,GAAWnC,IAAA,CAAKoC,OAAA,CAAQC,GAAA,CAAI,GAAG3B,UAAA,EAAYqB,SAAS;MAC1D,MAAMO,SAAA,GAAYP,SAAA,CACfT,OAAA,CAAQ,SAAS,EAAE,EACnBA,OAAA,CAAQ,YAAY,EAAE,EACtBA,OAAA,CAAQ,YAAY,EAAE,EACtBA,OAAA,CAAQ,UAAU,EAAE;MACvB,IAAIiB,cAAA,GAAiBpC,yBAAA,CAA0BmC,SAAS,EAAEhB,OAAA,CAAQ,aAAa,EAAE;MAGjF,IAAI,CAACiB,cAAA,CAAeN,UAAA,CAAW,GAAG,GAAG;QACnCM,cAAA,GAAiB,MAAMA,cAAA;MACzB;MAGA,IAAI,CAACA,cAAA,CAAeP,QAAA,CAAS,GAAG,GAAG;QACjC;MACF;MAEA,MAAMzB,kBAAA,CAAmB4B,QAAA,EAAUI,cAAA,EAAgBT,IAAI;IACzD;EACF;AACF","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { writeFile } from "fs/promises";
|
|
1
|
+
import { readFile, writeFile } from "fs/promises";
|
|
2
2
|
import { dirname, join } from "path";
|
|
3
3
|
import FSExtra from "fs-extra";
|
|
4
4
|
import micromatch from "micromatch";
|
|
@@ -23,8 +23,18 @@ async function generateRouteTypes(outFile, routerRoot, ignoredRouteFiles, typedR
|
|
|
23
23
|
var context = globbedRoutesToRouteContext(routes, routerRoot);
|
|
24
24
|
var declarations = getTypedRoutesDeclarationFile(context);
|
|
25
25
|
var outDir = dirname(outFile);
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
var currentDeclarations;
|
|
27
|
+
try {
|
|
28
|
+
currentDeclarations = await readFile(outFile, "utf8");
|
|
29
|
+
} catch (error) {
|
|
30
|
+
if (error.code !== "ENOENT") {
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (currentDeclarations !== declarations) {
|
|
35
|
+
await FSExtra.ensureDir(outDir);
|
|
36
|
+
await writeFile(outFile, declarations);
|
|
37
|
+
}
|
|
28
38
|
if (typedRoutesMode) {
|
|
29
39
|
var mode = typedRoutesMode === "type" ? "type" : "runtime";
|
|
30
40
|
var _iteratorNormalCompletion = true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["writeFile","dirname","join","FSExtra","micromatch","removeSupportedExtensions","globbedRoutesToRouteContext","globDir","getTypedRoutesDeclarationFile","injectRouteHelpers","generateRouteTypes","outFile","routerRoot","ignoredRouteFiles","typedRoutesMode","routePaths","length","not","matchBase","routes","reduce","acc","cur","vitePath","replace","context","declarations","outDir","ensureDir","mode","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","routePath","value","includes","startsWith","endsWith","fullPath","process","cwd","routeName","cleanRouteName"],"sources":["../../../src/typed-routes/generateRouteTypes.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;
|
|
1
|
+
{"version":3,"names":["readFile","writeFile","dirname","join","FSExtra","micromatch","removeSupportedExtensions","globbedRoutesToRouteContext","globDir","getTypedRoutesDeclarationFile","injectRouteHelpers","generateRouteTypes","outFile","routerRoot","ignoredRouteFiles","typedRoutesMode","routePaths","length","not","matchBase","routes","reduce","acc","cur","vitePath","replace","context","declarations","outDir","currentDeclarations","error","code","ensureDir","mode","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","routePath","value","includes","startsWith","endsWith","fullPath","process","cwd","routeName","cleanRouteName"],"sources":["../../../src/typed-routes/generateRouteTypes.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,SAAA,QAAiB;AACpC,SAASC,OAAA,EAASC,IAAA,QAAY;AAC9B,OAAOC,OAAA,MAAa;AACpB,OAAOC,UAAA,MAAgB;AACvB,SAASC,yBAAA,QAAiC;AAC1C,SAASC,2BAAA,QAAmC;AAC5C,SAASC,OAAA,QAAe;AAExB,SAASC,6BAAA,QAAqC;AAC9C,SAA0BC,kBAAA,QAA0B;AAEpD,eAAsBC,mBACpBC,OAAA,EACAC,UAAA,EACAC,iBAAA,EACAC,eAAA,EACA;EACA,IAAIC,UAAA,GAAaR,OAAA,CAAQK,UAAU;EACnC,IAAIC,iBAAA,IAAqBA,iBAAA,CAAkBG,MAAA,GAAS,GAAG;IACrDD,UAAA,GAAaX,UAAA,CAAWa,GAAA,CAAIF,UAAA,EAAYF,iBAAA,EAAmB;MAAA;MAEzDK,SAAA,EAAW;IACb,CAAC;EACH;EAIA,IAAAC,MAAM,GAAAJ,UAAS,CAAAK,MAAW,WAAaC,GAAA,EAAAC,GAAQ;IAC7C,IAAAC,QAAM,OAAWX,UAAI,IAAUU,GAAI,CAAAE,OAAI,QAAQ,IAAS,GAAG;IAC3DH,GAAA,CAAIE,QAAQ,IAAI,CAAC;IACjB,OAAOF,GAAA;EACT,GAAG,CAAC,CAAC;EACL,IAAAI,OAAM,GAAAnB,2BAAU,CAAAa,MAA4B,EAAAP,UAAQ;EACpD,IAAAc,YAAM,GAAAlB,6BAAe,CAAAiB,OAA8B;EACnD,IAAAE,MAAM,GAAA1B,OAAS,CAAAU,OAAQ;EACvB,IAAIiB,mBAAA;EACJ,IAAI;IACFA,mBAAA,GAAsB,MAAM7B,QAAA,CAASY,OAAA,EAAS,MAAM;EACtD,SAASkB,KAAA,EAAO;IACd,IAAKA,KAAA,CAAgCC,IAAA,KAAS,UAAU;MACtD,MAAMD,KAAA;IACR;EACF;EAEA,IAAID,mBAAA,KAAwBF,YAAA,EAAc;IACxC,MAAMvB,OAAA,CAAQ4B,SAAA,CAAUJ,MAAM;IAC9B,MAAM3B,SAAA,CAAUW,OAAA,EAASe,YAAY;EACvC;EAGA,IAAIZ,eAAA,EAAiB;IACnB,IAAAkB,IAAM,GAAAlB,eAAmB,WAAoB,SAAS,YAAS;IAG/D,IAAAmB,yBAAwB,OAAY;MAAAC,iBAAA;MAAAC,cAAA;IAElC;MAME,SAAAC,SAAA,GAAArB,UAAA,CAAAsB,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;QACF,IAAAS,SAAA,GAAAH,KAAA,CAAAI,KAAA;QAIA,IAAMD,SAAA,CAAAE,QAAgB,UAAY,KAAGF,SAAA,CAAYE,QAAA,CAAS,WAAAF,SAAA,CAAAG,UAAA,SAAAH,SAAA,CAAAI,QAAA;UAC1D;QAKA;QAGA,IAAKC,QAAA,GAAA7C,IAAe,CAAA8C,OAAA,CAAAC,GAAW,CAAG,GAAGrC,UAAA,EAAA8B,SAAA;QACnC,IAAAQ,SAAA,GAAAR,SAAuB,CAAAlB,OAAA,cAAAA,OAAA,iBAAAA,OAAA,iBAAAA,OAAA;QACzB,IAAA2B,cAAA,GAAA9C,yBAAA,CAAA6C,SAAA,EAAA1B,OAAA;QAGA,IAAK,CAAA2B,cAAe,CAAAN,UAAY,IAAG;UACjCM,cAAA,SAAAA,cAAA;QACF;QAEA,IAAM,CAAAA,cAAA,CAAAP,QAAmB,KAAU;UACrC;QACF;QACF,MAAAnC,kBAAA,CAAAsC,QAAA,EAAAI,cAAA,EAAAnB,IAAA","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { mkdirSync, mkdtempSync, rmSync, statSync, utimesSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { tmpdir } from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
5
|
+
import { generateRouteTypes } from "./generateRouteTypes.mjs";
|
|
6
|
+
describe(generateRouteTypes, () => {
|
|
7
|
+
const originalCwd = process.cwd();
|
|
8
|
+
let tempRoot;
|
|
9
|
+
afterEach(() => {
|
|
10
|
+
process.chdir(originalCwd);
|
|
11
|
+
if (tempRoot) {
|
|
12
|
+
rmSync(tempRoot, {
|
|
13
|
+
recursive: true,
|
|
14
|
+
force: true
|
|
15
|
+
});
|
|
16
|
+
tempRoot = void 0;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
it("does not rewrite routes declarations when contents are unchanged", async () => {
|
|
20
|
+
tempRoot = mkdtempSync(path.join(tmpdir(), "one-routes-types-"));
|
|
21
|
+
const appDir = path.join(tempRoot, "app");
|
|
22
|
+
mkdirSync(appDir);
|
|
23
|
+
writeFileSync(path.join(appDir, "index+ssg.tsx"), "export default function Index() { return null }\n");
|
|
24
|
+
writeFileSync(path.join(appDir, "[slug]+ssg.tsx"), "export default function Slug() { return null }\n");
|
|
25
|
+
process.chdir(tempRoot);
|
|
26
|
+
const outFile = path.join("app", "routes.d.ts");
|
|
27
|
+
await generateRouteTypes(outFile, "app");
|
|
28
|
+
const oldDate = /* @__PURE__ */new Date("2001-01-01T00:00:00.000Z");
|
|
29
|
+
utimesSync(outFile, oldDate, oldDate);
|
|
30
|
+
const previousMtimeMs = statSync(outFile).mtimeMs;
|
|
31
|
+
await generateRouteTypes(outFile, "app");
|
|
32
|
+
expect(statSync(outFile).mtimeMs).toBe(previousMtimeMs);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=generateRouteTypes.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mkdirSync","mkdtempSync","rmSync","statSync","utimesSync","writeFileSync","tmpdir","path","afterEach","describe","expect","it","generateRouteTypes","originalCwd","process","cwd","tempRoot","chdir","recursive","force","join","appDir","outFile","oldDate","Date","previousMtimeMs","mtimeMs","toBe"],"sources":["../../../src/typed-routes/generateRouteTypes.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,SAAA,EACAC,WAAA,EACAC,MAAA,EACAC,QAAA,EACAC,UAAA,EACAC,aAAA,QACK;AACP,SAASC,MAAA,QAAc;AACvB,OAAOC,IAAA,MAAU;AACjB,SAASC,SAAA,EAAWC,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAChD,SAASC,kBAAA,QAA0B;AAEnCH,QAAA,CAASG,kBAAA,EAAoB,MAAM;EACjC,MAAMC,WAAA,GAAcC,OAAA,CAAQC,GAAA,CAAI;EAChC,IAAIC,QAAA;EAEJR,SAAA,CAAU,MAAM;IACdM,OAAA,CAAQG,KAAA,CAAMJ,WAAW;IAEzB,IAAIG,QAAA,EAAU;MACZd,MAAA,CAAOc,QAAA,EAAU;QAAEE,SAAA,EAAW;QAAMC,KAAA,EAAO;MAAK,CAAC;MACjDH,QAAA,GAAW;IACb;EACF,CAAC;EAEDL,EAAA,CAAG,oEAAoE,YAAY;IACjFK,QAAA,GAAWf,WAAA,CAAYM,IAAA,CAAKa,IAAA,CAAKd,MAAA,CAAO,GAAG,mBAAmB,CAAC;IAC/D,MAAMe,MAAA,GAASd,IAAA,CAAKa,IAAA,CAAKJ,QAAA,EAAU,KAAK;IACxChB,SAAA,CAAUqB,MAAM;IAChBhB,aAAA,CACEE,IAAA,CAAKa,IAAA,CAAKC,MAAA,EAAQ,eAAe,GACjC,mDACF;IACAhB,aAAA,CACEE,IAAA,CAAKa,IAAA,CAAKC,MAAA,EAAQ,gBAAgB,GAClC,kDACF;IAEAP,OAAA,CAAQG,KAAA,CAAMD,QAAQ;IAEtB,MAAMM,OAAA,GAAUf,IAAA,CAAKa,IAAA,CAAK,OAAO,aAAa;IAC9C,MAAMR,kBAAA,CAAmBU,OAAA,EAAS,KAAK;IAEvC,MAAMC,OAAA,GAAU,mBAAIC,IAAA,CAAK,0BAA0B;IACnDpB,UAAA,CAAWkB,OAAA,EAASC,OAAA,EAASA,OAAO;IACpC,MAAME,eAAA,GAAkBtB,QAAA,CAASmB,OAAO,EAAEI,OAAA;IAE1C,MAAMd,kBAAA,CAAmBU,OAAA,EAAS,KAAK;IAEvCZ,MAAA,CAAOP,QAAA,CAASmB,OAAO,EAAEI,OAAO,EAAEC,IAAA,CAAKF,eAAe;EACxD,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { mkdirSync, mkdtempSync, rmSync, statSync, utimesSync, writeFileSync } from "fs";
|
|
2
|
+
import { tmpdir } from "os";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
5
|
+
import { generateRouteTypes } from "./generateRouteTypes.native.js";
|
|
6
|
+
describe(generateRouteTypes, function () {
|
|
7
|
+
var originalCwd = process.cwd();
|
|
8
|
+
var tempRoot;
|
|
9
|
+
afterEach(function () {
|
|
10
|
+
process.chdir(originalCwd);
|
|
11
|
+
if (tempRoot) {
|
|
12
|
+
rmSync(tempRoot, {
|
|
13
|
+
recursive: true,
|
|
14
|
+
force: true
|
|
15
|
+
});
|
|
16
|
+
tempRoot = void 0;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
it("does not rewrite routes declarations when contents are unchanged", async function () {
|
|
20
|
+
tempRoot = mkdtempSync(path.join(tmpdir(), "one-routes-types-"));
|
|
21
|
+
var appDir = path.join(tempRoot, "app");
|
|
22
|
+
mkdirSync(appDir);
|
|
23
|
+
writeFileSync(path.join(appDir, "index+ssg.tsx"), "export default function Index() { return null }\n");
|
|
24
|
+
writeFileSync(path.join(appDir, "[slug]+ssg.tsx"), "export default function Slug() { return null }\n");
|
|
25
|
+
process.chdir(tempRoot);
|
|
26
|
+
var outFile = path.join("app", "routes.d.ts");
|
|
27
|
+
await generateRouteTypes(outFile, "app");
|
|
28
|
+
var oldDate = /* @__PURE__ */new Date("2001-01-01T00:00:00.000Z");
|
|
29
|
+
utimesSync(outFile, oldDate, oldDate);
|
|
30
|
+
var previousMtimeMs = statSync(outFile).mtimeMs;
|
|
31
|
+
await generateRouteTypes(outFile, "app");
|
|
32
|
+
expect(statSync(outFile).mtimeMs).toBe(previousMtimeMs);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=generateRouteTypes.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mkdirSync","mkdtempSync","rmSync","statSync","utimesSync","writeFileSync","tmpdir","path","afterEach","describe","expect","it","generateRouteTypes","originalCwd","process","cwd","tempRoot","chdir","recursive","force","join","appDir","outFile","oldDate","Date","previousMtimeMs","mtimeMs","toBe"],"sources":["../../../src/typed-routes/generateRouteTypes.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAAA,SAAA,EAAAC,WAAA,EAAAC,MAAA,EAAAC,QAAA,EAAAC,UAAA,EAAAC,aAAA;AAAA,SACEC,MAAA;AAAA,OACAC,IAAA;AAAA,SACAC,SAAA,EAAAC,QAAA,EAAAC,MAAA,EAAAC,EAAA;AAAA,SACAC,kBAAA;AAAAH,QACA,CAAAG,kBAAA;EACA,IAAAC,WAAA,GAAAC,OAAA,CAAAC,GAAA;EAAA,IAAAC,QACK;EACPR,SAAS,aAAc;IACvBM,OAAO,CAAAG,KAAU,CAAAJ,WAAA;IACjB,IAAAG,QAAS;MACTd,MAAS,CAAAc,QAAA;QAETE,SAAS;QACDC,KAAA;MACF;MAEJH,QAAU,QAAM;IACd;EAEA;EACEL,EAAA,mEAAiD;IACjDK,QAAA,GAAAf,WAAW,CAAAM,IAAA,CAAAa,IAAA,CAAAd,MAAA;IACb,IAAAe,MAAA,GAAAd,IAAA,CAAAa,IAAA,CAAAJ,QAAA;IACDhB,SAAA,CAAAqB,MAAA;IAEDhB,aAAG,CAAAE,IAAA,CAAAa,IAAA,CAAAC,MAAA,uEAAgF;IACjFhB,aAAW,CAAAE,IAAA,CAAAa,IAAY,CAAAC,MAAK,kBAAe,qDAAoB;IAC/DP,OAAM,CAAAG,KAAA,CAAAD,QAAc;IACpB,IAAAM,OAAU,GAAAf,IAAM,CAAAa,IAAA;IAChB,MAAAR,kBAAA,CAAAU,OAAA;IAAA,IACEC,OAAK,GAAK,eAAQ,IAAAC,IAAe;IAAApB,UACjC,CAAAkB,OAAA,EAAAC,OAAA,EAAAA,OAAA;IACF,IAAAE,eAAA,GAAAtB,QAAA,CAAAmB,OAAA,EAAAI,OAAA;IACA,MAAAd,kBAAA,CAAAU,OAAA;IAAAZ,MACE,CAAKP,QAAK,CAAAmB,OAAQ,EAAAI,OAAA,EAAAC,IAAgB,CAAAF,eAAA;EAAA;AAClC","ignoreList":[]}
|
|
@@ -22,9 +22,9 @@ import type { OneRouter } from 'one'
|
|
|
22
22
|
declare module 'one' {
|
|
23
23
|
export namespace OneRouter {
|
|
24
24
|
export interface __routes<T extends string = string> extends Record<string, unknown> {
|
|
25
|
-
StaticRoutes
|
|
26
|
-
DynamicRoutes
|
|
27
|
-
DynamicRouteTemplate
|
|
25
|
+
StaticRoutes:${setToUnionType(staticRoutes)}
|
|
26
|
+
DynamicRoutes:${setToUnionType(dynamicRoutes)}
|
|
27
|
+
DynamicRouteTemplate:${setToUnionType(dynamicRouteContextKeys)}
|
|
28
28
|
IsTyped: true
|
|
29
29
|
${hasRoutes ? `RouteTypes: ${generateRouteTypesMap(dynamicRouteContextKeys)}` : ""}
|
|
30
30
|
}
|
|
@@ -102,9 +102,9 @@ function addRouteNode(routeNode, parentRoutePath, staticRoutes, dynamicRoutes, d
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
const setToUnionType = set => {
|
|
105
|
-
if (set.size === 0) return "never";
|
|
105
|
+
if (set.size === 0) return " never";
|
|
106
106
|
const sorted = [...set].sort();
|
|
107
|
-
if (sorted.length === 1) return
|
|
107
|
+
if (sorted.length === 1) return ` \`${sorted[0]}\``;
|
|
108
108
|
return "\n | " + sorted.map(s => `\`${s}\``).join("\n | ");
|
|
109
109
|
};
|
|
110
110
|
function generateCombinations(pathname) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getRoutes","isTypedRoute","removeSupportedExtensions","CATCH_ALL","SLUG","getTypedRoutesDeclarationFile","ctx","staticRoutes","Set","dynamicRoutes","dynamicRouteContextKeys","walkRouteNode","platformRoutes","ignoreEntryPoints","ignoreRequireErrors","hasRoutes","size","setToUnionType","generateRouteTypesMap","trim","routes","sort","entries","map","routePath","params","extractParams","paramsType","length","generateInlineParamsType","join","paramRegex","match","exec","push","name","isCatchAll","p","type","routeNode","parentRoutePath","addRouteNode","route","replace","child","children","startsWith","dynamic","path","generateCombinations","add","replaceAll","combination","set","sorted","s","pathname","groups","split","filter","part","endsWith","combinations","generate","currentIndex","currentPath","group","withoutGroup"],"sources":["../../../src/typed-routes/getTypedRoutesDeclarationFile.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AAC1B,SAASC,YAAA,EAAcC,yBAAA,QAAiC;AAKxD,MAAMC,SAAA,GAAY;AAElB,MAAMC,IAAA,GAAO;AAEN,SAASC,8BAA8BC,GAAA,EAAuB;EACnE,MAAMC,YAAA,GAAe,mBAAIC,GAAA,CAAY;EACrC,MAAMC,aAAA,GAAgB,mBAAID,GAAA,CAAY;EACtC,MAAME,uBAAA,GAA0B,mBAAIF,GAAA,CAAY;EAEhDG,aAAA,CACEX,SAAA,CAAUM,GAAA,EAAK;IACbM,cAAA,EAAgB;IAAA;IAChBC,iBAAA,EAAmB;IACnBC,mBAAA,EAAqB;IAAA;EAEvB,CAAC,GACD,IACAP,YAAA,EACAE,aAAA,EACAC,uBACF;EAEA,MAAMK,SAAA,GAAYL,uBAAA,CAAwBM,IAAA,GAAO;EAEjD,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"names":["getRoutes","isTypedRoute","removeSupportedExtensions","CATCH_ALL","SLUG","getTypedRoutesDeclarationFile","ctx","staticRoutes","Set","dynamicRoutes","dynamicRouteContextKeys","walkRouteNode","platformRoutes","ignoreEntryPoints","ignoreRequireErrors","hasRoutes","size","setToUnionType","generateRouteTypesMap","trim","routes","sort","entries","map","routePath","params","extractParams","paramsType","length","generateInlineParamsType","join","paramRegex","match","exec","push","name","isCatchAll","p","type","routeNode","parentRoutePath","addRouteNode","route","replace","child","children","startsWith","dynamic","path","generateCombinations","add","replaceAll","combination","set","sorted","s","pathname","groups","split","filter","part","endsWith","combinations","generate","currentIndex","currentPath","group","withoutGroup"],"sources":["../../../src/typed-routes/getTypedRoutesDeclarationFile.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -23,9 +23,9 @@ import type { OneRouter } from 'one'
|
|
|
23
23
|
declare module 'one' {
|
|
24
24
|
export namespace OneRouter {
|
|
25
25
|
export interface __routes<T extends string = string> extends Record<string, unknown> {
|
|
26
|
-
StaticRoutes
|
|
27
|
-
DynamicRoutes
|
|
28
|
-
DynamicRouteTemplate
|
|
26
|
+
StaticRoutes:${setToUnionType(staticRoutes)}
|
|
27
|
+
DynamicRoutes:${setToUnionType(dynamicRoutes)}
|
|
28
|
+
DynamicRouteTemplate:${setToUnionType(dynamicRouteContextKeys)}
|
|
29
29
|
IsTyped: true
|
|
30
30
|
${hasRoutes ? `RouteTypes: ${generateRouteTypesMap(dynamicRouteContextKeys)}` : ""}
|
|
31
31
|
}
|
|
@@ -160,9 +160,9 @@ function addRouteNode(routeNode, parentRoutePath, staticRoutes, dynamicRoutes, d
|
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
var setToUnionType = function (set) {
|
|
163
|
-
if (set.size === 0) return "never";
|
|
163
|
+
if (set.size === 0) return " never";
|
|
164
164
|
var sorted = [...set].sort();
|
|
165
|
-
if (sorted.length === 1) return
|
|
165
|
+
if (sorted.length === 1) return ` \`${sorted[0]}\``;
|
|
166
166
|
return "\n | " + sorted.map(function (s) {
|
|
167
167
|
return `\`${s}\``;
|
|
168
168
|
}).join("\n | ");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getRoutes","isTypedRoute","removeSupportedExtensions","CATCH_ALL","SLUG","getTypedRoutesDeclarationFile","ctx","staticRoutes","Set","dynamicRoutes","dynamicRouteContextKeys","walkRouteNode","platformRoutes","ignoreEntryPoints","ignoreRequireErrors","hasRoutes","size","setToUnionType","generateRouteTypesMap","trim","routes","sort","entries","map","routePath","params","extractParams","paramsType","length","generateInlineParamsType","join","paramRegex","match","exec","push","name","isCatchAll","p","type","routeNode","parentRoutePath","addRouteNode","route","replace","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","children","Symbol","iterator","_step","next","done","child","value","err","return","startsWith","dynamic","generateCombinations","path","add","replaceAll","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1"],"sources":["../../../src/typed-routes/getTypedRoutesDeclarationFile.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,QAAiB;AAC1B,SAASC,YAAA,EAAcC,yBAAA,QAAiC;AAKxD,IAAAC,SAAM,mBAAY;AAElB,IAAAC,IAAM,aAAO;AAEN,SAASC,8BAA8BC,GAAA,EAAuB;EACnE,IAAAC,YAAM,kBAAe,IAAAC,GAAI;EACzB,IAAAC,aAAM,kBAAgB,IAAAD,GAAI;EAC1B,IAAAE,uBAAM,kBAA0B,IAAAF,GAAI;EAEpCG,aAAA,CACEX,SAAA,CAAUM,GAAA,EAAK;IACbM,cAAA,EAAgB;IAAA;IAChBC,iBAAA,EAAmB;IACnBC,mBAAA,EAAqB;EAAA;EAEvB;EACA,IACAP,YAAA,EACAE,aAAA,EACAC,uBACF;EAEA,IAAAK,SAAM,GAAAL,uBAAY,CAAAM,IAAwB;EAE1C,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"names":["getRoutes","isTypedRoute","removeSupportedExtensions","CATCH_ALL","SLUG","getTypedRoutesDeclarationFile","ctx","staticRoutes","Set","dynamicRoutes","dynamicRouteContextKeys","walkRouteNode","platformRoutes","ignoreEntryPoints","ignoreRequireErrors","hasRoutes","size","setToUnionType","generateRouteTypesMap","trim","routes","sort","entries","map","routePath","params","extractParams","paramsType","length","generateInlineParamsType","join","paramRegex","match","exec","push","name","isCatchAll","p","type","routeNode","parentRoutePath","addRouteNode","route","replace","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","children","Symbol","iterator","_step","next","done","child","value","err","return","startsWith","dynamic","generateCombinations","path","add","replaceAll","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1"],"sources":["../../../src/typed-routes/getTypedRoutesDeclarationFile.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { getTypedRoutesDeclarationFile } from "./getTypedRoutesDeclarationFile.mjs";
|
|
3
|
+
function createRouteContext(paths) {
|
|
4
|
+
const context = () => ({
|
|
5
|
+
default() {}
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(context, "keys", {
|
|
8
|
+
value: () => paths
|
|
9
|
+
});
|
|
10
|
+
return context;
|
|
11
|
+
}
|
|
12
|
+
describe(getTypedRoutesDeclarationFile, () => {
|
|
13
|
+
it("does not emit trailing whitespace for multi-line route unions", () => {
|
|
14
|
+
const declaration = getTypedRoutesDeclarationFile(createRouteContext(["./index+ssg.tsx", "./about+ssg.tsx", "./[slug]+ssg.tsx"]));
|
|
15
|
+
expect(declaration).toContain(" StaticRoutes:\n | `/`");
|
|
16
|
+
expect(declaration).not.toMatch(/[ \t]+$/m);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=getTypedRoutesDeclarationFile.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","expect","it","getTypedRoutesDeclarationFile","createRouteContext","paths","context","default","Object","defineProperty","value","declaration","toContain","not","toMatch"],"sources":["../../../src/typed-routes/getTypedRoutesDeclarationFile.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAErC,SAASC,6BAAA,QAAqC;AAE9C,SAASC,mBAAmBC,KAAA,EAAiB;EAC3C,MAAMC,OAAA,GAAWA,CAAA,MAAO;IAAEC,QAAA,EAAU,CAAC;EAAE;EACvCC,MAAA,CAAOC,cAAA,CAAeH,OAAA,EAAS,QAAQ;IACrCI,KAAA,EAAOA,CAAA,KAAML;EACf,CAAC;EACD,OAAOC,OAAA;AACT;AAEAN,QAAA,CAASG,6BAAA,EAA+B,MAAM;EAC5CD,EAAA,CAAG,iEAAiE,MAAM;IACxE,MAAMS,WAAA,GAAcR,6BAAA,CAClBC,kBAAA,CAAmB,CAAC,mBAAmB,mBAAmB,kBAAkB,CAAC,CAC/E;IAEAH,MAAA,CAAOU,WAAW,EAAEC,SAAA,CAAU,oCAAoC;IAClEX,MAAA,CAAOU,WAAW,EAAEE,GAAA,CAAIC,OAAA,CAAQ,UAAU;EAC5C,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { getTypedRoutesDeclarationFile } from "./getTypedRoutesDeclarationFile.native.js";
|
|
3
|
+
function createRouteContext(paths) {
|
|
4
|
+
var context = function () {
|
|
5
|
+
return {
|
|
6
|
+
default() {}
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(context, "keys", {
|
|
10
|
+
value: function () {
|
|
11
|
+
return paths;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
return context;
|
|
15
|
+
}
|
|
16
|
+
describe(getTypedRoutesDeclarationFile, function () {
|
|
17
|
+
it("does not emit trailing whitespace for multi-line route unions", function () {
|
|
18
|
+
var declaration = getTypedRoutesDeclarationFile(createRouteContext(["./index+ssg.tsx", "./about+ssg.tsx", "./[slug]+ssg.tsx"]));
|
|
19
|
+
expect(declaration).toContain(" StaticRoutes:\n | `/`");
|
|
20
|
+
expect(declaration).not.toMatch(/[ \t]+$/m);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=getTypedRoutesDeclarationFile.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["describe","expect","it","getTypedRoutesDeclarationFile","createRouteContext","paths","context","default","Object","defineProperty","value","declaration"],"sources":["../../../src/typed-routes/getTypedRoutesDeclarationFile.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AAErC,SAASC,6BAAA,QAAqC;AAE9C,SAASC,mBAAmBC,KAAA,EAAiB;EAC3C,IAAAC,OAAM,YAAAA,CAAA,EAAkB;IAAe;MACvCC,OAAOA,CAAA,GACL;IACD;EACD;EACFC,MAAA,CAAAC,cAAA,CAAAH,OAAA;IAEAI,KAAS,WAAAA,CAAA;MACJ,OAAAL,KAAA;IACD;EAAoB;EAC2D,OAC/EC,OAAA;AAEA;AACAN,QAAA,CAAAG,6BAAgC,cAAU;EAC5CD,EAAC;IACF,IAAAS,WAAA,GAAAR,6BAAA,CAAAC,kBAAA,E","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
const routeFileExtensionRe = /\.[jt]sx?$/;
|
|
3
|
+
function isRouteFilePath(filePath) {
|
|
4
|
+
return routeFileExtensionRe.test(filePath) && !filePath.endsWith(".d.ts");
|
|
5
|
+
}
|
|
6
|
+
function isPathInsideDirectory(filePath, directory) {
|
|
7
|
+
const relativePath = path.relative(path.resolve(directory), path.resolve(filePath));
|
|
8
|
+
return relativePath !== "" && !relativePath.startsWith("..") && !path.isAbsolute(relativePath);
|
|
9
|
+
}
|
|
10
|
+
function isRouteFileWatchEvent({
|
|
11
|
+
event,
|
|
12
|
+
filePath,
|
|
13
|
+
routerRoot,
|
|
14
|
+
includeChangeEvents = false
|
|
15
|
+
}) {
|
|
16
|
+
const isRouteFileEvent = event === "add" || event === "delete" || event === "unlink" || includeChangeEvents && event === "change";
|
|
17
|
+
return isRouteFileEvent && isPathInsideDirectory(filePath, routerRoot) && isRouteFilePath(filePath);
|
|
18
|
+
}
|
|
19
|
+
export { isPathInsideDirectory, isRouteFilePath, isRouteFileWatchEvent };
|
|
20
|
+
//# sourceMappingURL=routeFileWatch.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["path","routeFileExtensionRe","isRouteFilePath","filePath","test","endsWith","isPathInsideDirectory","directory","relativePath","relative","resolve","startsWith","isAbsolute","isRouteFileWatchEvent","event","routerRoot","includeChangeEvents","isRouteFileEvent"],"sources":["../../../src/utils/routeFileWatch.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AAEjB,MAAMC,oBAAA,GAAuB;AAEtB,SAASC,gBAAgBC,QAAA,EAAkB;EAChD,OAAOF,oBAAA,CAAqBG,IAAA,CAAKD,QAAQ,KAAK,CAACA,QAAA,CAASE,QAAA,CAAS,OAAO;AAC1E;AAEO,SAASC,sBAAsBH,QAAA,EAAkBI,SAAA,EAAmB;EACzE,MAAMC,YAAA,GAAeR,IAAA,CAAKS,QAAA,CAAST,IAAA,CAAKU,OAAA,CAAQH,SAAS,GAAGP,IAAA,CAAKU,OAAA,CAAQP,QAAQ,CAAC;EAClF,OACEK,YAAA,KAAiB,MACjB,CAACA,YAAA,CAAaG,UAAA,CAAW,IAAI,KAC7B,CAACX,IAAA,CAAKY,UAAA,CAAWJ,YAAY;AAEjC;AAEO,SAASK,sBAAsB;EACpCC,KAAA;EACAX,QAAA;EACAY,UAAA;EACAC,mBAAA,GAAsB;AACxB,GAKG;EACD,MAAMC,gBAAA,GACJH,KAAA,KAAU,SACVA,KAAA,KAAU,YACVA,KAAA,KAAU,YACTE,mBAAA,IAAuBF,KAAA,KAAU;EAEpC,OACEG,gBAAA,IACAX,qBAAA,CAAsBH,QAAA,EAAUY,UAAU,KAC1Cb,eAAA,CAAgBC,QAAQ;AAE5B","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
var routeFileExtensionRe = /\.[jt]sx?$/;
|
|
3
|
+
function isRouteFilePath(filePath) {
|
|
4
|
+
return routeFileExtensionRe.test(filePath) && !filePath.endsWith(".d.ts");
|
|
5
|
+
}
|
|
6
|
+
function isPathInsideDirectory(filePath, directory) {
|
|
7
|
+
var relativePath = path.relative(path.resolve(directory), path.resolve(filePath));
|
|
8
|
+
return relativePath !== "" && !relativePath.startsWith("..") && !path.isAbsolute(relativePath);
|
|
9
|
+
}
|
|
10
|
+
function isRouteFileWatchEvent(param) {
|
|
11
|
+
var {
|
|
12
|
+
event,
|
|
13
|
+
filePath,
|
|
14
|
+
routerRoot,
|
|
15
|
+
includeChangeEvents = false
|
|
16
|
+
} = param;
|
|
17
|
+
var isRouteFileEvent = event === "add" || event === "delete" || event === "unlink" || includeChangeEvents && event === "change";
|
|
18
|
+
return isRouteFileEvent && isPathInsideDirectory(filePath, routerRoot) && isRouteFilePath(filePath);
|
|
19
|
+
}
|
|
20
|
+
export { isPathInsideDirectory, isRouteFilePath, isRouteFileWatchEvent };
|
|
21
|
+
//# sourceMappingURL=routeFileWatch.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["path","routeFileExtensionRe","isRouteFilePath","filePath","test","endsWith","isPathInsideDirectory","directory","relativePath","relative","resolve","startsWith","isAbsolute","isRouteFileWatchEvent","param","event","routerRoot","includeChangeEvents","isRouteFileEvent"],"sources":["../../../src/utils/routeFileWatch.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AAEjB,IAAAC,oBAAM,eAAuB;AAEtB,SAASC,gBAAgBC,QAAA,EAAkB;EAChD,OAAOF,oBAAA,CAAqBG,IAAA,CAAKD,QAAQ,KAAK,CAACA,QAAA,CAASE,QAAA,CAAS,OAAO;AAC1E;AAEO,SAASC,sBAAsBH,QAAA,EAAkBI,SAAA,EAAmB;EACzE,IAAAC,YAAM,GAAAR,IAAe,CAAAS,QAAK,CAAAT,IAAS,CAAAU,OAAK,CAAAH,SAAQ,GAASP,IAAG,CAAAU,OAAK,CAAAP,QAAQ,EAAQ;EACjF,OACEK,YAAA,KAAiB,MACjB,CAACA,YAAA,CAAaG,UAAA,CAAW,IAAI,KAC7B,CAACX,IAAA,CAAKY,UAAA,CAAWJ,YAAY;AAEjC;AAEO,SAASK,sBAAsBC,KAAA;EACpC;IAAAC,KAAA;IAAAZ,QAAA;IAAAa,UAAA;IAAAC,mBAAA;EAAA,IAAAH,KAAA;EACA,IAAAI,gBAAA,GAAAH,KAAA,cAAAA,KAAA,iBAAAA,KAAA,iBAAAE,mBAAA,IAAAF,KAAA;EACA,OAAAG,gBAAA,IAAAZ,qBAAA,CAAAH,QAAA,EAAAa,UAAA,KAAAd,eAAA,CAAAC,QAAA;AAAA;AAEF,SAMEG,qBAAM,EAMNJ,eACE,EAIJW,qBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import { isPathInsideDirectory, isRouteFilePath, isRouteFileWatchEvent } from "./routeFileWatch.mjs";
|
|
4
|
+
describe(isRouteFilePath, () => {
|
|
5
|
+
it("matches route source files", () => {
|
|
6
|
+
expect(isRouteFilePath("/project/app/index.ts")).toBe(true);
|
|
7
|
+
expect(isRouteFilePath("/project/app/index.tsx")).toBe(true);
|
|
8
|
+
expect(isRouteFilePath("/project/app/index.js")).toBe(true);
|
|
9
|
+
expect(isRouteFilePath("/project/app/index.jsx")).toBe(true);
|
|
10
|
+
});
|
|
11
|
+
it("ignores non-route files", () => {
|
|
12
|
+
expect(isRouteFilePath("/project/app/tamagui.generated.css")).toBe(false);
|
|
13
|
+
expect(isRouteFilePath("/project/app/routes.d.ts")).toBe(false);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
describe(isPathInsideDirectory, () => {
|
|
17
|
+
it("only matches real descendants of the router root", () => {
|
|
18
|
+
const routerRoot = path.resolve("/project/app");
|
|
19
|
+
expect(isPathInsideDirectory("/project/app/index.tsx", routerRoot)).toBe(true);
|
|
20
|
+
expect(isPathInsideDirectory("/project/app-copy/index.tsx", routerRoot)).toBe(false);
|
|
21
|
+
expect(isPathInsideDirectory("/project/app", routerRoot)).toBe(false);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
describe(isRouteFileWatchEvent, () => {
|
|
25
|
+
const routerRoot = path.resolve("/project/app");
|
|
26
|
+
it("matches route file add and delete events", () => {
|
|
27
|
+
expect(isRouteFileWatchEvent({
|
|
28
|
+
event: "add",
|
|
29
|
+
filePath: "/project/app/index.tsx",
|
|
30
|
+
routerRoot
|
|
31
|
+
})).toBe(true);
|
|
32
|
+
expect(isRouteFileWatchEvent({
|
|
33
|
+
event: "delete",
|
|
34
|
+
filePath: "/project/app/nested/page.jsx",
|
|
35
|
+
routerRoot
|
|
36
|
+
})).toBe(true);
|
|
37
|
+
expect(isRouteFileWatchEvent({
|
|
38
|
+
event: "unlink",
|
|
39
|
+
filePath: "/project/app/nested/page.jsx",
|
|
40
|
+
routerRoot
|
|
41
|
+
})).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
it("ignores non-route file add and delete events", () => {
|
|
44
|
+
expect(isRouteFileWatchEvent({
|
|
45
|
+
event: "add",
|
|
46
|
+
filePath: "/project/app/tamagui.generated.css",
|
|
47
|
+
routerRoot
|
|
48
|
+
})).toBe(false);
|
|
49
|
+
expect(isRouteFileWatchEvent({
|
|
50
|
+
event: "delete",
|
|
51
|
+
filePath: "/project/app/routes.d.ts",
|
|
52
|
+
routerRoot
|
|
53
|
+
})).toBe(false);
|
|
54
|
+
});
|
|
55
|
+
it("only matches change events when requested", () => {
|
|
56
|
+
expect(isRouteFileWatchEvent({
|
|
57
|
+
event: "change",
|
|
58
|
+
filePath: "/project/app/index.tsx",
|
|
59
|
+
routerRoot
|
|
60
|
+
})).toBe(false);
|
|
61
|
+
expect(isRouteFileWatchEvent({
|
|
62
|
+
event: "change",
|
|
63
|
+
filePath: "/project/app/index.tsx",
|
|
64
|
+
routerRoot,
|
|
65
|
+
includeChangeEvents: true
|
|
66
|
+
})).toBe(true);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=routeFileWatch.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["path","describe","expect","it","isPathInsideDirectory","isRouteFilePath","isRouteFileWatchEvent","toBe","routerRoot","resolve","event","filePath","includeChangeEvents"],"sources":["../../../src/utils/routeFileWatch.test.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,SAASC,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SACEC,qBAAA,EACAC,eAAA,EACAC,qBAAA,QACK;AAEPL,QAAA,CAASI,eAAA,EAAiB,MAAM;EAC9BF,EAAA,CAAG,8BAA8B,MAAM;IACrCD,MAAA,CAAOG,eAAA,CAAgB,uBAAuB,CAAC,EAAEE,IAAA,CAAK,IAAI;IAC1DL,MAAA,CAAOG,eAAA,CAAgB,wBAAwB,CAAC,EAAEE,IAAA,CAAK,IAAI;IAC3DL,MAAA,CAAOG,eAAA,CAAgB,uBAAuB,CAAC,EAAEE,IAAA,CAAK,IAAI;IAC1DL,MAAA,CAAOG,eAAA,CAAgB,wBAAwB,CAAC,EAAEE,IAAA,CAAK,IAAI;EAC7D,CAAC;EAEDJ,EAAA,CAAG,2BAA2B,MAAM;IAClCD,MAAA,CAAOG,eAAA,CAAgB,oCAAoC,CAAC,EAAEE,IAAA,CAAK,KAAK;IACxEL,MAAA,CAAOG,eAAA,CAAgB,0BAA0B,CAAC,EAAEE,IAAA,CAAK,KAAK;EAChE,CAAC;AACH,CAAC;AAEDN,QAAA,CAASG,qBAAA,EAAuB,MAAM;EACpCD,EAAA,CAAG,oDAAoD,MAAM;IAC3D,MAAMK,UAAA,GAAaR,IAAA,CAAKS,OAAA,CAAQ,cAAc;IAE9CP,MAAA,CAAOE,qBAAA,CAAsB,0BAA0BI,UAAU,CAAC,EAAED,IAAA,CAAK,IAAI;IAC7EL,MAAA,CAAOE,qBAAA,CAAsB,+BAA+BI,UAAU,CAAC,EAAED,IAAA,CAAK,KAAK;IACnFL,MAAA,CAAOE,qBAAA,CAAsB,gBAAgBI,UAAU,CAAC,EAAED,IAAA,CAAK,KAAK;EACtE,CAAC;AACH,CAAC;AAEDN,QAAA,CAASK,qBAAA,EAAuB,MAAM;EACpC,MAAME,UAAA,GAAaR,IAAA,CAAKS,OAAA,CAAQ,cAAc;EAE9CN,EAAA,CAAG,4CAA4C,MAAM;IACnDD,MAAA,CACEI,qBAAA,CAAsB;MACpBI,KAAA,EAAO;MACPC,QAAA,EAAU;MACVH;IACF,CAAC,CACH,EAAED,IAAA,CAAK,IAAI;IACXL,MAAA,CACEI,qBAAA,CAAsB;MACpBI,KAAA,EAAO;MACPC,QAAA,EAAU;MACVH;IACF,CAAC,CACH,EAAED,IAAA,CAAK,IAAI;IACXL,MAAA,CACEI,qBAAA,CAAsB;MACpBI,KAAA,EAAO;MACPC,QAAA,EAAU;MACVH;IACF,CAAC,CACH,EAAED,IAAA,CAAK,IAAI;EACb,CAAC;EAEDJ,EAAA,CAAG,gDAAgD,MAAM;IACvDD,MAAA,CACEI,qBAAA,CAAsB;MACpBI,KAAA,EAAO;MACPC,QAAA,EAAU;MACVH;IACF,CAAC,CACH,EAAED,IAAA,CAAK,KAAK;IACZL,MAAA,CACEI,qBAAA,CAAsB;MACpBI,KAAA,EAAO;MACPC,QAAA,EAAU;MACVH;IACF,CAAC,CACH,EAAED,IAAA,CAAK,KAAK;EACd,CAAC;EAEDJ,EAAA,CAAG,6CAA6C,MAAM;IACpDD,MAAA,CACEI,qBAAA,CAAsB;MACpBI,KAAA,EAAO;MACPC,QAAA,EAAU;MACVH;IACF,CAAC,CACH,EAAED,IAAA,CAAK,KAAK;IACZL,MAAA,CACEI,qBAAA,CAAsB;MACpBI,KAAA,EAAO;MACPC,QAAA,EAAU;MACVH,UAAA;MACAI,mBAAA,EAAqB;IACvB,CAAC,CACH,EAAEL,IAAA,CAAK,IAAI;EACb,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import { isPathInsideDirectory, isRouteFilePath, isRouteFileWatchEvent } from "./routeFileWatch.native.js";
|
|
4
|
+
describe(isRouteFilePath, function () {
|
|
5
|
+
it("matches route source files", function () {
|
|
6
|
+
expect(isRouteFilePath("/project/app/index.ts")).toBe(true);
|
|
7
|
+
expect(isRouteFilePath("/project/app/index.tsx")).toBe(true);
|
|
8
|
+
expect(isRouteFilePath("/project/app/index.js")).toBe(true);
|
|
9
|
+
expect(isRouteFilePath("/project/app/index.jsx")).toBe(true);
|
|
10
|
+
});
|
|
11
|
+
it("ignores non-route files", function () {
|
|
12
|
+
expect(isRouteFilePath("/project/app/tamagui.generated.css")).toBe(false);
|
|
13
|
+
expect(isRouteFilePath("/project/app/routes.d.ts")).toBe(false);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
describe(isPathInsideDirectory, function () {
|
|
17
|
+
it("only matches real descendants of the router root", function () {
|
|
18
|
+
var routerRoot = path.resolve("/project/app");
|
|
19
|
+
expect(isPathInsideDirectory("/project/app/index.tsx", routerRoot)).toBe(true);
|
|
20
|
+
expect(isPathInsideDirectory("/project/app-copy/index.tsx", routerRoot)).toBe(false);
|
|
21
|
+
expect(isPathInsideDirectory("/project/app", routerRoot)).toBe(false);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
describe(isRouteFileWatchEvent, function () {
|
|
25
|
+
var routerRoot = path.resolve("/project/app");
|
|
26
|
+
it("matches route file add and delete events", function () {
|
|
27
|
+
expect(isRouteFileWatchEvent({
|
|
28
|
+
event: "add",
|
|
29
|
+
filePath: "/project/app/index.tsx",
|
|
30
|
+
routerRoot
|
|
31
|
+
})).toBe(true);
|
|
32
|
+
expect(isRouteFileWatchEvent({
|
|
33
|
+
event: "delete",
|
|
34
|
+
filePath: "/project/app/nested/page.jsx",
|
|
35
|
+
routerRoot
|
|
36
|
+
})).toBe(true);
|
|
37
|
+
expect(isRouteFileWatchEvent({
|
|
38
|
+
event: "unlink",
|
|
39
|
+
filePath: "/project/app/nested/page.jsx",
|
|
40
|
+
routerRoot
|
|
41
|
+
})).toBe(true);
|
|
42
|
+
});
|
|
43
|
+
it("ignores non-route file add and delete events", function () {
|
|
44
|
+
expect(isRouteFileWatchEvent({
|
|
45
|
+
event: "add",
|
|
46
|
+
filePath: "/project/app/tamagui.generated.css",
|
|
47
|
+
routerRoot
|
|
48
|
+
})).toBe(false);
|
|
49
|
+
expect(isRouteFileWatchEvent({
|
|
50
|
+
event: "delete",
|
|
51
|
+
filePath: "/project/app/routes.d.ts",
|
|
52
|
+
routerRoot
|
|
53
|
+
})).toBe(false);
|
|
54
|
+
});
|
|
55
|
+
it("only matches change events when requested", function () {
|
|
56
|
+
expect(isRouteFileWatchEvent({
|
|
57
|
+
event: "change",
|
|
58
|
+
filePath: "/project/app/index.tsx",
|
|
59
|
+
routerRoot
|
|
60
|
+
})).toBe(false);
|
|
61
|
+
expect(isRouteFileWatchEvent({
|
|
62
|
+
event: "change",
|
|
63
|
+
filePath: "/project/app/index.tsx",
|
|
64
|
+
routerRoot,
|
|
65
|
+
includeChangeEvents: true
|
|
66
|
+
})).toBe(true);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=routeFileWatch.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["path","describe","expect","it","isPathInsideDirectory","isRouteFilePath","isRouteFileWatchEvent","toBe","routerRoot","resolve","event","filePath","includeChangeEvents"],"sources":["../../../src/utils/routeFileWatch.test.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,IAAA,MAAU;AACjB,SAASC,QAAA,EAAUC,MAAA,EAAQC,EAAA,QAAU;AACrC,SAAAC,qBAAA,EAAAC,eAAA,EAAAC,qBAAA;AAAAL,QACE,CAAAI,eAAA;EACAF,EAAA;IACAD,MAAA,CAAAG,eAAA,2BAAAE,IAAA;IAAAL,MACK,CAAAG,eAAA,4BAAAE,IAAA;IAEPL,MAAS,CAAAG,eAAiB,wBAAM,GAAAE,IAAA;IAC9BL,MAAG,CAAAG,eAAA,yBAAoC,GAAAE,IAAA;EACrC;EACAJ,EAAA,0BAAuB;IACvBD,MAAA,CAAOG,eAAA,CAAgB,oCAAmC,GAAAE,IAAA;IAC1DL,MAAA,CAAOG,eAAA,CAAgB,0BAAyB,CAAE,EAAAE,IAAK,MAAI;EAC7D,CAAC;AAED;AACEN,QAAA,CAAAG,qBAAuB;EACvBD,EAAA,mDAAkD,EAAE,YAAU;IAC/D,IAAAK,UAAA,GAAAR,IAAA,CAAAS,OAAA;IACFP,MAAA,CAAAE,qBAAA,2BAAAI,UAAA,GAAAD,IAAA;IAEDL,MAAS,CAAAE,qBAAuB,8BAAM,EAAAI,UAAA,GAAAD,IAAA;IACpCL,MAAG,CAAAE,qBAAA,iBAAAI,UAAoD,GAAAD,IAAM;EAC3D;AAEA;AACAN,QAAA,CAAAK,qBAAO,cAAsB;EAC7B,IAAAE,UAAO,GAAAR,IAAA,CAAAS,OAAA,eAAsB;EAC/BN,EAAC;IACFD,MAAA,CAAAI,qBAAA;MAEDI,KAAS;MACPC,QAAM,0BAA0B;MAE7BH;IACD,IAAAD,IAAA;IAAAL,MACE,CAAAI,qBAAsB;MAAAI,KACpB,UAAO;MAAAC,QACP,gCAAU;MAAAH;IACV,EACF,CAAC,CAAAD,IAAA;IACHL,MAAE,CAAKI,qBAAI;MACXI,KAAA;MACEC,QAAA,gCAAsB;MAAAH;IACb,IACPD,IAAA,MAAU;EAAA;EACVJ,EAAA,+CACD;IACHD,MAAE,CAAKI,qBAAI;MACXI,KAAA;MACEC,QAAA,sCAAsB;MAAAH;IACb,IACPD,IAAA,MAAU;IAAAL,MACV,CAAAI,qBAAA;MACFI,KAAC;MACDC,QAAK,EAAI;MACZH;IAED,CAAG,GAAAD,IAAA;EACD;EAAAJ,EAAA,4CACwB;IAAAD,MACpB,CAAAI,qBAAO;MAAAI,KACP,UAAU;MAAAC,QACV;MACFH;IACF,EAAE,EAAAD,IAAK,MAAK;IACZL,MAAA,CAAAI,qBAAA;MACEI,KAAA;MAAsBC,QACpB,EAAO;MAAAH,UACP;MAAUI,mBACV;IAAA,EACF,CAAC,CAAAL,IAAA;EAAA,EACH;AAAY,EACd","ignoreList":[]}
|