@nu-art/build-and-install 0.204.14 → 0.204.16
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/build-and-install.js +0 -1
- package/core/params/params.d.ts +3 -3
- package/core/params/params.js +5 -8
- package/logic/ProjectManager.js +5 -1
- package/package.json +1 -1
- package/phases/phases.js +43 -31
package/build-and-install.js
CHANGED
|
@@ -30,7 +30,6 @@ projectManager.registerPhase(phases_1.Phase_CompileWatch);
|
|
|
30
30
|
projectManager.registerPhase(phases_1.Phase_Launch);
|
|
31
31
|
projectManager.registerPhase(phases_1.Phase_DeployFrontend);
|
|
32
32
|
projectManager.registerPhase(phases_1.Phase_DeployBackend);
|
|
33
|
-
projectManager.registerPhase(phases_1.Phase_Debug);
|
|
34
33
|
projectManager.execute()
|
|
35
34
|
.then(() => {
|
|
36
35
|
ts_common_1.StaticLogger.logInfo('completed');
|
package/core/params/params.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare const BaiParam_DependencyTree: BaseCliParam<'dependencyTree', boo
|
|
|
4
4
|
export declare const BaiParam_CheckCyclicImports: BaseCliParam<'checkCyclicImports', boolean>;
|
|
5
5
|
export declare const BaiParam_PrintEnv: BaseCliParam<'printEnv', boolean>;
|
|
6
6
|
export declare const BaiParam_continue: BaseCliParam<'continue', boolean>;
|
|
7
|
-
export declare const BaiParam_SetEnv: BaseCliParam<'
|
|
7
|
+
export declare const BaiParam_SetEnv: BaseCliParam<'environment', string>;
|
|
8
8
|
export declare const BaiParam_Setup: BaseCliParam<'setup', boolean>;
|
|
9
9
|
export declare const BaiParam_Install: BaseCliParam<'install', boolean>;
|
|
10
10
|
export declare const BaiParam_InstallPackages: BaseCliParam<'installPackages', boolean>;
|
|
@@ -33,5 +33,5 @@ export declare const BaiParam_Debug: BaseCliParam<'debug', boolean>;
|
|
|
33
33
|
export declare const BaiParam_QuickDeploy: BaseCliParam<'quickDeploy', boolean>;
|
|
34
34
|
export declare const BaiParam_Publish: BaseCliParam<'publish', string>;
|
|
35
35
|
export declare const BaiParam_AllLogs: BaseCliParam<'allLogs', boolean>;
|
|
36
|
-
export declare const AllBaiParams: (BaseCliParam<"help", boolean> | BaseCliParam<"dependencyTree", boolean> | BaseCliParam<"checkCyclicImports", boolean> | BaseCliParam<"printEnv", boolean> | BaseCliParam<"continue", boolean> | BaseCliParam<"
|
|
37
|
-
export declare const RuntimeParams: import("@nu-art/commando/cli/cli-params").CliParams<(BaseCliParam<"help", boolean> | BaseCliParam<"dependencyTree", boolean> | BaseCliParam<"checkCyclicImports", boolean> | BaseCliParam<"printEnv", boolean> | BaseCliParam<"continue", boolean> | BaseCliParam<"
|
|
36
|
+
export declare const AllBaiParams: (BaseCliParam<"help", boolean> | BaseCliParam<"dependencyTree", boolean> | BaseCliParam<"checkCyclicImports", boolean> | BaseCliParam<"printEnv", boolean> | BaseCliParam<"continue", boolean> | BaseCliParam<"environment", string> | BaseCliParam<"setup", boolean> | BaseCliParam<"install", boolean> | BaseCliParam<"installPackages", boolean> | BaseCliParam<"installGlobals", boolean> | BaseCliParam<"clean", boolean> | BaseCliParam<"purge", boolean> | BaseCliParam<"generate", boolean> | BaseCliParam<"generateDocs", boolean> | BaseCliParam<"noBuild", boolean> | BaseCliParam<"dryRun", boolean> | BaseCliParam<"runWithThunderstorm", boolean> | BaseCliParam<"withCommando", boolean> | BaseCliParam<"noThunderstorm", boolean> | BaseCliParam<"lint", boolean> | BaseCliParam<"watch", boolean> | BaseCliParam<"test", string> | BaseCliParam<"launch", string> | BaseCliParam<"launchFrontend", boolean> | BaseCliParam<"launchBackend", boolean> | BaseCliParam<"debugBackend", boolean> | BaseCliParam<"deploy", string> | BaseCliParam<"deployBackend", boolean> | BaseCliParam<"deployFrontend", boolean> | BaseCliParam<"noGit", boolean> | BaseCliParam<"debug", boolean> | BaseCliParam<"publish", string> | BaseCliParam<"allLogs", boolean>)[];
|
|
37
|
+
export declare const RuntimeParams: import("@nu-art/commando/cli/cli-params").CliParams<(BaseCliParam<"help", boolean> | BaseCliParam<"dependencyTree", boolean> | BaseCliParam<"checkCyclicImports", boolean> | BaseCliParam<"printEnv", boolean> | BaseCliParam<"continue", boolean> | BaseCliParam<"environment", string> | BaseCliParam<"setup", boolean> | BaseCliParam<"install", boolean> | BaseCliParam<"installPackages", boolean> | BaseCliParam<"installGlobals", boolean> | BaseCliParam<"clean", boolean> | BaseCliParam<"purge", boolean> | BaseCliParam<"generate", boolean> | BaseCliParam<"generateDocs", boolean> | BaseCliParam<"noBuild", boolean> | BaseCliParam<"dryRun", boolean> | BaseCliParam<"runWithThunderstorm", boolean> | BaseCliParam<"withCommando", boolean> | BaseCliParam<"noThunderstorm", boolean> | BaseCliParam<"lint", boolean> | BaseCliParam<"watch", boolean> | BaseCliParam<"test", string> | BaseCliParam<"launch", string> | BaseCliParam<"launchFrontend", boolean> | BaseCliParam<"launchBackend", boolean> | BaseCliParam<"debugBackend", boolean> | BaseCliParam<"deploy", string> | BaseCliParam<"deployBackend", boolean> | BaseCliParam<"deployFrontend", boolean> | BaseCliParam<"noGit", boolean> | BaseCliParam<"debug", boolean> | BaseCliParam<"publish", string> | BaseCliParam<"allLogs", boolean>)[]>;
|
package/core/params/params.js
CHANGED
|
@@ -39,7 +39,7 @@ exports.BaiParam_continue = {
|
|
|
39
39
|
};
|
|
40
40
|
exports.BaiParam_SetEnv = {
|
|
41
41
|
keys: ['--set-env', '-se'],
|
|
42
|
-
keyName: '
|
|
42
|
+
keyName: 'environment',
|
|
43
43
|
type: 'string',
|
|
44
44
|
group: 'Build',
|
|
45
45
|
defaultValue: 'local',
|
|
@@ -157,14 +157,14 @@ exports.BaiParam_Test = {
|
|
|
157
157
|
type: 'string',
|
|
158
158
|
group: 'Test',
|
|
159
159
|
description: 'Run the tests in all the project packages\naccepts test label to run optionally. default will be empty string',
|
|
160
|
-
|
|
160
|
+
process: (regexp) => regexp !== null && regexp !== void 0 ? regexp : '.*',
|
|
161
161
|
};
|
|
162
162
|
exports.BaiParam_Launch = {
|
|
163
163
|
keys: ['--launch', '-l'],
|
|
164
164
|
keyName: 'launch',
|
|
165
165
|
type: 'string',
|
|
166
166
|
group: 'Apps',
|
|
167
|
-
process: () => '.*',
|
|
167
|
+
process: (regexp) => regexp !== null && regexp !== void 0 ? regexp : '.*',
|
|
168
168
|
description: 'It will add the provided App to the launch list \nrequired input: path-to-app-to-launch(string)'
|
|
169
169
|
};
|
|
170
170
|
exports.BaiParam_LaunchFrontend = {
|
|
@@ -193,7 +193,7 @@ exports.BaiParam_Deploy = {
|
|
|
193
193
|
keyName: 'deploy',
|
|
194
194
|
type: 'string',
|
|
195
195
|
group: 'Apps',
|
|
196
|
-
process: () => '.*',
|
|
196
|
+
process: (regexp) => regexp !== null && regexp !== void 0 ? regexp : '.*',
|
|
197
197
|
description: 'Will add the provided App to the deploy list or all applications'
|
|
198
198
|
};
|
|
199
199
|
exports.BaiParam_DeployBackend = {
|
|
@@ -237,7 +237,7 @@ exports.BaiParam_Publish = {
|
|
|
237
237
|
type: 'string',
|
|
238
238
|
group: 'Other',
|
|
239
239
|
description: 'Will publish thunderstorm && promote thunderstorm version \nenum options: patch | minor | major \nDefault Param: patch',
|
|
240
|
-
|
|
240
|
+
process: (part) => part !== null && part !== void 0 ? part : 'patch'
|
|
241
241
|
};
|
|
242
242
|
exports.BaiParam_AllLogs = {
|
|
243
243
|
keys: ['--all-logs', '-al'],
|
|
@@ -278,11 +278,8 @@ exports.AllBaiParams = [
|
|
|
278
278
|
exports.BaiParam_DeployFrontend,
|
|
279
279
|
exports.BaiParam_NoGit,
|
|
280
280
|
exports.BaiParam_Debug,
|
|
281
|
-
exports.BaiParam_QuickDeploy,
|
|
282
281
|
exports.BaiParam_Publish,
|
|
283
282
|
exports.BaiParam_AllLogs
|
|
284
283
|
];
|
|
285
284
|
const params = cli_params_1.CLIParams_Resolver.create(...exports.AllBaiParams).resolveParamValue();
|
|
286
|
-
if (!params.setEnv)
|
|
287
|
-
params.setEnv = 'local';
|
|
288
285
|
exports.RuntimeParams = params;
|
package/logic/ProjectManager.js
CHANGED
|
@@ -65,6 +65,7 @@ class ProjectManager extends ts_common_1.Logger {
|
|
|
65
65
|
this.projectScreen = new ProjectScreen_1.ProjectScreen([]);
|
|
66
66
|
params_1.RuntimeParams.allLogs ? this.showAllLogs() : this.showPrettyLogs();
|
|
67
67
|
this.setMinLevel(ts_common_1.LogLevel.Verbose);
|
|
68
|
+
this.logInfo('Runtime params:', params_1.RuntimeParams);
|
|
68
69
|
}
|
|
69
70
|
showAllLogs() {
|
|
70
71
|
var _a;
|
|
@@ -152,6 +153,7 @@ class ProjectManager extends ts_common_1.Logger {
|
|
|
152
153
|
return async () => {
|
|
153
154
|
let didRun = false;
|
|
154
155
|
let didPrintPhase = false;
|
|
156
|
+
const phasesRan = [];
|
|
155
157
|
const toRunPackages = consts_1.MemKey_Packages.get().packagesDependency.map((packages, i) => {
|
|
156
158
|
return async () => {
|
|
157
159
|
var _a;
|
|
@@ -170,6 +172,8 @@ class ProjectManager extends ts_common_1.Logger {
|
|
|
170
172
|
if (!this.prevRunningStatus && !phase.terminatingPhase)
|
|
171
173
|
consts_2.MemKey_RunningStatus.set({ phaseKey: phase.name, packageDependencyIndex: i });
|
|
172
174
|
if (!didPrintPhase) {
|
|
175
|
+
// will only be called once per phase
|
|
176
|
+
phasesRan.push(phase);
|
|
173
177
|
this.logInfo(`Running package phase: ${(0, ts_common_1.__stringify)(phasesToRun.map(mapToName))}`);
|
|
174
178
|
didPrintPhase = true;
|
|
175
179
|
}
|
|
@@ -201,7 +205,7 @@ class ProjectManager extends ts_common_1.Logger {
|
|
|
201
205
|
for (const toRunPackage of toRunPackages) {
|
|
202
206
|
await toRunPackage();
|
|
203
207
|
}
|
|
204
|
-
if (didRun && (0, ts_common_1.lastElement)(
|
|
208
|
+
if (didRun && (0, ts_common_1.lastElement)(phasesRan).terminatingPhase)
|
|
205
209
|
this.terminate = true;
|
|
206
210
|
await (nextAction === null || nextAction === void 0 ? void 0 : nextAction());
|
|
207
211
|
};
|
package/package.json
CHANGED
package/phases/phases.js
CHANGED
|
@@ -177,13 +177,13 @@ exports.Phase_ResolveEnv = {
|
|
|
177
177
|
filter: async (pkg) => pkg.type === 'firebase-functions-app' || pkg.type === 'firebase-hosting-app',
|
|
178
178
|
action: async (pkg) => {
|
|
179
179
|
const firebasePkg = pkg;
|
|
180
|
-
await fs_1.promises.writeFile(`${firebasePkg.path}/${consts_1.CONST_FirebaseRC}`, JSON.stringify((0, generate_1.createFirebaseRC)(firebasePkg, params_1.RuntimeParams.
|
|
180
|
+
await fs_1.promises.writeFile(`${firebasePkg.path}/${consts_1.CONST_FirebaseRC}`, JSON.stringify((0, generate_1.createFirebaseRC)(firebasePkg, params_1.RuntimeParams.environment), null, 2), { encoding: 'utf-8' });
|
|
181
181
|
const defaultFiles = consts_2.MemKey_DefaultFiles.get();
|
|
182
182
|
const projectScreen = ProjectScreen_1.MemKey_ProjectScreen.get();
|
|
183
183
|
projectScreen.updateOrCreatePackage(pkg.name, 'Resolving Env');
|
|
184
184
|
if (pkg.type === 'firebase-hosting-app') {
|
|
185
|
-
await (0, generate_1.writeToFile_HostingFirebaseJSON)(firebasePkg, params_1.RuntimeParams.
|
|
186
|
-
await (0, generate_1.writeToFile_HostingFirebaseConfigJSON)(firebasePkg, params_1.RuntimeParams.
|
|
185
|
+
await (0, generate_1.writeToFile_HostingFirebaseJSON)(firebasePkg, params_1.RuntimeParams.environment);
|
|
186
|
+
await (0, generate_1.writeToFile_HostingFirebaseConfigJSON)(firebasePkg, params_1.RuntimeParams.environment);
|
|
187
187
|
}
|
|
188
188
|
if (pkg.type === 'firebase-functions-app') {
|
|
189
189
|
const firebaseFunctionPkg = firebasePkg;
|
|
@@ -212,8 +212,8 @@ exports.Phase_ResolveEnv = {
|
|
|
212
212
|
await fs_1.promises.writeFile(pathToConfigFile, defaultFileContent, { encoding: 'utf-8' });
|
|
213
213
|
}
|
|
214
214
|
}));
|
|
215
|
-
await (0, generate_1.writeToFile_functionFirebaseConfigJSON)(firebaseFunctionPkg, params_1.RuntimeParams.
|
|
216
|
-
await (0, generate_1.writeToFile_FunctionFirebaseJSON)(firebaseFunctionPkg, params_1.RuntimeParams.
|
|
215
|
+
await (0, generate_1.writeToFile_functionFirebaseConfigJSON)(firebaseFunctionPkg, params_1.RuntimeParams.environment);
|
|
216
|
+
await (0, generate_1.writeToFile_FunctionFirebaseJSON)(firebaseFunctionPkg, params_1.RuntimeParams.environment);
|
|
217
217
|
}
|
|
218
218
|
projectScreen.updateOrCreatePackage(pkg.name, 'Env Resolved');
|
|
219
219
|
}
|
|
@@ -389,10 +389,36 @@ exports.Phase_PrepareCompile = {
|
|
|
389
389
|
const pathToLocalTsConfig = `${sourceFolder}/${CONST_TS_Config}`;
|
|
390
390
|
projectScreen.updateOrCreatePackage(pkg.name, 'Compiling');
|
|
391
391
|
const counter = timeCounter();
|
|
392
|
-
const commando = nvm_1.NVM.createCommando();
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
392
|
+
const commando = nvm_1.NVM.createCommando(basic_1.Cli_Basic);
|
|
393
|
+
if (pkg.type === 'firebase-hosting-app') {
|
|
394
|
+
commando
|
|
395
|
+
.cd(pkg.path)
|
|
396
|
+
.append(`ENV=${params_1.RuntimeParams.environment} npm run build`);
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
try {
|
|
400
|
+
const otherFiles = [
|
|
401
|
+
'json',
|
|
402
|
+
'scss',
|
|
403
|
+
'svg',
|
|
404
|
+
'png',
|
|
405
|
+
'jpg',
|
|
406
|
+
'jpeg',
|
|
407
|
+
'rules',
|
|
408
|
+
];
|
|
409
|
+
const command = `find . \\( -name ${otherFiles.map(suffix => `'*.${suffix}'`).join(' -o -name ')} \\) | cpio -pdm "${pkg.output}" > /dev/null`;
|
|
410
|
+
await cli_1.Commando.create(basic_1.Cli_Basic)
|
|
411
|
+
.cd(`${pkg.path}/src/main`)
|
|
412
|
+
.append(command)
|
|
413
|
+
.execute();
|
|
414
|
+
}
|
|
415
|
+
catch (e) {
|
|
416
|
+
//
|
|
417
|
+
}
|
|
418
|
+
commando
|
|
419
|
+
.append(`tsc -p "${pathToLocalTsConfig}" --rootDir "${sourceFolder}" --outDir "${pkg.output}"`);
|
|
420
|
+
}
|
|
421
|
+
await commando.execute();
|
|
396
422
|
projectScreen.updateOrCreatePackage(pkg.name, `Compiled (${counter.format('mm:ss.zzz')})`);
|
|
397
423
|
};
|
|
398
424
|
}
|
|
@@ -425,25 +451,6 @@ exports.Phase_Compile = {
|
|
|
425
451
|
const packages = consts_1.MemKey_Packages.get();
|
|
426
452
|
if (pkg.type === 'sourceless')
|
|
427
453
|
return;
|
|
428
|
-
try {
|
|
429
|
-
const otherFiles = [
|
|
430
|
-
'json',
|
|
431
|
-
'scss',
|
|
432
|
-
'svg',
|
|
433
|
-
'png',
|
|
434
|
-
'jpg',
|
|
435
|
-
'jpeg',
|
|
436
|
-
'rules',
|
|
437
|
-
];
|
|
438
|
-
const command = `find . \\( -name ${otherFiles.map(suffix => `'*.${suffix}'`).join(' -o -name ')} \\) | cpio -pdm "${pkg.output}" > /dev/null`;
|
|
439
|
-
await cli_1.Commando.create(basic_1.Cli_Basic)
|
|
440
|
-
.cd(`${pkg.path}/src/main`)
|
|
441
|
-
.append(command)
|
|
442
|
-
.execute();
|
|
443
|
-
}
|
|
444
|
-
catch (e) {
|
|
445
|
-
//
|
|
446
|
-
}
|
|
447
454
|
const folder = 'main';
|
|
448
455
|
const sourceFolder = `${pkg.path}/src/${folder}`;
|
|
449
456
|
const pathToLocalTsConfig = `${sourceFolder}/${CONST_TS_Config}`;
|
|
@@ -614,11 +621,12 @@ exports.Phase_Launch = {
|
|
|
614
621
|
exports.Phase_DeployFrontend = {
|
|
615
622
|
type: 'package',
|
|
616
623
|
name: 'deploy-frontend',
|
|
617
|
-
terminatingPhase:
|
|
624
|
+
terminatingPhase: false,
|
|
618
625
|
mandatoryPhases: [exports.Phase_ResolveEnv],
|
|
619
626
|
filter: async (pkg) => {
|
|
620
627
|
var _a;
|
|
621
|
-
|
|
628
|
+
const match = !!((_a = pkg.name.match(new RegExp(params_1.RuntimeParams.deploy))) === null || _a === void 0 ? void 0 : _a[0]);
|
|
629
|
+
return match && pkg.type === 'firebase-hosting-app';
|
|
622
630
|
},
|
|
623
631
|
action: async (pkg) => {
|
|
624
632
|
const projectScreen = ProjectScreen_1.MemKey_ProjectScreen.get();
|
|
@@ -638,7 +646,11 @@ exports.Phase_DeployBackend = {
|
|
|
638
646
|
name: 'deploy-functions',
|
|
639
647
|
terminatingPhase: true,
|
|
640
648
|
mandatoryPhases: [exports.Phase_ResolveEnv],
|
|
641
|
-
filter: async (pkg) => {
|
|
649
|
+
filter: async (pkg) => {
|
|
650
|
+
var _a;
|
|
651
|
+
const match = !!((_a = pkg.name.match(new RegExp(params_1.RuntimeParams.deploy))) === null || _a === void 0 ? void 0 : _a[0]);
|
|
652
|
+
return match && pkg.type === 'firebase-functions-app';
|
|
653
|
+
},
|
|
642
654
|
action: async (pkg) => {
|
|
643
655
|
const projectScreen = ProjectScreen_1.MemKey_ProjectScreen.get();
|
|
644
656
|
if (pkg.type !== 'firebase-functions-app')
|