@@ -3,7 +3,7 @@ const { join, sep, resolve } = require('node:path')
3
3
const os = require ( 'os' )
4
4
const { mkdirSync, readFile } = require ( 'fs' )
5
5
const { cwd, chdir, exit, platform } = require ( 'node:process' )
6
- const { existsSync, statSync, readdirSync, writeFileSync, readFileSync } = require ( 'node:fs' ) ;
6
+ const { existsSync, statSync, readdirSync, writeFileSync, readFileSync, rmSync } = require ( 'node:fs' ) ;
7
7
let { exec, spawn } = require ( 'node:child_process' ) ;
8
8
const { writeFile } = require ( 'node:fs/promises' ) ;
9
9
const assets = require ( './assets' )
@@ -1117,14 +1117,17 @@ const injectService = async ({ project_root, answers, workspace_name }) => {
1117
1117
// Generate mcs service using helper function
1118
1118
generateMCSHelper ( { project_root, answers : { ...answers , project_base : workspace_name } } ) ;
1119
1119
1120
+ // add license to package.json
1121
+ const { license } = readFileContent ( { currentDir : cwd ( ) } )
1122
+
1120
1123
// Create service directory
1121
1124
const service_path = join ( project_root , 'microservices' , answers . service_name ) ;
1122
1125
await mkdirSync ( service_path , { recursive : true } ) ;
1123
1126
1124
1127
// Create package.json for the service
1125
1128
const packageJsonContent = assets . genericPackageJsonContent ( {
1126
1129
addDeps : true ,
1127
- answers : { ...answers , project_base : workspace_name } ,
1130
+ answers : { ...answers , project_base : workspace_name , license } ,
1128
1131
suffix : `${ answers . service_name } ` ,
1129
1132
isMicroservice : true ,
1130
1133
os,
@@ -1190,6 +1193,7 @@ const generateMCSHelper = ({ project_root, answers }) => {
1190
1193
} ) ;
1191
1194
writeFile ( join ( `${ project_root } /microservices/${ answers . service_name } ` , 'index.js' ) , assets . serverContent ( { answers } ) ) ;
1192
1195
writeFile ( join ( `${ project_root } /microservices/${ answers . service_name } ` , '.env' ) , assets . envContent ( { answers } ) ) ;
1196
+ writeFile ( join ( `${ project_root } /microservices/${ answers . service_name } ` , '.dockerignore' ) , assets . dockerIgnoreContent ( ) ) ;
1193
1197
writeFile ( join ( `${ project_root } /microservices/${ answers . service_name } ` , '.env.dev' ) , assets . envContent ( { answers } ) ) ;
1194
1198
writeFile ( join ( `${ project_root } /microservices/${ answers . service_name } ` , 'Dockerfile.dev' ) , assets . dockerfileContent ( ) ) ;
1195
1199
writeFile ( join ( `${ project_root } /microservices/${ answers . service_name } ` , 'ecosystem.config.js' ) , assets . ecosystemContent ( { answers } ) ) ;
@@ -1269,11 +1273,13 @@ const retrieveWorkSpaceName = ({ package_json_path }) => {
1269
1273
const scaffoldNewLibrary = async ( { answers } ) => {
1270
1274
const project_root = join ( cwd ( ) , 'shared' , answers . library_name ) ;
1271
1275
const package_json_path = join ( cwd ( ) , 'package.json' )
1276
+ // add license to package.json
1277
+ const { license } = readFileContent ( { currentDir : cwd ( ) } )
1272
1278
mkdirSync ( project_root , { recursive : true } ) ;
1273
1279
const { workspace_name } = retrieveWorkSpaceName ( { package_json_path } )
1274
1280
writeFile ( join ( `${ project_root } ` , 'package.json' ) , JSON . stringify ( assets . genericPackageJsonContent ( {
1275
1281
addDeps : false ,
1276
- answers : { ...answers , project_base : workspace_name } ,
1282
+ answers : { ...answers , project_base : workspace_name , license } ,
1277
1283
suffix : `${ answers . library_name } ` ,
1278
1284
isMicroservice : false ,
1279
1285
os,
@@ -1368,6 +1374,10 @@ const scaffoldApp = ({ answers }) => {
1368
1374
const app_directory = join ( project_root , 'gateways/apps' , answers . app_name )
1369
1375
const webserver_dir = join ( app_directory , webserver )
1370
1376
1377
+ // Remove the directory if it already exists
1378
+ if ( existsSync ( app_directory ) ) {
1379
+ rmSync ( app_directory , { recursive : true } ) ;
1380
+ }
1371
1381
mkdirSync ( webserver_dir , { recursive : true } )
1372
1382
writeFileSync ( join ( app_directory , 'docker-compose.dev.yml' ) , assets . dockerComposeContent ( { services : answers . services , app_name : answers . app_name , webserver } ) ) ;
1373
1383
writeFileSync ( join ( app_directory , 'docker-compose.yml' ) , assets . dockerComposeContent ( { services : answers . services , app_name : answers . app_name , webserver } ) ) ;
0 commit comments