aaex-file-router 1.8.1 → 2.0.0
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 +22 -5
- package/dist/core/RouteGenerator.d.ts +2 -0
- package/dist/core/RouteGenerator.d.ts.map +1 -1
- package/dist/core/RouteGenerator.js +82 -9
- package/dist/core/RouteGenerator.js.map +1 -1
- package/dist/pages/404.d.ts +2 -0
- package/dist/pages/404.d.ts.map +1 -0
- package/dist/pages/404.js +5 -0
- package/dist/pages/404.js.map +1 -0
- package/dist/pages/layout.d.ts +2 -0
- package/dist/pages/layout.d.ts.map +1 -0
- package/dist/pages/layout.js +6 -0
- package/dist/pages/layout.js.map +1 -0
- package/dist/plugin/serverPlugin.d.ts.map +1 -1
- package/dist/plugin/serverPlugin.js +15 -24
- package/dist/plugin/serverPlugin.js.map +1 -1
- package/dist/test/index.js +0 -2
- package/dist/test/index.js.map +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
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.
|
|
5
|
+
## V. 2.0.0
|
|
6
6
|
|
|
7
|
-
Added
|
|
7
|
+
Added support for root layout and 404 pages
|
|
8
8
|
|
|
9
9
|
## Table of Contents
|
|
10
10
|
|
|
@@ -160,7 +160,7 @@ pages/about/index.tsx → "/about"
|
|
|
160
160
|
|
|
161
161
|
### `layout.tsx`
|
|
162
162
|
|
|
163
|
-
Wraps all sibling and nested routes. Children are rendered in an `<Outlet />`.
|
|
163
|
+
Wraps all sibling and nested routes. Children are rendered in an `<Outlet />`. Also works for root layout if placed directly in `/pages`
|
|
164
164
|
|
|
165
165
|
```tsx
|
|
166
166
|
// pages/admin/layout.tsx
|
|
@@ -176,7 +176,24 @@ export default function AdminLayout() {
|
|
|
176
176
|
}
|
|
177
177
|
```
|
|
178
178
|
|
|
179
|
-
###
|
|
179
|
+
### 404.tsx
|
|
180
|
+
|
|
181
|
+
Root & folder level fallback.
|
|
182
|
+
Creating a file named 404.tsx inside the page root or inside a subfolder creates a 404 page for that segment.
|
|
183
|
+
root => /nonexisting
|
|
184
|
+
subfolder ex: blog => blog/nonexisting
|
|
185
|
+
|
|
186
|
+
will render your 404
|
|
187
|
+
|
|
188
|
+
```tsx
|
|
189
|
+
//src/pages/404.tsx
|
|
190
|
+
|
|
191
|
+
export default function NotFound() {
|
|
192
|
+
return <>404 not found!</>;
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
<!-- ### `loading.tsx` (Deprecated)
|
|
180
197
|
|
|
181
198
|
Folder level loading component <br>
|
|
182
199
|
Autmatically gets rendered instead of files waiting on lazy import
|
|
@@ -186,7 +203,7 @@ Autmatically gets rendered instead of files waiting on lazy import
|
|
|
186
203
|
export default function Test() {
|
|
187
204
|
return <div>Loading...</div>;
|
|
188
205
|
}
|
|
189
|
-
```
|
|
206
|
+
``` -->
|
|
190
207
|
|
|
191
208
|
### Slug files
|
|
192
209
|
|
|
@@ -18,6 +18,8 @@ export declare class RouteGenerator {
|
|
|
18
18
|
private addImport;
|
|
19
19
|
/** Generate import name with folder prefix */
|
|
20
20
|
private getPrefixedName;
|
|
21
|
+
/** Checks if a layout file exists root level*/
|
|
22
|
+
private findRootLayout;
|
|
21
23
|
/** Create route object for a directory (may contain layout/loading/children) */
|
|
22
24
|
private createDirectoryRoute;
|
|
23
25
|
/** Create route object for a file */
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;IAKxB,+EAA+E;IAC/E,OAAO,CAAC,oBAAoB;IAI5B,mCAAmC;IACnC,OAAO,CAAC,QAAQ;IAMhB,mDAAmD;IACnD,OAAO,CAAC,SAAS;IAejB,8CAA8C;IAC9C,OAAO,CAAC,eAAe;IA6BvB,+CAA+C;IAC/C,OAAO,CAAC,cAAc;IAWtB,gFAAgF;IAChF,OAAO,CAAC,oBAAoB;IAiD5B,qCAAqC;IACrC,OAAO,CAAC,eAAe;IAsBvB,gEAAgE;IAChE,OAAO,CAAC,gBAAgB;IA0BxB,kDAAkD;IAClD,OAAO,CAAC,YAAY;IA2BpB,yCAAyC;IACzC,OAAO,CAAC,cAAc;IAStB,6EAA6E;IAE7E,OAAO,CAAC,0BAA0B;IAmClC,yDAAyD;IACzD,OAAO,CAAC,qBAAqB;IA0C7B,8DAA8D;IAC9D,OAAO,CAAC,sBAAsB;IAuBvB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM;IA6C7D,iCAAiC;IAC1B,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM;IAwCvD,sDAAsD;IAC/C,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM;CASvD"}
|
|
@@ -5,6 +5,8 @@ export class RouteGenerator {
|
|
|
5
5
|
// ---------------- Helpers ----------------
|
|
6
6
|
/** Convert file/folder name to route segment, replacing [slug] with :slug */
|
|
7
7
|
normalizeSegment(name) {
|
|
8
|
+
if (name.toLowerCase() === "404")
|
|
9
|
+
return "*"; //makes 404 catch all
|
|
8
10
|
return name.replace(/\[([^\]]+)\]/g, ":$1").toLowerCase();
|
|
9
11
|
}
|
|
10
12
|
/** Convert file/folder name to type segment, replacing [slug] with {string} */
|
|
@@ -19,15 +21,23 @@ export class RouteGenerator {
|
|
|
19
21
|
}
|
|
20
22
|
/** Add import statement if not already imported */
|
|
21
23
|
addImport(file, importName) {
|
|
24
|
+
if (importName === "404") {
|
|
25
|
+
importName = "NotFound";
|
|
26
|
+
}
|
|
22
27
|
if (!this.importSet.has(file.relative_path)) {
|
|
23
|
-
const importPath = `./${file.relative_path
|
|
28
|
+
const importPath = `./${file.relative_path
|
|
29
|
+
.replace(/^src[\/\\]/, "")
|
|
30
|
+
.replace(/\.[jt]sx?$/, "")
|
|
31
|
+
.replace(/\/404$/, "/NotFound")}`;
|
|
24
32
|
this.topLevelImports.push(`import ${importName} from '${importPath}';`);
|
|
25
33
|
this.importSet.add(file.relative_path);
|
|
26
34
|
}
|
|
27
35
|
}
|
|
28
36
|
/** Generate import name with folder prefix */
|
|
29
37
|
getPrefixedName(file, parentPath, suffix) {
|
|
30
|
-
const baseName = file.name
|
|
38
|
+
const baseName = file.name
|
|
39
|
+
.replace(/\.[jt]sx?$/, "")
|
|
40
|
+
.replace("404", "NotFound");
|
|
31
41
|
// Only add folder prefix if file is layout or loading
|
|
32
42
|
if (baseName.toLowerCase() === "layout" ||
|
|
33
43
|
baseName.toLowerCase() === "loading") {
|
|
@@ -44,6 +54,10 @@ export class RouteGenerator {
|
|
|
44
54
|
}
|
|
45
55
|
return this.toPascal(baseName) + suffix;
|
|
46
56
|
}
|
|
57
|
+
/** Checks if a layout file exists root level*/
|
|
58
|
+
findRootLayout(files) {
|
|
59
|
+
return (files.find((file) => !file.isDirectory && /^layout\.(tsx|jsx|ts|js)$/i.test(file.name)) ?? null);
|
|
60
|
+
}
|
|
47
61
|
// ---------------- Route Creation ----------------
|
|
48
62
|
/** Create route object for a directory (may contain layout/loading/children) */
|
|
49
63
|
createDirectoryRoute(file, isChild) {
|
|
@@ -86,9 +100,23 @@ export class RouteGenerator {
|
|
|
86
100
|
}
|
|
87
101
|
/** Recursively convert FileNode array into RouteConfig array */
|
|
88
102
|
fileDataToRoutes(files, parentPath = "", isChild = false, folderLoadingName = null) {
|
|
89
|
-
|
|
103
|
+
const routes = files.map((file) => file.isDirectory
|
|
90
104
|
? this.createDirectoryRoute(file, isChild) // pass isChild
|
|
91
105
|
: this.createFileRoute(file, parentPath, isChild, folderLoadingName));
|
|
106
|
+
return routes.sort((a, b) => {
|
|
107
|
+
// not found last
|
|
108
|
+
if (a.path === "*")
|
|
109
|
+
return 1;
|
|
110
|
+
if (b.path === "*")
|
|
111
|
+
return -1;
|
|
112
|
+
//index first
|
|
113
|
+
if (a.path === "")
|
|
114
|
+
return -1;
|
|
115
|
+
if (a.path === "")
|
|
116
|
+
return 1;
|
|
117
|
+
//rest
|
|
118
|
+
return 0;
|
|
119
|
+
});
|
|
92
120
|
}
|
|
93
121
|
// ---------------- TypeScript Route Type Helpers ----------------
|
|
94
122
|
/** Collect all route paths for type generation */
|
|
@@ -104,7 +132,7 @@ export class RouteGenerator {
|
|
|
104
132
|
}
|
|
105
133
|
else {
|
|
106
134
|
const clean = file.name.replace(/\.[jt]sx?$/, "");
|
|
107
|
-
if (clean === "layout" || clean === "loading")
|
|
135
|
+
if (clean === "layout" || clean === "loading" || clean === "404")
|
|
108
136
|
continue;
|
|
109
137
|
if (clean === "index") {
|
|
110
138
|
result.push(prefix || "/");
|
|
@@ -141,9 +169,7 @@ export class RouteGenerator {
|
|
|
141
169
|
!/^loading\.(tsx|jsx|ts|js)$/i.test(f.name));
|
|
142
170
|
if (children?.length) {
|
|
143
171
|
// nested = true for children
|
|
144
|
-
//sorting dosnt work, might need to be moved?
|
|
145
172
|
route.children = this.fileDataToServerRoutes(children, route.path, true);
|
|
146
|
-
route.children.sort((a, b) => a.path === "" ? -1 : b.path === "" ? 1 : 0);
|
|
147
173
|
}
|
|
148
174
|
return route;
|
|
149
175
|
}
|
|
@@ -180,16 +206,48 @@ export class RouteGenerator {
|
|
|
180
206
|
}
|
|
181
207
|
/**Builds routes usable by vite ssr to extend functionality */
|
|
182
208
|
fileDataToServerRoutes(files, parentPath = "", isChild = false) {
|
|
183
|
-
|
|
209
|
+
const routes = files.map((file) => {
|
|
184
210
|
return file.isDirectory
|
|
185
211
|
? this.createServerDirectoryRoute(file, isChild)
|
|
186
212
|
: this.createServerFileRoute(file, parentPath, isChild);
|
|
187
213
|
});
|
|
214
|
+
return routes.sort((a, b) => {
|
|
215
|
+
// not found last
|
|
216
|
+
if (a.path === "*")
|
|
217
|
+
return 1;
|
|
218
|
+
if (b.path === "*")
|
|
219
|
+
return -1;
|
|
220
|
+
//index first
|
|
221
|
+
if (a.path === "")
|
|
222
|
+
return -1;
|
|
223
|
+
if (a.path === "")
|
|
224
|
+
return 1;
|
|
225
|
+
//rest
|
|
226
|
+
return 0;
|
|
227
|
+
});
|
|
188
228
|
}
|
|
189
229
|
generateServerRoutesFile(fileData) {
|
|
190
230
|
this.topLevelImports = [];
|
|
191
231
|
this.importSet.clear();
|
|
192
|
-
const
|
|
232
|
+
const rootLayout = this.findRootLayout(fileData);
|
|
233
|
+
//remove root layout from routes
|
|
234
|
+
const withOutLayout = fileData.filter((f) => f !== rootLayout);
|
|
235
|
+
let routes = this.fileDataToServerRoutes(withOutLayout);
|
|
236
|
+
if (rootLayout) {
|
|
237
|
+
const importName = "RootLayout";
|
|
238
|
+
const restOfRoutes = routes;
|
|
239
|
+
this.addImport(rootLayout, importName);
|
|
240
|
+
routes = [
|
|
241
|
+
{
|
|
242
|
+
path: "",
|
|
243
|
+
element: `React.createElement(${importName})`,
|
|
244
|
+
modulePath: path
|
|
245
|
+
.resolve(process.cwd(), rootLayout.relative_path)
|
|
246
|
+
.replace(/\\/g, "/"),
|
|
247
|
+
children: restOfRoutes,
|
|
248
|
+
},
|
|
249
|
+
];
|
|
250
|
+
}
|
|
193
251
|
return `//* AUTO GENERATED: DO NOT EDIT
|
|
194
252
|
import React from 'react';
|
|
195
253
|
${this.topLevelImports.join("\n")}
|
|
@@ -205,7 +263,22 @@ export default serverRoutes;
|
|
|
205
263
|
generateRoutesFile(fileData) {
|
|
206
264
|
this.topLevelImports = [];
|
|
207
265
|
this.importSet.clear();
|
|
208
|
-
const
|
|
266
|
+
const rootLayout = this.findRootLayout(fileData);
|
|
267
|
+
//remove root layout from routes
|
|
268
|
+
const withOutLayout = fileData.filter((f) => f !== rootLayout);
|
|
269
|
+
let routes = this.fileDataToServerRoutes(withOutLayout);
|
|
270
|
+
if (rootLayout) {
|
|
271
|
+
const importName = "RootLayout";
|
|
272
|
+
const restOfRoutes = routes;
|
|
273
|
+
this.addImport(rootLayout, importName);
|
|
274
|
+
routes = [
|
|
275
|
+
{
|
|
276
|
+
path: "",
|
|
277
|
+
element: `React.createElement(${importName})`,
|
|
278
|
+
children: restOfRoutes,
|
|
279
|
+
},
|
|
280
|
+
];
|
|
281
|
+
}
|
|
209
282
|
return `//* AUTO GENERATED: DO NOT EDIT
|
|
210
283
|
import React from 'react';
|
|
211
284
|
${this.topLevelImports.join("\n")}
|
|
@@ -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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"404.d.ts","sourceRoot":"","sources":["../../src/pages/404.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,QAAQ,4CAE/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"404.js","sourceRoot":"","sources":["../../src/pages/404.tsx"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,UAAU,QAAQ;IAC5B,OAAO,oCAAQ,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/pages/layout.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,MAAM,4CAE7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/pages/layout.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,CAAC,OAAO,UAAU,MAAM;IAC1B,OAAO,KAAC,MAAM,KAAU,CAAA;AAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverPlugin.d.ts","sourceRoot":"","sources":["../../src/plugin/serverPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAM9B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"serverPlugin.d.ts","sourceRoot":"","sources":["../../src/plugin/serverPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAM9B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAiCD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAiCR"}
|
|
@@ -16,13 +16,22 @@ function getRelativeImportPath(fromFile, toDir) {
|
|
|
16
16
|
rel = "./" + rel;
|
|
17
17
|
return rel;
|
|
18
18
|
}
|
|
19
|
+
async function regenerateRoutes(pagesDir, serverOutputAbs) {
|
|
20
|
+
const scanner = new FileScanner(pagesDir);
|
|
21
|
+
const generator = new RouteGenerator();
|
|
22
|
+
const fileData = await scanner.get_file_data();
|
|
23
|
+
const serverRoutesCode = generator.generateServerRoutesFile(fileData);
|
|
24
|
+
const routesType = generator.generateTypesFile(fileData);
|
|
25
|
+
await fs.writeFile(serverOutputAbs, serverRoutesCode, "utf-8");
|
|
26
|
+
await fs.writeFile("src/routeTypes.ts", routesType, "utf-8");
|
|
27
|
+
console.log("[aaex-server-router] Routes generated");
|
|
28
|
+
}
|
|
19
29
|
/**
|
|
20
30
|
* Vite plugin that auto-generates server + client route files
|
|
21
31
|
* whenever files change in the pages directory.
|
|
22
32
|
*/
|
|
23
33
|
export function aaexServerRouter(options = {}) {
|
|
24
34
|
const pagesDir = options.pagesDir || "./src/pages";
|
|
25
|
-
const clientOutputFile = options.clientOutputFile || "./src/client-routes.ts";
|
|
26
35
|
const serverOutputFile = options.serverOutputFile || "./src/server-routes.ts";
|
|
27
36
|
let scanner;
|
|
28
37
|
let generator;
|
|
@@ -34,33 +43,15 @@ export function aaexServerRouter(options = {}) {
|
|
|
34
43
|
generator = new RouteGenerator();
|
|
35
44
|
},
|
|
36
45
|
async configureServer(server) {
|
|
37
|
-
// Convert to absolute paths
|
|
38
46
|
const pagesAbs = path.resolve(process.cwd(), pagesDir);
|
|
39
|
-
const clientOutputAbs = path.resolve(process.cwd(), clientOutputFile);
|
|
40
47
|
const serverOutputAbs = path.resolve(process.cwd(), serverOutputFile);
|
|
41
|
-
//
|
|
48
|
+
//run on server start
|
|
49
|
+
await regenerateRoutes(pagesDir, serverOutputAbs);
|
|
50
|
+
// Regenerate when files are changed
|
|
42
51
|
server.watcher.add(pagesAbs);
|
|
43
|
-
server.watcher.on("all", async (event
|
|
44
|
-
// Only regenerate on add/delete
|
|
52
|
+
server.watcher.on("all", async (event) => {
|
|
45
53
|
if (event === "add" || event === "unlink") {
|
|
46
|
-
|
|
47
|
-
// Re-scan and regenerate route info
|
|
48
|
-
scanner = new FileScanner(pagesDir);
|
|
49
|
-
generator = new RouteGenerator();
|
|
50
|
-
const fileData = await scanner.get_file_data();
|
|
51
|
-
// Generate files using the relative paths
|
|
52
|
-
const routesCode = generator.generateRoutesFile(fileData);
|
|
53
|
-
const serverRoutesCode = generator.generateServerRoutesFile(fileData);
|
|
54
|
-
const routesType = generator.generateTypesFile(fileData);
|
|
55
|
-
// Write to disk
|
|
56
|
-
await fs.writeFile(clientOutputAbs, routesCode, "utf-8");
|
|
57
|
-
await fs.writeFile(serverOutputAbs, serverRoutesCode, "utf-8");
|
|
58
|
-
await fs.writeFile("src/routeTypes.ts", routesType, "utf-8");
|
|
59
|
-
console.log(`[aaex-server-router] Routes regenerated at ${clientOutputFile} & ${serverOutputFile}`);
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
console.error("[aaex-server-router] Error regenerating routes:", error);
|
|
63
|
-
}
|
|
54
|
+
await regenerateRoutes(pagesDir, serverOutputAbs);
|
|
64
55
|
}
|
|
65
56
|
});
|
|
66
57
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverPlugin.js","sourceRoot":"","sources":["../../src/plugin/serverPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQ3D;;;GAGG;AACH,SAAS,qBAAqB,CAAC,QAAgB,EAAE,KAAa;IAC5D,2DAA2D;IAC3D,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;IAEvD,+CAA+C;IAC/C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE9B,kCAAkC;IAClC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;IAE3C,OAAO,GAAG,CAAC;AACb,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"serverPlugin.js","sourceRoot":"","sources":["../../src/plugin/serverPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQ3D;;;GAGG;AACH,SAAS,qBAAqB,CAAC,QAAgB,EAAE,KAAa;IAC5D,2DAA2D;IAC3D,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;IAEvD,+CAA+C;IAC/C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE9B,kCAAkC;IAClC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;IAE3C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,eAAuB;IACvE,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;IAEvC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,SAAS,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEzD,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAE7D,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,UAAmC,EAAE;IAErC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,aAAa,CAAC;IACnD,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,wBAAwB,CAAC;IAE9E,IAAI,OAAoB,CAAC;IACzB,IAAI,SAAyB,CAAC;IAE9B,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,OAAO,EAAE,uBAAuB;QAEvC,cAAc;YACZ,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;YACpC,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,MAAM;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;YACvD,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAEtE,qBAAqB;YACrB,MAAM,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAElD,oCAAoC;YACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE7B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACvC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC1C,MAAM,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/test/index.js
CHANGED
|
@@ -9,12 +9,10 @@ async function generateRoutes() {
|
|
|
9
9
|
const scanner = new FileScanner(pagesDir);
|
|
10
10
|
const fileData = await scanner.get_file_data();
|
|
11
11
|
// console.log(fileData);
|
|
12
|
-
console.dir(fileData, { depth: null });
|
|
13
12
|
const generator = new RouteGenerator();
|
|
14
13
|
const routeMap = generator.generateServerRoutesFile(fileData);
|
|
15
14
|
// console.log("Route map: ", routeMap)
|
|
16
15
|
const routType = generator.generateTypesFile(fileData);
|
|
17
|
-
console.log(routType);
|
|
18
16
|
// console.log(routeMap);
|
|
19
17
|
fs.writeFile("./src/test/output.ts", routeMap, "utf-8", (err) => {
|
|
20
18
|
if (err) {
|
package/dist/test/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,QAAQ,GAAG,YAAY,CAAC;AAE9B,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;QAE/C,yBAAyB;QAEzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,QAAQ,GAAG,YAAY,CAAC;AAE9B,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;QAE/C,yBAAyB;QAEzB,MAAM,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAE9D,uCAAuC;QAEvC,MAAM,QAAQ,GAAG,SAAS,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEvD,yBAAyB;QAEzB,EAAE,CAAC,SAAS,CAAC,sBAAsB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC9D,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,cAAc,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aaex-file-router",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
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",
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
"test": "node ./dist/test/index.js",
|
|
9
9
|
"build": "npx tsc",
|
|
10
10
|
"dev": "npx tsc --watch",
|
|
11
|
-
"release": "npx tsc && npm publish"
|
|
11
|
+
"release": "npx tsc && npm version patch && npm publish",
|
|
12
|
+
"release:minor": "npx tsc && npm version minor && npm publish",
|
|
13
|
+
"release:major": "npx tsc && npm version major && npm publish"
|
|
12
14
|
},
|
|
13
15
|
"keywords": [
|
|
14
16
|
"react",
|