File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1212 ],
1313 "scripts" : {
1414 "start" : " tsc && node ./bin/recife-cli project my-project-name" ,
15+ "cli" : " tsc && node ./bin/recife-cli" ,
1516 "build" : " tsc -p ."
1617 },
1718 "bin" : {
Original file line number Diff line number Diff line change 1+ import fs from 'fs' ;
2+ import path from 'path' ;
3+ import commander from 'commander' ;
4+ import capitalize from '../utils/capitalize' ;
5+ import replaceMask from '../utils/replaceMask' ;
6+
7+ let controllerName : string = '' ;
8+
9+ commander
10+ . name ( `recife-cli controller` )
11+ . arguments ( '<controller-name>' )
12+ . action ( name => ( controllerName = name ) )
13+ . allowUnknownOption ( false )
14+ . parse ( process . argv ) ;
15+
16+ if ( controllerName ) {
17+ controllerName = capitalize (
18+ controllerName . replace ( / C o n t r o l l e r | \. t s | \. j s / g, '' )
19+ ) ;
20+
21+ controllerName += 'Controller' ;
22+
23+ const source = path . join ( __dirname , '/../../templates/controller/template' ) ;
24+ const target = path . join (
25+ process . cwd ( ) ,
26+ 'src/controllers' ,
27+ `${ controllerName } .ts`
28+ ) ;
29+
30+ try {
31+ const contentFile = fs . readFileSync ( source ) . toString ( ) ;
32+ fs . writeFileSync (
33+ target ,
34+ replaceMask ( contentFile , { name : controllerName } )
35+ ) ;
36+ } catch ( err ) {
37+ console . log ( `\x1b[31m${ err } \x1b[0m` ) ;
38+ }
39+ } else {
40+ console . error ( '\x1b[31mSpecify the name controller.' , '\x1b[0m' ) ;
41+ console . log ( ` For example: recife-cli controller UserController` ) ;
42+ console . log ( ` Run recife-cli --help for more information\n` ) ;
43+ }
Original file line number Diff line number Diff line change 1+ const capitalize = ( string : string ) => {
2+ return string . charAt ( 0 ) . toUpperCase ( ) + string . slice ( 1 ) ;
3+ } ;
4+
5+ export default capitalize ;
Original file line number Diff line number Diff line change 1+ const replaceMask = ( content : string , values : any ) : string => {
2+ Object . keys ( values ) . map ( key => {
3+ content = content . split ( `[[${ key } ]]` ) . join ( values [ key ] ) ;
4+ } ) ;
5+ return content ;
6+ } ;
7+
8+ export default replaceMask ;
Original file line number Diff line number Diff line change 1+ import { Query, Mutation } from 'recife';
2+
3+ class [[name]] {
4+ constructor() {
5+ //
6+ }
7+ }
8+
9+ export default [[name]];
You can’t perform that action at this time.
0 commit comments