aaex-file-router 1.7.3 → 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.
|
@@ -28,12 +28,16 @@ export declare class RouteGenerator {
|
|
|
28
28
|
private collectPaths;
|
|
29
29
|
/** Build TypeScript union type string */
|
|
30
30
|
private buildTypeUnion;
|
|
31
|
+
/** ---------------- Server specific functions for AaExJS ---------------- */
|
|
31
32
|
private createServerDirectoryRoute;
|
|
33
|
+
/** Creates server route with the module path included */
|
|
32
34
|
private createServerFileRoute;
|
|
33
|
-
/**
|
|
35
|
+
/**Builds routes usable by vite ssr to extend functionality */
|
|
34
36
|
private fileDataToServerRoutes;
|
|
35
37
|
generateServerRoutesFile(fileData: FileNode[]): string;
|
|
38
|
+
/** Generate routes.ts content */
|
|
36
39
|
generateRoutesFile(fileData: FileNode[]): string;
|
|
40
|
+
/** Generate route type file (route paths as union) */
|
|
37
41
|
generateTypesFile(fileData: FileNode[]): string;
|
|
38
42
|
}
|
|
39
43
|
export {};
|
|
@@ -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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import path from "path";
|
|
2
|
-
import React from "react";
|
|
3
2
|
export class RouteGenerator {
|
|
4
3
|
topLevelImports = [];
|
|
5
4
|
importSet = new Set();
|
|
@@ -36,7 +35,7 @@ export class RouteGenerator {
|
|
|
36
35
|
if (segments.toString() === ["src", "pages"].toString()) {
|
|
37
36
|
segments = ["root"];
|
|
38
37
|
}
|
|
39
|
-
return (segments[segments.length - 1] || this.toPascal(baseName)) + suffix;
|
|
38
|
+
return ((segments[segments.length - 1] || this.toPascal(baseName)) + suffix);
|
|
40
39
|
}
|
|
41
40
|
// For normal files, just PascalCase without suffix
|
|
42
41
|
if (baseName.toLowerCase() === "index" && parentPath) {
|
|
@@ -54,7 +53,7 @@ export class RouteGenerator {
|
|
|
54
53
|
if (layoutFile) {
|
|
55
54
|
layoutName = this.getPrefixedName(layoutFile, file.relative_path, "Layout");
|
|
56
55
|
this.addImport(layoutFile, layoutName);
|
|
57
|
-
route.element = React.createElement(
|
|
56
|
+
route.element = `React.createElement(${layoutName})`;
|
|
58
57
|
}
|
|
59
58
|
const loadingFile = file.children?.find((f) => /^loading\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
60
59
|
let loadingName = null;
|
|
@@ -65,6 +64,7 @@ export class RouteGenerator {
|
|
|
65
64
|
const children = file.children?.filter((f) => !/^layout\.(tsx|jsx|ts|js)$/i.test(f.name) &&
|
|
66
65
|
!/^loading\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
67
66
|
if (children?.length) {
|
|
67
|
+
// nested = true for children
|
|
68
68
|
route.children = this.fileDataToRoutes(children, route.path, true, loadingName);
|
|
69
69
|
}
|
|
70
70
|
return route;
|
|
@@ -80,14 +80,14 @@ export class RouteGenerator {
|
|
|
80
80
|
this.addImport(file, importName);
|
|
81
81
|
return {
|
|
82
82
|
path: pathSegment,
|
|
83
|
-
element: React.createElement(
|
|
83
|
+
element: `React.createElement(${importName})`,
|
|
84
84
|
};
|
|
85
|
+
// ---------------- Route Recursion ----------------
|
|
85
86
|
}
|
|
86
|
-
// ---------------- Route Recursion ----------------
|
|
87
87
|
/** Recursively convert FileNode array into RouteConfig array */
|
|
88
88
|
fileDataToRoutes(files, parentPath = "", isChild = false, folderLoadingName = null) {
|
|
89
89
|
return files.map((file) => file.isDirectory
|
|
90
|
-
? this.createDirectoryRoute(file, isChild)
|
|
90
|
+
? this.createDirectoryRoute(file, isChild) // pass isChild
|
|
91
91
|
: this.createFileRoute(file, parentPath, isChild, folderLoadingName));
|
|
92
92
|
}
|
|
93
93
|
// ---------------- TypeScript Route Type Helpers ----------------
|
|
@@ -122,9 +122,9 @@ export class RouteGenerator {
|
|
|
122
122
|
.map((p) => p.replace(/\/+/g, "/"))
|
|
123
123
|
.map((p) => (p === "" ? "/" : p))
|
|
124
124
|
.sort();
|
|
125
|
-
return normalized.map((p) => `"${p}"`).join("
|
|
125
|
+
return normalized.map((p) => ` | "${p}"`).join("\n");
|
|
126
126
|
}
|
|
127
|
-
|
|
127
|
+
/** ---------------- Server specific functions for AaExJS ---------------- */
|
|
128
128
|
createServerDirectoryRoute(file, isChild) {
|
|
129
129
|
const route = { path: this.normalizeSegment(file.name) };
|
|
130
130
|
const layoutFile = file.children?.find((f) => /^layout\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
@@ -132,57 +132,81 @@ export class RouteGenerator {
|
|
|
132
132
|
if (layoutFile) {
|
|
133
133
|
layoutName = this.getPrefixedName(layoutFile, file.relative_path, "Layout");
|
|
134
134
|
this.addImport(layoutFile, layoutName);
|
|
135
|
-
route.element = React.createElement(
|
|
136
|
-
route.modulePath = path
|
|
135
|
+
route.element = `React.createElement(${layoutName})`;
|
|
136
|
+
route.modulePath = path
|
|
137
|
+
.resolve(process.cwd(), layoutFile.relative_path)
|
|
138
|
+
.replace(/\\/g, "/");
|
|
137
139
|
}
|
|
138
|
-
const children = file.children?.filter((f) => !/^layout\.(tsx|jsx|ts|js)$/i.test(f.name) &&
|
|
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));
|
|
139
142
|
if (children?.length) {
|
|
143
|
+
// nested = true for children
|
|
144
|
+
//sorting dosnt work, might need to be moved?
|
|
140
145
|
route.children = this.fileDataToServerRoutes(children, route.path, true);
|
|
141
|
-
route.children.sort((a, b) =>
|
|
146
|
+
route.children.sort((a, b) => a.path === "" ? -1 : b.path === "" ? 1 : 0);
|
|
142
147
|
}
|
|
143
148
|
return route;
|
|
144
149
|
}
|
|
150
|
+
/** Creates server route with the module path included */
|
|
145
151
|
createServerFileRoute(file, parentPath, isChild) {
|
|
146
|
-
const
|
|
152
|
+
const fileName = file.name;
|
|
153
|
+
// Build route path
|
|
154
|
+
const nameWithoutExt = fileName.replace(/\.[jt]sx?$/, "");
|
|
147
155
|
const isIndex = nameWithoutExt.toLowerCase() === "index";
|
|
156
|
+
// const isRootLayout = nameWithoutExt.toLowerCase() === "rootlayout"
|
|
148
157
|
let pathSegment = isIndex ? "" : this.normalizeSegment(nameWithoutExt);
|
|
149
|
-
if (!isChild && parentPath)
|
|
158
|
+
if (!isChild && parentPath) {
|
|
150
159
|
pathSegment = `${parentPath}/${pathSegment}`;
|
|
160
|
+
}
|
|
161
|
+
// Get import identifier
|
|
151
162
|
const importName = this.getPrefixedName(file, parentPath, "");
|
|
163
|
+
// Static import for server
|
|
152
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
|
|
153
172
|
const absolutePath = path.resolve(process.cwd(), file.relative_path);
|
|
173
|
+
// Normalize for Node ESM (Windows requires forward slashes)
|
|
154
174
|
const normalizedAbsolutePath = absolutePath.replace(/\\/g, "/");
|
|
155
175
|
return {
|
|
156
176
|
path: pathSegment,
|
|
157
|
-
element: React.createElement(
|
|
177
|
+
element: `React.createElement(${importName})`,
|
|
158
178
|
modulePath: normalizedAbsolutePath,
|
|
159
179
|
};
|
|
160
180
|
}
|
|
161
|
-
/**
|
|
181
|
+
/**Builds routes usable by vite ssr to extend functionality */
|
|
162
182
|
fileDataToServerRoutes(files, parentPath = "", isChild = false) {
|
|
163
|
-
return files.map((file) =>
|
|
164
|
-
|
|
165
|
-
|
|
183
|
+
return files.map((file) => {
|
|
184
|
+
return file.isDirectory
|
|
185
|
+
? this.createServerDirectoryRoute(file, isChild)
|
|
186
|
+
: this.createServerFileRoute(file, parentPath, isChild);
|
|
187
|
+
});
|
|
166
188
|
}
|
|
167
189
|
generateServerRoutesFile(fileData) {
|
|
168
190
|
this.topLevelImports = [];
|
|
169
191
|
this.importSet.clear();
|
|
170
192
|
const routes = this.fileDataToServerRoutes(fileData);
|
|
171
|
-
return
|
|
193
|
+
return `//* AUTO GENERATED: DO NOT EDIT
|
|
172
194
|
import React from 'react';
|
|
173
195
|
${this.topLevelImports.join("\n")}
|
|
174
196
|
|
|
175
|
-
|
|
197
|
+
|
|
198
|
+
const serverRoutes: any[] = ${JSON.stringify(routes, null, 2).replace(/"React\.createElement\(([\s\S]*?)\)"/g, (_, inner) => `${inner}`)};
|
|
176
199
|
|
|
177
200
|
export default serverRoutes;
|
|
178
201
|
`;
|
|
179
202
|
}
|
|
180
203
|
// ---------------- PUBLIC METHODS ----------------
|
|
204
|
+
/** Generate routes.ts content */
|
|
181
205
|
generateRoutesFile(fileData) {
|
|
182
206
|
this.topLevelImports = [];
|
|
183
207
|
this.importSet.clear();
|
|
184
208
|
const routes = this.fileDataToRoutes(fileData);
|
|
185
|
-
return
|
|
209
|
+
return `//* AUTO GENERATED: DO NOT EDIT
|
|
186
210
|
import React from 'react';
|
|
187
211
|
${this.topLevelImports.join("\n")}
|
|
188
212
|
import type { RouteObject } from 'react-router-dom';
|
|
@@ -192,11 +216,13 @@ const routes: RouteObject[] = ${JSON.stringify(routes, null, 2).replace(/"React\
|
|
|
192
216
|
export default routes;
|
|
193
217
|
`;
|
|
194
218
|
}
|
|
219
|
+
/** Generate route type file (route paths as union) */
|
|
195
220
|
generateTypesFile(fileData) {
|
|
196
221
|
const paths = this.collectPaths(fileData, "");
|
|
197
222
|
const union = this.buildTypeUnion(paths);
|
|
198
223
|
return `// AUTO-GENERATED: DO NOT EDIT
|
|
199
|
-
export type FileRoutes =
|
|
224
|
+
export type FileRoutes =
|
|
225
|
+
${union};
|
|
200
226
|
`;
|
|
201
227
|
}
|
|
202
228
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteGenerator.js","sourceRoot":"","sources":["../../src/core/RouteGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
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",
|