@@ -21,72 +21,37 @@ const loadConfig = (endpointsFile) => {
21
21
}
22
22
} ;
23
23
24
- const createEndpoints = ( destDir , fileName , config ) => {
24
+ const createEndpoints = async ( destDir , fileName , config ) => {
25
25
console . log ( 'Generate' , fileName ) ;
26
26
const resultFile = path . join ( destDir , fileName ) ;
27
27
28
28
for ( let endpoint of config ) {
29
29
console . log ( 'GET' , endpoint . path , '=>' , endpoint . get ) ;
30
30
}
31
31
32
- const template = `const express = require('express')
33
- const mysql = require('mysql')
34
-
35
- const app = express()
36
- app.set('x-powered-by', false)
37
-
38
- const pool = mysql.createPool({
39
- connectionLimit: 2,
40
- host: process.env.DB_HOST,
41
- user: process.env.DB_USER,
42
- password: process.env.DB_PASSWORD,
43
- database: process.env.DB_NAME
44
- })
45
-
46
- <% endpoints.forEach(function(endpoint) { %>
47
- app.get('<%- endpoint.path %>', (req, res) => {
48
- pool.query('<%= endpoint.get %>', (err, rows, fields) => {
49
- if (err) {
50
- throw err
51
- }
52
- res.json(rows[0])
32
+ const resultedCode = await ejs . renderFile (
33
+ __dirname + '/templates/app.js.ejs' ,
34
+ {
35
+ "endpoints" : config
53
36
} )
54
- })
55
- <% }); %>
56
-
57
- app.listen(3000, () => {
58
- console.log('Listen on 3000')
59
- })\n` . replace ( / ^ / gm, '' ) ;
60
-
61
- const resultedCode = ejs . render ( template , {
62
- "endpoints" : config
63
- } ) ;
37
+ ;
64
38
65
39
fs . writeFileSync ( resultFile , resultedCode ) ;
66
40
} ;
67
41
68
- const createPackageJson = ( destDir , fileName ) => {
42
+ const createPackageJson = async ( destDir , fileName ) => {
69
43
console . log ( 'Generate' , fileName ) ;
70
44
71
45
const resultFile = path . join ( destDir , fileName ) ;
72
46
const projectName = path . basename ( destDir ) ;
73
47
console . log ( 'Project name:' , projectName ) ;
74
48
75
- const template = `{
76
- "name": "<%- projectName %>",
77
- "version": "1.0.0",
78
- "scripts": {
79
- "start": "node app.js"
80
- },
81
- "dependencies": {
82
- "express": "~4.17.1",
83
- "mysql": "~2.18.1"
84
- }
85
- }\n` . replace ( / ^ / gm, '' ) ;
86
-
87
- const minimalPackageJson = ejs . render ( template , {
88
- projectName
89
- } ) ;
49
+ const minimalPackageJson = await ejs . renderFile (
50
+ __dirname + '/templates/package.json.ejs' ,
51
+ {
52
+ projectName
53
+ }
54
+ ) ;
90
55
91
56
fs . writeFileSync ( resultFile , minimalPackageJson ) ;
92
57
} ;
0 commit comments