@@ -5,10 +5,24 @@ const ejs = require('ejs');
5
5
const fs = require ( 'fs' ) ;
6
6
const path = require ( 'path' ) ;
7
7
8
+ const parseArgs = require ( 'minimist' ) ;
9
+
8
10
const endpointsFile = 'endpoints.yaml' ;
9
11
const appFile = 'app.js' ;
10
12
const routesFile = 'routes.js' ;
11
13
14
+ const parseCommandLineArgs = ( args ) => {
15
+ const opts = {
16
+ 'string' : [ 'lang' ] ,
17
+ 'default' : {
18
+ 'lang' : 'js'
19
+ }
20
+ } ;
21
+ const argv = parseArgs ( args , opts ) ;
22
+ //console.debug('argv:', argv);
23
+ return argv ;
24
+ }
25
+
12
26
const loadConfig = ( endpointsFile ) => {
13
27
console . log ( 'Read' , endpointsFile ) ;
14
28
try {
@@ -108,9 +122,11 @@ const createPackageJson = async (destDir, fileName) => {
108
122
fs . writeFileSync ( resultFile , minimalPackageJson ) ;
109
123
} ;
110
124
125
+ const argv = parseCommandLineArgs ( process . argv . slice ( 2 ) ) ;
126
+
111
127
const config = loadConfig ( endpointsFile ) ;
112
128
113
- let [ , , destDir = '.' ] = process . argv ;
129
+ let destDir = argv . _ . length > 0 ? argv . _ [ 0 ] : '.' ;
114
130
destDir = path . resolve ( process . cwd ( ) , destDir ) ;
115
131
console . log ( 'Destination directory:' , destDir )
116
132
@@ -119,14 +135,18 @@ if (!fs.existsSync(destDir)) {
119
135
fs . mkdirSync ( destDir , { recursive : true } ) ;
120
136
}
121
137
122
- createApp ( destDir , appFile , config ) ;
123
- createEndpoints ( destDir , routesFile , config ) ;
124
- createPackageJson ( destDir , 'package.json' ) ;
138
+ if ( argv . lang === 'js' ) {
139
+ createApp ( destDir , appFile , config ) ;
140
+ createEndpoints ( destDir , routesFile , config ) ;
141
+ createPackageJson ( destDir , 'package.json' ) ;
142
+ }
125
143
126
- console . info ( `The application has been generated!
127
- Use
144
+ console . info ( 'The application has been generated!' )
145
+ if ( argv . lang === 'js' ) {
146
+ console . info ( `Use
128
147
npm install
129
148
to install its dependencies and
130
149
export DB_NAME=db DB_USER=user DB_PASSWORD=secret
131
150
npm start
132
151
afteward to run it` ) ;
152
+ }
0 commit comments