|
2 | 2 |
|
3 | 3 | const yaml = require('js-yaml'); |
4 | 4 | const fs = require('fs'); |
| 5 | +const path = require('path'); |
5 | 6 |
|
6 | 7 | const endpointsFile = 'endpoints.yaml'; |
7 | 8 | const resultFile = 'app.js'; |
@@ -41,5 +42,31 @@ const createEndpoints = (config, resultFile) => { |
41 | 42 | fs.writeFileSync(resultFile, resultedCode); |
42 | 43 | }; |
43 | 44 |
|
| 45 | +const createPackageJson = (destDir, fileName) => { |
| 46 | + console.log('Generate', fileName); |
| 47 | + |
| 48 | + const resultFile = path.join(destDir, fileName); |
| 49 | + const projectName = path.basename(destDir); |
| 50 | + console.log('Project name:', projectName); |
| 51 | + |
| 52 | + const minimalPackageJson = `{ |
| 53 | + "name": "${projectName}", |
| 54 | + "version": "1.0.0", |
| 55 | + "scripts": { |
| 56 | + "start": "node app.js" |
| 57 | + }, |
| 58 | + "dependencies": { |
| 59 | + "express": "~4.17.1" |
| 60 | + } |
| 61 | + }\n`.replace(/^ /gm, ''); |
| 62 | + |
| 63 | + fs.writeFileSync(resultFile, minimalPackageJson); |
| 64 | +}; |
| 65 | + |
44 | 66 | const config = loadConfig(endpointsFile); |
45 | 67 | createEndpoints(config, resultFile); |
| 68 | + |
| 69 | +const destDir = process.cwd(); |
| 70 | +createPackageJson(destDir, 'package.json'); |
| 71 | + |
| 72 | +console.info('The application has been generated!\nUse\n npm install\nto install its dependencies and\n npm start\nafteward to run it'); |
0 commit comments