@idlebox/cli 0.0.5 → 0.0.7

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/lib/startup.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { IArgsReaderApi } from '@idlebox/args';
1
+ import type { IArgsReaderApi, ISubArgsReaderApi } from '@idlebox/args';
2
2
  import { type IArgDefineMap, type ICommandDefine, type ICommandDefineWithCommand } from '@idlebox/cli-help-builder';
3
3
  import { type IApp } from './index.js';
4
4
  export declare const app: Readonly<IApp>;
@@ -12,12 +12,14 @@ interface IApplicationHelper {
12
12
  legend(): string;
13
13
  usage(): string;
14
14
  }
15
+ type InitFunc = (argv: IArgsReaderApi, command?: ISubArgsReaderApi) => void | Promise<void>;
15
16
  interface IApplicationEntry {
16
17
  getHelper(command?: string): Promise<IApplicationHelper>;
17
18
  withCommon(commonArgs: IArgDefineMap): this;
18
19
  simple(command: Omit<ICommandDefine, 'description' | 'commonArgs' | 'isHidden'>, main: (args: IArgsReaderApi) => Promise<void>): Promise<void>;
19
20
  static(imports: Record<string, string>, helps: readonly ICommandDefineWithCommand[]): Promise<void>;
20
21
  dynamic(absRootDir: string, globs?: string | string[]): Promise<void>;
22
+ initialize(callback: InitFunc): this;
21
23
  }
22
24
  export declare function makeApplication({ name: binName, description, logPrefix }?: IAppBasic): IApplicationEntry;
23
25
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,eAAe,CAAC;AAEvE,OAAO,EAA0C,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAW5J,OAAO,EAAiB,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAoBtD,eAAO,MAAM,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAQ,CAAC;AAQxC,UAAU,SAAS;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAmBD,UAAU,kBAAkB;IAC3B,IAAI,IAAI,MAAM,CAAC;IACf,MAAM,IAAI,MAAM,CAAC;IACjB,KAAK,IAAI,MAAM,CAAC;CAChB;AAED,UAAU,iBAAiB;IAC1B,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzD,UAAU,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5C,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,YAAY,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/I,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,yBAAyB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,GAAE,SAAsB,GAAG,iBAAiB,CAyLpH"}
1
+ {"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvE,OAAO,EAA0C,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAoB5J,OAAO,EAAiB,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAoBtD,eAAO,MAAM,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAQ,CAAC;AAQxC,UAAU,SAAS;IAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC5B;AAmBD,UAAU,kBAAkB;IAC3B,IAAI,IAAI,MAAM,CAAC;IACf,MAAM,IAAI,MAAM,CAAC;IACjB,KAAK,IAAI,MAAM,CAAC;CAChB;AAED,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5F,UAAU,iBAAiB;IAC1B,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzD,UAAU,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5C,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,YAAY,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/I,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,yBAAyB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CACrC;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,GAAE,SAAsB,GAAG,iBAAiB,CA+MpH"}
package/lib/startup.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { argv } from '@idlebox/args/default';
2
2
  import { CliApplicationHelp } from '@idlebox/cli-help-builder';
3
- import { humanDate, NotImplementedError, registerGlobalLifecycle, SoftwareDefectError, toDisposable, UsageError } from '@idlebox/common';
3
+ import { ExitCode, humanDate, NotImplementedError, registerGlobalLifecycle, SoftwareDefectError, toDisposable, UsageError, } from '@idlebox/common';
4
4
  import { createRootLogger, EnableLogLevel, logger } from '@idlebox/logger';
5
5
  import { registerNodejsExitHandler, shutdown } from '@idlebox/node';
6
6
  import { hasInstalledSourceMapSupport } from '@idlebox/source-map-support';
@@ -92,6 +92,15 @@ export function makeApplication({ name: binName, description, logPrefix } = auto
92
92
  }
93
93
  let commons;
94
94
  let commands;
95
+ const initializeCallbacks = [];
96
+ async function initializeIfNeeded(command) {
97
+ const list = initializeCallbacks.slice();
98
+ initializeCallbacks.length = 0;
99
+ Object.freeze(initializeCallbacks);
100
+ for (const cb of list) {
101
+ await cb(argv, command);
102
+ }
103
+ }
95
104
  return {
96
105
  async getHelper(command) {
97
106
  const help = new CliApplicationHelp(binName, description);
@@ -133,6 +142,10 @@ export function makeApplication({ name: binName, description, logPrefix } = auto
133
142
  commons = commonArgs;
134
143
  return this;
135
144
  },
145
+ initialize(cb) {
146
+ initializeCallbacks.push(cb);
147
+ return this;
148
+ },
136
149
  async simple(command, main) {
137
150
  if (info.showHelp) {
138
151
  const help = await this.getHelper();
@@ -140,6 +153,7 @@ export function makeApplication({ name: binName, description, logPrefix } = auto
140
153
  shutdown(0);
141
154
  }
142
155
  consumeCommandArguments(command);
156
+ await initializeIfNeeded();
143
157
  const result = await main(argv);
144
158
  if (result !== undefined) {
145
159
  logger.warn `main function retrun type is not void`;
@@ -164,6 +178,7 @@ export function makeApplication({ name: binName, description, logPrefix } = auto
164
178
  if (commons)
165
179
  consumeArguments(commons);
166
180
  consumeCommandArguments(commands.find((cmd) => cmd.command === commandName));
181
+ await initializeIfNeeded(subcmd);
167
182
  await execMain(entryFile, subcmd);
168
183
  },
169
184
  async dynamic(absRootDir, globs = ['*.js']) {
@@ -179,6 +194,10 @@ export function makeApplication({ name: binName, description, logPrefix } = auto
179
194
  known_commands.push(base);
180
195
  importMap[base] = path;
181
196
  }
197
+ if (known_commands.length === 0) {
198
+ logger.error `can not found any command file in relative<${absRootDir}> by globs "${globs.join('", "')}"`;
199
+ shutdown(ExitCode.PROGRAM);
200
+ }
182
201
  const subcmd = argv.command(known_commands);
183
202
  if (subcmd?.value) {
184
203
  const cmd = await importDefine(importMap[subcmd.value]);
@@ -199,6 +218,7 @@ export function makeApplication({ name: binName, description, logPrefix } = auto
199
218
  if (commons)
200
219
  consumeArguments(commons);
201
220
  consumeCommandArguments(commands.find((cmd) => cmd.command === commandName));
221
+ await initializeIfNeeded(subcmd);
202
222
  await execMain(importMap[commandName], subcmd);
203
223
  },
204
224
  };
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@idlebox/cli",
3
3
  "type": "module",
4
- "version": "0.0.5",
4
+ "version": "0.0.7",
5
5
  "exports": {
6
6
  ".": {
7
7
  "source": "./src/index.ts",
@@ -15,22 +15,22 @@
15
15
  },
16
16
  "sideEffects": false,
17
17
  "dependencies": {
18
- "@idlebox/common": "^1.5.2",
18
+ "@idlebox/common": "^1.5.6",
19
19
  "@idlebox/args": "^0.0.18",
20
- "@idlebox/logger": "^0.0.11",
20
+ "@idlebox/logger": "^0.0.12",
21
21
  "@idlebox/cli-help-builder": "^0.0.4",
22
- "@idlebox/source-map-support": "^0.0.10",
23
- "@idlebox/node": "^1.4.17"
22
+ "@idlebox/node": "^1.4.18",
23
+ "@idlebox/source-map-support": "^0.0.12"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/node": "^24.0.14",
27
27
  "@build-script/single-dog-asset": "latest",
28
- "@idlebox/source-map-support": "^0.0.10",
29
- "@idlebox/cli-static-generator": "^0.0.4",
30
- "@mpis/run": "^0.0.13"
28
+ "@idlebox/source-map-support": "^0.0.12",
29
+ "@idlebox/cli-static-generator": "^0.0.6",
30
+ "@mpis/run": "^0.0.14"
31
31
  },
32
32
  "optionalDependencies": {
33
- "@idlebox/cli-static-generator": "^0.0.4"
33
+ "@idlebox/cli-static-generator": "^0.0.6"
34
34
  },
35
35
  "license": "MIT",
36
36
  "author": "GongT <admin@gongt.me>",
package/src/startup.ts CHANGED
@@ -1,7 +1,16 @@
1
1
  import type { IArgsReaderApi, ISubArgsReaderApi } from '@idlebox/args';
2
2
  import { argv } from '@idlebox/args/default';
3
3
  import { CliApplicationHelp, type CommandDefine, type IArgDefineMap, type ICommandDefine, type ICommandDefineWithCommand } from '@idlebox/cli-help-builder';
4
- import { humanDate, NotImplementedError, registerGlobalLifecycle, SoftwareDefectError, toDisposable, UsageError, type IPackageJson } from '@idlebox/common';
4
+ import {
5
+ ExitCode,
6
+ humanDate,
7
+ NotImplementedError,
8
+ registerGlobalLifecycle,
9
+ SoftwareDefectError,
10
+ toDisposable,
11
+ UsageError,
12
+ type IPackageJson,
13
+ } from '@idlebox/common';
5
14
  import { createRootLogger, EnableLogLevel, logger } from '@idlebox/logger';
6
15
  import { registerNodejsExitHandler, shutdown } from '@idlebox/node';
7
16
  import { hasInstalledSourceMapSupport } from '@idlebox/source-map-support';
@@ -68,12 +77,14 @@ interface IApplicationHelper {
68
77
  usage(): string;
69
78
  }
70
79
 
80
+ type InitFunc = (argv: IArgsReaderApi, command?: ISubArgsReaderApi) => void | Promise<void>;
71
81
  interface IApplicationEntry {
72
82
  getHelper(command?: string): Promise<IApplicationHelper>;
73
83
  withCommon(commonArgs: IArgDefineMap): this;
74
84
  simple(command: Omit<ICommandDefine, 'description' | 'commonArgs' | 'isHidden'>, main: (args: IArgsReaderApi) => Promise<void>): Promise<void>;
75
85
  static(imports: Record<string, string>, helps: readonly ICommandDefineWithCommand[]): Promise<void>;
76
86
  dynamic(absRootDir: string, globs?: string | string[]): Promise<void>;
87
+ initialize(callback: InitFunc): this;
77
88
  }
78
89
 
79
90
  export function makeApplication({ name: binName, description, logPrefix }: IAppBasic = autoload()): IApplicationEntry {
@@ -134,6 +145,16 @@ export function makeApplication({ name: binName, description, logPrefix }: IAppB
134
145
 
135
146
  let commons: IArgDefineMap | undefined;
136
147
  let commands: readonly ICommandDefineWithCommand[];
148
+ const initializeCallbacks: Array<InitFunc> = [];
149
+ async function initializeIfNeeded(command?: ISubArgsReaderApi) {
150
+ const list = initializeCallbacks.slice();
151
+ initializeCallbacks.length = 0;
152
+ Object.freeze(initializeCallbacks);
153
+
154
+ for (const cb of list) {
155
+ await cb(argv, command);
156
+ }
157
+ }
137
158
 
138
159
  return {
139
160
  async getHelper(command?: string) {
@@ -178,6 +199,10 @@ export function makeApplication({ name: binName, description, logPrefix }: IAppB
178
199
  commons = commonArgs;
179
200
  return this;
180
201
  },
202
+ initialize(cb) {
203
+ initializeCallbacks.push(cb);
204
+ return this;
205
+ },
181
206
  async simple(command: Omit<ICommandDefine, 'description' | 'commonArgs' | 'isHidden'>, main: (args: IArgsReaderApi) => Promise<void>) {
182
207
  if (info.showHelp) {
183
208
  const help = await this.getHelper();
@@ -187,6 +212,7 @@ export function makeApplication({ name: binName, description, logPrefix }: IAppB
187
212
 
188
213
  consumeCommandArguments(command);
189
214
 
215
+ await initializeIfNeeded();
190
216
  const result = await main(argv);
191
217
 
192
218
  if (result !== undefined) {
@@ -217,6 +243,7 @@ export function makeApplication({ name: binName, description, logPrefix }: IAppB
217
243
  if (commons) consumeArguments(commons);
218
244
  consumeCommandArguments(commands.find((cmd) => cmd.command === commandName));
219
245
 
246
+ await initializeIfNeeded(subcmd);
220
247
  await execMain(entryFile, subcmd);
221
248
  },
222
249
  async dynamic(absRootDir: string, globs: string | string[] = ['*.js']) {
@@ -235,6 +262,11 @@ export function makeApplication({ name: binName, description, logPrefix }: IAppB
235
262
  importMap[base] = path;
236
263
  }
237
264
 
265
+ if (known_commands.length === 0) {
266
+ logger.error`can not found any command file in relative<${absRootDir}> by globs "${globs.join('", "')}"`;
267
+ shutdown(ExitCode.PROGRAM);
268
+ }
269
+
238
270
  const subcmd = argv.command(known_commands);
239
271
 
240
272
  if (subcmd?.value) {
@@ -258,6 +290,7 @@ export function makeApplication({ name: binName, description, logPrefix }: IAppB
258
290
  if (commons) consumeArguments(commons);
259
291
  consumeCommandArguments(commands.find((cmd) => cmd.command === commandName));
260
292
 
293
+ await initializeIfNeeded(subcmd);
261
294
  await execMain(importMap[commandName], subcmd);
262
295
  },
263
296
  };