11import chalk from "chalk" ;
2+ import handlebars from "handlebars" ;
3+ import hbh_comparison from "handlebars-helpers/lib/comparison" ;
24import BaseGenerator from "./BaseGenerator" ;
35
46export default class NextGenerator extends BaseGenerator {
@@ -15,8 +17,9 @@ export default class NextGenerator extends BaseGenerator {
1517 "components/foo/Form.tsx" ,
1618
1719 // types
18- "types/Collection .ts" ,
20+ "types/collection .ts" ,
1921 "types/foo.ts" ,
22+ "types/item.ts" ,
2023
2124 // pages
2225 "pages/foos/[id]/index.tsx" ,
@@ -28,6 +31,8 @@ export default class NextGenerator extends BaseGenerator {
2831 "utils/dataAccess.ts" ,
2932 "utils/mercure.ts" ,
3033 ] ) ;
34+
35+ handlebars . registerHelper ( "compare" , hbh_comparison . compare ) ;
3136 }
3237
3338 help ( resource ) {
@@ -66,22 +71,25 @@ export default class NextGenerator extends BaseGenerator {
6671
6772 // Copy with patterned name
6873 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]` ) ;
7176 [
7277 // components
7378 "components/%s/List.tsx" ,
7479 "components/%s/Show.tsx" ,
7580 "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" ,
8281 ] . forEach ( ( pattern ) =>
8382 this . createFileFromPattern ( pattern , dir , context . lc , context )
8483 ) ;
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+ ) ;
8593
8694 // interface pattern should be camel cased
8795 this . createFile ( "types/foo.ts" , `${ dir } /types/${ context . ucf } .ts` , context ) ;
@@ -93,7 +101,8 @@ export default class NextGenerator extends BaseGenerator {
93101 "components/common/ReferenceLinks.tsx" ,
94102
95103 // types
96- "types/Collection.ts" ,
104+ "types/collection.ts" ,
105+ "types/item.ts" ,
97106
98107 // utils
99108 "utils/dataAccess.ts" ,
0 commit comments