Skip to content

Commit 608aec2

Browse files
authored
Merge pull request #134 from microservices-suite/repo-engineering/universal-cli
Repo engineering/universal cli
2 parents 51b190d + 1ba345e commit 608aec2

File tree

5 files changed

+28
-7
lines changed

5 files changed

+28
-7
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
module.exports = () => `
2+
#These files wont be sent to the docker builder during the COPY . . command
3+
4+
node_modules
5+
bar
6+
`;

.suite-cli/cli/scripts/assets/genericPackageJsonContent.asset.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ module.exports = ({ answers, suffix, isMicroservice, description, os, addDeps })
1010
[`${answers.project_base}/config`]: "1.0.0",
1111
[`${answers.project_base}/errors`]: "1.0.0",
1212
[`${answers.project_base}/utilities`]: "1.0.0",
13-
[`${answers.project_base}/validations`]: "1.0.0",
13+
[`${answers.project_base}/broker`]: "1.0.0",
1414
dotenv: "^16.4.5",
1515
express: "^4.18.3",
1616
helmet: "^7.1.0",
@@ -28,9 +28,11 @@ module.exports = ({ answers, suffix, isMicroservice, description, os, addDeps })
2828
`**/${answers.project_base}/utilities/`,
2929
`**/${answers.project_base}/utilities/**`,
3030
`**/${answers.project_base}/errors/`,
31-
`**/${answers.project_base}/errors/**`,
31+
`**/${answers.project_base}/errors/**`,
3232
`**/${answers.project_base}/config/`,
33-
`**/${answers.project_base}/config/**`
33+
`**/${answers.project_base}/config/**`,
34+
`**/${answers.project_base}/broker/`,
35+
`**/${answers.project_base}/broker/**`
3436
]
3537
},
3638
}),

.suite-cli/cli/scripts/assets/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,6 @@ module.exports.nginxContent = require('./nginxContent.asset')
4949
module.exports.dockerComposeContent = require('./dockerComposeContent.asset')
5050
module.exports.dockerfileContent = require('./dockerfileContent.asset')
5151
module.exports.nginxDockerfileContent = require('./nginxDockerfileContent.asset')
52+
module.exports.dockerIgnoreContent = require('./dockerIgnoreContent.asset')
5253

5354

.suite-cli/cli/scripts/assets/rootPackageJsonContent.asset.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ module.exports = ({ answers, os }) => ({
2020
"release:errors": `yarn workspace ${answers.project_base}/errors run release`,
2121
"release:middlewares": `yarn workspace ${answers.project_base}/middlewares run release`,
2222
"release:utilities": `yarn workspace ${answers.project_base}/utilities run release`,
23+
"release:broker": `yarn workspace ${answers.project_base}/broker run release`,
2324
"test": "jest"
2425
},
2526
"workspaces": {
@@ -31,7 +32,8 @@ module.exports = ({ answers, os }) => ({
3132
`**/${answers.project_base}/utilities`,
3233
`**/${answers.project_base}/errors`,
3334
`**/${answers.project_base}/config`,
34-
`**/${answers.project_base}/middleware`
35+
`**/${answers.project_base}/middleware`,
36+
`**/${answers.project_base}/broker`
3537
]
3638
},
3739
})

.suite-cli/cli/scripts/scripts.module.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const { join, sep, resolve } = require('node:path')
33
const os = require('os')
44
const { mkdirSync, readFile } = require('fs')
55
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');
77
let { exec, spawn } = require('node:child_process');
88
const { writeFile } = require('node:fs/promises');
99
const assets = require('./assets')
@@ -1117,14 +1117,17 @@ const injectService = async ({ project_root, answers, workspace_name }) => {
11171117
// Generate mcs service using helper function
11181118
generateMCSHelper({ project_root, answers: { ...answers, project_base: workspace_name } });
11191119

1120+
// add license to package.json
1121+
const { license } = readFileContent({ currentDir: cwd() })
1122+
11201123
// Create service directory
11211124
const service_path = join(project_root, 'microservices', answers.service_name);
11221125
await mkdirSync(service_path, { recursive: true });
11231126

11241127
// Create package.json for the service
11251128
const packageJsonContent = assets.genericPackageJsonContent({
11261129
addDeps: true,
1127-
answers: { ...answers, project_base: workspace_name },
1130+
answers: { ...answers, project_base: workspace_name, license },
11281131
suffix: `${answers.service_name}`,
11291132
isMicroservice: true,
11301133
os,
@@ -1190,6 +1193,7 @@ const generateMCSHelper = ({ project_root, answers }) => {
11901193
});
11911194
writeFile(join(`${project_root}/microservices/${answers.service_name}`, 'index.js'), assets.serverContent({ answers }));
11921195
writeFile(join(`${project_root}/microservices/${answers.service_name}`, '.env'), assets.envContent({ answers }));
1196+
writeFile(join(`${project_root}/microservices/${answers.service_name}`, '.dockerignore'), assets.dockerIgnoreContent());
11931197
writeFile(join(`${project_root}/microservices/${answers.service_name}`, '.env.dev'), assets.envContent({ answers }));
11941198
writeFile(join(`${project_root}/microservices/${answers.service_name}`, 'Dockerfile.dev'), assets.dockerfileContent());
11951199
writeFile(join(`${project_root}/microservices/${answers.service_name}`, 'ecosystem.config.js'), assets.ecosystemContent({ answers }));
@@ -1269,11 +1273,13 @@ const retrieveWorkSpaceName = ({ package_json_path }) => {
12691273
const scaffoldNewLibrary = async ({ answers }) => {
12701274
const project_root = join(cwd(), 'shared', answers.library_name);
12711275
const package_json_path = join(cwd(), 'package.json')
1276+
// add license to package.json
1277+
const { license } = readFileContent({ currentDir: cwd() })
12721278
mkdirSync(project_root, { recursive: true });
12731279
const { workspace_name } = retrieveWorkSpaceName({ package_json_path })
12741280
writeFile(join(`${project_root}`, 'package.json'), JSON.stringify(assets.genericPackageJsonContent({
12751281
addDeps: false,
1276-
answers: { ...answers, project_base: workspace_name },
1282+
answers: { ...answers, project_base: workspace_name, license },
12771283
suffix: `${answers.library_name}`,
12781284
isMicroservice: false,
12791285
os,
@@ -1368,6 +1374,10 @@ const scaffoldApp = ({ answers }) => {
13681374
const app_directory = join(project_root, 'gateways/apps', answers.app_name)
13691375
const webserver_dir = join(app_directory, webserver)
13701376

1377+
// Remove the directory if it already exists
1378+
if (existsSync(app_directory)) {
1379+
rmSync(app_directory, { recursive: true });
1380+
}
13711381
mkdirSync(webserver_dir, { recursive: true })
13721382
writeFileSync(join(app_directory, 'docker-compose.dev.yml'), assets.dockerComposeContent({ services: answers.services, app_name: answers.app_name, webserver }));
13731383
writeFileSync(join(app_directory, 'docker-compose.yml'), assets.dockerComposeContent({ services: answers.services, app_name: answers.app_name, webserver }));

0 commit comments

Comments
 (0)