@mainset/cli 0.4.4-rc.1 → 0.4.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.
@@ -10,8 +10,6 @@ function registerNodeSourcerCommand(program) {
10
10
  .requiredOption('-e, --exec <type>', 'Execution mode: build or watch')
11
11
  // .option('-b, --builder <builder>', 'Builder tool (default: rslib)', 'rslib')
12
12
  .option('-c, --config <path>', 'Path to config file', './rslib.config.mts')
13
- .option('--noTypes', 'Skip type-only compilation step', false)
14
- .option('--noPurge', 'Skip purging the dist folder before build', false)
15
13
  .action((options) => {
16
14
  // Step 0: determinate command params
17
15
  const customRslibConfigPath = path.resolve(runtimePathById.root, options.config);
@@ -25,14 +23,12 @@ function registerNodeSourcerCommand(program) {
25
23
  console.log('\nšŸ—ļø [mainset cli] node-sourcer: build');
26
24
  try {
27
25
  // Step 1: purge dist folder
28
- if (!options.noPurge)
29
- execImmediatePurgeDist();
26
+ execImmediatePurgeDist();
30
27
  // Step 2: build source code
31
28
  console.log('\nšŸ“¦ Compiling Source Code with Rslib ...');
32
29
  execImmediateRslibCLICommand(`build --config ${rslibConfigPath}`);
33
30
  // Step 3: build type only
34
- if (!options.noTypes)
35
- execImmediateTypeScriptCompileTypeOnly();
31
+ execImmediateTypeScriptCompileTypeOnly();
36
32
  console.log('\nāœ… Build completed successfully\n');
37
33
  }
38
34
  catch (error) {
@@ -44,8 +40,7 @@ function registerNodeSourcerCommand(program) {
44
40
  console.log('\nšŸ—ļø [mainset cli] node-sourcer: watch');
45
41
  try {
46
42
  // Step 1: purge dist folder
47
- if (!options.noPurge)
48
- execImmediatePurgeDist();
43
+ execImmediatePurgeDist();
49
44
  // Step 2: watch source code
50
45
  runStreamingRslibCLICommand([
51
46
  'build',
@@ -54,8 +49,7 @@ function registerNodeSourcerCommand(program) {
54
49
  '--watch',
55
50
  ]);
56
51
  // Step 3: watch type only
57
- if (!options.noTypes)
58
- runStreamingTypeScriptCompileTypeOnly();
52
+ runStreamingTypeScriptCompileTypeOnly();
59
53
  }
60
54
  catch (error) {
61
55
  initProcessCatchErrorLogger('node-sourcer', error, 'watch');
@@ -48,7 +48,11 @@ function registerWebAppCommand(program) {
48
48
  execImmediatePurgeDist();
49
49
  // Step 2: build:ssr-webapp source code
50
50
  console.log('\nšŸ“¦ Compiling SSR WebApp with Webpack ...');
51
- execImmediateCommand(`MS_CLI__WEBPACK_SERVE_MODE=ssr ${webpackCLICommandPath} --config ${webpackSSRConfigPath}`);
51
+ execImmediateCommand(`${webpackCLICommandPath} --config ${webpackSSRConfigPath}`, {
52
+ env: {
53
+ MS_CLI__WEBPACK_SERVE_MODE: 'ssr',
54
+ },
55
+ });
52
56
  /*
53
57
  // Step 3: build:ssr-server source code
54
58
  console.log('\nšŸ“¦ Compiling SSR Server with Rslib ...');
@@ -65,7 +69,11 @@ function registerWebAppCommand(program) {
65
69
  execImmediatePurgeDist();
66
70
  // Step 2: build:csr-webapp source code
67
71
  console.log('\nšŸ“¦ Compiling CSR WebApp with Webpack ...');
68
- execImmediateCommand(`MS_CLI__WEBPACK_SERVE_MODE=csr ${webpackCLICommandPath} --config ${webpackCSRConfigPath}`);
72
+ execImmediateCommand(`${webpackCLICommandPath} --config ${webpackCSRConfigPath}`, {
73
+ env: {
74
+ MS_CLI__WEBPACK_SERVE_MODE: 'csr',
75
+ },
76
+ });
69
77
  console.log('\nāœ… CSR Build completed successfully\n');
70
78
  }
71
79
  }
@@ -93,7 +101,9 @@ function registerWebAppCommand(program) {
93
101
  // Step 2: watch:ssr-webapp source code of web app
94
102
  {
95
103
  runCommand: () => runStreamingCommand(webpackCLICommandPath, ['--config', webpackSSRConfigPath, '--watch'], {
96
- env: Object.assign(Object.assign({}, process.env), { MS_CLI__WEBPACK_SERVE_MODE: 'ssr' }),
104
+ env: {
105
+ MS_CLI__WEBPACK_SERVE_MODE: 'ssr',
106
+ },
97
107
  }),
98
108
  waitForOutput: 'compiled successfully',
99
109
  },
@@ -115,7 +125,9 @@ function registerWebAppCommand(program) {
115
125
  : path.resolve(runtimePathById.root, 'node_modules', '@mainset/bundler-webpack/dist/esm/webpack-config/dev-server.csr.config.mjs');
116
126
  // Step 1: watch:csr-server / start:csr-server source code
117
127
  runStreamingCommand(webpackCLICommandPath, ['serve', '--config', webpackDevServerConfigPath, '--open'], {
118
- env: Object.assign(Object.assign({}, process.env), { MS_CLI__WEBPACK_SERVE_MODE: 'csr' }),
128
+ env: {
129
+ MS_CLI__WEBPACK_SERVE_MODE: 'csr',
130
+ },
119
131
  });
120
132
  }
121
133
  }
@@ -1,3 +1,14 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
1
12
  import { execSync, spawn } from 'child_process';
2
13
  import { consoleColorize } from '../index.mjs';
3
14
  import { processManager } from './process-manager.mjs';
@@ -22,9 +33,10 @@ function initProcessCatchErrorLogger(commandName, error, commandParam) {
22
33
  *
23
34
  * Example: execImmediateCommand('rspack --config ./config/rspack.config.ts');
24
35
  */
25
- function execImmediateCommand(fullCommandString) {
36
+ function execImmediateCommand(fullCommandString, options = {}) {
26
37
  try {
27
- execSync(fullCommandString, { stdio: 'inherit' });
38
+ const { env } = options, restExecSyncOptions = __rest(options, ["env"]);
39
+ execSync(fullCommandString, Object.assign({ stdio: 'inherit', env: Object.assign(Object.assign({}, process.env), env) }, restExecSyncOptions));
28
40
  }
29
41
  catch (error) {
30
42
  initProcessCatchErrorLogger('execImmediateCommand', error);
@@ -38,7 +50,8 @@ function execImmediateCommand(fullCommandString) {
38
50
  */
39
51
  function runStreamingCommand(command, args, options = {}) {
40
52
  try {
41
- const child = spawn(command, args, Object.assign({ stdio: 'inherit', shell: true }, options));
53
+ const { env } = options, restSpawnOptions = __rest(options, ["env"]);
54
+ const child = spawn(command, args, Object.assign({ stdio: 'inherit', shell: true, env: Object.assign(Object.assign({}, process.env), env) }, restSpawnOptions));
42
55
  // Track the process using ProcessManager as it could live in the background after crashing
43
56
  // Examples: server stacks when files removed while server is running
44
57
  // 1. rm -rf ./dist
@@ -1,4 +1,4 @@
1
- import type { SpawnOptions } from 'child_process';
1
+ import type { ExecSyncOptions, SpawnOptions } from 'child_process';
2
2
  declare function initProcessCatchErrorLogger(commandName: string, error: Error | unknown, commandParam?: string): void;
3
3
  /**
4
4
  * Executes a short-lived command synchronously.
@@ -6,7 +6,7 @@ declare function initProcessCatchErrorLogger(commandName: string, error: Error |
6
6
  *
7
7
  * Example: execImmediateCommand('rspack --config ./config/rspack.config.ts');
8
8
  */
9
- declare function execImmediateCommand(fullCommandString: string): void;
9
+ declare function execImmediateCommand(fullCommandString: string, options?: ExecSyncOptions): void;
10
10
  /**
11
11
  * Runs a long-lived streaming command asynchronously.
12
12
  * The command and its arguments must be passed separately.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mainset/cli",
3
- "version": "0.4.4-rc.1",
3
+ "version": "0.4.4",
4
4
  "description": "A unified CLI tool for accelerating development, based on mainset vision of front-end infrastructure",
5
5
  "homepage": "https://github.com/mainset/dev-stack-fe/tree/main/packages/cli",
6
6
  "bugs": {