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.
- package/assets/gulpfile.js +142 -204
- package/bundles/tnx-shared.umd.js +125 -116
- package/bundles/tnx-shared.umd.js.map +1 -1
- package/bundles/tnx-shared.umd.min.js +1 -1
- package/bundles/tnx-shared.umd.min.js.map +1 -1
- package/congviec/congviec/congviec.component.d.ts.map +1 -1
- package/congviec/congviec/services/congviec.service.d.ts +2 -0
- package/congviec/congviec/services/congviec.service.d.ts.map +1 -1
- package/const/common.d.ts +5 -0
- package/const/common.d.ts.map +1 -1
- package/esm2015/congviec/congviec/congviec.component.js +2 -2
- package/esm2015/congviec/congviec/services/congviec.service.js +9 -1
- package/esm2015/congviec/dm-priority/dm-priority-form/dm-priority-form.component.js +2 -2
- package/esm2015/const/common.js +6 -1
- package/esm2015/public-api.js +7 -2
- package/esm2015/tnx-shared.js +91 -95
- package/fesm2015/tnx-shared.js +15 -9
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +3 -3
- package/public-api.d.ts +6 -1
- package/public-api.d.ts.map +1 -1
- package/tnx-shared.d.ts +90 -94
- package/tnx-shared.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
- package/congviec/models/const.d.ts +0 -7
- package/congviec/models/const.d.ts.map +0 -1
- package/esm2015/congviec/models/const.js +0 -7
package/assets/gulpfile.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const { task, src, dest, series } = require(
|
|
1
|
+
const { task, src, dest, series } = require('gulp');
|
|
2
2
|
const rename = require('gulp-rename');
|
|
3
|
-
const through = require(
|
|
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 +
|
|
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(
|
|
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
|
|
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(
|
|
63
|
+
task('generateEnvironmentTsFile', async function () {
|
|
64
64
|
const listEnvironment = angularSchemaObj.environments;
|
|
65
|
-
for (const [env
|
|
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
|
-
|
|
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(
|
|
89
|
+
task('updateTsConfigJson', async function () {
|
|
100
90
|
copyTsConfig();
|
|
101
91
|
});
|
|
102
92
|
|
|
103
|
-
task(
|
|
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
|
-
},
|
|
101
|
+
}, 'angular.json');
|
|
112
102
|
});
|
|
113
103
|
|
|
114
|
-
task(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
187
|
+
task('init', series('loadAngularSchemaTemplate', 'generateAngularJson', 'updatePackageJson', 'onInitDone'));
|
|
190
188
|
|
|
191
|
-
task(
|
|
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(
|
|
200
|
-
src(
|
|
197
|
+
task('updateAssetTnxShared', function (done) {
|
|
198
|
+
src('./**/*')
|
|
201
199
|
.pipe(dest(tnxSharedAssetPath));
|
|
202
200
|
done();
|
|
203
201
|
});
|
|
204
202
|
|
|
205
|
-
task(
|
|
203
|
+
task('updateNextVersionService', function (done) {
|
|
206
204
|
processNextVersion(projectName, publishType, done);
|
|
207
205
|
});
|
|
208
206
|
|
|
209
|
-
task(
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
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
|
-
}
|
|
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
|
-
}
|
|
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(
|
|
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
|
-
}
|
|
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
|
|
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
|
|
483
|
+
for (const [env] of Object.entries(listEnvironment)) {
|
|
481
484
|
if (env != personalEnvironmentName) continue;
|
|
482
|
-
|
|
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) {
|
|
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
|
|
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
|
-
|
|
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
|
-
}
|
|
636
|
+
}
|
|
637
|
+
else {
|
|
629
638
|
return JSON.parse(JSON.stringify(obj));
|
|
630
639
|
}
|
|
631
|
-
}
|
|
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
|
-
}
|
|
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 !==
|
|
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
|
-
}
|
|
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
|
-
}
|
|
676
|
-
|
|
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
|
|
706
|
-
|
|
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
|
-
|
|
722
|
+
if (!isObjectOld(target[key])) {
|
|
723
|
+
target[key] = source[key];
|
|
724
|
+
}
|
|
725
|
+
else {
|
|
802
726
|
mergeJSONOld(target[key], source[key]);
|
|
803
|
-
|
|
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
|
-
|
|
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
|
-
|
|
757
|
+
if (currentVersion) {
|
|
758
|
+
obj.versionPrev = currentVersion.versionString;
|
|
832
759
|
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
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
|
-
|
|
838
|
-
|
|
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
|
-
}
|
|
780
|
+
}
|
|
781
|
+
else if (nextVersionType == 'minor') {
|
|
850
782
|
currentVersion.minor++;
|
|
851
783
|
currentVersion.revision = 0;
|
|
852
|
-
}
|
|
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.
|
|
872
|
-
|
|
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
|
-
}
|
|
822
|
+
}
|
|
823
|
+
else {
|
|
886
824
|
onGetVersion(null);
|
|
887
825
|
}
|
|
888
826
|
});
|
|
889
827
|
}
|
|
890
828
|
|
|
891
|
-
exports.generateAngularJson = task(
|
|
829
|
+
exports.generateAngularJson = task('generateAngularJson');
|
|
892
830
|
exports.loadAngularSchemaTemplate = task('loadAngularSchemaTemplate');
|
|
893
|
-
exports.updatePackageJson = task(
|
|
894
|
-
exports.generateDockerBuildConfig = task(
|
|
895
|
-
exports.updateTsConfigJson = task(
|
|
896
|
-
exports.generateEnvironmentJsonFile = task(
|
|
897
|
-
exports.generateEnvironmentTsFile = task(
|
|
898
|
-
exports.reset = task(
|
|
899
|
-
exports.init = task(
|
|
900
|
-
exports.copyRefDirect = series(
|
|
901
|
-
exports.updateRefDirect = series('confirmUpdateProjectRefDirectToOriginalProject', series(
|
|
902
|
-
exports.updateAssetsTnxshared = series(
|
|
903
|
-
exports.updateNextVersionService =
|
|
904
|
-
exports.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',
|