@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.
@@ -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');
@@ -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<'setEnv', string>;
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<"setEnv", 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<"quickDeploy", 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<"setEnv", 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<"quickDeploy", boolean> | BaseCliParam<"publish", string> | BaseCliParam<"allLogs", boolean>)[]>;
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>)[]>;
@@ -39,7 +39,7 @@ exports.BaiParam_continue = {
39
39
  };
40
40
  exports.BaiParam_SetEnv = {
41
41
  keys: ['--set-env', '-se'],
42
- keyName: 'setEnv',
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
- defaultValue: '.*'
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
- defaultValue: 'patch'
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;
@@ -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)(phasesToRun).terminatingPhase)
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nu-art/build-and-install",
3
- "version": "0.204.14",
3
+ "version": "0.204.16",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "TacB0sS",
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.setEnv), null, 2), { encoding: 'utf-8' });
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.setEnv);
186
- await (0, generate_1.writeToFile_HostingFirebaseConfigJSON)(firebasePkg, params_1.RuntimeParams.setEnv);
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.setEnv);
216
- await (0, generate_1.writeToFile_FunctionFirebaseJSON)(firebaseFunctionPkg, params_1.RuntimeParams.setEnv);
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
- await commando
394
- .append(`tsc -p "${pathToLocalTsConfig}" --rootDir "${sourceFolder}" --outDir "${pkg.output}"`)
395
- .execute();
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: true,
624
+ terminatingPhase: false,
618
625
  mandatoryPhases: [exports.Phase_ResolveEnv],
619
626
  filter: async (pkg) => {
620
627
  var _a;
621
- return !!((_a = pkg.name.match(new RegExp(params_1.RuntimeParams.deploy))) === null || _a === void 0 ? void 0 : _a[0]) && pkg.type === 'firebase-hosting-app';
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) => { var _a; return !!((_a = pkg.name.match(new RegExp(params_1.RuntimeParams.deploy))) === null || _a === void 0 ? void 0 : _a[0]) && pkg.type === 'firebase-functions-app'; },
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')