aaex-file-router 1.7.2 → 1.7.4
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/README.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
A file-based routing system for React projects that automatically generates routes from your file structure. Similar to Next.js App Router or Remix file conventions.
|
|
4
4
|
|
|
5
|
-
## V. 1.7.
|
|
6
|
-
|
|
5
|
+
## V. 1.7.3
|
|
6
|
+
Removed the 404 and root layout support since it was implemented wrong and broke
|
|
7
7
|
## Table of Contents
|
|
8
8
|
|
|
9
9
|
- [Features](#features)
|
|
@@ -8,23 +8,37 @@ interface FileNode {
|
|
|
8
8
|
export declare class RouteGenerator {
|
|
9
9
|
private topLevelImports;
|
|
10
10
|
private importSet;
|
|
11
|
+
/** Convert file/folder name to route segment, replacing [slug] with :slug */
|
|
11
12
|
private normalizeSegment;
|
|
13
|
+
/** Convert file/folder name to type segment, replacing [slug] with {string} */
|
|
12
14
|
private normalizeTypeSegment;
|
|
15
|
+
/** Convert string to PascalCase */
|
|
13
16
|
private toPascal;
|
|
17
|
+
/** Add import statement if not already imported */
|
|
14
18
|
private addImport;
|
|
19
|
+
/** Generate import name with folder prefix */
|
|
15
20
|
private getPrefixedName;
|
|
21
|
+
/** Create route object for a directory (may contain layout/loading/children) */
|
|
16
22
|
private createDirectoryRoute;
|
|
23
|
+
/** Create route object for a file */
|
|
17
24
|
private createFileRoute;
|
|
25
|
+
/** Recursively convert FileNode array into RouteConfig array */
|
|
18
26
|
private fileDataToRoutes;
|
|
19
|
-
/**
|
|
20
|
-
generateRoutesFile(fileData: FileNode[]): string;
|
|
21
|
-
/** Generate SSR server routes */
|
|
22
|
-
generateServerRoutesFile(fileData: FileNode[]): string;
|
|
23
|
-
/** Recursively generate SSR routes for folders/files */
|
|
24
|
-
private fileDataToServerRoutes;
|
|
25
|
-
generateTypesFile(fileData: FileNode[]): string;
|
|
27
|
+
/** Collect all route paths for type generation */
|
|
26
28
|
private collectPaths;
|
|
29
|
+
/** Build TypeScript union type string */
|
|
27
30
|
private buildTypeUnion;
|
|
31
|
+
/** ---------------- Server specific functions for AaExJS ---------------- */
|
|
32
|
+
private createServerDirectoryRoute;
|
|
33
|
+
/** Creates server route with the module path included */
|
|
34
|
+
private createServerFileRoute;
|
|
35
|
+
/**Builds routes usable by vite ssr to extend functionality */
|
|
36
|
+
private fileDataToServerRoutes;
|
|
37
|
+
generateServerRoutesFile(fileData: FileNode[]): string;
|
|
38
|
+
/** Generate routes.ts content */
|
|
39
|
+
generateRoutesFile(fileData: FileNode[]): string;
|
|
40
|
+
/** Generate route type file (route paths as union) */
|
|
41
|
+
generateTypesFile(fileData: FileNode[]): string;
|
|
28
42
|
}
|
|
29
43
|
export {};
|
|
30
44
|
//# sourceMappingURL=RouteGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteGenerator.d.ts","sourceRoot":"","sources":["../../src/core/RouteGenerator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RouteGenerator.d.ts","sourceRoot":"","sources":["../../src/core/RouteGenerator.ts"],"names":[],"mappings":"AAYA,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,SAAS,CAA0B;IAI3C,6EAA6E;IAC7E,OAAO,CAAC,gBAAgB;IAIxB,+EAA+E;IAC/E,OAAO,CAAC,oBAAoB;IAI5B,mCAAmC;IACnC,OAAO,CAAC,QAAQ;IAMhB,mDAAmD;IACnD,OAAO,CAAC,SAAS;IAQjB,8CAA8C;IAC9C,OAAO,CAAC,eAAe;IA6BvB,gFAAgF;IAChF,OAAO,CAAC,oBAAoB;IAiD5B,qCAAqC;IACrC,OAAO,CAAC,eAAe;IAsBvB,gEAAgE;IAChE,OAAO,CAAC,gBAAgB;IAexB,kDAAkD;IAClD,OAAO,CAAC,YAAY;IA0BpB,yCAAyC;IACzC,OAAO,CAAC,cAAc;IAStB,6EAA6E;IAE7E,OAAO,CAAC,0BAA0B;IAwClC,yDAAyD;IACzD,OAAO,CAAC,qBAAqB;IA0C7B,8DAA8D;IAC9D,OAAO,CAAC,sBAAsB;IAYvB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM;IAsB7D,iCAAiC;IAC1B,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM;IAoBvD,sDAAsD;IAC/C,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM;CASvD"}
|
|
@@ -3,17 +3,21 @@ export class RouteGenerator {
|
|
|
3
3
|
topLevelImports = [];
|
|
4
4
|
importSet = new Set();
|
|
5
5
|
// ---------------- Helpers ----------------
|
|
6
|
+
/** Convert file/folder name to route segment, replacing [slug] with :slug */
|
|
6
7
|
normalizeSegment(name) {
|
|
7
8
|
return name.replace(/\[([^\]]+)\]/g, ":$1").toLowerCase();
|
|
8
9
|
}
|
|
10
|
+
/** Convert file/folder name to type segment, replacing [slug] with {string} */
|
|
9
11
|
normalizeTypeSegment(name) {
|
|
10
12
|
return name.replace(/\[([^\]]+)\]/g, "{string}");
|
|
11
13
|
}
|
|
14
|
+
/** Convert string to PascalCase */
|
|
12
15
|
toPascal(str) {
|
|
13
16
|
return str
|
|
14
17
|
.replace(/\[|\]/g, "")
|
|
15
18
|
.replace(/(^\w|[-_]\w)/g, (m) => m.replace(/[-_]/, "").toUpperCase());
|
|
16
19
|
}
|
|
20
|
+
/** Add import statement if not already imported */
|
|
17
21
|
addImport(file, importName) {
|
|
18
22
|
if (!this.importSet.has(file.relative_path)) {
|
|
19
23
|
const importPath = `./${file.relative_path.replace(/^src[\/\\]/, "")}`;
|
|
@@ -21,48 +25,51 @@ export class RouteGenerator {
|
|
|
21
25
|
this.importSet.add(file.relative_path);
|
|
22
26
|
}
|
|
23
27
|
}
|
|
28
|
+
/** Generate import name with folder prefix */
|
|
24
29
|
getPrefixedName(file, parentPath, suffix) {
|
|
25
30
|
const baseName = file.name.replace(/\.[jt]sx?$/, "");
|
|
31
|
+
// Only add folder prefix if file is layout or loading
|
|
26
32
|
if (baseName.toLowerCase() === "layout" ||
|
|
27
33
|
baseName.toLowerCase() === "loading") {
|
|
28
34
|
let segments = parentPath.split("/").filter(Boolean).map(this.toPascal);
|
|
29
|
-
if (segments.toString() === ["src", "pages"].toString())
|
|
35
|
+
if (segments.toString() === ["src", "pages"].toString()) {
|
|
30
36
|
segments = ["root"];
|
|
37
|
+
}
|
|
31
38
|
return ((segments[segments.length - 1] || this.toPascal(baseName)) + suffix);
|
|
32
39
|
}
|
|
40
|
+
// For normal files, just PascalCase without suffix
|
|
33
41
|
if (baseName.toLowerCase() === "index" && parentPath) {
|
|
34
42
|
const segments = parentPath.split("/").filter(Boolean).map(this.toPascal);
|
|
35
|
-
return segments.join("") + suffix;
|
|
43
|
+
return segments.join("") + suffix; // optional suffix for index if needed
|
|
36
44
|
}
|
|
37
45
|
return this.toPascal(baseName) + suffix;
|
|
38
46
|
}
|
|
39
47
|
// ---------------- Route Creation ----------------
|
|
48
|
+
/** Create route object for a directory (may contain layout/loading/children) */
|
|
40
49
|
createDirectoryRoute(file, isChild) {
|
|
41
50
|
const route = { path: this.normalizeSegment(file.name) };
|
|
42
51
|
const layoutFile = file.children?.find((f) => /^layout\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
52
|
+
let layoutName = null;
|
|
43
53
|
if (layoutFile) {
|
|
44
|
-
|
|
54
|
+
layoutName = this.getPrefixedName(layoutFile, file.relative_path, "Layout");
|
|
45
55
|
this.addImport(layoutFile, layoutName);
|
|
46
56
|
route.element = `React.createElement(${layoutName})`;
|
|
47
57
|
}
|
|
58
|
+
const loadingFile = file.children?.find((f) => /^loading\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
59
|
+
let loadingName = null;
|
|
60
|
+
if (loadingFile) {
|
|
61
|
+
loadingName = this.getPrefixedName(loadingFile, file.relative_path, "Loading");
|
|
62
|
+
this.addImport(loadingFile, loadingName);
|
|
63
|
+
}
|
|
48
64
|
const children = file.children?.filter((f) => !/^layout\.(tsx|jsx|ts|js)$/i.test(f.name) &&
|
|
49
|
-
!/^
|
|
65
|
+
!/^loading\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
50
66
|
if (children?.length) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
// Folder 404
|
|
54
|
-
const errorFile = file.children?.find((f) => /^404\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
55
|
-
if (errorFile) {
|
|
56
|
-
const errorName = this.getPrefixedName(errorFile, file.relative_path, "404");
|
|
57
|
-
this.addImport(errorFile, errorName);
|
|
58
|
-
route.children = route.children || [];
|
|
59
|
-
route.children.push({
|
|
60
|
-
path: "*",
|
|
61
|
-
element: `React.createElement(${errorName})`,
|
|
62
|
-
});
|
|
67
|
+
// nested = true for children
|
|
68
|
+
route.children = this.fileDataToRoutes(children, route.path, true, loadingName);
|
|
63
69
|
}
|
|
64
70
|
return route;
|
|
65
71
|
}
|
|
72
|
+
/** Create route object for a file */
|
|
66
73
|
createFileRoute(file, parentPath, isChild, folderLoadingName) {
|
|
67
74
|
const nameWithoutExt = file.name.replace(/\.[jt]sx?$/, "");
|
|
68
75
|
const isIndex = nameWithoutExt.toLowerCase() === "index";
|
|
@@ -75,152 +82,16 @@ export class RouteGenerator {
|
|
|
75
82
|
path: pathSegment,
|
|
76
83
|
element: `React.createElement(${importName})`,
|
|
77
84
|
};
|
|
85
|
+
// ---------------- Route Recursion ----------------
|
|
78
86
|
}
|
|
87
|
+
/** Recursively convert FileNode array into RouteConfig array */
|
|
79
88
|
fileDataToRoutes(files, parentPath = "", isChild = false, folderLoadingName = null) {
|
|
80
89
|
return files.map((file) => file.isDirectory
|
|
81
|
-
? this.createDirectoryRoute(file, isChild)
|
|
90
|
+
? this.createDirectoryRoute(file, isChild) // pass isChild
|
|
82
91
|
: this.createFileRoute(file, parentPath, isChild, folderLoadingName));
|
|
83
92
|
}
|
|
84
|
-
// ----------------
|
|
85
|
-
/**
|
|
86
|
-
generateRoutesFile(fileData) {
|
|
87
|
-
this.topLevelImports = [];
|
|
88
|
-
this.importSet.clear();
|
|
89
|
-
const rootLayoutFile = fileData.find((f) => /^layout\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
90
|
-
const root404File = fileData.find((f) => /^404\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
91
|
-
let rootElement = "React.Fragment";
|
|
92
|
-
if (rootLayoutFile) {
|
|
93
|
-
const layoutName = this.getPrefixedName(rootLayoutFile, "", "Layout");
|
|
94
|
-
this.addImport(rootLayoutFile, layoutName);
|
|
95
|
-
rootElement = layoutName;
|
|
96
|
-
}
|
|
97
|
-
const normalFiles = fileData.filter((f) => !/^layout\.(tsx|jsx|ts|js)$/i.test(f.name) &&
|
|
98
|
-
!/^404\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
99
|
-
const routes = this.fileDataToRoutes(normalFiles);
|
|
100
|
-
if (root404File) {
|
|
101
|
-
const errorName = this.getPrefixedName(root404File, "", "404");
|
|
102
|
-
this.addImport(root404File, errorName);
|
|
103
|
-
routes.push({ path: "*", element: `React.createElement(${errorName})` });
|
|
104
|
-
}
|
|
105
|
-
return `//* AUTO GENERATED: DO NOT EDIT
|
|
106
|
-
import React from 'react';
|
|
107
|
-
${this.topLevelImports.join("\n")}
|
|
108
|
-
import type { RouteObject } from 'react-router-dom';
|
|
109
|
-
|
|
110
|
-
const routes: RouteObject[] = [
|
|
111
|
-
{
|
|
112
|
-
path: "/",
|
|
113
|
-
element: React.createElement(${rootElement}),
|
|
114
|
-
children: ${JSON.stringify(routes, null, 2).replace(/"React\.createElement\(([\s\S]*?)\)"/g, (_, inner) => `React.createElement(${inner})`)}
|
|
115
|
-
}
|
|
116
|
-
];
|
|
117
|
-
|
|
118
|
-
export default routes;
|
|
119
|
-
`;
|
|
120
|
-
}
|
|
121
|
-
/** Generate SSR server routes */
|
|
122
|
-
generateServerRoutesFile(fileData) {
|
|
123
|
-
this.topLevelImports = [];
|
|
124
|
-
this.importSet.clear();
|
|
125
|
-
const rootLayoutFile = fileData.find((f) => /^layout\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
126
|
-
const root404File = fileData.find((f) => /^404\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
127
|
-
const normalFiles = fileData.filter((f) => !/^layout\.(tsx|jsx|ts|js)$/i.test(f.name) &&
|
|
128
|
-
!/^404\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
129
|
-
const routes = this.fileDataToServerRoutes(normalFiles);
|
|
130
|
-
let rootRoute = {
|
|
131
|
-
path: "/",
|
|
132
|
-
children: routes,
|
|
133
|
-
};
|
|
134
|
-
if (rootLayoutFile) {
|
|
135
|
-
const layoutName = this.getPrefixedName(rootLayoutFile, "", "Layout");
|
|
136
|
-
this.addImport(rootLayoutFile, layoutName);
|
|
137
|
-
rootRoute.element = `React.createElement(${layoutName})`;
|
|
138
|
-
}
|
|
139
|
-
if (root404File) {
|
|
140
|
-
const errorName = this.getPrefixedName(root404File, "", "NotFound");
|
|
141
|
-
this.addImport(root404File, errorName);
|
|
142
|
-
routes.push({
|
|
143
|
-
path: "*",
|
|
144
|
-
element: `React.createElement(${errorName})`,
|
|
145
|
-
modulePath: path
|
|
146
|
-
.resolve(process.cwd(), root404File.relative_path)
|
|
147
|
-
.replace(/\\/g, "/"),
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
return `//* AUTO GENERATED: DO NOT EDIT
|
|
151
|
-
import React from 'react';
|
|
152
|
-
${this.topLevelImports.join("\n")}
|
|
153
|
-
|
|
154
|
-
const serverRoutes: any[] = [
|
|
155
|
-
${JSON.stringify([rootRoute], null, 2).replace(/"React\.createElement\(([\s\S]*?)\)"/g, (_, inner) => `React.createElement(${inner})`)}
|
|
156
|
-
];
|
|
157
|
-
|
|
158
|
-
export default serverRoutes;
|
|
159
|
-
`;
|
|
160
|
-
}
|
|
161
|
-
/** Recursively generate SSR routes for folders/files */
|
|
162
|
-
fileDataToServerRoutes(files, parentPath = "", isChild = false) {
|
|
163
|
-
return files.map((file) => {
|
|
164
|
-
if (file.isDirectory) {
|
|
165
|
-
const route = {
|
|
166
|
-
path: this.normalizeSegment(file.name),
|
|
167
|
-
};
|
|
168
|
-
const layoutFile = file.children?.find((f) => /^layout\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
169
|
-
if (layoutFile) {
|
|
170
|
-
const layoutName = this.getPrefixedName(layoutFile, file.relative_path, "Layout");
|
|
171
|
-
this.addImport(layoutFile, layoutName);
|
|
172
|
-
route.element = `React.createElement(${layoutName})`;
|
|
173
|
-
route.modulePath = path
|
|
174
|
-
.resolve(process.cwd(), layoutFile.relative_path)
|
|
175
|
-
.replace(/\\/g, "/");
|
|
176
|
-
}
|
|
177
|
-
const children = file.children?.filter((f) => !/^layout\.(tsx|jsx|ts|js)$/i.test(f.name) &&
|
|
178
|
-
!/^404\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
179
|
-
if (children?.length) {
|
|
180
|
-
route.children = this.fileDataToServerRoutes(children, route.path, true);
|
|
181
|
-
}
|
|
182
|
-
const errorFile = file.children?.find((f) => /^404\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
183
|
-
if (errorFile) {
|
|
184
|
-
const errorName = this.getPrefixedName(errorFile, file.relative_path, "NotFound");
|
|
185
|
-
this.addImport(errorFile, errorName);
|
|
186
|
-
route.children = route.children || [];
|
|
187
|
-
route.children.push({
|
|
188
|
-
path: "*",
|
|
189
|
-
element: `React.createElement(${errorName})`,
|
|
190
|
-
modulePath: path
|
|
191
|
-
.resolve(process.cwd(), errorFile.relative_path)
|
|
192
|
-
.replace(/\\/g, "/"),
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
return route;
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
const nameWithoutExt = file.name.replace(/\.[jt]sx?$/, "");
|
|
199
|
-
const isIndex = nameWithoutExt.toLowerCase() === "index";
|
|
200
|
-
let pathSegment = isIndex ? "" : this.normalizeSegment(nameWithoutExt);
|
|
201
|
-
if (!isChild && parentPath)
|
|
202
|
-
pathSegment = `${parentPath}/${pathSegment}`;
|
|
203
|
-
const importName = this.getPrefixedName(file, parentPath, "");
|
|
204
|
-
this.addImport(file, importName);
|
|
205
|
-
return {
|
|
206
|
-
path: pathSegment,
|
|
207
|
-
element: `React.createElement(${importName})`,
|
|
208
|
-
modulePath: path
|
|
209
|
-
.resolve(process.cwd(), file.relative_path)
|
|
210
|
-
.replace(/\\/g, "/"),
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
// ---------------- TypeScript Route Types ----------------
|
|
216
|
-
generateTypesFile(fileData) {
|
|
217
|
-
const paths = this.collectPaths(fileData, "");
|
|
218
|
-
const union = this.buildTypeUnion(paths);
|
|
219
|
-
return `// AUTO-GENERATED: DO NOT EDIT
|
|
220
|
-
export type FileRoutes =
|
|
221
|
-
${union};
|
|
222
|
-
`;
|
|
223
|
-
}
|
|
93
|
+
// ---------------- TypeScript Route Type Helpers ----------------
|
|
94
|
+
/** Collect all route paths for type generation */
|
|
224
95
|
collectPaths(files, prefix = "") {
|
|
225
96
|
let result = [];
|
|
226
97
|
for (const file of files) {
|
|
@@ -245,6 +116,7 @@ ${union};
|
|
|
245
116
|
}
|
|
246
117
|
return result;
|
|
247
118
|
}
|
|
119
|
+
/** Build TypeScript union type string */
|
|
248
120
|
buildTypeUnion(paths) {
|
|
249
121
|
const normalized = [...new Set(paths)]
|
|
250
122
|
.map((p) => p.replace(/\/+/g, "/"))
|
|
@@ -252,5 +124,106 @@ ${union};
|
|
|
252
124
|
.sort();
|
|
253
125
|
return normalized.map((p) => ` | "${p}"`).join("\n");
|
|
254
126
|
}
|
|
127
|
+
/** ---------------- Server specific functions for AaExJS ---------------- */
|
|
128
|
+
createServerDirectoryRoute(file, isChild) {
|
|
129
|
+
const route = { path: this.normalizeSegment(file.name) };
|
|
130
|
+
const layoutFile = file.children?.find((f) => /^layout\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
131
|
+
let layoutName = null;
|
|
132
|
+
if (layoutFile) {
|
|
133
|
+
layoutName = this.getPrefixedName(layoutFile, file.relative_path, "Layout");
|
|
134
|
+
this.addImport(layoutFile, layoutName);
|
|
135
|
+
route.element = `React.createElement(${layoutName})`;
|
|
136
|
+
route.modulePath = path
|
|
137
|
+
.resolve(process.cwd(), layoutFile.relative_path)
|
|
138
|
+
.replace(/\\/g, "/");
|
|
139
|
+
}
|
|
140
|
+
const children = file.children?.filter((f) => !/^layout\.(tsx|jsx|ts|js)$/i.test(f.name) &&
|
|
141
|
+
!/^loading\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
142
|
+
if (children?.length) {
|
|
143
|
+
// nested = true for children
|
|
144
|
+
//sorting dosnt work, might need to be moved?
|
|
145
|
+
route.children = this.fileDataToServerRoutes(children, route.path, true);
|
|
146
|
+
route.children.sort((a, b) => a.path === "" ? -1 : b.path === "" ? 1 : 0);
|
|
147
|
+
}
|
|
148
|
+
return route;
|
|
149
|
+
}
|
|
150
|
+
/** Creates server route with the module path included */
|
|
151
|
+
createServerFileRoute(file, parentPath, isChild) {
|
|
152
|
+
const fileName = file.name;
|
|
153
|
+
// Build route path
|
|
154
|
+
const nameWithoutExt = fileName.replace(/\.[jt]sx?$/, "");
|
|
155
|
+
const isIndex = nameWithoutExt.toLowerCase() === "index";
|
|
156
|
+
// const isRootLayout = nameWithoutExt.toLowerCase() === "rootlayout"
|
|
157
|
+
let pathSegment = isIndex ? "" : this.normalizeSegment(nameWithoutExt);
|
|
158
|
+
if (!isChild && parentPath) {
|
|
159
|
+
pathSegment = `${parentPath}/${pathSegment}`;
|
|
160
|
+
}
|
|
161
|
+
// Get import identifier
|
|
162
|
+
const importName = this.getPrefixedName(file, parentPath, "");
|
|
163
|
+
// Static import for server
|
|
164
|
+
this.addImport(file, importName);
|
|
165
|
+
// Create ABSOLUTE FILE PATH
|
|
166
|
+
//
|
|
167
|
+
// Example:
|
|
168
|
+
// projectRoot = /Users/me/myapp
|
|
169
|
+
// file.relative_path = src/pages/test/index.tsx
|
|
170
|
+
//
|
|
171
|
+
// → /Users/me/myapp/src/pages/test/index.tsx
|
|
172
|
+
const absolutePath = path.resolve(process.cwd(), file.relative_path);
|
|
173
|
+
// Normalize for Node ESM (Windows requires forward slashes)
|
|
174
|
+
const normalizedAbsolutePath = absolutePath.replace(/\\/g, "/");
|
|
175
|
+
return {
|
|
176
|
+
path: pathSegment,
|
|
177
|
+
element: `React.createElement(${importName})`,
|
|
178
|
+
modulePath: normalizedAbsolutePath,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
/**Builds routes usable by vite ssr to extend functionality */
|
|
182
|
+
fileDataToServerRoutes(files, parentPath = "", isChild = false) {
|
|
183
|
+
return files.map((file) => {
|
|
184
|
+
return file.isDirectory
|
|
185
|
+
? this.createServerDirectoryRoute(file, isChild)
|
|
186
|
+
: this.createServerFileRoute(file, parentPath, isChild);
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
generateServerRoutesFile(fileData) {
|
|
190
|
+
this.topLevelImports = [];
|
|
191
|
+
this.importSet.clear();
|
|
192
|
+
const routes = this.fileDataToServerRoutes(fileData);
|
|
193
|
+
return `//* AUTO GENERATED: DO NOT EDIT
|
|
194
|
+
import React from 'react';
|
|
195
|
+
${this.topLevelImports.join("\n")}
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
const serverRoutes: any[] = ${JSON.stringify(routes, null, 2).replace(/"React\.createElement\(([\s\S]*?)\)"/g, (_, inner) => `${inner}`)};
|
|
199
|
+
|
|
200
|
+
export default serverRoutes;
|
|
201
|
+
`;
|
|
202
|
+
}
|
|
203
|
+
// ---------------- PUBLIC METHODS ----------------
|
|
204
|
+
/** Generate routes.ts content */
|
|
205
|
+
generateRoutesFile(fileData) {
|
|
206
|
+
this.topLevelImports = [];
|
|
207
|
+
this.importSet.clear();
|
|
208
|
+
const routes = this.fileDataToRoutes(fileData);
|
|
209
|
+
return `//* AUTO GENERATED: DO NOT EDIT
|
|
210
|
+
import React from 'react';
|
|
211
|
+
${this.topLevelImports.join("\n")}
|
|
212
|
+
import type { RouteObject } from 'react-router-dom';
|
|
213
|
+
|
|
214
|
+
const routes: RouteObject[] = ${JSON.stringify(routes, null, 2).replace(/"React\.createElement\(([\s\S]*?)\)"/g, (_, inner) => `React.createElement(${inner})`)};
|
|
215
|
+
|
|
216
|
+
export default routes;
|
|
217
|
+
`;
|
|
218
|
+
}
|
|
219
|
+
/** Generate route type file (route paths as union) */
|
|
220
|
+
generateTypesFile(fileData) {
|
|
221
|
+
const paths = this.collectPaths(fileData, "");
|
|
222
|
+
const union = this.buildTypeUnion(paths);
|
|
223
|
+
return `// AUTO-GENERATED: DO NOT EDIT
|
|
224
|
+
export type FileRoutes =
|
|
225
|
+
${union};
|
|
226
|
+
`;
|
|
227
|
+
}
|
|
255
228
|
}
|
|
256
229
|
//# sourceMappingURL=RouteGenerator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteGenerator.js","sourceRoot":"","sources":["../../src/core/RouteGenerator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RouteGenerator.js","sourceRoot":"","sources":["../../src/core/RouteGenerator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aaex-file-router",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.4",
|
|
4
4
|
"description": "A file-based routing system for React projects that automatically generates routes from your file structure. Similar to Next.js App Router or Remix file conventions.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|