one 1.2.16 → 1.2.18
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/cli/generateRoutes.cjs +20 -5
- package/dist/cjs/cli/generateRoutes.js +18 -3
- package/dist/cjs/cli/generateRoutes.js.map +1 -1
- package/dist/cjs/cli/generateRoutes.native.js +30 -5
- package/dist/cjs/cli/generateRoutes.native.js.map +1 -1
- package/dist/cjs/cli.cjs +4 -0
- package/dist/cjs/cli.js +4 -0
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/cli.native.js +4 -0
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/getDevServer.cjs +29 -0
- package/dist/cjs/getDevServer.js +24 -0
- package/dist/cjs/getDevServer.js.map +6 -0
- package/dist/cjs/getDevServer.native.js +40 -0
- package/dist/cjs/getDevServer.native.js.map +1 -0
- package/dist/cjs/getURL.native.js +8 -18
- package/dist/cjs/getURL.native.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/router/createRoute.cjs +12 -1
- package/dist/cjs/router/createRoute.js +12 -1
- package/dist/cjs/router/createRoute.js.map +1 -1
- package/dist/cjs/router/createRoute.native.js +13 -2
- package/dist/cjs/router/createRoute.native.js.map +1 -1
- package/dist/cjs/typed-routes/generateRouteTypes.cjs +14 -3
- package/dist/cjs/typed-routes/generateRouteTypes.js +12 -3
- package/dist/cjs/typed-routes/generateRouteTypes.js.map +1 -1
- package/dist/cjs/typed-routes/generateRouteTypes.native.js +29 -3
- package/dist/cjs/typed-routes/generateRouteTypes.native.js.map +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.cjs +39 -2
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.js +38 -2
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.js.map +1 -1
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js +40 -2
- package/dist/cjs/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
- package/dist/cjs/typed-routes/injectRouteHelpers.cjs +136 -0
- package/dist/cjs/typed-routes/injectRouteHelpers.js +104 -0
- package/dist/cjs/typed-routes/injectRouteHelpers.js.map +6 -0
- package/dist/cjs/typed-routes/injectRouteHelpers.native.js +146 -0
- package/dist/cjs/typed-routes/injectRouteHelpers.native.js.map +1 -0
- package/dist/cjs/vite/loadConfig.cjs +18 -12
- package/dist/cjs/vite/loadConfig.js +20 -13
- package/dist/cjs/vite/loadConfig.js.map +1 -1
- package/dist/cjs/vite/loadConfig.native.js +18 -11
- package/dist/cjs/vite/loadConfig.native.js.map +1 -1
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.cjs +3 -2
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js +13 -3
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +9 -6
- package/dist/cjs/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
- package/dist/esm/cli/generateRoutes.js +19 -2
- package/dist/esm/cli/generateRoutes.js.map +1 -1
- package/dist/esm/cli/generateRoutes.mjs +19 -4
- package/dist/esm/cli/generateRoutes.mjs.map +1 -1
- package/dist/esm/cli/generateRoutes.native.js +29 -4
- package/dist/esm/cli/generateRoutes.native.js.map +1 -1
- package/dist/esm/cli.js +4 -0
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/cli.mjs +4 -0
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +4 -0
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/getDevServer.js +8 -0
- package/dist/esm/getDevServer.js.map +6 -0
- package/dist/esm/getDevServer.mjs +6 -0
- package/dist/esm/getDevServer.mjs.map +1 -0
- package/dist/esm/getDevServer.native.js +3 -0
- package/dist/esm/getDevServer.native.js.map +1 -0
- package/dist/esm/getURL.native.js +3 -2
- package/dist/esm/getURL.native.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/router/createRoute.js +12 -1
- package/dist/esm/router/createRoute.js.map +1 -1
- package/dist/esm/router/createRoute.mjs +12 -1
- package/dist/esm/router/createRoute.mjs.map +1 -1
- package/dist/esm/router/createRoute.native.js +13 -2
- package/dist/esm/router/createRoute.native.js.map +1 -1
- package/dist/esm/typed-routes/generateRouteTypes.js +14 -3
- package/dist/esm/typed-routes/generateRouteTypes.js.map +1 -1
- package/dist/esm/typed-routes/generateRouteTypes.mjs +14 -3
- package/dist/esm/typed-routes/generateRouteTypes.mjs.map +1 -1
- package/dist/esm/typed-routes/generateRouteTypes.native.js +29 -3
- package/dist/esm/typed-routes/generateRouteTypes.native.js.map +1 -1
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.js +38 -2
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.js.map +1 -1
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs +39 -2
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.mjs.map +1 -1
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js +40 -2
- package/dist/esm/typed-routes/getTypedRoutesDeclarationFile.native.js.map +1 -1
- package/dist/esm/typed-routes/injectRouteHelpers.js +89 -0
- package/dist/esm/typed-routes/injectRouteHelpers.js.map +6 -0
- package/dist/esm/typed-routes/injectRouteHelpers.mjs +113 -0
- package/dist/esm/typed-routes/injectRouteHelpers.mjs.map +1 -0
- package/dist/esm/typed-routes/injectRouteHelpers.native.js +120 -0
- package/dist/esm/typed-routes/injectRouteHelpers.native.js.map +1 -0
- package/dist/esm/vite/loadConfig.js +20 -13
- package/dist/esm/vite/loadConfig.js.map +1 -1
- package/dist/esm/vite/loadConfig.mjs +18 -12
- package/dist/esm/vite/loadConfig.mjs.map +1 -1
- package/dist/esm/vite/loadConfig.native.js +18 -11
- package/dist/esm/vite/loadConfig.native.js.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js +13 -3
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs +3 -2
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js +9 -6
- package/dist/esm/vite/plugins/generateFileSystemRouteTypesPlugin.native.js.map +1 -1
- package/package.json +10 -10
- package/src/cli/generateRoutes.ts +52 -4
- package/src/cli.ts +5 -0
- package/src/getDevServer.native.ts +5 -0
- package/src/getDevServer.ts +5 -0
- package/src/getURL.native.ts +10 -5
- package/src/index.ts +13 -0
- package/src/interfaces/router.ts +19 -0
- package/src/router/createRoute.ts +16 -3
- package/src/typed-routes/generateRouteTypes.ts +46 -2
- package/src/typed-routes/getTypedRoutesDeclarationFile.ts +70 -0
- package/src/typed-routes/injectRouteHelpers.ts +186 -0
- package/src/vite/loadConfig.ts +29 -17
- package/src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx +14 -3
- package/src/vite/types.ts +26 -0
- package/types/cli/generateRoutes.d.ts +1 -0
- package/types/cli/generateRoutes.d.ts.map +1 -1
- package/types/getDevServer.d.ts +5 -0
- package/types/getDevServer.d.ts.map +1 -0
- package/types/getDevServer.native.d.ts +2 -0
- package/types/getDevServer.native.d.ts.map +1 -0
- package/types/getURL.native.d.ts.map +1 -1
- package/types/index.d.ts +13 -3
- package/types/index.d.ts.map +1 -1
- package/types/interfaces/router.d.ts +16 -0
- package/types/interfaces/router.d.ts.map +1 -1
- package/types/router/createRoute.d.ts +28 -13
- package/types/router/createRoute.d.ts.map +1 -1
- package/types/typed-routes/generateRouteTypes.d.ts +1 -1
- package/types/typed-routes/generateRouteTypes.d.ts.map +1 -1
- package/types/typed-routes/getTypedRoutesDeclarationFile.d.ts.map +1 -1
- package/types/typed-routes/injectRouteHelpers.d.ts +12 -0
- package/types/typed-routes/injectRouteHelpers.d.ts.map +1 -0
- package/types/utils/redirect.d.ts +1 -3
- package/types/utils/redirect.d.ts.map +1 -1
- package/types/vite/loadConfig.d.ts +1 -1
- package/types/vite/loadConfig.d.ts.map +1 -1
- package/types/vite/plugins/generateFileSystemRouteTypesPlugin.d.ts.map +1 -1
- package/types/vite/types.d.ts +25 -0
- package/types/vite/types.d.ts.map +1 -1
|
@@ -6,14 +6,16 @@ function getTypedRoutesDeclarationFile(ctx) {
|
|
|
6
6
|
var staticRoutes = /* @__PURE__ */new Set(),
|
|
7
7
|
dynamicRoutes = /* @__PURE__ */new Set(),
|
|
8
8
|
dynamicRouteContextKeys = /* @__PURE__ */new Set();
|
|
9
|
-
|
|
9
|
+
walkRouteNode(getRoutes(ctx, {
|
|
10
10
|
platformRoutes: !1,
|
|
11
11
|
// We don't need to generate platform specific routes
|
|
12
12
|
ignoreEntryPoints: !0,
|
|
13
13
|
ignoreRequireErrors: !0
|
|
14
14
|
}),
|
|
15
15
|
// importMode: 'async',
|
|
16
|
-
"", staticRoutes, dynamicRoutes, dynamicRouteContextKeys)
|
|
16
|
+
"", staticRoutes, dynamicRoutes, dynamicRouteContextKeys);
|
|
17
|
+
var hasRoutes = dynamicRouteContextKeys.size > 0;
|
|
18
|
+
return `// deno-lint-ignore-file
|
|
17
19
|
/* eslint-disable */
|
|
18
20
|
// biome-ignore: needed import
|
|
19
21
|
import type { OneRouter } from 'one'
|
|
@@ -25,11 +27,47 @@ declare module 'one' {
|
|
|
25
27
|
DynamicRoutes: ${setToUnionType(dynamicRoutes)}
|
|
26
28
|
DynamicRouteTemplate: ${setToUnionType(dynamicRouteContextKeys)}
|
|
27
29
|
IsTyped: true
|
|
30
|
+
${hasRoutes ? `RouteTypes: ${generateRouteTypesMap(dynamicRouteContextKeys)}` : ""}
|
|
28
31
|
}
|
|
29
32
|
}
|
|
30
33
|
}
|
|
34
|
+
${hasRoutes ? `
|
|
35
|
+
/**
|
|
36
|
+
* Helper type for route information
|
|
37
|
+
*/
|
|
38
|
+
type RouteInfo<Params = Record<string, never>> = {
|
|
39
|
+
Params: Params
|
|
40
|
+
LoaderProps: { path: string; params: Params; request?: Request }
|
|
41
|
+
}` : ""}
|
|
31
42
|
`.trim();
|
|
32
43
|
}
|
|
44
|
+
function generateRouteTypesMap(dynamicRouteContextKeys) {
|
|
45
|
+
if (dynamicRouteContextKeys.size === 0) return "{}";
|
|
46
|
+
var routes = [...dynamicRouteContextKeys].sort(),
|
|
47
|
+
entries = routes.map(function (routePath) {
|
|
48
|
+
var params = extractParams(routePath),
|
|
49
|
+
paramsType = params.length === 0 ? "{}" : generateInlineParamsType(params);
|
|
50
|
+
return ` '${routePath}': RouteInfo<${paramsType}>`;
|
|
51
|
+
}).join(`
|
|
52
|
+
`);
|
|
53
|
+
return `{
|
|
54
|
+
${entries}
|
|
55
|
+
}`;
|
|
56
|
+
}
|
|
57
|
+
function extractParams(routePath) {
|
|
58
|
+
for (var params = [], paramRegex = /\[(\.\.\.)?([\w]+)\]/g, match; (match = paramRegex.exec(routePath)) !== null;) params.push({
|
|
59
|
+
name: match[2],
|
|
60
|
+
isCatchAll: match[1] === "..."
|
|
61
|
+
});
|
|
62
|
+
return params;
|
|
63
|
+
}
|
|
64
|
+
function generateInlineParamsType(params) {
|
|
65
|
+
var entries = params.map(function (p) {
|
|
66
|
+
var type = p.isCatchAll ? "string[]" : "string";
|
|
67
|
+
return `${p.name}: ${type}`;
|
|
68
|
+
});
|
|
69
|
+
return `{ ${entries.join("; ")} }`;
|
|
70
|
+
}
|
|
33
71
|
function walkRouteNode(routeNode, parentRoutePath, staticRoutes, dynamicRoutes, dynamicRouteContextKeys) {
|
|
34
72
|
if (routeNode) {
|
|
35
73
|
addRouteNode(routeNode, parentRoutePath, staticRoutes, dynamicRoutes, dynamicRouteContextKeys), parentRoutePath = `${removeSupportedExtensions(`${parentRoutePath}/${routeNode.route}`).replace(/\/?index$/, "")}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getRoutes","isTypedRoute","removeSupportedExtensions","CATCH_ALL","SLUG","getTypedRoutesDeclarationFile","ctx","staticRoutes","Set","dynamicRoutes","dynamicRouteContextKeys","walkRouteNode","platformRoutes","ignoreEntryPoints","ignoreRequireErrors","setToUnionType","trim","routeNode","parentRoutePath","addRouteNode","route","replace","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","children","Symbol","iterator","_step","next","done","child","value","err","return","
|
|
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"],"sources":["../../../src/typed-routes/getTypedRoutesDeclarationFile.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
async function injectRouteHelpers(filePath, routePath, mode) {
|
|
4
|
+
if (!existsSync(filePath))
|
|
5
|
+
return !1;
|
|
6
|
+
try {
|
|
7
|
+
let content = await readFile(filePath, "utf-8"), modified = !1;
|
|
8
|
+
const hasTypeRoute = /^type\s+Route\s*=/m.test(content), hasConstRoute = /^const\s+route\s*=/m.test(content);
|
|
9
|
+
if (mode === "runtime" && !hasConstRoute) {
|
|
10
|
+
const { updatedContent } = addCreateRouteImport(content);
|
|
11
|
+
content = updatedContent;
|
|
12
|
+
const routeDeclaration = `const route = createRoute<'${routePath}'>()`;
|
|
13
|
+
content = insertAfterImports(content, routeDeclaration), modified = !0;
|
|
14
|
+
}
|
|
15
|
+
if (mode === "type" && !hasTypeRoute) {
|
|
16
|
+
const { updatedContent } = addRouteTypeImport(content);
|
|
17
|
+
content = updatedContent;
|
|
18
|
+
const typeDeclaration = `type Route = RouteType<'${routePath}'>`;
|
|
19
|
+
content = insertAfterImports(content, typeDeclaration), modified = !0;
|
|
20
|
+
}
|
|
21
|
+
return modified ? (await writeFile(filePath, content, "utf-8"), !0) : !1;
|
|
22
|
+
} catch (error) {
|
|
23
|
+
return console.error(`Failed to inject route helpers into ${filePath}:`, error), !1;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function addCreateRouteImport(content) {
|
|
27
|
+
if (/import\s+[^'"]*createRoute[^'"]*from\s+['"]one['"]/m.test(content))
|
|
28
|
+
return { updatedContent: content, importAdded: !1 };
|
|
29
|
+
const oneImportRegex = /import\s+{([^}]*)}\s+from\s+['"]one['"]/m, match = content.match(oneImportRegex);
|
|
30
|
+
if (match) {
|
|
31
|
+
const existingImports = match[1].trim(), newImports = existingImports ? `${existingImports}, createRoute` : "createRoute";
|
|
32
|
+
return { updatedContent: content.replace(oneImportRegex, `import { ${newImports} } from 'one'`), importAdded: !0 };
|
|
33
|
+
}
|
|
34
|
+
const lastImportIndex = findLastImportIndex(content);
|
|
35
|
+
if (lastImportIndex >= 0) {
|
|
36
|
+
const lines = content.split(`
|
|
37
|
+
`);
|
|
38
|
+
return lines.splice(lastImportIndex + 1, 0, "import { createRoute } from 'one'"), { updatedContent: lines.join(`
|
|
39
|
+
`), importAdded: !0 };
|
|
40
|
+
}
|
|
41
|
+
return { updatedContent: `import { createRoute } from 'one'
|
|
42
|
+
` + content, importAdded: !0 };
|
|
43
|
+
}
|
|
44
|
+
function addRouteTypeImport(content) {
|
|
45
|
+
if (/import\s+type\s+[^'"]*RouteType[^'"]*from\s+['"]one['"]/m.test(content))
|
|
46
|
+
return { updatedContent: content, importAdded: !1 };
|
|
47
|
+
const oneTypeImportRegex = /import\s+type\s+{([^}]*)}\s+from\s+['"]one['"]/m, match = content.match(oneTypeImportRegex);
|
|
48
|
+
if (match) {
|
|
49
|
+
const existingImports = match[1].trim(), newImports = existingImports ? `${existingImports}, RouteType` : "RouteType";
|
|
50
|
+
return { updatedContent: content.replace(
|
|
51
|
+
oneTypeImportRegex,
|
|
52
|
+
`import type { ${newImports} } from 'one'`
|
|
53
|
+
), importAdded: !0 };
|
|
54
|
+
}
|
|
55
|
+
const lastImportIndex = findLastImportIndex(content);
|
|
56
|
+
if (lastImportIndex >= 0) {
|
|
57
|
+
const lines = content.split(`
|
|
58
|
+
`);
|
|
59
|
+
return lines.splice(lastImportIndex + 1, 0, "import type { RouteType } from 'one'"), { updatedContent: lines.join(`
|
|
60
|
+
`), importAdded: !0 };
|
|
61
|
+
}
|
|
62
|
+
return { updatedContent: `import type { RouteType } from 'one'
|
|
63
|
+
` + content, importAdded: !0 };
|
|
64
|
+
}
|
|
65
|
+
function findLastImportIndex(content) {
|
|
66
|
+
const lines = content.split(`
|
|
67
|
+
`);
|
|
68
|
+
let lastImportIndex = -1;
|
|
69
|
+
for (let i = 0; i < lines.length; i++) {
|
|
70
|
+
const line = lines[i].trim();
|
|
71
|
+
if (line.startsWith("import ") || lastImportIndex >= 0 && (line.startsWith("from ") || line === "}"))
|
|
72
|
+
lastImportIndex = i;
|
|
73
|
+
else if (lastImportIndex >= 0 && line && !line.startsWith("//"))
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
return lastImportIndex;
|
|
77
|
+
}
|
|
78
|
+
function insertAfterImports(content, codeToInsert) {
|
|
79
|
+
const lines = content.split(`
|
|
80
|
+
`), lastImportIndex = findLastImportIndex(content);
|
|
81
|
+
return lastImportIndex >= 0 ? (lines[lastImportIndex + 1] === "" ? lines.splice(lastImportIndex + 2, 0, codeToInsert, "") : lines.splice(lastImportIndex + 1, 0, "", codeToInsert, ""), lines.join(`
|
|
82
|
+
`)) : codeToInsert + `
|
|
83
|
+
|
|
84
|
+
` + content;
|
|
85
|
+
}
|
|
86
|
+
export {
|
|
87
|
+
injectRouteHelpers
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=injectRouteHelpers.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/typed-routes/injectRouteHelpers.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
async function injectRouteHelpers(filePath, routePath, mode) {
|
|
4
|
+
if (!existsSync(filePath)) return !1;
|
|
5
|
+
try {
|
|
6
|
+
let content = await readFile(filePath, "utf-8"),
|
|
7
|
+
modified = !1;
|
|
8
|
+
const hasTypeRoute = /^type\s+Route\s*=/m.test(content),
|
|
9
|
+
hasConstRoute = /^const\s+route\s*=/m.test(content);
|
|
10
|
+
if (mode === "runtime" && !hasConstRoute) {
|
|
11
|
+
const {
|
|
12
|
+
updatedContent
|
|
13
|
+
} = addCreateRouteImport(content);
|
|
14
|
+
content = updatedContent;
|
|
15
|
+
const routeDeclaration = `const route = createRoute<'${routePath}'>()`;
|
|
16
|
+
content = insertAfterImports(content, routeDeclaration), modified = !0;
|
|
17
|
+
}
|
|
18
|
+
if (mode === "type" && !hasTypeRoute) {
|
|
19
|
+
const {
|
|
20
|
+
updatedContent
|
|
21
|
+
} = addRouteTypeImport(content);
|
|
22
|
+
content = updatedContent;
|
|
23
|
+
const typeDeclaration = `type Route = RouteType<'${routePath}'>`;
|
|
24
|
+
content = insertAfterImports(content, typeDeclaration), modified = !0;
|
|
25
|
+
}
|
|
26
|
+
return modified ? (await writeFile(filePath, content, "utf-8"), !0) : !1;
|
|
27
|
+
} catch (error) {
|
|
28
|
+
return console.error(`Failed to inject route helpers into ${filePath}:`, error), !1;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function addCreateRouteImport(content) {
|
|
32
|
+
if (/import\s+[^'"]*createRoute[^'"]*from\s+['"]one['"]/m.test(content)) return {
|
|
33
|
+
updatedContent: content,
|
|
34
|
+
importAdded: !1
|
|
35
|
+
};
|
|
36
|
+
const oneImportRegex = /import\s+{([^}]*)}\s+from\s+['"]one['"]/m,
|
|
37
|
+
match = content.match(oneImportRegex);
|
|
38
|
+
if (match) {
|
|
39
|
+
const existingImports = match[1].trim(),
|
|
40
|
+
newImports = existingImports ? `${existingImports}, createRoute` : "createRoute";
|
|
41
|
+
return {
|
|
42
|
+
updatedContent: content.replace(oneImportRegex, `import { ${newImports} } from 'one'`),
|
|
43
|
+
importAdded: !0
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
const lastImportIndex = findLastImportIndex(content);
|
|
47
|
+
if (lastImportIndex >= 0) {
|
|
48
|
+
const lines = content.split(`
|
|
49
|
+
`);
|
|
50
|
+
return lines.splice(lastImportIndex + 1, 0, "import { createRoute } from 'one'"), {
|
|
51
|
+
updatedContent: lines.join(`
|
|
52
|
+
`),
|
|
53
|
+
importAdded: !0
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
updatedContent: `import { createRoute } from 'one'
|
|
58
|
+
` + content,
|
|
59
|
+
importAdded: !0
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function addRouteTypeImport(content) {
|
|
63
|
+
if (/import\s+type\s+[^'"]*RouteType[^'"]*from\s+['"]one['"]/m.test(content)) return {
|
|
64
|
+
updatedContent: content,
|
|
65
|
+
importAdded: !1
|
|
66
|
+
};
|
|
67
|
+
const oneTypeImportRegex = /import\s+type\s+{([^}]*)}\s+from\s+['"]one['"]/m,
|
|
68
|
+
match = content.match(oneTypeImportRegex);
|
|
69
|
+
if (match) {
|
|
70
|
+
const existingImports = match[1].trim(),
|
|
71
|
+
newImports = existingImports ? `${existingImports}, RouteType` : "RouteType";
|
|
72
|
+
return {
|
|
73
|
+
updatedContent: content.replace(oneTypeImportRegex, `import type { ${newImports} } from 'one'`),
|
|
74
|
+
importAdded: !0
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
const lastImportIndex = findLastImportIndex(content);
|
|
78
|
+
if (lastImportIndex >= 0) {
|
|
79
|
+
const lines = content.split(`
|
|
80
|
+
`);
|
|
81
|
+
return lines.splice(lastImportIndex + 1, 0, "import type { RouteType } from 'one'"), {
|
|
82
|
+
updatedContent: lines.join(`
|
|
83
|
+
`),
|
|
84
|
+
importAdded: !0
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
updatedContent: `import type { RouteType } from 'one'
|
|
89
|
+
` + content,
|
|
90
|
+
importAdded: !0
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
function findLastImportIndex(content) {
|
|
94
|
+
const lines = content.split(`
|
|
95
|
+
`);
|
|
96
|
+
let lastImportIndex = -1;
|
|
97
|
+
for (let i = 0; i < lines.length; i++) {
|
|
98
|
+
const line = lines[i].trim();
|
|
99
|
+
if (line.startsWith("import ") || lastImportIndex >= 0 && (line.startsWith("from ") || line === "}")) lastImportIndex = i;else if (lastImportIndex >= 0 && line && !line.startsWith("//")) break;
|
|
100
|
+
}
|
|
101
|
+
return lastImportIndex;
|
|
102
|
+
}
|
|
103
|
+
function insertAfterImports(content, codeToInsert) {
|
|
104
|
+
const lines = content.split(`
|
|
105
|
+
`),
|
|
106
|
+
lastImportIndex = findLastImportIndex(content);
|
|
107
|
+
return lastImportIndex >= 0 ? (lines[lastImportIndex + 1] === "" ? lines.splice(lastImportIndex + 2, 0, codeToInsert, "") : lines.splice(lastImportIndex + 1, 0, "", codeToInsert, ""), lines.join(`
|
|
108
|
+
`)) : codeToInsert + `
|
|
109
|
+
|
|
110
|
+
` + content;
|
|
111
|
+
}
|
|
112
|
+
export { injectRouteHelpers };
|
|
113
|
+
//# sourceMappingURL=injectRouteHelpers.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["readFile","writeFile","existsSync","injectRouteHelpers","filePath","routePath","mode","content","modified","hasTypeRoute","test","hasConstRoute","updatedContent","addCreateRouteImport","routeDeclaration","insertAfterImports","addRouteTypeImport","typeDeclaration","error","console","importAdded","oneImportRegex","match","existingImports","trim","newImports","replace","lastImportIndex","findLastImportIndex","lines","split","splice","join","oneTypeImportRegex","i","length","line","startsWith","codeToInsert"],"sources":["../../../src/typed-routes/injectRouteHelpers.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { readFile, writeFile } from "fs/promises";
|
|
2
|
+
import { existsSync } from "fs";
|
|
3
|
+
async function injectRouteHelpers(filePath, routePath, mode) {
|
|
4
|
+
if (!existsSync(filePath)) return !1;
|
|
5
|
+
try {
|
|
6
|
+
var content = await readFile(filePath, "utf-8"),
|
|
7
|
+
modified = !1,
|
|
8
|
+
hasTypeRoute = /^type\s+Route\s*=/m.test(content),
|
|
9
|
+
hasConstRoute = /^const\s+route\s*=/m.test(content);
|
|
10
|
+
if (mode === "runtime" && !hasConstRoute) {
|
|
11
|
+
var {
|
|
12
|
+
updatedContent
|
|
13
|
+
} = addCreateRouteImport(content);
|
|
14
|
+
content = updatedContent;
|
|
15
|
+
var routeDeclaration = `const route = createRoute<'${routePath}'>()`;
|
|
16
|
+
content = insertAfterImports(content, routeDeclaration), modified = !0;
|
|
17
|
+
}
|
|
18
|
+
if (mode === "type" && !hasTypeRoute) {
|
|
19
|
+
var {
|
|
20
|
+
updatedContent: updatedContent1
|
|
21
|
+
} = addRouteTypeImport(content);
|
|
22
|
+
content = updatedContent1;
|
|
23
|
+
var typeDeclaration = `type Route = RouteType<'${routePath}'>`;
|
|
24
|
+
content = insertAfterImports(content, typeDeclaration), modified = !0;
|
|
25
|
+
}
|
|
26
|
+
return modified ? (await writeFile(filePath, content, "utf-8"), !0) : !1;
|
|
27
|
+
} catch (error) {
|
|
28
|
+
return console.error(`Failed to inject route helpers into ${filePath}:`, error), !1;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function addCreateRouteImport(content) {
|
|
32
|
+
if (/import\s+[^'"]*createRoute[^'"]*from\s+['"]one['"]/m.test(content)) return {
|
|
33
|
+
updatedContent: content,
|
|
34
|
+
importAdded: !1
|
|
35
|
+
};
|
|
36
|
+
var oneImportRegex = /import\s+{([^}]*)}\s+from\s+['"]one['"]/m,
|
|
37
|
+
match = content.match(oneImportRegex);
|
|
38
|
+
if (match) {
|
|
39
|
+
var existingImports = match[1].trim(),
|
|
40
|
+
newImports = existingImports ? `${existingImports}, createRoute` : "createRoute",
|
|
41
|
+
updatedContent = content.replace(oneImportRegex, `import { ${newImports} } from 'one'`);
|
|
42
|
+
return {
|
|
43
|
+
updatedContent,
|
|
44
|
+
importAdded: !0
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
var lastImportIndex = findLastImportIndex(content);
|
|
48
|
+
if (lastImportIndex >= 0) {
|
|
49
|
+
var lines = content.split(`
|
|
50
|
+
`);
|
|
51
|
+
return lines.splice(lastImportIndex + 1, 0, "import { createRoute } from 'one'"), {
|
|
52
|
+
updatedContent: lines.join(`
|
|
53
|
+
`),
|
|
54
|
+
importAdded: !0
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
var newImport = `import { createRoute } from 'one'
|
|
58
|
+
`;
|
|
59
|
+
return {
|
|
60
|
+
updatedContent: newImport + content,
|
|
61
|
+
importAdded: !0
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function addRouteTypeImport(content) {
|
|
65
|
+
if (/import\s+type\s+[^'"]*RouteType[^'"]*from\s+['"]one['"]/m.test(content)) return {
|
|
66
|
+
updatedContent: content,
|
|
67
|
+
importAdded: !1
|
|
68
|
+
};
|
|
69
|
+
var oneTypeImportRegex = /import\s+type\s+{([^}]*)}\s+from\s+['"]one['"]/m,
|
|
70
|
+
match = content.match(oneTypeImportRegex);
|
|
71
|
+
if (match) {
|
|
72
|
+
var existingImports = match[1].trim(),
|
|
73
|
+
newImports = existingImports ? `${existingImports}, RouteType` : "RouteType",
|
|
74
|
+
updatedContent = content.replace(oneTypeImportRegex, `import type { ${newImports} } from 'one'`);
|
|
75
|
+
return {
|
|
76
|
+
updatedContent,
|
|
77
|
+
importAdded: !0
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
var lastImportIndex = findLastImportIndex(content);
|
|
81
|
+
if (lastImportIndex >= 0) {
|
|
82
|
+
var lines = content.split(`
|
|
83
|
+
`);
|
|
84
|
+
return lines.splice(lastImportIndex + 1, 0, "import type { RouteType } from 'one'"), {
|
|
85
|
+
updatedContent: lines.join(`
|
|
86
|
+
`),
|
|
87
|
+
importAdded: !0
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
var newImport = `import type { RouteType } from 'one'
|
|
91
|
+
`;
|
|
92
|
+
return {
|
|
93
|
+
updatedContent: newImport + content,
|
|
94
|
+
importAdded: !0
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
function findLastImportIndex(content) {
|
|
98
|
+
for (var lines = content.split(`
|
|
99
|
+
`), lastImportIndex = -1, i = 0; i < lines.length; i++) {
|
|
100
|
+
var line = lines[i].trim();
|
|
101
|
+
if (line.startsWith("import ") || lastImportIndex >= 0 && (line.startsWith("from ") || line === "}")) lastImportIndex = i;else if (lastImportIndex >= 0 && line && !line.startsWith("//")) break;
|
|
102
|
+
}
|
|
103
|
+
return lastImportIndex;
|
|
104
|
+
}
|
|
105
|
+
function insertAfterImports(content, codeToInsert) {
|
|
106
|
+
var lines = content.split(`
|
|
107
|
+
`),
|
|
108
|
+
lastImportIndex = findLastImportIndex(content);
|
|
109
|
+
if (lastImportIndex >= 0) {
|
|
110
|
+
var nextLine = lines[lastImportIndex + 1],
|
|
111
|
+
hasBlankLine = nextLine === "";
|
|
112
|
+
return hasBlankLine ? lines.splice(lastImportIndex + 2, 0, codeToInsert, "") : lines.splice(lastImportIndex + 1, 0, "", codeToInsert, ""), lines.join(`
|
|
113
|
+
`);
|
|
114
|
+
}
|
|
115
|
+
return codeToInsert + `
|
|
116
|
+
|
|
117
|
+
` + content;
|
|
118
|
+
}
|
|
119
|
+
export { injectRouteHelpers };
|
|
120
|
+
//# sourceMappingURL=injectRouteHelpers.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["readFile","writeFile","existsSync","injectRouteHelpers","filePath","routePath","mode","content","modified","hasTypeRoute","test","hasConstRoute","updatedContent","addCreateRouteImport","routeDeclaration","insertAfterImports","updatedContent1","addRouteTypeImport","typeDeclaration","error","console","importAdded","oneImportRegex","match","existingImports","trim","newImports","replace","lastImportIndex","findLastImportIndex","lines","split","splice","join","newImport","oneTypeImportRegex"],"sources":["../../../src/typed-routes/injectRouteHelpers.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -8,20 +8,27 @@ function getUserOneOptions() {
|
|
|
8
8
|
throw new Error("One not loaded properly, is the one() plugin in your vite.config.ts?");
|
|
9
9
|
return globalThis.__oneOptions;
|
|
10
10
|
}
|
|
11
|
-
async function loadUserOneOptions(command) {
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
command
|
|
11
|
+
async function loadUserOneOptions(command, silent = !1) {
|
|
12
|
+
const originalConsoleError = console.error;
|
|
13
|
+
silent && (console.error = () => {
|
|
15
14
|
});
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
oneOptions
|
|
24
|
-
|
|
15
|
+
try {
|
|
16
|
+
const config = await loadConfigFromFile({
|
|
17
|
+
mode: command === "serve" ? "dev" : "prod",
|
|
18
|
+
command
|
|
19
|
+
});
|
|
20
|
+
if (!config)
|
|
21
|
+
throw new Error(`No config config in ${process.cwd()}. Is this the correct directory?`);
|
|
22
|
+
const oneOptions = getUserOneOptions();
|
|
23
|
+
if (!oneOptions)
|
|
24
|
+
throw new Error("No One plugin config in this vite.config");
|
|
25
|
+
return {
|
|
26
|
+
config,
|
|
27
|
+
oneOptions
|
|
28
|
+
};
|
|
29
|
+
} finally {
|
|
30
|
+
silent && (console.error = originalConsoleError);
|
|
31
|
+
}
|
|
25
32
|
}
|
|
26
33
|
export {
|
|
27
34
|
loadUserOneOptions,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/vite/loadConfig.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,0BAA0B;AACnC,OAAO;AAKA,SAAS,cAAc,MAAyB;AACrD,aAAW,eAAe;AAC5B;AAEA,SAAS,oBAAoB;AAC3B,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,MAAM,sEAAsE;AAExF,SAAO,WAAW;AACpB;AAEA,eAAsB,mBAAmB,SAA4B;
|
|
4
|
+
"mappings": "AAAA,SAAS,0BAA0B;AACnC,OAAO;AAKA,SAAS,cAAc,MAAyB;AACrD,aAAW,eAAe;AAC5B;AAEA,SAAS,oBAAoB;AAC3B,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,MAAM,sEAAsE;AAExF,SAAO,WAAW;AACpB;AAEA,eAAsB,mBAAmB,SAA4B,SAAS,IAAO;AAEnF,QAAM,uBAAuB,QAAQ;AACrC,EAAI,WACF,QAAQ,QAAQ,MAAM;AAAA,EAAC;AAGzB,MAAI;AACF,UAAM,SAAS,MAAM,mBAAmB;AAAA,MACtC,MAAM,YAAY,UAAU,QAAQ;AAAA,MACpC;AAAA,IACF,CAAC;AAED,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,uBAAuB,QAAQ,IAAI,CAAC,kCAAkC;AAGxF,UAAM,aAAa,kBAAkB;AAErC,QAAI,CAAC;AACH,YAAM,IAAI,MAAM,0CAA0C;AAG5D,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF,UAAE;AACA,IAAI,WACF,QAAQ,QAAQ;AAAA,EAEpB;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -7,18 +7,24 @@ function getUserOneOptions() {
|
|
|
7
7
|
if (!globalThis.__oneOptions) throw new Error("One not loaded properly, is the one() plugin in your vite.config.ts?");
|
|
8
8
|
return globalThis.__oneOptions;
|
|
9
9
|
}
|
|
10
|
-
async function loadUserOneOptions(command) {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
oneOptions
|
|
21
|
-
|
|
10
|
+
async function loadUserOneOptions(command, silent = !1) {
|
|
11
|
+
const originalConsoleError = console.error;
|
|
12
|
+
silent && (console.error = () => {});
|
|
13
|
+
try {
|
|
14
|
+
const config = await loadConfigFromFile({
|
|
15
|
+
mode: command === "serve" ? "dev" : "prod",
|
|
16
|
+
command
|
|
17
|
+
});
|
|
18
|
+
if (!config) throw new Error(`No config config in ${process.cwd()}. Is this the correct directory?`);
|
|
19
|
+
const oneOptions = getUserOneOptions();
|
|
20
|
+
if (!oneOptions) throw new Error("No One plugin config in this vite.config");
|
|
21
|
+
return {
|
|
22
|
+
config,
|
|
23
|
+
oneOptions
|
|
24
|
+
};
|
|
25
|
+
} finally {
|
|
26
|
+
silent && (console.error = originalConsoleError);
|
|
27
|
+
}
|
|
22
28
|
}
|
|
23
29
|
export { loadUserOneOptions, setOneOptions };
|
|
24
30
|
//# sourceMappingURL=loadConfig.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["loadConfigFromFile","setOneOptions","next","globalThis","__oneOptions","getUserOneOptions","Error","loadUserOneOptions","command","config","mode","process","cwd","oneOptions"],"sources":["../../../src/vite/loadConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AACnC,OAAO;AAKA,SAASC,cAAcC,IAAA,EAAyB;EACrDC,UAAA,CAAWC,YAAA,GAAeF,IAAA;AAC5B;AAEA,SAASG,kBAAA,EAAoB;EAC3B,IAAI,CAACF,UAAA,CAAWC,YAAA,EACd,MAAM,IAAIE,KAAA,CAAM,sEAAsE;EAExF,OAAOH,UAAA,CAAWC,YAAA;AACpB;AAEA,eAAsBG,mBAAmBC,OAAA,
|
|
1
|
+
{"version":3,"names":["loadConfigFromFile","setOneOptions","next","globalThis","__oneOptions","getUserOneOptions","Error","loadUserOneOptions","command","silent","originalConsoleError","console","error","config","mode","process","cwd","oneOptions"],"sources":["../../../src/vite/loadConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AACnC,OAAO;AAKA,SAASC,cAAcC,IAAA,EAAyB;EACrDC,UAAA,CAAWC,YAAA,GAAeF,IAAA;AAC5B;AAEA,SAASG,kBAAA,EAAoB;EAC3B,IAAI,CAACF,UAAA,CAAWC,YAAA,EACd,MAAM,IAAIE,KAAA,CAAM,sEAAsE;EAExF,OAAOH,UAAA,CAAWC,YAAA;AACpB;AAEA,eAAsBG,mBAAmBC,OAAA,EAA4BC,MAAA,GAAS,IAAO;EAEnF,MAAMC,oBAAA,GAAuBC,OAAA,CAAQC,KAAA;EACjCH,MAAA,KACFE,OAAA,CAAQC,KAAA,GAAQ,MAAM,CAAC;EAGzB,IAAI;IACF,MAAMC,MAAA,GAAS,MAAMb,kBAAA,CAAmB;MACtCc,IAAA,EAAMN,OAAA,KAAY,UAAU,QAAQ;MACpCA;IACF,CAAC;IAED,IAAI,CAACK,MAAA,EACH,MAAM,IAAIP,KAAA,CAAM,uBAAuBS,OAAA,CAAQC,GAAA,CAAI,CAAC,kCAAkC;IAGxF,MAAMC,UAAA,GAAaZ,iBAAA,CAAkB;IAErC,IAAI,CAACY,UAAA,EACH,MAAM,IAAIX,KAAA,CAAM,0CAA0C;IAG5D,OAAO;MACLO,MAAA;MACAI;IACF;EACF,UAAE;IACIR,MAAA,KACFE,OAAA,CAAQC,KAAA,GAAQF,oBAAA;EAEpB;AACF","ignoreList":[]}
|
|
@@ -8,17 +8,24 @@ function getUserOneOptions() {
|
|
|
8
8
|
return globalThis.__oneOptions;
|
|
9
9
|
}
|
|
10
10
|
async function loadUserOneOptions(command) {
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
config
|
|
20
|
-
oneOptions
|
|
21
|
-
|
|
11
|
+
var silent = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1,
|
|
12
|
+
originalConsoleError = console.error;
|
|
13
|
+
silent && (console.error = function () {});
|
|
14
|
+
try {
|
|
15
|
+
var config = await loadConfigFromFile({
|
|
16
|
+
mode: command === "serve" ? "dev" : "prod",
|
|
17
|
+
command
|
|
18
|
+
});
|
|
19
|
+
if (!config) throw new Error(`No config config in ${process.cwd()}. Is this the correct directory?`);
|
|
20
|
+
var oneOptions = getUserOneOptions();
|
|
21
|
+
if (!oneOptions) throw new Error("No One plugin config in this vite.config");
|
|
22
|
+
return {
|
|
23
|
+
config,
|
|
24
|
+
oneOptions
|
|
25
|
+
};
|
|
26
|
+
} finally {
|
|
27
|
+
silent && (console.error = originalConsoleError);
|
|
28
|
+
}
|
|
22
29
|
}
|
|
23
30
|
export { loadUserOneOptions, setOneOptions };
|
|
24
31
|
//# sourceMappingURL=loadConfig.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["loadConfigFromFile","setOneOptions","next","globalThis","__oneOptions","getUserOneOptions","Error","loadUserOneOptions","command","config","mode","process","cwd","oneOptions"],"sources":["../../../src/vite/loadConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AACnC,OAAO;AAKA,SAASC,cAAcC,IAAA,EAAyB;EACrDC,UAAA,CAAWC,YAAA,GAAeF,IAAA;AAC5B;AAEA,SAASG,kBAAA,EAAoB;EAC3B,IAAI,CAACF,UAAA,CAAWC,YAAA,EACd,MAAM,IAAIE,KAAA,CAAM,sEAAsE;EAExF,OAAOH,UAAA,CAAWC,YAAA;AACpB;AAEA,eAAsBG,mBAAmBC,OAAA,EAA4B;
|
|
1
|
+
{"version":3,"names":["loadConfigFromFile","setOneOptions","next","globalThis","__oneOptions","getUserOneOptions","Error","loadUserOneOptions","command","silent","arguments","length","originalConsoleError","console","error","config","mode","process","cwd","oneOptions"],"sources":["../../../src/vite/loadConfig.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,kBAAA,QAA0B;AACnC,OAAO;AAKA,SAASC,cAAcC,IAAA,EAAyB;EACrDC,UAAA,CAAWC,YAAA,GAAeF,IAAA;AAC5B;AAEA,SAASG,kBAAA,EAAoB;EAC3B,IAAI,CAACF,UAAA,CAAWC,YAAA,EACd,MAAM,IAAIE,KAAA,CAAM,sEAAsE;EAExF,OAAOH,UAAA,CAAWC,YAAA;AACpB;AAEA,eAAsBG,mBAAmBC,OAAA,EAA4B;EAEnE,IAAAC,MAAM,GAAAC,SAAA,CAAAC,MAAuB,QAAQD,SAAA,iBAAAA,SAAA;IAAAE,oBAAA,GAAAC,OAAA,CAAAC,KAAA;EACjCL,MAAA,KACFI,OAAA,CAAQC,KAAA,GAAQ,YAAM,CAAC;EAGzB,IAAI;IACF,IAAAC,MAAM,SAASf,kBAAM;MACnBgB,IAAA,EAAMR,OAAA,KAAY,UAAU,QAAQ;MACpCA;IACF,CAAC;IAED,IAAI,CAACO,MAAA,EACH,MAAM,IAAIT,KAAA,CAAM,uBAAuBW,OAAA,CAAQC,GAAA,CAAI,CAAC,kCAAkC;IAGxF,IAAAC,UAAM,GAAAd,iBAAa;IAEnB,IAAI,CAACc,UAAA,EACH,MAAM,IAAIb,KAAA,CAAM,0CAA0C;IAG5D,OAAO;MACLS,MAAA;MACAI;IACF;EACF,UAAE;IACIV,MAAA,KACFI,OAAA,CAAQC,KAAA,GAAQF,oBAAA;EAEpB;AACF","ignoreList":[]}
|
|
@@ -8,11 +8,21 @@ function generateFileSystemRouteTypesPlugin(options) {
|
|
|
8
8
|
enforce: "post",
|
|
9
9
|
apply: "serve",
|
|
10
10
|
configureServer(server) {
|
|
11
|
-
const appDir = join(process.cwd(), getRouterRootFromOneOptions(options)), outFile = join(appDir, "routes.d.ts"), routerRoot = getRouterRootFromOneOptions(options), fileWatcherChangeListener = debounce(async (type, path) => {
|
|
12
|
-
(type === "add" || type === "delete") && path.startsWith(appDir) && generateRouteTypes(
|
|
11
|
+
const appDir = join(process.cwd(), getRouterRootFromOneOptions(options)), outFile = join(appDir, "routes.d.ts"), routerRoot = getRouterRootFromOneOptions(options), typedRoutesGeneration = options.router?.experimental?.typedRoutesGeneration || void 0, fileWatcherChangeListener = debounce(async (type, path) => {
|
|
12
|
+
(type === "add" || type === "delete" || type === "change") && path.startsWith(appDir) && generateRouteTypes(
|
|
13
|
+
outFile,
|
|
14
|
+
routerRoot,
|
|
15
|
+
options.router?.ignoredRouteFiles,
|
|
16
|
+
typedRoutesGeneration
|
|
17
|
+
);
|
|
13
18
|
}, 100);
|
|
14
19
|
return server.watcher.addListener("all", fileWatcherChangeListener), () => {
|
|
15
|
-
generateRouteTypes(
|
|
20
|
+
generateRouteTypes(
|
|
21
|
+
outFile,
|
|
22
|
+
routerRoot,
|
|
23
|
+
options.router?.ignoredRouteFiles,
|
|
24
|
+
typedRoutesGeneration
|
|
25
|
+
);
|
|
16
26
|
};
|
|
17
27
|
}
|
|
18
28
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/vite/plugins/generateFileSystemRouteTypesPlugin.tsx"],
|
|
4
|
-
"mappings": "AAAA,SAAS,YAAY;AACrB,SAAS,gBAAgB;AAEzB,SAAS,0BAA0B;AACnC,SAAS,mCAAmC;AAGrC,SAAS,mCAAmC,SAAoC;AACrF,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IAEP,gBAAgB,QAAQ;AACtB,YAAM,SAAS,KAAK,QAAQ,IAAI,GAAG,4BAA4B,OAAO,CAAC,GAEjE,UAAU,KAAK,QAAQ,aAAa,GAEpC,aAAa,4BAA4B,OAAO,
|
|
4
|
+
"mappings": "AAAA,SAAS,YAAY;AACrB,SAAS,gBAAgB;AAEzB,SAAS,0BAA0B;AACnC,SAAS,mCAAmC;AAGrC,SAAS,mCAAmC,SAAoC;AACrF,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IAEP,gBAAgB,QAAQ;AACtB,YAAM,SAAS,KAAK,QAAQ,IAAI,GAAG,4BAA4B,OAAO,CAAC,GAEjE,UAAU,KAAK,QAAQ,aAAa,GAEpC,aAAa,4BAA4B,OAAO,GAChD,wBAAwB,QAAQ,QAAQ,cAAc,yBAAyB,QAG/E,4BAA4B,SAAS,OAAO,MAAc,SAAiB;AAC/E,SAAI,SAAS,SAAS,SAAS,YAAY,SAAS,aAC9C,KAAK,WAAW,MAAM,KAExB;AAAA,UACE;AAAA,UACA;AAAA,UACA,QAAQ,QAAQ;AAAA,UAChB;AAAA,QACF;AAAA,MAGN,GAAG,GAAG;AAEN,oBAAO,QAAQ,YAAY,OAAO,yBAAyB,GAEpD,MAAM;AAGX;AAAA,UACE;AAAA,UACA;AAAA,UACA,QAAQ,QAAQ;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|