tnx-shared 5.1.2 → 5.1.6

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.
@@ -1,6 +1,6 @@
1
- const { task, src, dest, series } = require("gulp");
1
+ const { task, src, dest, series } = require('gulp');
2
2
  const rename = require('gulp-rename');
3
- const through = require("through2");
3
+ const through = require('through2');
4
4
  const fs = require('fs');
5
5
  const argv = require('yargs').argv;
6
6
  const request = require('request');
@@ -39,7 +39,7 @@ const pathSharedAssets = pathShared + '/shared-assets';
39
39
  const pathSharedEnvironment = pathShared + '/environments';
40
40
  const pathBuildConfig = pathShared + '/build-config';
41
41
  const pathtTsConfig = pathShared;
42
- const pathPackageJson = rootProjectPath + "package.json";
42
+ const pathPackageJson = rootProjectPath + 'package.json';
43
43
  const tnxSharedAssetPath = `${rootProjectPath}../../shared/AppSharedV5/projects/tnx-shared/src/lib/assets`;
44
44
 
45
45
  let angularSchemaObj = {};
@@ -49,37 +49,27 @@ String.prototype.replaceAll = function (target, replacement) {
49
49
  return this.split(target).join(replacement);
50
50
  };
51
51
 
52
- task("generateEnvironmentJsonFile", async function () {
52
+ task('generateEnvironmentJsonFile', async function () {
53
53
  const listEnvironment = angularSchemaObj.environments;
54
54
  // generate application.json file
55
55
  generateApplicationJsonFile();
56
56
 
57
- for (const [env, envSetting] of Object.entries(listEnvironment)) {
57
+ for (const [env] of Object.entries(listEnvironment)) {
58
58
  if (env != personalEnvironmentName) continue;
59
59
  generateEnvironmentJsonFile(env);
60
60
  }
61
- })
61
+ });
62
62
 
63
- task("generateEnvironmentTsFile", async function () {
63
+ task('generateEnvironmentTsFile', async function () {
64
64
  const listEnvironment = angularSchemaObj.environments;
65
- for (const [env, envSetting] of Object.entries(listEnvironment)) {
65
+ for (const [env] of Object.entries(listEnvironment)) {
66
66
  if (env != personalEnvironmentName) continue;
67
67
  if (env == 'prod') continue;
68
68
  generateEnvironmentTsFile(env);
69
69
  }
70
+ });
70
71
 
71
- // // generate special prod environment ts
72
- // const projects = getProjectList();
73
- // for (const [projectName, projectSetting] of Object.entries(projects)) {
74
- // if (projectSetting.deploy && projectSetting.deploy.environments) {
75
- // for (const [env, envSetting] of Object.entries(projectSetting.deploy.environments)) {
76
- // generateEnvironmentTsFile(env, projectSetting.deploy.environmentFile);
77
- // }
78
- // }
79
- // }
80
- })
81
-
82
- task("generateDockerBuildConfig", async function () {
72
+ task('generateDockerBuildConfig', async function () {
83
73
  Object.keys(angularSchemaObj.projectList).filter(x => angularSchemaObj.projectList[x].projectType == 'application').forEach(project => {
84
74
  const prj = angularSchemaObj.projectList[project];
85
75
  let baseHref = `/${project}/`;
@@ -96,11 +86,11 @@ task("generateDockerBuildConfig", async function () {
96
86
  });
97
87
  });
98
88
 
99
- task("updateTsConfigJson", async function () {
89
+ task('updateTsConfigJson', async function () {
100
90
  copyTsConfig();
101
91
  });
102
92
 
103
- task("generateAngularJson", function () {
93
+ task('generateAngularJson', function () {
104
94
  return modifyFile(pathAngularSchema, rootProjectPath, (content) => {
105
95
  const parsed = JSON.parse(content);
106
96
  angularSchemaObj = getAngularSchemaData(parsed);
@@ -108,17 +98,25 @@ task("generateAngularJson", function () {
108
98
  const transformed = transformAngularJson(parsed);
109
99
  // make string from javascript obj
110
100
  return JSON.stringify(transformed, null, 2);
111
- }, "angular.json");
101
+ }, 'angular.json');
112
102
  });
113
103
 
114
- task("loadAngularSchemaTemplate", function () {
104
+ task('loadAngularSchemaTemplate', function () {
115
105
  return readFile(pathAngularSchemaTemplate, (content) => {
116
106
  angularSchemaTemplateObj = cloneObject(content);
117
107
  return true;
118
108
  });
119
109
  });
120
110
 
121
- task("updatePackageJson", function () {
111
+ task('loadAngularSchema', function () {
112
+ return readFile(pathAngularSchema, (content) => {
113
+ angularSchemaObj = cloneObject(content);
114
+ return true;
115
+ });
116
+ });
117
+
118
+
119
+ task('updatePackageJson', function () {
122
120
  return modifyFile(pathPackageJson, rootProjectPath, (content) => {
123
121
  const parsed = JSON.parse(content);
124
122
  // transform json into desired shape
@@ -128,7 +126,7 @@ task("updatePackageJson", function () {
128
126
  });
129
127
  });
130
128
 
131
- task("confirmCopyProjectToRefDirect", function (done) {
129
+ task('confirmCopyProjectToRefDirect', function (done) {
132
130
  if (readlineSync.keyInYN(`Ban co chac chan muon copy "${projectRefDirect}" project sang de ref truc tiep? Luu y neu da ton tai san project "${projectRefDirect}" ben nay thi co nguy co bi mat code. Neu ban da chac chan thi nhan Y`)) {
133
131
  return done();
134
132
  }
@@ -149,7 +147,7 @@ task('copyProjectToRefDirect', function () {
149
147
  return src(`${rootProjectPath}${projectInfo.refPath}/**/*`).pipe(dest(`${rootProjectPath}projects/${projectRefDirect}`));
150
148
  });
151
149
 
152
- task("confirmUpdateProjectRefDirectToOriginalProject", function (done) {
150
+ task('confirmUpdateProjectRefDirectToOriginalProject', function (done) {
153
151
  if (readlineSync.keyInYN(`Ban co chac chan muon update project "${projectRefDirect}" dang ref direct ve thu muc goc? Luu y viec copy nay se overwrite toan bo code o thu muc goc cua project ${projectRefDirect}. Nhan Y de dong y.`)) {
154
152
  return done();
155
153
  }
@@ -157,7 +155,7 @@ task("confirmUpdateProjectRefDirectToOriginalProject", function (done) {
157
155
  process.exit(1);
158
156
  });
159
157
 
160
- task("updateProjectRefDirectToOriginalProject", function () {
158
+ task('updateProjectRefDirectToOriginalProject', function () {
161
159
  const projectList = getProjectList();
162
160
  if (!projectList) {
163
161
  console.error(`khong ton tai project ${projectRefDirect} trong projectList tai angular-schema.json`);
@@ -169,7 +167,7 @@ task("updateProjectRefDirectToOriginalProject", function () {
169
167
  return src(`${rootProjectPath}projects/${projectRefDirect}/**/*`).pipe(dest(`${rootProjectPath}${projectInfo.refPath}`));
170
168
  });
171
169
 
172
- task("reset", function (cb) {
170
+ task('reset', function (cb) {
173
171
  // reset script package.json
174
172
  resetPackageJson();
175
173
  // delete tsconfig.json
@@ -179,16 +177,16 @@ task("reset", function (cb) {
179
177
  cb();
180
178
  });
181
179
 
182
- task("onInitDone", function (cb) {
180
+ task('onInitDone', function (cb) {
183
181
  if (personalEnvironmentName == 'init' && !isUpdateAssetsTnxshared) {
184
182
  console.log('Tiep theo can chay them script npm run generate-all-<ten profile cau ban>');
185
183
  }
186
184
  cb();
187
185
  });
188
186
 
189
- task("init", series("loadAngularSchemaTemplate", "generateAngularJson", "updatePackageJson", "onInitDone"));
187
+ task('init', series('loadAngularSchemaTemplate', 'generateAngularJson', 'updatePackageJson', 'onInitDone'));
190
188
 
191
- task("confirmUpdateAssetTnxShared", function (done) {
189
+ task('confirmUpdateAssetTnxShared', function (done) {
192
190
  if (readlineSync.keyInYN(`Ban co chac chan muon update thu muc assets tai "node_modules/tnx-shared/assets" ve project goc? Luu y viec copy nay se overwrite toan bo code o thu muc goc. Nhan Y de dong y.`)) {
193
191
  return done();
194
192
  }
@@ -196,39 +194,41 @@ task("confirmUpdateAssetTnxShared", function (done) {
196
194
  process.exit(1);
197
195
  });
198
196
 
199
- task("updateAssetTnxShared", function (done) {
200
- src("./**/*")
197
+ task('updateAssetTnxShared', function (done) {
198
+ src('./**/*')
201
199
  .pipe(dest(tnxSharedAssetPath));
202
200
  done();
203
201
  });
204
202
 
205
- task("updateNextVersionService", function (done) {
203
+ task('updateNextVersionService', function (done) {
206
204
  processNextVersion(projectName, publishType, done);
207
205
  });
208
206
 
209
- task("updateDepdendServiceToLatest", function (done) {
210
- let serviceName = argv.serviceName;
211
- try {
212
- if (!serviceName.startsWith('tnx-')) {
213
- serviceName = 'tnx-' + serviceName;
214
- }
215
- getCurrentVersion({}, serviceName, (version) => {
216
- if (version) {
217
- console.log(`latest version of service ${serviceName} is ${version.versionString}`)
218
- modifyFile(pathPackageJson, rootProjectPath, (content) => {
219
- const json = JSON.parse(content);
220
- json.dependencies[serviceName] = version.versionString;
221
- return JSON.stringify(json);
222
- });
223
- } else {
224
- console.log(`cannot get version or does not existed of service ${serviceName}`);
207
+ task('updateDepdendServiceToLatest', function (done) {
208
+ let serviceName = argv.serviceName;
209
+ try {
210
+ if (!serviceName.startsWith('tnx-')) {
211
+ serviceName = 'tnx-' + serviceName;
225
212
  }
213
+ getCurrentVersion({}, serviceName, (version) => {
214
+ if (version) {
215
+ console.log(`latest version of service ${serviceName} is ${version.versionString}`);
216
+ modifyFile(pathPackageJson, rootProjectPath, (content) => {
217
+ const json = JSON.parse(content);
218
+ json.dependencies[serviceName] = version.versionString;
219
+ return JSON.stringify(json);
220
+ });
221
+ }
222
+ else {
223
+ console.log(`cannot get version or does not existed of service ${serviceName}`);
224
+ }
225
+ done();
226
+ });
227
+ }
228
+ catch (e) {
229
+ console.log(`error on update service to latest ${serviceName}`, e);
226
230
  done();
227
- });
228
- } catch (e) {
229
- console.log(`error on update service to latest ${serviceName}`, e);
230
- done();
231
- }
231
+ }
232
232
  });
233
233
 
234
234
  function resetPackageJson() {
@@ -269,7 +269,8 @@ function modifyFile(sourceFile, targetDir, procressFileContent, targetFileName)
269
269
  const content = procressFileContent(rawContent);
270
270
  if (content) {
271
271
  file.contents = Buffer.from(content);
272
- } else {
272
+ }
273
+ else {
273
274
  console.warn(`content file ${sourceFile} after process is null`);
274
275
  }
275
276
  }
@@ -294,7 +295,8 @@ function modifyFileAsync(sourceFile, targetDir, procressFileContentAsync, target
294
295
  const content = await procressFileContentAsync(rawContent);
295
296
  if (content) {
296
297
  file.contents = Buffer.from(content);
297
- } else {
298
+ }
299
+ else {
298
300
  console.warn(`content file ${sourceFile} after process is null`);
299
301
  }
300
302
  }
@@ -318,7 +320,7 @@ function readFile(sourceFile, readContent) {
318
320
  readContent(rawContent);
319
321
  cb(null, file);
320
322
  })
321
- )
323
+ );
322
324
  }
323
325
 
324
326
  function generateEnvironmentTsFile(environment) {
@@ -329,7 +331,7 @@ function generateEnvironmentTsFile(environment) {
329
331
  }
330
332
 
331
333
  function transformEnvironmentTsAndJsonFile(envName, input) {
332
- return input.replaceAll("{{environmentName}}", 'application,' + envName).replaceAll('{{scopeName}}', angularSchemaObj.scopeName);
334
+ return input.replaceAll('{{environmentName}}', 'application,' + envName).replaceAll('{{scopeName}}', angularSchemaObj.scopeName);
333
335
  }
334
336
 
335
337
  function generateApplicationJsonFile() {
@@ -352,7 +354,7 @@ function generateEnvironmentJsonFile(environment) {
352
354
  return transformEnvironmentTsAndJsonFile(environment, content);
353
355
  },
354
356
  `${environment}.json`
355
- )
357
+ );
356
358
  }
357
359
  });
358
360
  }
@@ -438,7 +440,8 @@ function transformPackageJson(angularSchema, angularSchemaTemplate, input) {
438
440
  .replaceAll('{{projectName}}', project)
439
441
  .replaceAll('{{environmentName}}', personalEnvironmentName);
440
442
  }
441
- } else {
443
+ }
444
+ else {
442
445
  input.scripts[`depend-${project}`] = angularSchemaTemplate.scripts[`depend-template`]
443
446
  .replaceAll('{{serviceName}}', project);
444
447
  scriptDependAll += ` && npm run depend-${project}`;
@@ -466,7 +469,7 @@ function transformPackageJson(angularSchema, angularSchemaTemplate, input) {
466
469
  });
467
470
  }
468
471
 
469
- for (const [env, envSetting] of Object.entries(listEnvironment)) {
472
+ for (const [env] of Object.entries(listEnvironment)) {
470
473
  if (personalEnvironmentName != 'init' && env != personalEnvironmentName) continue;
471
474
  input.scripts[`generate-all-${env}`] = angularSchemaTemplate.scripts[`generate-all-template`]
472
475
  .replaceAll('{{environmentName}}', env);
@@ -477,9 +480,9 @@ function transformPackageJson(angularSchema, angularSchemaTemplate, input) {
477
480
  const port = prj.port;
478
481
  const nodeMaxOldSpaceSize = angularSchema.nodeMaxOldSpaceSize ? angularSchema.nodeMaxOldSpaceSize : 3072;
479
482
 
480
- for (const [env, envSetting] of Object.entries(listEnvironment)) {
483
+ for (const [env] of Object.entries(listEnvironment)) {
481
484
  if (env != personalEnvironmentName) continue;
482
- let additionalParams = '';
485
+ const additionalParams = '';
483
486
 
484
487
  input.scripts[`start-${project}-${env}`] = angularSchemaTemplate.scripts['start-template']
485
488
  .replaceAll('{{projectName}}', project)
@@ -528,7 +531,10 @@ function transformAngularJson(input) {
528
531
  Object.keys(input.projectList).forEach(project => {
529
532
  const projectInfo = input.projectList[project];
530
533
  const projectType = projectInfo.projectType;
531
- if (!projectType) { console.error(`Project ${project} cần được định nghĩa projectType là application hoặc library`); return false; }
534
+ if (!projectType) {
535
+ console.error(`Project ${project} cần được định nghĩa projectType là application hoặc library`);
536
+ return false;
537
+ }
532
538
  const templateStr = `template-${projectType}`;
533
539
  // const template = input.projects[templateStr];
534
540
  const template = angularSchemaTemplateObj.projects[templateStr];
@@ -543,12 +549,12 @@ function transformAngularJson(input) {
543
549
  const serve = clonedTemplate.architect.serve;
544
550
  const serveEnvironmentTemplate = serve.configurations.environmentTemplate;
545
551
 
546
- for (const [env, envSetting] of Object.entries(listEnvironment)) {
552
+ for (const [env] of Object.entries(listEnvironment)) {
547
553
  if (env != personalEnvironmentName) continue;
548
554
  const clonedBuildEnvironmentTemplate = cloneObject(buildEnvironmentTemplate);
549
555
  const clonedServeEnvironmentTemplate = cloneObject(serveEnvironmentTemplate);
550
- clonedBuildEnvironmentTemplate.fileReplacements[0].with =
551
- clonedBuildEnvironmentTemplate.fileReplacements[0].with
556
+ clonedBuildEnvironmentTemplate.fileReplacements[0].with
557
+ = clonedBuildEnvironmentTemplate.fileReplacements[0].with
552
558
  .replace('{{environmentName}}', env)
553
559
  .replace('{{sharedDirectory}}', contentPathShared)
554
560
  .replace('{{scopeName}}', angularSchemaObj.scopeName);
@@ -557,18 +563,20 @@ function transformAngularJson(input) {
557
563
  clonedServeEnvironmentTemplate.port = +projectPort;
558
564
  // hmr
559
565
  clonedServeEnvironmentTemplate.hmr = false; // fix để không bao giờ dùng hmr
560
- if (clonedServeEnvironmentTemplate.hmr == null)
566
+ if (clonedServeEnvironmentTemplate.hmr == null) {
561
567
  clonedServeEnvironmentTemplate.hmr = true;
568
+ }
562
569
  // open or not
563
570
  clonedServeEnvironmentTemplate.open = true; // fix để luôn luôn mở trình duyệt khi debug
564
- if (clonedServeEnvironmentTemplate.open == null)
571
+ if (clonedServeEnvironmentTemplate.open == null) {
565
572
  clonedServeEnvironmentTemplate.open = true;
573
+ }
566
574
  serve.configurations[env] = clonedServeEnvironmentTemplate;
567
575
  }
568
576
 
569
577
  if (projectInfo.deploy && projectInfo.deploy.environmentName) {
570
578
  // xử lý environment prod build
571
- let prodEnvironmentName = projectInfo.deploy.environmentName;
579
+ const prodEnvironmentName = projectInfo.deploy.environmentName;
572
580
 
573
581
  const clonedBuildProdEnvironmentTemplate = cloneObject(buildEnvironmentTemplate);
574
582
  build['production'].fileReplacements[0].with = clonedBuildProdEnvironmentTemplate.fileReplacements[0].with
@@ -625,10 +633,12 @@ function cloneObject(obj) {
625
633
  try {
626
634
  if (obj === obj.toString()) {
627
635
  return JSON.parse(obj);
628
- } else {
636
+ }
637
+ else {
629
638
  return JSON.parse(JSON.stringify(obj));
630
639
  }
631
- } catch (e) {
640
+ }
641
+ catch (e) {
632
642
  console.error(e);
633
643
  }
634
644
  return null;
@@ -645,7 +655,8 @@ function getAngularSchemaData(obj) {
645
655
  op = mergeJSONOld(op, envData);
646
656
  }
647
657
  return op;
648
- } catch (e) {
658
+ }
659
+ catch (e) {
649
660
  console.error(e);
650
661
  }
651
662
  return null;
@@ -653,11 +664,12 @@ function getAngularSchemaData(obj) {
653
664
 
654
665
  function replaceKey(obj, pattern, value) {
655
666
  for (const [k, v] of Object.entries(obj)) {
656
- if (typeof v !== "object") {
667
+ if (typeof v !== 'object') {
657
668
  if (obj[k].toString().indexOf(pattern) > -1) {
658
669
  obj[k] = obj[k].toString().replace(pattern, value);
659
670
  }
660
- } else {
671
+ }
672
+ else {
661
673
  replaceKey(v, pattern, value);
662
674
  }
663
675
  }
@@ -667,13 +679,13 @@ function buildTsConfigPath(paths, project) {
667
679
  const prj = getProjectInfo(project);
668
680
  const prefix = getRefPrefix();
669
681
  const refType = prj.refType ? prj.refType : 'package';
670
- const refPath = prj.refPath;
671
682
  if (project == 'tnx-shared') {
672
683
  if (refType != 'package') {
673
684
  paths[`tnx-shared`] = ['projects/tnx-shared/src/lib/public-api'];
674
685
  }
675
- } else {
676
- var pathAlias = `${prefix}${project}`;
686
+ }
687
+ else {
688
+ const pathAlias = `${prefix}${project}`;
677
689
  if (refType != 'package') {
678
690
  paths[`${pathAlias}/*`] = [paths[`${prefix}template-direct/*`][0].replaceAll('{{projectName}}', project).replaceAll('{{projectPath}}', '')];
679
691
  }
@@ -702,105 +714,19 @@ function getProjectList() {
702
714
  return angularSchemaObj.projectList;
703
715
  }
704
716
 
705
- function getEnvironments() {
706
- return angularSchemaObj.environments;
707
- }
708
-
709
- function isLiteralObject(obj) {
710
- return (obj instanceof Object)
711
- && !isArray(obj)
712
- && !isNumber(obj)
713
- && !isDate(obj)
714
- && !isFunction(obj)
715
- && !isBoolean(obj)
716
- && !isRegular(obj)
717
- && !isString(obj);
718
- }
719
-
720
- function isNumber(obj) {
721
- return obj instanceof Number;
722
- }
723
-
724
- function isDate(obj) {
725
- return obj instanceof Date;
726
- }
727
-
728
- function isFunction(obj) {
729
- return obj instanceof Function;
730
- }
731
-
732
- function isBoolean(obj) {
733
- return obj instanceof Boolean;
734
- }
735
-
736
- function isString(obj) {
737
- return obj instanceof String;
738
- }
739
-
740
- function isRegular(obj) {
741
- return obj instanceof RegExp;
742
- }
743
-
744
- function isArray(obj) {
745
- return obj instanceof Array;
746
- }
747
-
748
- function clone(obj) {
749
- if (obj)
750
- return JSON.parse(JSON.stringify(obj));
751
- return null;
752
- };
753
-
754
- function mergeJSON(target, source) {
755
- if (isArray(source)) {
756
- if (!isArray(target))
757
- target = [];
758
- var i = 0;
759
- for (var item of source) {
760
- if (i < target.length)
761
- target[i] = mergeJSON(target[i], item);
762
- else
763
- target.push(clone(item));
764
- i++;
765
- }
766
- target.length = i;
767
- }
768
- else if (isLiteralObject(source)) {
769
- if (!isLiteralObject(target))
770
- target = {};
771
- else
772
- target = clone(target);
773
-
774
- const keys = Object.keys(source);
775
- if (keys.length > 0) {
776
- keys.forEach(key => {
777
- target[key] = mergeJSON(target[key], source[key]);
778
- });
779
- }
780
- else {
781
- const keys = Object.keys(target);
782
- keys.forEach(key => {
783
- delete target[key];
784
- });
785
- }
786
- }
787
- else {
788
- target = source;
789
- }
790
-
791
- return target;
792
- }
793
-
794
- function mergeJSONOld(target, source) {
795
- var source = cloneOld(source)
717
+ function mergeJSONOld(target, sourceOld) {
718
+ const source = cloneOld(sourceOld);
796
719
  if (isObjectOld(source)) {
797
720
  for (const key in source) {
798
721
  if (isObjectOld(source[key])) {
799
- if (!isObjectOld(target[key]))
800
- target[key] = source[key]
801
- else
722
+ if (!isObjectOld(target[key])) {
723
+ target[key] = source[key];
724
+ }
725
+ else {
802
726
  mergeJSONOld(target[key], source[key]);
803
- } else {
727
+ }
728
+ }
729
+ else {
804
730
  target[key] = source[key];
805
731
  }
806
732
  }
@@ -810,15 +736,15 @@ function mergeJSONOld(target, source) {
810
736
 
811
737
  function isObjectOld(obj) {
812
738
  if (!obj) return false;
813
- var s = JSON.stringify(obj);
814
- if (s && s.startsWith('{'))
815
- return true;
739
+ const s = JSON.stringify(obj);
740
+ if (s && s.startsWith('{')) return true;
816
741
  return false;
817
742
  }
818
743
 
819
744
  function cloneOld(obj) {
820
- if (obj)
745
+ if (obj) {
821
746
  return JSON.parse(JSON.stringify(obj));
747
+ }
822
748
  return null;
823
749
  };
824
750
 
@@ -828,14 +754,19 @@ function processNextVersion(packageName, type, callback) {
828
754
  return new Promise((resolve, reject) => {
829
755
  const obj = JSON.parse(content);
830
756
  getCurrentVersion(obj, packageName, (currentVersion) => {
831
- obj.versionPrev = currentVersion.versionString;
757
+ if (currentVersion) {
758
+ obj.versionPrev = currentVersion.versionString;
832
759
 
833
- const nextVersion = getNextVersion(currentVersion, type)
834
- obj.version = nextVersion.versionString;
835
- console.log(`version moi cua package ${packageName} se la ${obj.version}`);
760
+ const nextVersion = getNextVersion(currentVersion, type);
761
+ obj.version = nextVersion.versionString;
762
+ console.log(`version moi cua package ${packageName} se la ${obj.version}`);
836
763
 
837
- resolve(JSON.stringify(obj));
838
- callback();
764
+ resolve(JSON.stringify(obj));
765
+ callback();
766
+ }
767
+ else {
768
+ console.log(`cannot get version ${angularSchemaObj.clientVersion} or does not existed of service ${packageName}`);
769
+ }
839
770
  });
840
771
  });
841
772
  });
@@ -846,10 +777,12 @@ function getNextVersion(currentVersion, nextVersionType) {
846
777
  currentVersion.major++;
847
778
  currentVersion.minor = 0;
848
779
  currentVersion.revision = 0;
849
- } else if (nextVersionType == 'minor') {
780
+ }
781
+ else if (nextVersionType == 'minor') {
850
782
  currentVersion.minor++;
851
783
  currentVersion.revision = 0;
852
- } else {
784
+ }
785
+ else {
853
786
  currentVersion.revision++;
854
787
  }
855
788
 
@@ -857,7 +790,7 @@ function getNextVersion(currentVersion, nextVersionType) {
857
790
  return currentVersion;
858
791
  }
859
792
 
860
- function getCurrentVersion(pkgObj, packageName, onGetVersion) {
793
+ function getCurrentVersion(pkgObj, packageName, onGetVersion, ) {
861
794
  if (!packageName.startsWith('tnx-')) {
862
795
  packageName = 'tnx-' + packageName;
863
796
  }
@@ -868,8 +801,12 @@ function getCurrentVersion(pkgObj, packageName, onGetVersion) {
868
801
  let versionStr;
869
802
  if (body) {
870
803
  const bodyObj = JSON.parse(body);
871
- versionStr = bodyObj.version;
872
- } else {
804
+ versionStr = bodyObj[`version${angularSchemaObj.clientVersion}`];
805
+ if (pkgObj.version) {
806
+ versionStr = `${angularSchemaObj.clientVersion}.0`;
807
+ }
808
+ }
809
+ else {
873
810
  console.warn('cannot get latest version, get from local instead', body);
874
811
  versionStr = pkgObj.version;
875
812
  }
@@ -882,26 +819,27 @@ function getCurrentVersion(pkgObj, packageName, onGetVersion) {
882
819
  minor: +arr[1],
883
820
  revision: +arr[2]
884
821
  });
885
- } else {
822
+ }
823
+ else {
886
824
  onGetVersion(null);
887
825
  }
888
826
  });
889
827
  }
890
828
 
891
- exports.generateAngularJson = task("generateAngularJson");
829
+ exports.generateAngularJson = task('generateAngularJson');
892
830
  exports.loadAngularSchemaTemplate = task('loadAngularSchemaTemplate');
893
- exports.updatePackageJson = task("updatePackageJson");
894
- exports.generateDockerBuildConfig = task("generateDockerBuildConfig");
895
- exports.updateTsConfigJson = task("updateTsConfigJson");
896
- exports.generateEnvironmentJsonFile = task("generateEnvironmentJsonFile");
897
- exports.generateEnvironmentTsFile = task("generateEnvironmentTsFile");
898
- exports.reset = task("reset");
899
- exports.init = task("init");
900
- exports.copyRefDirect = series("confirmCopyProjectToRefDirect", series("init", "copyProjectToRefDirect", "updateTsConfigJson"));
901
- exports.updateRefDirect = series('confirmUpdateProjectRefDirectToOriginalProject', series("init", 'updateProjectRefDirectToOriginalProject'));
902
- exports.updateAssetsTnxshared = series("confirmUpdateAssetTnxShared", series("init", "updateAssetTnxShared"));
903
- exports.updateNextVersionService = task("updateNextVersionService");
904
- exports.updateDepdendServiceToLatest = task("updateDepdendServiceToLatest");
831
+ exports.updatePackageJson = task('updatePackageJson');
832
+ exports.generateDockerBuildConfig = task('generateDockerBuildConfig');
833
+ exports.updateTsConfigJson = task('updateTsConfigJson');
834
+ exports.generateEnvironmentJsonFile = task('generateEnvironmentJsonFile');
835
+ exports.generateEnvironmentTsFile = task('generateEnvironmentTsFile');
836
+ exports.reset = task('reset');
837
+ exports.init = task('init');
838
+ exports.copyRefDirect = series('confirmCopyProjectToRefDirect', series('init', 'copyProjectToRefDirect', 'updateTsConfigJson'));
839
+ exports.updateRefDirect = series('confirmUpdateProjectRefDirectToOriginalProject', series('init', 'updateProjectRefDirectToOriginalProject'));
840
+ exports.updateAssetsTnxshared = series('confirmUpdateAssetTnxShared', series('init', 'updateAssetTnxShared'));
841
+ exports.updateNextVersionService = series('loadAngularSchema', 'updateNextVersionService');
842
+ exports.updateDepdendServiceToLatest = series('loadAngularSchema', 'updateDepdendServiceToLatest');
905
843
  exports.generateAll = series(
906
844
  'loadAngularSchemaTemplate',
907
845
  'generateAngularJson',