@@ -21,72 +21,37 @@ const loadConfig = (endpointsFile) => {
2121 }
2222} ;
2323
24- const createEndpoints = ( destDir , fileName , config ) => {
24+ const createEndpoints = async ( destDir , fileName , config ) => {
2525 console . log ( 'Generate' , fileName ) ;
2626 const resultFile = path . join ( destDir , fileName ) ;
2727
2828 for ( let endpoint of config ) {
2929 console . log ( 'GET' , endpoint . path , '=>' , endpoint . get ) ;
3030 }
3131
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
5336 } )
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+ ;
6438
6539 fs . writeFileSync ( resultFile , resultedCode ) ;
6640} ;
6741
68- const createPackageJson = ( destDir , fileName ) => {
42+ const createPackageJson = async ( destDir , fileName ) => {
6943 console . log ( 'Generate' , fileName ) ;
7044
7145 const resultFile = path . join ( destDir , fileName ) ;
7246 const projectName = path . basename ( destDir ) ;
7347 console . log ( 'Project name:' , projectName ) ;
7448
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+ ) ;
9055
9156 fs . writeFileSync ( resultFile , minimalPackageJson ) ;
9257} ;
0 commit comments