1
1
import chalk from "chalk" ;
2
+ import handlebars from "handlebars" ;
3
+ import hbh_comparison from "handlebars-helpers/lib/comparison" ;
2
4
import BaseGenerator from "./BaseGenerator" ;
3
5
4
6
export default class NextGenerator extends BaseGenerator {
@@ -15,8 +17,9 @@ export default class NextGenerator extends BaseGenerator {
15
17
"components/foo/Form.tsx" ,
16
18
17
19
// types
18
- "types/Collection .ts" ,
20
+ "types/collection .ts" ,
19
21
"types/foo.ts" ,
22
+ "types/item.ts" ,
20
23
21
24
// pages
22
25
"pages/foos/[id]/index.tsx" ,
@@ -28,6 +31,8 @@ export default class NextGenerator extends BaseGenerator {
28
31
"utils/dataAccess.ts" ,
29
32
"utils/mercure.ts" ,
30
33
] ) ;
34
+
35
+ handlebars . registerHelper ( "compare" , hbh_comparison . compare ) ;
31
36
}
32
37
33
38
help ( resource ) {
@@ -66,22 +71,25 @@ export default class NextGenerator extends BaseGenerator {
66
71
67
72
// Copy with patterned name
68
73
this . createDir ( `${ dir } /components/${ context . lc } ` ) ;
69
- this . createDir ( `${ dir } /pages/${ context . lc } s ` ) ;
70
- this . createDir ( `${ dir } /pages/${ context . lc } s /[id]` ) ;
74
+ this . createDir ( `${ dir } /pages/${ context . name } ` ) ;
75
+ this . createDir ( `${ dir } /pages/${ context . name } /[id]` ) ;
71
76
[
72
77
// components
73
78
"components/%s/List.tsx" ,
74
79
"components/%s/Show.tsx" ,
75
80
"components/%s/Form.tsx" ,
76
-
77
- // pages
78
- "pages/%ss/[id]/index.tsx" ,
79
- "pages/%ss/[id]/edit.tsx" ,
80
- "pages/%ss/index.tsx" ,
81
- "pages/%ss/create.tsx" ,
82
81
] . forEach ( ( pattern ) =>
83
82
this . createFileFromPattern ( pattern , dir , context . lc , context )
84
83
) ;
84
+ [
85
+ // pages
86
+ "pages/%s/[id]/index.tsx" ,
87
+ "pages/%s/[id]/edit.tsx" ,
88
+ "pages/%s/index.tsx" ,
89
+ "pages/%s/create.tsx" ,
90
+ ] . forEach ( ( pattern ) =>
91
+ this . createFileFromPattern ( pattern , dir , context . name , context , "foos" )
92
+ ) ;
85
93
86
94
// interface pattern should be camel cased
87
95
this . createFile ( "types/foo.ts" , `${ dir } /types/${ context . ucf } .ts` , context ) ;
@@ -93,7 +101,8 @@ export default class NextGenerator extends BaseGenerator {
93
101
"components/common/ReferenceLinks.tsx" ,
94
102
95
103
// types
96
- "types/Collection.ts" ,
104
+ "types/collection.ts" ,
105
+ "types/item.ts" ,
97
106
98
107
// utils
99
108
"utils/dataAccess.ts" ,
0 commit comments