@common-stack/generate-plugin 6.0.2-alpha.3 → 6.0.2-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/lib/generators/add-fullstack/files/Jenkinsfile +3 -6
  3. package/lib/generators/add-fullstack/files/tools/sortPackageJson.mjs +8 -1
  4. package/lib/generators/add-fullstack/generator.cjs +17 -17
  5. package/lib/generators/add-fullstack/generator.cjs.map +1 -1
  6. package/lib/generators/add-fullstack/generator.mjs +15 -15
  7. package/lib/generators/add-fullstack/generator.mjs.map +1 -1
  8. package/lib/generators/add-fullstack/updates/index.d.ts +2 -0
  9. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.cjs +27 -0
  10. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.cjs.map +1 -0
  11. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.d.ts +1 -0
  12. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.mjs +27 -0
  13. package/lib/generators/add-fullstack/updates/jenkinsfileUpdate.mjs.map +1 -0
  14. package/lib/generators/add-fullstack/updates/packageJsonUpdate.cjs +8 -0
  15. package/lib/generators/add-fullstack/updates/packageJsonUpdate.cjs.map +1 -0
  16. package/lib/generators/add-fullstack/updates/packageJsonUpdate.d.ts +2 -0
  17. package/lib/generators/add-fullstack/updates/packageJsonUpdate.mjs +8 -0
  18. package/lib/generators/add-fullstack/updates/packageJsonUpdate.mjs.map +1 -0
  19. package/package.json +2 -2
  20. package/src/generators/add-fullstack/files/Jenkinsfile +3 -6
  21. package/src/generators/add-fullstack/files/tools/sortPackageJson.mjs +8 -1
  22. package/src/generators/add-fullstack/generator.ts +35 -30
  23. package/src/generators/add-fullstack/updates/index.ts +2 -0
  24. package/src/generators/add-fullstack/updates/jenkinsfileUpdate.ts +36 -0
  25. package/src/generators/add-fullstack/updates/packageJsonUpdate.ts +11 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [6.0.2-alpha.4](https://github.com/cdmbase/common-stack/compare/v6.0.2-alpha.3...v6.0.2-alpha.4) (2024-08-23)
7
+
8
+ **Note:** Version bump only for package @common-stack/generate-plugin
9
+
6
10
  ## [6.0.2-alpha.3](https://github.com/cdmbase/common-stack/compare/v6.0.2-alpha.2...v6.0.2-alpha.3) (2024-08-23)
7
11
 
8
12
  **Note:** Version bump only for package @common-stack/generate-plugin
@@ -38,7 +38,7 @@ pipeline {
38
38
  string(name: 'BUILD_TIME_OUT', defaultValue: '120', description: 'Build timeout in minutes', trim: true)
39
39
  }
40
40
 
41
- // Setup common + secret key variables for pipeline.
41
+ // Setup common + secret key variables for pipeline.
42
42
  environment {
43
43
  BUILD_COMMAND = getBuildCommand()
44
44
  NAMESPACE = "${params.BASE_NAMESPACE}-${params.VERSION}"
@@ -86,7 +86,6 @@ pipeline {
86
86
  sh """
87
87
  echo "what is docker git version $GIT_BRANCH_NAME -- ${params.ENV_CHOICE}"
88
88
  ${params.BUILD_STRATEGY} install
89
- ${params.BUILD_STRATEGY} run lerna
90
89
  """
91
90
  }
92
91
  }
@@ -99,7 +98,7 @@ pipeline {
99
98
  sshagent(credentials: [params.GIT_CREDENTIAL_ID]) {
100
99
  sh """
101
100
  rm .npmrc
102
- lerna exec --scope=*mobile-device ${params.BUILD_STRATEGY} ${env.BUILD_COMMAND}
101
+ npx lerna exec --scope=*mobile-device ${params.BUILD_STRATEGY} ${env.BUILD_COMMAND}
103
102
  git checkout -- .npmrc
104
103
  yarn gitcommit
105
104
  git pull origin ${params.REPOSITORY_BRANCH}
@@ -145,7 +144,6 @@ pipeline {
145
144
  git merge ${env.GIT_PR_BRANCH_NAME} -m 'auto merging ${params.GIT_PR_BRANCH_NAME} \r\n[skip ci]'
146
145
  git push origin ${params.DEVELOP_BRANCH}
147
146
  ${params.BUILD_STRATEGY} install
148
- ${params.BUILD_STRATEGY} run lerna
149
147
  ${params.BUILD_STRATEGY} run build
150
148
  """
151
149
  script {
@@ -278,7 +276,6 @@ pipeline {
278
276
  git checkout ${params.REPOSITORY_BRANCH}
279
277
  git merge origin/${params.DEVELOP_BRANCH} -m 'auto merging ${params.DEVELOP_BRANCH} \r\n[skip ci]'
280
278
  ${params.BUILD_STRATEGY} install
281
- ${params.BUILD_STRATEGY} run lerna
282
279
  """
283
280
  script {
284
281
  GIT_BRANCH_NAME = params.REPOSITORY_BRANCH
@@ -648,7 +645,7 @@ def buildAndPushDockerImage(server, name, version) {
648
645
  echo "Docker image ${REPOSITORY_SERVER}/${name}:${version} already exists. Skipping build."
649
646
  } else {
650
647
  sh """
651
- lerna exec --scope=*${server} ${params.BUILD_STRATEGY} run docker:${env.BUILD_COMMAND};
648
+ npx lerna exec --scope=*${server} ${params.BUILD_STRATEGY} run docker:${env.BUILD_COMMAND};
652
649
  docker tag ${name}:${version} ${REPOSITORY_SERVER}/${name}:${version}
653
650
  docker push ${REPOSITORY_SERVER}/${name}:${version}
654
651
  docker rmi ${REPOSITORY_SERVER}/${name}:${version}
@@ -11,23 +11,28 @@ const sortPackageJson = await import('sort-package-json').then(module => module.
11
11
 
12
12
  // Directories to process
13
13
  const directories = [
14
+ path.join(__dirname, '../'),
15
+ path.join(__dirname, '../packages-modules'),
14
16
  path.join(__dirname, '../packages'),
15
17
  path.join(__dirname, '../servers'),
16
18
  path.join(__dirname, '../portable-devices')
17
19
  ];
18
20
 
21
+ // Function to sort a single package.json file
19
22
  async function sortPackageJsonFile(filePath) {
20
23
  const packageJson = JSON.parse(await fsPromises.readFile(filePath, 'utf8'));
21
24
  const sortedPackageJson = sortPackageJson(packageJson);
22
25
  await fsPromises.writeFile(filePath, JSON.stringify(sortedPackageJson, null, 2) + '\n');
23
26
  }
24
27
 
28
+ // Recursive function to sort all package.json files in a directory, skipping node_modules
25
29
  async function sortAllPackageJsonFiles(dir) {
26
30
  const files = await fsPromises.readdir(dir);
27
31
  for (const file of files) {
28
32
  const fullPath = path.join(dir, file);
29
33
  const stat = await fsPromises.lstat(fullPath);
30
- if (stat.isDirectory()) {
34
+
35
+ if (stat.isDirectory() && file !== 'node_modules') {
31
36
  await sortAllPackageJsonFiles(fullPath);
32
37
  } else if (file === 'package.json') {
33
38
  await sortPackageJsonFile(fullPath);
@@ -36,10 +41,12 @@ async function sortAllPackageJsonFiles(dir) {
36
41
  }
37
42
  }
38
43
 
44
+ // Function to process all directories
39
45
  async function processDirectories(dirs) {
40
46
  for (const dir of dirs) {
41
47
  await sortAllPackageJsonFiles(dir);
42
48
  }
43
49
  }
44
50
 
51
+ // Execute the sorting process
45
52
  await processDirectories(directories);
@@ -1,21 +1,21 @@
1
- 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),devkit=require('@nx/devkit'),path=require('path'),fs=require('fs'),index=require('../../utils/index.cjs'),generator$2=require('../add-frontend/generator.cjs'),generator$1=require('../add-backend/generator.cjs'),generator=require('../add-moleculer/generator.cjs'),generator$5=require('../add-browser-package/generator.cjs'),generator$4=require('../add-client-package/generator.cjs'),generator$6=require('../add-core-package/generator.cjs'),generator$3=require('../add-server-package/generator.cjs');require('../../executors/update-deploy-version/executor.cjs');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var path__namespace=/*#__PURE__*/_interopNamespaceDefault(path);function addFullstackGenerator(tree, options) {
1
+ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),devkit=require('@nx/devkit'),path=require('path'),fs=require('fs'),index=require('../../utils/index.cjs'),jenkinsfileUpdate=require('./updates/jenkinsfileUpdate.cjs'),packageJsonUpdate=require('./updates/packageJsonUpdate.cjs'),generator$2=require('../add-frontend/generator.cjs'),generator$1=require('../add-backend/generator.cjs'),generator=require('../add-moleculer/generator.cjs'),generator$5=require('../add-browser-package/generator.cjs'),generator$4=require('../add-client-package/generator.cjs'),generator$6=require('../add-core-package/generator.cjs'),generator$3=require('../add-server-package/generator.cjs');require('../../executors/update-deploy-version/executor.cjs');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var path__namespace=/*#__PURE__*/_interopNamespaceDefault(path);var fs__namespace=/*#__PURE__*/_interopNamespaceDefault(fs);function addFullstackGenerator(tree, options) {
2
2
  return tslib.__awaiter(this, void 0, void 0, function* () {
3
3
  var _a;
4
- // If the provided path is relative, ensure it is treated as relative to the current working directory
5
- const basePath = options.path || ''; // Use the provided path directly, no resolution to absolute path
4
+ const basePath = options.path || '';
6
5
  const projectRoot = path__namespace.join(basePath, (_a = index.getValid(options.name)) !== null && _a !== void 0 ? _a : 'fullstack-pro');
7
6
  console.log(`basePath: ${basePath}`);
8
7
  devkit.generateFiles(tree, path__namespace.join(__dirname, 'files'), projectRoot, options);
9
- devkit.updateJson(tree, `${projectRoot}/package.json`, (packageJson) => {
10
- packageJson['name'] = index.getValid(options.name);
11
- return packageJson;
12
- });
8
+ // Update Jenkinsfile with dynamic values
9
+ const jenkinsFilePath = path__namespace.join(projectRoot, 'Jenkinsfile');
10
+ jenkinsfileUpdate.updateJenkinsFile(jenkinsFilePath, options.name);
11
+ // Update package.json with the project name
12
+ packageJsonUpdate.updatePackageJson(tree, projectRoot, index.getValid(options.name));
13
13
  yield devkit.formatFiles(tree);
14
14
  if (index.isValid(options.config)) {
15
15
  const configPath = path__namespace.resolve(basePath, index.getValid(options.config));
16
- if (fs.existsSync(configPath)) {
16
+ if (fs__namespace.existsSync(configPath)) {
17
17
  try {
18
- const content = String(fs.readFileSync(configPath));
18
+ const content = String(fs__namespace.readFileSync(configPath));
19
19
  const configs = JSON.parse(content);
20
20
  configs.parent = projectRoot;
21
21
  yield processConfigs(tree, configs);
@@ -27,14 +27,6 @@
27
27
  }
28
28
  });
29
29
  }
30
- const processConfigs = (tree, configs) => tslib.__awaiter(void 0, void 0, void 0, function* () {
31
- if (configs.servers) {
32
- yield generateServers(tree, configs.parent, configs.servers);
33
- }
34
- if (configs.packages && configs.packages.modules) {
35
- yield generatePackages(tree, configs.parent, configs.packages.modules);
36
- }
37
- });
38
30
  const generateServers = (tree, parent, servers) => tslib.__awaiter(void 0, void 0, void 0, function* () {
39
31
  for (const [serverName, serverConfig] of Object.entries(servers)) {
40
32
  const configs = serverConfig;
@@ -73,4 +65,12 @@ const generatePackages = (tree, parent, packages) => tslib.__awaiter(void 0, voi
73
65
  break;
74
66
  }
75
67
  }
68
+ });
69
+ const processConfigs = (tree, configs) => tslib.__awaiter(void 0, void 0, void 0, function* () {
70
+ if (configs.servers) {
71
+ yield generateServers(tree, configs.parent, configs.servers);
72
+ }
73
+ if (configs.packages && configs.packages.modules) {
74
+ yield generatePackages(tree, configs.parent, configs.packages.modules);
75
+ }
76
76
  });exports.addFullstackGenerator=addFullstackGenerator;exports.default=addFullstackGenerator;//# sourceMappingURL=generator.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.cjs","sources":["../../../src/generators/add-fullstack/generator.ts"],"sourcesContent":[null],"names":["path","getValid","generateFiles","updateJson","formatFiles","isValid","__awaiter","generateFrontend","generateBackend","generateMoleculer","generateCorePackage","generateBrowserPackage","generateClientPackage","generateServerPackage"],"mappings":"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"}
1
+ {"version":3,"file":"generator.cjs","sources":["../../../src/generators/add-fullstack/generator.ts"],"sourcesContent":[null],"names":["path","getValid","generateFiles","updateJenkinsFile","updatePackageJson","formatFiles","isValid","fs","__awaiter","generateFrontend","generateBackend","generateMoleculer","generateCorePackage","generateBrowserPackage","generateClientPackage","generateServerPackage"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
- import {__awaiter}from'tslib';import {generateFiles,updateJson,formatFiles}from'@nx/devkit';import*as path from'path';import fs from'fs';import {getValid,isValid}from'../../utils/index.mjs';import {generateFrontend}from'../add-frontend/generator.mjs';import {generateBackend}from'../add-backend/generator.mjs';import {generateMoleculer}from'../add-moleculer/generator.mjs';import {generateBrowserPackage}from'../add-browser-package/generator.mjs';import {generateClientPackage}from'../add-client-package/generator.mjs';import {generateCorePackage}from'../add-core-package/generator.mjs';import {generateServerPackage}from'../add-server-package/generator.mjs';import'../../executors/update-deploy-version/executor.mjs';function addFullstackGenerator(tree, options) {
1
+ import {__awaiter}from'tslib';import {generateFiles,formatFiles}from'@nx/devkit';import*as path from'path';import*as fs from'fs';import {getValid,isValid}from'../../utils/index.mjs';import {updateJenkinsFile}from'./updates/jenkinsfileUpdate.mjs';import {updatePackageJson}from'./updates/packageJsonUpdate.mjs';import {generateFrontend}from'../add-frontend/generator.mjs';import {generateBackend}from'../add-backend/generator.mjs';import {generateMoleculer}from'../add-moleculer/generator.mjs';import {generateBrowserPackage}from'../add-browser-package/generator.mjs';import {generateClientPackage}from'../add-client-package/generator.mjs';import {generateCorePackage}from'../add-core-package/generator.mjs';import {generateServerPackage}from'../add-server-package/generator.mjs';import'../../executors/update-deploy-version/executor.mjs';function addFullstackGenerator(tree, options) {
2
2
  return __awaiter(this, void 0, void 0, function* () {
3
3
  var _a;
4
- // If the provided path is relative, ensure it is treated as relative to the current working directory
5
- const basePath = options.path || ''; // Use the provided path directly, no resolution to absolute path
4
+ const basePath = options.path || '';
6
5
  const projectRoot = path.join(basePath, (_a = getValid(options.name)) !== null && _a !== void 0 ? _a : 'fullstack-pro');
7
6
  console.log(`basePath: ${basePath}`);
8
7
  generateFiles(tree, path.join(__dirname, 'files'), projectRoot, options);
9
- updateJson(tree, `${projectRoot}/package.json`, (packageJson) => {
10
- packageJson['name'] = getValid(options.name);
11
- return packageJson;
12
- });
8
+ // Update Jenkinsfile with dynamic values
9
+ const jenkinsFilePath = path.join(projectRoot, 'Jenkinsfile');
10
+ updateJenkinsFile(jenkinsFilePath, options.name);
11
+ // Update package.json with the project name
12
+ updatePackageJson(tree, projectRoot, getValid(options.name));
13
13
  yield formatFiles(tree);
14
14
  if (isValid(options.config)) {
15
15
  const configPath = path.resolve(basePath, getValid(options.config));
@@ -27,14 +27,6 @@ import {__awaiter}from'tslib';import {generateFiles,updateJson,formatFiles}from'
27
27
  }
28
28
  });
29
29
  }
30
- const processConfigs = (tree, configs) => __awaiter(void 0, void 0, void 0, function* () {
31
- if (configs.servers) {
32
- yield generateServers(tree, configs.parent, configs.servers);
33
- }
34
- if (configs.packages && configs.packages.modules) {
35
- yield generatePackages(tree, configs.parent, configs.packages.modules);
36
- }
37
- });
38
30
  const generateServers = (tree, parent, servers) => __awaiter(void 0, void 0, void 0, function* () {
39
31
  for (const [serverName, serverConfig] of Object.entries(servers)) {
40
32
  const configs = serverConfig;
@@ -73,4 +65,12 @@ const generatePackages = (tree, parent, packages) => __awaiter(void 0, void 0, v
73
65
  break;
74
66
  }
75
67
  }
68
+ });
69
+ const processConfigs = (tree, configs) => __awaiter(void 0, void 0, void 0, function* () {
70
+ if (configs.servers) {
71
+ yield generateServers(tree, configs.parent, configs.servers);
72
+ }
73
+ if (configs.packages && configs.packages.modules) {
74
+ yield generatePackages(tree, configs.parent, configs.packages.modules);
75
+ }
76
76
  });export{addFullstackGenerator,addFullstackGenerator as default};//# sourceMappingURL=generator.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.mjs","sources":["../../../src/generators/add-fullstack/generator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.mjs","sources":["../../../src/generators/add-fullstack/generator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './jenkinsfileUpdate';
2
+ export * from './packageJsonUpdate';
@@ -0,0 +1,27 @@
1
+ 'use strict';var fs=require('fs');function updateJenkinsFile(filePath, name) {
2
+ const paramsToUpdate = {
3
+ BASE_NAMESPACE: name,
4
+ CONNECTION_ID: name,
5
+ WORKSPACE_ID: name,
6
+ UNIQUE_NAME: name,
7
+ };
8
+ let jenkinsFileContent = '';
9
+ if (fs.existsSync(filePath)) {
10
+ jenkinsFileContent = fs.readFileSync(filePath, 'utf-8');
11
+ }
12
+ const updatedContent = jenkinsFileContent.split('\n').map(line => {
13
+ for (const param in paramsToUpdate) {
14
+ if (line.includes(`string(name: '${param}'`)) {
15
+ return line.replace(/defaultValue: '.*'/, `defaultValue: '${paramsToUpdate[param]}'`);
16
+ }
17
+ }
18
+ return line;
19
+ }).join('\n');
20
+ // Add missing parameters
21
+ Object.keys(paramsToUpdate).forEach(param => {
22
+ if (!updatedContent.includes(`string(name: '${param}'`)) {
23
+ updatedContent.concat(`string(name: '${param}', defaultValue: '${paramsToUpdate[param]}', description: '${param.replace(/_/g, ' ').toLowerCase()}')\n`);
24
+ }
25
+ });
26
+ fs.writeFileSync(filePath, updatedContent, 'utf-8');
27
+ }exports.updateJenkinsFile=updateJenkinsFile;//# sourceMappingURL=jenkinsfileUpdate.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jenkinsfileUpdate.cjs","sources":["../../../../src/generators/add-fullstack/updates/jenkinsfileUpdate.ts"],"sourcesContent":[null],"names":[],"mappings":"kCAGgB,SAAA,iBAAiB,CAAC,QAAgB,EAAE,IAAY,EAAA;AAC5D,IAAA,MAAM,cAAc,GAAG;AACnB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,WAAW,EAAE,IAAI;KACpB,CAAC;IAEF,IAAI,kBAAkB,GAAG,EAAE,CAAC;AAC5B,IAAA,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QACzB,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC3D;AAED,IAAA,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAG;AAC7D,QAAA,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;YAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,KAAK,CAAA,CAAA,CAAG,CAAC,EAAE;AAC1C,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAkB,eAAA,EAAA,cAAc,CAAC,KAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC;aACzF;SACJ;AACD,QAAA,OAAO,IAAI,CAAC;AAChB,KAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;IAGd,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,IAAG;QACxC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,KAAK,CAAA,CAAA,CAAG,CAAC,EAAE;YACrD,cAAc,CAAC,MAAM,CACjB,CAAiB,cAAA,EAAA,KAAK,qBAAqB,cAAc,CAAC,KAAK,CAAC,CAAoB,iBAAA,EAAA,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAM,IAAA,CAAA,CACnI,CAAC;SACL;AACL,KAAC,CAAC,CAAC;IAEH,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACxD"}
@@ -0,0 +1 @@
1
+ export declare function updateJenkinsFile(filePath: string, name: string): void;
@@ -0,0 +1,27 @@
1
+ import fs__default from'fs';function updateJenkinsFile(filePath, name) {
2
+ const paramsToUpdate = {
3
+ BASE_NAMESPACE: name,
4
+ CONNECTION_ID: name,
5
+ WORKSPACE_ID: name,
6
+ UNIQUE_NAME: name,
7
+ };
8
+ let jenkinsFileContent = '';
9
+ if (fs__default.existsSync(filePath)) {
10
+ jenkinsFileContent = fs__default.readFileSync(filePath, 'utf-8');
11
+ }
12
+ const updatedContent = jenkinsFileContent.split('\n').map(line => {
13
+ for (const param in paramsToUpdate) {
14
+ if (line.includes(`string(name: '${param}'`)) {
15
+ return line.replace(/defaultValue: '.*'/, `defaultValue: '${paramsToUpdate[param]}'`);
16
+ }
17
+ }
18
+ return line;
19
+ }).join('\n');
20
+ // Add missing parameters
21
+ Object.keys(paramsToUpdate).forEach(param => {
22
+ if (!updatedContent.includes(`string(name: '${param}'`)) {
23
+ updatedContent.concat(`string(name: '${param}', defaultValue: '${paramsToUpdate[param]}', description: '${param.replace(/_/g, ' ').toLowerCase()}')\n`);
24
+ }
25
+ });
26
+ fs__default.writeFileSync(filePath, updatedContent, 'utf-8');
27
+ }export{updateJenkinsFile};//# sourceMappingURL=jenkinsfileUpdate.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jenkinsfileUpdate.mjs","sources":["../../../../src/generators/add-fullstack/updates/jenkinsfileUpdate.ts"],"sourcesContent":[null],"names":["fs"],"mappings":"4BAGgB,SAAA,iBAAiB,CAAC,QAAgB,EAAE,IAAY,EAAA;AAC5D,IAAA,MAAM,cAAc,GAAG;AACnB,QAAA,cAAc,EAAE,IAAI;AACpB,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,WAAW,EAAE,IAAI;KACpB,CAAC;IAEF,IAAI,kBAAkB,GAAG,EAAE,CAAC;AAC5B,IAAA,IAAIA,WAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QACzB,kBAAkB,GAAGA,WAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC3D;AAED,IAAA,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAG;AAC7D,QAAA,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;YAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,KAAK,CAAA,CAAA,CAAG,CAAC,EAAE;AAC1C,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAkB,eAAA,EAAA,cAAc,CAAC,KAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC;aACzF;SACJ;AACD,QAAA,OAAO,IAAI,CAAC;AAChB,KAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;IAGd,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,IAAG;QACxC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,iBAAiB,KAAK,CAAA,CAAA,CAAG,CAAC,EAAE;YACrD,cAAc,CAAC,MAAM,CACjB,CAAiB,cAAA,EAAA,KAAK,qBAAqB,cAAc,CAAC,KAAK,CAAC,CAAoB,iBAAA,EAAA,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAM,IAAA,CAAA,CACnI,CAAC;SACL;AACL,KAAC,CAAC,CAAC;IAEHA,WAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AACxD"}
@@ -0,0 +1,8 @@
1
+ 'use strict';var devkit=require('@nx/devkit'),path=require('path');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var path__namespace=/*#__PURE__*/_interopNamespaceDefault(path);function updatePackageJson(tree, projectRoot, name) {
2
+ const packageJsonPath = path__namespace.join(projectRoot, 'package.json');
3
+ devkit.updateJson(tree, packageJsonPath, (packageJson) => {
4
+ packageJson['name'] = name;
5
+ // You can add more custom logic here if needed
6
+ return packageJson;
7
+ });
8
+ }exports.updatePackageJson=updatePackageJson;//# sourceMappingURL=packageJsonUpdate.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageJsonUpdate.cjs","sources":["../../../../src/generators/add-fullstack/updates/packageJsonUpdate.ts"],"sourcesContent":[null],"names":["path","updateJson"],"mappings":"0aAGgB,iBAAiB,CAAC,IAAU,EAAE,WAAmB,EAAE,IAAY,EAAA;IAC3E,MAAM,eAAe,GAAGA,eAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/DC,iBAAU,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,WAAW,KAAI;AAC9C,QAAA,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;;AAE3B,QAAA,OAAO,WAAW,CAAC;AACvB,KAAC,CAAC,CAAC;AACP"}
@@ -0,0 +1,2 @@
1
+ import { Tree } from '@nx/devkit';
2
+ export declare function updatePackageJson(tree: Tree, projectRoot: string, name: string): void;
@@ -0,0 +1,8 @@
1
+ import {updateJson}from'@nx/devkit';import*as path from'path';function updatePackageJson(tree, projectRoot, name) {
2
+ const packageJsonPath = path.join(projectRoot, 'package.json');
3
+ updateJson(tree, packageJsonPath, (packageJson) => {
4
+ packageJson['name'] = name;
5
+ // You can add more custom logic here if needed
6
+ return packageJson;
7
+ });
8
+ }export{updatePackageJson};//# sourceMappingURL=packageJsonUpdate.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageJsonUpdate.mjs","sources":["../../../../src/generators/add-fullstack/updates/packageJsonUpdate.ts"],"sourcesContent":[null],"names":[],"mappings":"uEAGgB,iBAAiB,CAAC,IAAU,EAAE,WAAmB,EAAE,IAAY,EAAA;IAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/D,UAAU,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,WAAW,KAAI;AAC9C,QAAA,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;;AAE3B,QAAA,OAAO,WAAW,CAAC;AACvB,KAAC,CAAC,CAAC;AACP"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@common-stack/generate-plugin",
3
- "version": "6.0.2-alpha.3",
3
+ "version": "6.0.2-alpha.4",
4
4
  "type": "module",
5
5
  "main": "./lib/index.mjs",
6
6
  "typings": "./lib/index.d.ts",
@@ -26,5 +26,5 @@
26
26
  },
27
27
  "executors": "./executors.json",
28
28
  "generators": "./generators.json",
29
- "gitHead": "bd4059453b914a33e26bd860eef3cdac7824a819"
29
+ "gitHead": "eaaa81948be163dfca7ba2faa7e0c6dc3d7f290d"
30
30
  }
@@ -38,7 +38,7 @@ pipeline {
38
38
  string(name: 'BUILD_TIME_OUT', defaultValue: '120', description: 'Build timeout in minutes', trim: true)
39
39
  }
40
40
 
41
- // Setup common + secret key variables for pipeline.
41
+ // Setup common + secret key variables for pipeline.
42
42
  environment {
43
43
  BUILD_COMMAND = getBuildCommand()
44
44
  NAMESPACE = "${params.BASE_NAMESPACE}-${params.VERSION}"
@@ -86,7 +86,6 @@ pipeline {
86
86
  sh """
87
87
  echo "what is docker git version $GIT_BRANCH_NAME -- ${params.ENV_CHOICE}"
88
88
  ${params.BUILD_STRATEGY} install
89
- ${params.BUILD_STRATEGY} run lerna
90
89
  """
91
90
  }
92
91
  }
@@ -99,7 +98,7 @@ pipeline {
99
98
  sshagent(credentials: [params.GIT_CREDENTIAL_ID]) {
100
99
  sh """
101
100
  rm .npmrc
102
- lerna exec --scope=*mobile-device ${params.BUILD_STRATEGY} ${env.BUILD_COMMAND}
101
+ npx lerna exec --scope=*mobile-device ${params.BUILD_STRATEGY} ${env.BUILD_COMMAND}
103
102
  git checkout -- .npmrc
104
103
  yarn gitcommit
105
104
  git pull origin ${params.REPOSITORY_BRANCH}
@@ -145,7 +144,6 @@ pipeline {
145
144
  git merge ${env.GIT_PR_BRANCH_NAME} -m 'auto merging ${params.GIT_PR_BRANCH_NAME} \r\n[skip ci]'
146
145
  git push origin ${params.DEVELOP_BRANCH}
147
146
  ${params.BUILD_STRATEGY} install
148
- ${params.BUILD_STRATEGY} run lerna
149
147
  ${params.BUILD_STRATEGY} run build
150
148
  """
151
149
  script {
@@ -278,7 +276,6 @@ pipeline {
278
276
  git checkout ${params.REPOSITORY_BRANCH}
279
277
  git merge origin/${params.DEVELOP_BRANCH} -m 'auto merging ${params.DEVELOP_BRANCH} \r\n[skip ci]'
280
278
  ${params.BUILD_STRATEGY} install
281
- ${params.BUILD_STRATEGY} run lerna
282
279
  """
283
280
  script {
284
281
  GIT_BRANCH_NAME = params.REPOSITORY_BRANCH
@@ -648,7 +645,7 @@ def buildAndPushDockerImage(server, name, version) {
648
645
  echo "Docker image ${REPOSITORY_SERVER}/${name}:${version} already exists. Skipping build."
649
646
  } else {
650
647
  sh """
651
- lerna exec --scope=*${server} ${params.BUILD_STRATEGY} run docker:${env.BUILD_COMMAND};
648
+ npx lerna exec --scope=*${server} ${params.BUILD_STRATEGY} run docker:${env.BUILD_COMMAND};
652
649
  docker tag ${name}:${version} ${REPOSITORY_SERVER}/${name}:${version}
653
650
  docker push ${REPOSITORY_SERVER}/${name}:${version}
654
651
  docker rmi ${REPOSITORY_SERVER}/${name}:${version}
@@ -11,23 +11,28 @@ const sortPackageJson = await import('sort-package-json').then(module => module.
11
11
 
12
12
  // Directories to process
13
13
  const directories = [
14
+ path.join(__dirname, '../'),
15
+ path.join(__dirname, '../packages-modules'),
14
16
  path.join(__dirname, '../packages'),
15
17
  path.join(__dirname, '../servers'),
16
18
  path.join(__dirname, '../portable-devices')
17
19
  ];
18
20
 
21
+ // Function to sort a single package.json file
19
22
  async function sortPackageJsonFile(filePath) {
20
23
  const packageJson = JSON.parse(await fsPromises.readFile(filePath, 'utf8'));
21
24
  const sortedPackageJson = sortPackageJson(packageJson);
22
25
  await fsPromises.writeFile(filePath, JSON.stringify(sortedPackageJson, null, 2) + '\n');
23
26
  }
24
27
 
28
+ // Recursive function to sort all package.json files in a directory, skipping node_modules
25
29
  async function sortAllPackageJsonFiles(dir) {
26
30
  const files = await fsPromises.readdir(dir);
27
31
  for (const file of files) {
28
32
  const fullPath = path.join(dir, file);
29
33
  const stat = await fsPromises.lstat(fullPath);
30
- if (stat.isDirectory()) {
34
+
35
+ if (stat.isDirectory() && file !== 'node_modules') {
31
36
  await sortAllPackageJsonFiles(fullPath);
32
37
  } else if (file === 'package.json') {
33
38
  await sortPackageJsonFile(fullPath);
@@ -36,10 +41,12 @@ async function sortAllPackageJsonFiles(dir) {
36
41
  }
37
42
  }
38
43
 
44
+ // Function to process all directories
39
45
  async function processDirectories(dirs) {
40
46
  for (const dir of dirs) {
41
47
  await sortAllPackageJsonFiles(dir);
42
48
  }
43
49
  }
44
50
 
51
+ // Execute the sorting process
45
52
  await processDirectories(directories);
@@ -1,11 +1,14 @@
1
- import { addProjectConfiguration, formatFiles, generateFiles, Tree, updateJson } from '@nx/devkit';
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /* eslint-disable import/no-cycle */
3
+ import { addProjectConfiguration, formatFiles, generateFiles, Tree } from '@nx/devkit';
2
4
  import * as path from 'path';
3
- import fs from 'fs';
5
+ import * as fs from 'fs';
4
6
  import { AddFullstackGeneratorSchema } from './schema';
5
7
  import { getValid, isValid } from '../../utils';
6
- import {
7
- generateBackend,
8
- generateFrontend,
8
+ import { updateJenkinsFile, updatePackageJson } from './updates';
9
+ import {
10
+ generateBackend,
11
+ generateFrontend,
9
12
  generateMoleculer,
10
13
  generateBrowserPackage,
11
14
  generateClientPackage,
@@ -14,19 +17,20 @@ import {
14
17
  } from '../../index';
15
18
 
16
19
  export async function addFullstackGenerator(tree: Tree, options: AddFullstackGeneratorSchema) {
17
- // If the provided path is relative, ensure it is treated as relative to the current working directory
18
- const basePath = options.path || ''; // Use the provided path directly, no resolution to absolute path
20
+ const basePath = options.path || '';
19
21
  const projectRoot = path.join(basePath, getValid(options.name) ?? 'fullstack-pro');
20
22
 
21
23
  console.log(`basePath: ${basePath}`);
22
-
24
+
23
25
  generateFiles(tree, path.join(__dirname, 'files'), projectRoot, options);
24
-
25
- updateJson(tree, `${projectRoot}/package.json`, (packageJson) => {
26
- packageJson['name'] = getValid(options.name);
27
- return packageJson;
28
- });
29
-
26
+
27
+ // Update Jenkinsfile with dynamic values
28
+ const jenkinsFilePath = path.join(projectRoot, 'Jenkinsfile');
29
+ updateJenkinsFile(jenkinsFilePath, options.name);
30
+
31
+ // Update package.json with the project name
32
+ updatePackageJson(tree, projectRoot, getValid(options.name));
33
+
30
34
  await formatFiles(tree);
31
35
 
32
36
  if (isValid(options.config)) {
@@ -38,30 +42,21 @@ export async function addFullstackGenerator(tree: Tree, options: AddFullstackGen
38
42
  configs.parent = projectRoot;
39
43
 
40
44
  await processConfigs(tree, configs);
41
- } catch(error) {
45
+ } catch (error) {
42
46
  console.error('Error while reading config.', error);
43
47
  }
44
48
  }
45
49
  }
46
50
  }
47
51
 
48
- const processConfigs = async (tree: Tree, configs: any) => {
49
- if (configs.servers) {
50
- await generateServers(tree, configs.parent, configs.servers);
51
- }
52
-
53
- if (configs.packages && configs.packages.modules) {
54
- await generatePackages(tree, configs.parent, configs.packages.modules);
55
- }
56
- }
57
52
 
58
53
  const generateServers = async (tree: Tree, parent: string, servers: any) => {
59
54
  for (const [serverName, serverConfig] of Object.entries(servers)) {
60
55
  const configs: any = serverConfig;
61
56
  configs.name = serverName;
62
57
  configs.directory = path.join(parent, 'servers');
63
-
64
- switch(configs?.type) {
58
+
59
+ switch (configs?.type) {
65
60
  case 'frontend':
66
61
  await generateFrontend(tree, configs);
67
62
  break;
@@ -75,15 +70,15 @@ const generateServers = async (tree: Tree, parent: string, servers: any) => {
75
70
  break;
76
71
  }
77
72
  }
78
- }
73
+ };
79
74
 
80
75
  const generatePackages = async (tree: Tree, parent: string, packages: any) => {
81
76
  for (const [packageName, packageConfig] of Object.entries(packages)) {
82
77
  const configs: any = packageConfig;
83
78
  configs.name = packageName;
84
79
  configs.directory = path.join(parent, 'packages');
85
-
86
- switch((packageConfig as any)?.type) {
80
+
81
+ switch ((packageConfig as any)?.type) {
87
82
  case 'packages-core':
88
83
  await generateCorePackage(tree, configs);
89
84
  break;
@@ -100,6 +95,16 @@ const generatePackages = async (tree: Tree, parent: string, packages: any) => {
100
95
  break;
101
96
  }
102
97
  }
103
- }
98
+ };
99
+
100
+ const processConfigs = async (tree: Tree, configs: any) => {
101
+ if (configs.servers) {
102
+ await generateServers(tree, configs.parent, configs.servers);
103
+ }
104
+
105
+ if (configs.packages && configs.packages.modules) {
106
+ await generatePackages(tree, configs.parent, configs.packages.modules);
107
+ }
108
+ };
104
109
 
105
110
  export default addFullstackGenerator;
@@ -0,0 +1,2 @@
1
+ export * from './jenkinsfileUpdate';
2
+ export * from './packageJsonUpdate';
@@ -0,0 +1,36 @@
1
+ import fs from 'fs';
2
+ import * as path from 'path';
3
+
4
+ export function updateJenkinsFile(filePath: string, name: string) {
5
+ const paramsToUpdate = {
6
+ BASE_NAMESPACE: name,
7
+ CONNECTION_ID: name,
8
+ WORKSPACE_ID: name,
9
+ UNIQUE_NAME: name,
10
+ };
11
+
12
+ let jenkinsFileContent = '';
13
+ if (fs.existsSync(filePath)) {
14
+ jenkinsFileContent = fs.readFileSync(filePath, 'utf-8');
15
+ }
16
+
17
+ const updatedContent = jenkinsFileContent.split('\n').map(line => {
18
+ for (const param in paramsToUpdate) {
19
+ if (line.includes(`string(name: '${param}'`)) {
20
+ return line.replace(/defaultValue: '.*'/, `defaultValue: '${paramsToUpdate[param]}'`);
21
+ }
22
+ }
23
+ return line;
24
+ }).join('\n');
25
+
26
+ // Add missing parameters
27
+ Object.keys(paramsToUpdate).forEach(param => {
28
+ if (!updatedContent.includes(`string(name: '${param}'`)) {
29
+ updatedContent.concat(
30
+ `string(name: '${param}', defaultValue: '${paramsToUpdate[param]}', description: '${param.replace(/_/g, ' ').toLowerCase()}')\n`
31
+ );
32
+ }
33
+ });
34
+
35
+ fs.writeFileSync(filePath, updatedContent, 'utf-8');
36
+ }
@@ -0,0 +1,11 @@
1
+ import { Tree, updateJson } from '@nx/devkit';
2
+ import * as path from 'path';
3
+
4
+ export function updatePackageJson(tree: Tree, projectRoot: string, name: string) {
5
+ const packageJsonPath = path.join(projectRoot, 'package.json');
6
+ updateJson(tree, packageJsonPath, (packageJson) => {
7
+ packageJson['name'] = name;
8
+ // You can add more custom logic here if needed
9
+ return packageJson;
10
+ });
11
+ }