File tree Expand file tree Collapse file tree 3 files changed +40
-12
lines changed Expand file tree Collapse file tree 3 files changed +40
-12
lines changed Original file line number Diff line number Diff line change 1
1
# next-routes-list
2
+
2
3
Easy generate all available routes in Next.js .
3
4
4
5
## Support
6
+
5
7
- [x] App routes
6
8
- [x] Page routes
7
9
8
10
## Install
11
+
9
12
``` bash
10
13
npm install --save-dev next-routes-list@latest
11
14
```
@@ -15,14 +18,17 @@ npm install --save-dev next-routes-list@latest
15
18
### 1. Run script
16
19
17
20
add script to ` package.json ` :
21
+
18
22
``` json
19
23
{
20
24
"script" : {
21
25
"generate-next-routes-list" : " generate-next-routes-list"
22
26
}
23
27
}
24
28
```
29
+
25
30
If you use ` src ` directory:
31
+
26
32
``` json
27
33
{
28
34
"script" : {
@@ -32,15 +38,17 @@ If you use `src` directory:
32
38
```
33
39
34
40
then run npm script:
41
+
35
42
``` shell
36
43
npm run generate-next-routes-list
37
44
```
38
45
39
46
### 2. Import routes
47
+
40
48
``` ts
41
- import { routes } from ' next-routes-list'
49
+ import { routes } from " next-routes-list" ;
42
50
43
- console .log (routes )
51
+ console .log (routes );
44
52
/**
45
53
[
46
54
'/',
@@ -51,8 +59,16 @@ console.log(routes)
51
59
*/
52
60
```
53
61
62
+ ## Options
63
+
64
+ | Option | Type | Description | Example |
65
+ | ------ | ------ | ------------------------------- | -------------------------------------------- |
66
+ | ` -o ` | string | set the output routes file path | ` npx generate-next-routes-list -o routes.ts ` |
67
+
54
68
## Example
69
+
55
70
next projct is [ here] ( ./test/next-project/ ) , generate result is: [ here] ( ./test/routes.js ) .
56
71
57
72
## Contribute
73
+
58
74
feel free to contribute anything or report any issues.
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " next-routes-list" ,
3
- "version" : " 1.1.5 " ,
3
+ "version" : " 1.2.0 " ,
4
4
"description" : " generate next all routes list" ,
5
5
"keywords" : [
6
6
" next" ,
25
25
"scripts" : {
26
26
"build" : " rm -rf dist && tsc" ,
27
27
"prepublishOnly" : " npm run build" ,
28
- "test" : " npm run build && cd test/next-project && node ../../dist/generate.js && node -e ' JSON.stringify(require(\" ../routes.js\" ).routes)===JSON.stringify(require(\" ../../dist/routes.js\" ).routes) ? console.log(\" app route test succeeded\" ) : throw new Error(\" app route test failed\" )' "
28
+ "test" : " npm run build && cd test/next-project && node ../../dist/generate.js && node -e \" if ( JSON.stringify(require(' ../routes.js' ).routes) === JSON.stringify(require(' ../../dist/routes.js' ).routes)) { console.log('Test succeeded'); } else { throw new Error('Test failed'); } \" "
29
29
},
30
30
"dependencies" : {
31
31
"list-paths" : " 1.0.2"
Original file line number Diff line number Diff line change @@ -6,19 +6,31 @@ const routes = getNextRoutes();
6
6
7
7
// write to file
8
8
const templatePath = `${ process . argv [ 1 ] ! . replace ( "/.bin" , "" )
9
- . replace ( / \/ n e x t - r o u t e s - l i s t \/ .* / g, "/next-routes-list" )
10
- . replace (
11
- / \/ g e n e r a t e - n e x t - r o u t e s - l i s t \/ * .* / g,
12
- "/next-routes-list"
13
- ) } /dist/routes.js`;
9
+ . replace ( / \/ n e x t - r o u t e s - l i s t \/ .* / g, "/next-routes-list" )
10
+ . replace (
11
+ / \/ g e n e r a t e - n e x t - r o u t e s - l i s t \/ * .* / g,
12
+ "/next-routes-list"
13
+ ) } /dist/routes.js`;
14
14
15
15
const templateString = fs . readFileSync ( templatePath , "utf-8" ) ;
16
16
17
17
const newTemplateString = templateString . replace (
18
- "const routes = [];" ,
19
- `const routes = ${ JSON . stringify ( routes ) } ;`
18
+ "const routes = [];" ,
19
+ `const routes = ${ JSON . stringify ( routes ) } ;`
20
20
) ;
21
21
22
22
fs . writeFileSync ( templatePath , newTemplateString ) ;
23
23
24
- console . log ( "Routes list generated successfully!" ) ;
24
+ console . log ( "✅ Routes list generated successfully!" ) ;
25
+
26
+ // -o options
27
+ if ( process . argv [ 2 ] === "-o" ) {
28
+ const outputPath = process . argv [ 3 ] ;
29
+ if ( outputPath ) {
30
+ fs . writeFileSync (
31
+ outputPath ,
32
+ `export const routes = ${ JSON . stringify ( routes ) } ;`
33
+ ) ;
34
+ console . log ( `✅ Routes list saved to ${ outputPath } ` ) ;
35
+ }
36
+ }
You can’t perform that action at this time.
0 commit comments