@haibun/cli 1.42.2 → 1.43.0

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.
@@ -1,4 +1,4 @@
1
- import { IHasOptions, TOptions } from "@haibun/core/build/lib/defs.js";
1
+ import { IHasOptions, TOptions } from '@haibun/core/build/lib/defs.js';
2
2
  export declare class BaseOptions implements IHasOptions {
3
3
  static options: {
4
4
  KEY: {
@@ -27,16 +27,6 @@ export declare class BaseOptions implements IHasOptions {
27
27
  result: string;
28
28
  };
29
29
  };
30
- CLI: {
31
- desc: string;
32
- parse: (input: string) => {
33
- error: string;
34
- result?: undefined;
35
- } | {
36
- result: boolean;
37
- error?: undefined;
38
- };
39
- };
40
30
  SETTING: {
41
31
  desc: string;
42
32
  parse: (result: string) => {
@@ -81,9 +71,7 @@ export declare class BaseOptions implements IHasOptions {
81
71
  error: string;
82
72
  env?: undefined;
83
73
  } | {
84
- env: {
85
- [name: string]: string;
86
- };
74
+ env: TOptions;
87
75
  error?: undefined;
88
76
  };
89
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"BaseOptions.d.ts","sourceRoot":"","sources":["../src/BaseOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAA6B,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIhH,qBAAa,WAAY,YAAW,WAAW;IAC3C,MAAM,CAAC,OAAO;;;2BAGS,MAAM;;;;;;;;;;2BAIN,MAAM;;;;;;;;;;4BAIL,MAAM;;;;;;2BAIP,MAAM;;;;;;;;;;4BAIL,MAAM;;;;;;4BAIN,MAAM;;;;;;4BAIN,MAAM;;;;;;;;;;4BAIN,MAAM;;;;;;4BAIN,MAAM;;;;;;;;;;2BAIP,MAAM,OAAO,QAAQ;;;;;;;;;;;;2BAerB,MAAM,OAAO,QAAQ;;;;;;;;;;2BAoBrB,MAAM;;;;;;;;;;4BAIL,MAAM;;;;;;4BAIN,MAAM;;;;;;2BAIP,MAAM;;;;MAO3B;CACL"}
1
+ {"version":3,"file":"BaseOptions.d.ts","sourceRoot":"","sources":["../src/BaseOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyC,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAI9G,qBAAa,WAAY,YAAW,WAAW;IAC9C,MAAM,CAAC,OAAO;;;2BAGG,MAAM;;;;;;;;;;2BAIN,MAAM;;;;;;;;;;4BAIL,MAAM;;;;;;4BAIN,MAAM;;;;;;4BAIN,MAAM;;;;;;4BAIN,MAAM;;;;;;;;;;4BAIN,MAAM;;;;;;4BAIN,MAAM;;;;;;;;;;2BAOP,MAAM,OAAO,QAAQ;;;;;;;;;;2BAerB,MAAM,OAAO,QAAQ;;;;;;;;;;2BAerB,MAAM;;;;;;;;;;4BAIL,MAAM;;;;;;4BAIN,MAAM;;;;;;2BAIP,MAAM;;;;MAOrB;CACF"}
@@ -1,51 +1,49 @@
1
- import { DEFAULT_DEST, STAY_ALWAYS, STAY_FAILURE } from "@haibun/core/build/lib/defs.js";
2
- import { LOGGER_LEVELS } from "@haibun/core/build/lib/Logger.js";
3
- import { boolOrError, intOrError, optionOrError, stringOrError } from "@haibun/core/build/lib/util/index.js";
1
+ import { STAY_ALWAYS, STAY_FAILURE, STEP_DELAY } from '@haibun/core/build/lib/defs.js';
2
+ import { LOGGER_LEVELS } from '@haibun/core/build/lib/Logger.js';
3
+ import { boolOrError, intOrError, optionOrError, stringOrError } from '@haibun/core/build/lib/util/index.js';
4
4
  export class BaseOptions {
5
5
  static options = {
6
6
  KEY: {
7
7
  desc: 'execution key (defaults to serialtime)',
8
- parse: (input) => stringOrError(input)
8
+ parse: (input) => stringOrError(input),
9
9
  },
10
10
  TRACE: {
11
11
  desc: 'save tracks data',
12
- parse: (input) => boolOrError(input)
12
+ parse: (input) => boolOrError(input),
13
13
  },
14
14
  DESCRIPTION: {
15
15
  desc: 'description for reports',
16
- parse: (result) => ({ result })
17
- },
18
- CLI: {
19
- desc: 'create a command interface for each member',
20
- parse: (input) => boolOrError(input)
16
+ parse: (result) => ({ result }),
21
17
  },
22
18
  SETTING: {
23
19
  desc: 'execution setting (eg dev, prod)',
24
- parse: (result) => ({ result })
20
+ parse: (result) => ({ result }),
25
21
  },
26
22
  DEST: {
27
23
  desc: 'destination for captures',
28
- parse: (result) => ({ result })
24
+ parse: (result) => ({ result }),
29
25
  },
30
26
  STAY: {
31
27
  desc: `stay running after execution: ${STAY_ALWAYS}, ${STAY_FAILURE}`,
32
- parse: (result) => optionOrError(result, [STAY_ALWAYS, STAY_FAILURE])
28
+ parse: (result) => optionOrError(result, [STAY_ALWAYS, STAY_FAILURE]),
33
29
  },
34
30
  LOG_FOLLOW: {
35
31
  desc: 'filter for output',
36
- parse: (result) => ({ result })
32
+ parse: (result) => ({ result }),
37
33
  },
38
34
  LOG_LEVEL: {
39
35
  desc: Object.keys(LOGGER_LEVELS).join(', '),
40
- parse: (result) => Object.keys(LOGGER_LEVELS).includes(result) ? { result } : { error: `${result} not in ${Object.keys(LOGGER_LEVELS).join(', ')}` }
36
+ parse: (result) => Object.keys(LOGGER_LEVELS).includes(result)
37
+ ? { result }
38
+ : { error: `${result} not in ${Object.keys(LOGGER_LEVELS).join(', ')}` },
41
39
  },
42
40
  ENV: {
43
- desc: 'pass an environment variable: var=value[,var2=value]',
41
+ desc: 'pass a variable: var=value[,var2=value]',
44
42
  parse: (input, cur) => {
45
43
  const pairs = input?.split(',');
46
- const env = {};
44
+ const env = { ...cur };
47
45
  for (const pair of pairs) {
48
- const [k, v] = pair.split('=').map(i => i.trim());
46
+ const [k, v] = pair.split('=').map((i) => i.trim());
49
47
  if (cur[k] || env[k]) {
50
48
  return { error: `ENV ${k} already defined` };
51
49
  }
@@ -55,35 +53,30 @@ export class BaseOptions {
55
53
  },
56
54
  },
57
55
  ENVC: {
58
- desc: 'pass multiple environment variables: var1=a,var2=b',
56
+ desc: 'pass multiple variables: var1=a,var2=b',
59
57
  parse: (input, cur) => {
60
- const pairs = new Set(input?.split(',').map(a => a.split('=')[0]));
61
- const env = { DEST: DEFAULT_DEST };
62
- for (const pair of pairs) {
63
- const [k] = Array.from(new Set(pair.split('=')));
64
- if (cur[k]) {
65
- return { error: `ENVC ${k} already exists` };
66
- }
67
- env[k] = [];
68
- }
58
+ const env = { ...cur };
69
59
  for (const pair of (input || '').split(',')) {
70
60
  const [k, v] = pair.split('=');
71
- env[k].push(v);
61
+ if (env[k]) {
62
+ return { error: `ENVC ${k} already exists` };
63
+ }
64
+ env[k] = v;
72
65
  }
73
66
  return { env };
74
- }
67
+ },
75
68
  },
76
- STEP_DELAY: {
69
+ [STEP_DELAY]: {
77
70
  desc: 'delay between steps',
78
- parse: (input) => intOrError(input)
71
+ parse: (input) => intOrError(input),
79
72
  },
80
73
  OUTPUT: {
81
74
  desc: 'Output format (AsXUnit)',
82
- parse: (result) => ({ result })
75
+ parse: (result) => ({ result }),
83
76
  },
84
77
  OUTPUT_DEST: {
85
78
  desc: 'Output destination (results.xml)',
86
- parse: (result) => ({ result })
79
+ parse: (result) => ({ result }),
87
80
  },
88
81
  PWDEBUG: {
89
82
  desc: '(web) Enable Playwright debugging (0 or 1)',
@@ -92,7 +85,7 @@ export class BaseOptions {
92
85
  process.env['PWDEBUG'] = 'true';
93
86
  }
94
87
  return { result: input };
95
- }
88
+ },
96
89
  },
97
90
  };
98
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseOptions.js","sourceRoot":"","sources":["../src/BaseOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseOptions.js","sourceRoot":"","sources":["../src/BaseOptions.ts"],"names":[],"mappings":"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"}
package/build/cli.js CHANGED
@@ -1,7 +1,100 @@
1
1
  #!/usr/bin/env node
2
2
  import sourceMapSupport from 'source-map-support';
3
- import { runWith } from './runTests.js';
3
+ import { STAY_ALWAYS, STAY, CHECK_NO, CHECK_YES, } from '@haibun/core/build/lib/defs.js';
4
+ import { HANDLE_RESULT_HISTORY } from '@haibun/domain-storage/build/domain-storage.js';
5
+ import { findHandlers, getDefaultOptions, basesFrom } from '@haibun/core/build/lib/util/index.js';
6
+ import { getAllSteppers, getConfigFromBase, processArgs, processBaseEnvToOptionsAndErrors, usageThenExit } from './lib.js';
7
+ import { Timer } from '@haibun/core/build/lib/Timer.js';
8
+ import Logger from '@haibun/core/build/lib/Logger.js';
9
+ import { EMediaTypes } from '@haibun/domain-storage/build/media-types.js';
10
+ import { Runner } from '@haibun/core/build/runner.js';
11
+ import { WorldContext } from '@haibun/core/build/lib/contexts.js';
12
+ import { getDefaultTag } from '@haibun/core/build/lib/test/lib.js';
4
13
  sourceMapSupport.install();
5
14
  process.on('unhandledRejection', console.error);
6
- runWith(process).catch(console.error);
15
+ go().catch(console.error);
16
+ async function go() {
17
+ const { params, configLoc, showHelp, showSteppers } = processArgs(process.argv.slice(2));
18
+ const bases = basesFrom(params[0]?.replace(/\/$/, ''));
19
+ const specl = await getSpeclOrExit(configLoc ? [configLoc] : bases);
20
+ if (showHelp) {
21
+ await usageThenExit(specl);
22
+ }
23
+ if (showSteppers) {
24
+ const allSteppers = await getAllSteppers(specl);
25
+ console.info('Steppers:', JSON.stringify(allSteppers, null, 2));
26
+ process.exit(0);
27
+ }
28
+ const featureFilter = params[1] ? params[1].split(',') : undefined;
29
+ const { protoOptions, errors } = processBaseEnvToOptionsAndErrors(process.env, specl.options);
30
+ if (errors.length > 0) {
31
+ await usageThenExit(specl, errors.join('\n'));
32
+ }
33
+ const { TRACE: trace, OUTPUT: output, OUTPUT_DEST: outputDest } = protoOptions.options;
34
+ if (outputDest && !output) {
35
+ await usageThenExit(specl, 'OUTPUT_DEST requires OUTPUT');
36
+ }
37
+ const description = protoOptions.options.DESCRIPTION || bases + ' ' + [...(featureFilter || [])].join(',');
38
+ const world = getWorld(protoOptions, bases);
39
+ const callbacks = { endFeature: undefined };
40
+ if (trace) {
41
+ const endFeatureCallback = async (params) => {
42
+ const { world, result, steppers, startOffset } = params;
43
+ const historyHandlers = findHandlers(steppers, HANDLE_RESULT_HISTORY);
44
+ const loc = { ...world };
45
+ const traceHistory = [...Logger.traceHistory];
46
+ for (const h of historyHandlers) {
47
+ await h
48
+ .handle({ ...loc, mediaType: EMediaTypes.json }, description, result, Timer.startTime, startOffset, traceHistory)
49
+ .catch((error) => {
50
+ console.error(`historyHandler failing`, h.handle.toString());
51
+ throw error;
52
+ });
53
+ }
54
+ Logger.traceHistory = [];
55
+ };
56
+ callbacks.endFeature = [endFeatureCallback];
57
+ }
58
+ const runner = new Runner(world, callbacks);
59
+ console.info('\n_________________________________ start');
60
+ const result = await runner.run(specl.steppers);
61
+ console.info(result.ok ? CHECK_YES : CHECK_NO, JSON.stringify(result, null, 2));
62
+ if (result.ok) {
63
+ if (protoOptions.options[STAY] !== STAY_ALWAYS) {
64
+ process.exit(0);
65
+ }
66
+ }
67
+ else if (!protoOptions.options[STAY]) {
68
+ process.exit(1);
69
+ }
70
+ }
71
+ function getWorld(protoOptions, bases) {
72
+ const { KEY: keyIn, LOG_LEVEL: logLevel, LOG_FOLLOW: logFollow } = protoOptions.options;
73
+ const tag = getDefaultTag(0);
74
+ const logger = new Logger({ level: logLevel || 'debug', follow: logFollow });
75
+ const shared = new WorldContext(tag);
76
+ const timer = new Timer();
77
+ const key = keyIn || Timer.key;
78
+ Timer.key = key;
79
+ const world = {
80
+ tag,
81
+ shared,
82
+ runtime: {},
83
+ logger,
84
+ ...protoOptions,
85
+ timer,
86
+ bases,
87
+ };
88
+ return world;
89
+ }
90
+ async function getSpeclOrExit(bases) {
91
+ const specl = getConfigFromBase(bases);
92
+ if (specl === null || bases?.length < 1) {
93
+ if (specl === null) {
94
+ console.error(`missing or unusable config.json from ${bases}`);
95
+ }
96
+ await usageThenExit(specl ? specl : getDefaultOptions());
97
+ }
98
+ return specl;
99
+ }
7
100
  //# sourceMappingURL=cli.js.map
package/build/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,gBAAgB,CAAC,OAAO,EAAE,CAAC;AAE3B,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAEhD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/build/lib.d.ts CHANGED
@@ -1,9 +1,14 @@
1
- import { TBase, TOptions, TProtoOptions, TSpecl, TWorld } from "@haibun/core/build/lib/defs.js";
2
- import { TFileSystem } from "@haibun/core/build/lib/util/workspace-lib.js";
1
+ import { TBase, TOptions, TProtoOptions, TSpecl } from '@haibun/core/build/lib/defs.js';
2
+ import { TFileSystem } from '@haibun/core/build/lib/util/workspace-lib.js';
3
3
  type TEnv = {
4
4
  [name: string]: string | undefined;
5
5
  };
6
6
  export declare function usageThenExit(specl: TSpecl, message?: string): Promise<void>;
7
+ export declare function getAllSteppers(specl: TSpecl): Promise<{
8
+ [name: string]: {
9
+ desc: string;
10
+ };
11
+ }>;
7
12
  export declare function usage(specl: TSpecl, message?: string): Promise<string>;
8
13
  export declare function processBaseEnvToOptionsAndErrors(env: TEnv, options: TOptions): {
9
14
  protoOptions: TProtoOptions;
@@ -13,10 +18,8 @@ export declare function processArgs(args: string[]): {
13
18
  params: any[];
14
19
  configLoc: any;
15
20
  showHelp: boolean;
16
- showVersion: boolean;
21
+ showSteppers: boolean;
17
22
  };
18
23
  export declare function getConfigFromBase(bases: TBase, fs?: TFileSystem): TSpecl | null;
19
- export declare function getCliWorld(protoOptions: TProtoOptions, bases: TBase): TWorld;
20
- export declare function getSpeclOrExit(bases: TBase): Promise<TSpecl>;
21
24
  export {};
22
25
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0C,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAG,MAAM,gCAAgC,CAAC;AAIzI,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAK3E,KAAK,IAAI,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnD,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,iBAIlE;AAED,wBAAsB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,mBAwB1D;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ;;;EAoC5E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE;;;;;EAmBzC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,GAAE,WAAoB,GAAG,MAAM,GAAG,IAAI,CAkBvF;AAED,wBAAgB,WAAW,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAoB7E;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CASlE"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0C,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAIhI,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAM3E,KAAK,IAAI,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnD,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,iBAIlE;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM;;cASd,MAAM;;GAEzC;AAED,wBAAsB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,mBA0B1D;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ;;;EAoC5E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE;;;;;EAmBzC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,GAAE,WAAoB,GAAG,MAAM,GAAG,IAAI,CAkBvF"}
package/build/lib.js CHANGED
@@ -1,20 +1,30 @@
1
1
  import nodeFS from 'fs';
2
- import { BASE_PREFIX, DEFAULT_DEST, } from "@haibun/core/build/lib/defs.js";
3
- import { getCreateSteppers, getDefaultTag } from "@haibun/core/build/lib/test/lib.js";
4
- import { getDefaultOptions, getPre } from "@haibun/core/build/lib/util/index.js";
5
- import { BaseOptions } from "./BaseOptions.js";
6
- import { WorldContext } from '@haibun/core/build/lib/contexts.js';
7
- import Logger from '@haibun/core/build/lib/Logger.js';
8
- import { Timer } from '@haibun/core/build/lib/Timer.js';
2
+ import { BASE_PREFIX, DEFAULT_DEST } from '@haibun/core/build/lib/defs.js';
3
+ import { getCreateSteppers } from '@haibun/core/build/lib/test/lib.js';
4
+ import { getPre } from '@haibun/core/build/lib/util/index.js';
5
+ import { BaseOptions } from './BaseOptions.js';
6
+ const OPTION_CONFIG = '--config';
7
+ const OPTION_HELP = '--help';
8
+ const OPTION_SHOW_STEPPERS = '--show-steppers';
9
9
  export async function usageThenExit(specl, message) {
10
10
  const output = await usage(specl, message);
11
11
  console[message ? 'error' : 'info'](output);
12
12
  process.exit(message ? 1 : 0);
13
13
  }
14
+ export async function getAllSteppers(specl) {
15
+ const steppers = await getCreateSteppers(specl.steppers);
16
+ const a = steppers.reduce((acc, o) => {
17
+ return {
18
+ ...acc,
19
+ [o.constructor.name]: Object.entries(o.steps).map(([stepperName, stepperMatch]) => stepperName + ': ' + (stepperMatch.gwta || stepperMatch.match || stepperMatch.match)),
20
+ };
21
+ }, {});
22
+ return a;
23
+ }
14
24
  export async function usage(specl, message) {
15
25
  const steppers = await getCreateSteppers(specl.steppers);
16
26
  let a = {};
17
- steppers.forEach(s => {
27
+ steppers.forEach((s) => {
18
28
  const o = s;
19
29
  if (o.options) {
20
30
  const p = getPre(s);
@@ -23,7 +33,7 @@ export async function usage(specl, message) {
23
33
  });
24
34
  const ret = [
25
35
  '',
26
- `usage: ${process.argv[1]} [--config path/to/specific/config.json] [--help] <project base[,project base]> <[filter,filter]>`,
36
+ `usage: ${process.argv[1]} [${OPTION_CONFIG} path/to/specific/config.json] [${OPTION_HELP}] [${OPTION_SHOW_STEPPERS}] <project base[,project base]> <[filter,filter]>`,
27
37
  message || '',
28
38
  'If config.json is not found in project bases, the root directory will be used.\n',
29
39
  'Set these environmental variables to control options:\n',
@@ -39,7 +49,7 @@ export function processBaseEnvToOptionsAndErrors(env, options) {
39
49
  const errors = [];
40
50
  let nenv = {};
41
51
  const baseOptions = BaseOptions;
42
- baseOptions.options && Object.entries(baseOptions.options).forEach(([k, v]) => protoOptions.options[k] = v.default);
52
+ baseOptions.options && Object.entries(baseOptions.options).forEach(([k, v]) => (protoOptions.options[k] = v.default));
43
53
  Object.entries(env)
44
54
  .filter(([k]) => k.startsWith(BASE_PREFIX))
45
55
  .map(([k]) => {
@@ -55,17 +65,17 @@ export function processBaseEnvToOptionsAndErrors(env, options) {
55
65
  nenv = { ...nenv, ...res.env };
56
66
  }
57
67
  else if (!res.result) {
58
- errors.push(`no base option for ${opt} from ${JSON.stringify(res.result)}`);
68
+ errors.push(`no option for ${opt} from ${JSON.stringify(res.result)}`);
59
69
  }
60
70
  else {
61
71
  protoOptions.options[opt] = res.result;
62
72
  }
63
73
  }
64
- else if (k.startsWith(`${BASE_PREFIX}O_`)) {
74
+ else if (opt.startsWith(`O_`)) {
65
75
  protoOptions.moduleOptions[k] = value;
66
76
  }
67
77
  else {
68
- errors.push(`no found option for ${opt}`);
78
+ errors.push(`no option for ${opt}`);
69
79
  }
70
80
  });
71
81
  protoOptions.options.env = nenv;
@@ -73,33 +83,33 @@ export function processBaseEnvToOptionsAndErrors(env, options) {
73
83
  }
74
84
  export function processArgs(args) {
75
85
  let showHelp = false;
76
- let showVersion = false;
86
+ let showSteppers = false;
77
87
  const params = [];
78
88
  let configLoc;
79
89
  while (args.length > 0) {
80
90
  const cur = args.shift();
81
- if (cur === '--config' || cur === '-c') {
91
+ if (cur === OPTION_CONFIG || cur === '-c') {
82
92
  configLoc = args.shift()?.replace(/\/config.json$/, '');
83
93
  }
84
- else if (cur === '--help' || cur === '-h') {
94
+ else if (cur === OPTION_HELP || cur === '-h') {
85
95
  showHelp = true;
86
96
  }
87
- else if (cur === '--version' || cur === '-v') {
88
- showVersion = true;
97
+ else if (cur === OPTION_SHOW_STEPPERS) {
98
+ showSteppers = true;
89
99
  }
90
100
  else {
91
101
  params.push(cur);
92
102
  }
93
103
  }
94
- return { params, configLoc, showHelp, showVersion };
104
+ return { params, configLoc, showHelp, showSteppers };
95
105
  }
96
106
  export function getConfigFromBase(bases, fs = nodeFS) {
97
107
  const found = bases?.filter((b) => fs.existsSync(`${b}/config.json`));
98
- if (found.length > 1) {
108
+ if (found?.length > 1) {
99
109
  console.error(`Found multiple config.json files: ${found.join(', ')}. Use --config to specify one.`);
100
110
  return null;
101
111
  }
102
- const configDir = found[0] || '.';
112
+ const configDir = (found && found[0]) || '.';
103
113
  const f = `${configDir}/config.json`;
104
114
  console.info(`trying ${f}`);
105
115
  try {
@@ -113,33 +123,4 @@ export function getConfigFromBase(bases, fs = nodeFS) {
113
123
  return null;
114
124
  }
115
125
  }
116
- export function getCliWorld(protoOptions, bases) {
117
- const { KEY: keyIn, LOG_LEVEL: logLevel, LOG_FOLLOW: logFollow } = protoOptions.options;
118
- const tag = getDefaultTag(0);
119
- const logger = new Logger({ level: logLevel || 'debug', follow: logFollow });
120
- const shared = new WorldContext(tag);
121
- const timer = new Timer();
122
- const key = keyIn || Timer.key;
123
- Timer.key = key;
124
- const world = {
125
- tag,
126
- shared,
127
- runtime: {},
128
- logger,
129
- ...protoOptions,
130
- timer,
131
- bases,
132
- };
133
- return world;
134
- }
135
- export async function getSpeclOrExit(bases) {
136
- const specl = getConfigFromBase(bases);
137
- if (specl === null || bases?.length < 1) {
138
- if (specl === null) {
139
- console.error(`missing or unusable config.json from ${bases}`);
140
- }
141
- await usageThenExit(specl ? specl : getDefaultOptions());
142
- }
143
- return specl;
144
- }
145
126
  //# sourceMappingURL=lib.js.map
package/build/lib.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,IAAI,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,YAAY,GAAgE,MAAM,gCAAgC,CAAC;AACzI,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,MAAM,MAAM,kCAAkC,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAIxD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAa,EAAE,OAAgB;IACjE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,KAAa,EAAE,OAAgB;IACzD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,CAAC,GAAyC,EAAE,CAAC;IACjD,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACnB,MAAM,CAAC,GAAI,CAAiB,CAAC;QAC7B,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACvG,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG;QACV,EAAE;QACF,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,mGAAmG;QAC5H,OAAO,IAAI,EAAE;QACb,kFAAkF;QAClF,yDAAyD;QACzD,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;KAClG,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,wEAAwE,EAC/E,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,GAAS,EAAE,OAAiB;IAC3E,MAAM,YAAY,GAAkB,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAEnF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,MAAM,WAAW,GAAI,WAA2B,CAAC;IACjD,WAAW,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAEpH,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;SAChB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;iBAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;YACjC,CAAC;iBAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,WAAW,IAAI,CAAC,EAAE,CAAC;YAC5C,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IACL,YAAY,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAc;IACxC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,SAAS,CAAC;IACd,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACvC,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5C,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC/C,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAY,EAAE,KAAkB,MAAM;IACvE,MAAM,KAAK,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,qCAAqC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACrG,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAClC,MAAM,CAAC,GAAG,GAAG,SAAS,cAAc,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC5B,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,YAA2B,EAAE,KAAY;IACpE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;IACxF,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IAE1B,MAAM,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC;IAC/B,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;IAEhB,MAAM,KAAK,GAAW;QACrB,GAAG;QACH,MAAM;QACN,OAAO,EAAE,EAAE;QACX,MAAM;QACN,GAAG,YAAY;QACf,KAAK;QACL,KAAK;KACL,CAAC;IACF,OAAO,KAAK,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAY;IAChD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@haibun/cli",
3
3
  "type": "module",
4
- "version": "1.42.2",
4
+ "version": "1.43.0",
5
5
  "description": "command line execution for @haibun",
6
6
  "bin": { "haibun-cli": "build/cli.js" },
7
7
  "main": "build/cli.js",
@@ -19,8 +19,8 @@
19
19
  "author": "",
20
20
  "license": "ISC",
21
21
  "dependencies": {
22
- "@haibun/core": "1.42.0",
23
- "@haibun/domain-storage": "1.42.0",
22
+ "@haibun/core": "1.43.0",
23
+ "@haibun/domain-storage": "1.43.0",
24
24
  "source-map-support": "^0.5.21"
25
25
  },
26
26
  "gitHead": "7cf9680bd922fb622fb59f1e6bf5b65284cb8fd5"
@@ -1,15 +0,0 @@
1
- import { TLogLevel, TLogMessage, TMessageContext } from '@haibun/core/build/lib/interfaces/logger.js';
2
- export default class TraceLogger {
3
- logData: {
4
- level: TLogLevel;
5
- message: TLogMessage;
6
- messageContext: TMessageContext;
7
- }[];
8
- out(level: TLogLevel, message: TLogMessage, messageContext?: TMessageContext): void;
9
- getLogData(): {
10
- level: TLogLevel;
11
- message: TLogMessage;
12
- messageContext: TMessageContext;
13
- }[];
14
- }
15
- //# sourceMappingURL=TraceLogger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TraceLogger.d.ts","sourceRoot":"","sources":["../src/TraceLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAEtG,MAAM,CAAC,OAAO,OAAO,WAAW;IAC/B,OAAO,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC;QAAC,cAAc,EAAE,eAAe,CAAA;KAAE,EAAE,CAAM;IAC5F,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,eAAe;IAG5E,UAAU;eAJQ,SAAS;iBAAW,WAAW;wBAAkB,eAAe;;CAOlF"}
@@ -1,10 +0,0 @@
1
- export default class TraceLogger {
2
- logData = [];
3
- out(level, message, messageContext) {
4
- this.logData.push({ level, message, messageContext });
5
- }
6
- getLogData() {
7
- return this.logData;
8
- }
9
- }
10
- //# sourceMappingURL=TraceLogger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TraceLogger.js","sourceRoot":"","sources":["../src/TraceLogger.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,WAAW;IAC/B,OAAO,GAAkF,EAAE,CAAC;IAC5F,GAAG,CAAC,KAAgB,EAAE,OAAoB,EAAE,cAAgC;QAC3E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,UAAU;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;CACD"}
package/build/go.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function go(): Promise<void>;
2
- //# sourceMappingURL=go.d.ts.map
package/build/go.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../src/go.ts"],"names":[],"mappings":"AAaA,wBAAsB,EAAE,kBAgEvB"}
package/build/go.js DELETED
@@ -1,92 +0,0 @@
1
- import { WorldContext } from '@haibun/core/build/lib/contexts.js';
2
- import { STAY, STAY_ALWAYS } from '@haibun/core/build/lib/defs.js';
3
- import Logger from '@haibun/core/build/lib/Logger.js';
4
- import { getDefaultTag } from '@haibun/core/build/lib/test/lib.js';
5
- import { Timer } from '@haibun/core/build/lib/Timer.js';
6
- import { basesFrom, findHandlers, getDefaultOptions } from '@haibun/core/build/lib/util/index.js';
7
- import { getOutputResult } from '@haibun/core/build/lib/util/workspace-lib.js';
8
- import { Runner } from '@haibun/core/build/runner.js';
9
- import { HANDLE_RESULT_HISTORY } from '@haibun/domain-storage/build/domain-storage.js';
10
- import { EMediaTypes } from '@haibun/domain-storage/build/media-types.js';
11
- import { processArgs, usageThenExit, processBaseEnvToOptionsAndErrors, getConfigFromBase } from './lib.js';
12
- import TraceLogger from './TraceLogger.js';
13
- export async function go() {
14
- const { params, configLoc, showHelp } = processArgs(process.argv.slice(2));
15
- const bases = basesFrom(params[0]?.replace(/\/$/, ''));
16
- const specl = await getSpeclOrExit(configLoc ? [configLoc] : bases);
17
- if (showHelp) {
18
- await usageThenExit(specl);
19
- }
20
- const featureFilter = params[1] ? params[1].split(',') : undefined;
21
- const { protoOptions, errors } = processBaseEnvToOptionsAndErrors(process.env, specl.options);
22
- if (errors.length > 0) {
23
- await usageThenExit(specl, errors.join('\n'));
24
- }
25
- const { TRACE: trace, OUTPUT: output, OUTPUT_DEST: outputDest } = protoOptions.options;
26
- if (outputDest && !output) {
27
- await usageThenExit(specl, 'OUTPUT_DEST requires OUTPUT');
28
- }
29
- const description = protoOptions.options.DESCRIPTION || bases + ' ' + [...(featureFilter || [])].join(',');
30
- const world = getWorld(protoOptions, bases);
31
- let endFeatureCallback = undefined;
32
- if (trace) {
33
- const traceLogger = new TraceLogger();
34
- world.logger.addSubscriber(traceLogger);
35
- endFeatureCallback = async (params) => {
36
- const { world, result, steppers, startOffset } = params;
37
- const historyHandlers = findHandlers(steppers, HANDLE_RESULT_HISTORY);
38
- const loc = { ...world };
39
- const traceHistory = [...Logger.traceHistory];
40
- for (const h of historyHandlers) {
41
- await h.handle({ ...loc, mediaType: EMediaTypes.json }, description, result, Timer.startTime, startOffset, traceHistory);
42
- }
43
- Logger.traceHistory = [];
44
- };
45
- }
46
- const runner = new Runner(world, { endFeature: [endFeatureCallback] });
47
- console.info('\n_________________________________ start');
48
- const result = await runner.run(specl.steppers);
49
- if (output) {
50
- const wtw = await getOutputResult(world.options.OUTPUT, result);
51
- console.log('🤑', JSON.stringify(wtw, null, 2));
52
- }
53
- console.log('🤑', JSON.stringify(result, null, 2));
54
- if (result.ok) {
55
- if (protoOptions.options[STAY] !== STAY_ALWAYS) {
56
- process.exit(0);
57
- }
58
- }
59
- else if (!protoOptions.options[STAY]) {
60
- process.exit(1);
61
- }
62
- }
63
- function getWorld(protoOptions, bases) {
64
- const { KEY: keyIn, LOG_LEVEL: logLevel, LOG_FOLLOW: logFollow } = protoOptions.options;
65
- const tag = getDefaultTag(0);
66
- const logger = new Logger({ level: logLevel || 'debug', follow: logFollow });
67
- const shared = new WorldContext(tag);
68
- const timer = new Timer();
69
- const key = keyIn || Timer.key;
70
- Timer.key = key;
71
- const world = {
72
- tag,
73
- shared,
74
- runtime: {},
75
- logger,
76
- ...protoOptions,
77
- timer,
78
- bases,
79
- };
80
- return world;
81
- }
82
- async function getSpeclOrExit(bases) {
83
- const specl = getConfigFromBase(bases);
84
- if (specl === null || bases?.length < 1) {
85
- if (specl === null) {
86
- console.error(`missing or unusable config.json from ${bases}`);
87
- }
88
- await usageThenExit(specl ? specl : getDefaultOptions());
89
- }
90
- return specl;
91
- }
92
- //# sourceMappingURL=go.js.map
package/build/go.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"go.js","sourceRoot":"","sources":["../src/go.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- export declare function runWith({ argv, env }: {
2
- argv: string[];
3
- env: NodeJS.ProcessEnv;
4
- }): Promise<void>;
5
- //# sourceMappingURL=runTests.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runTests.d.ts","sourceRoot":"","sources":["../src/runTests.ts"],"names":[],"mappings":"AAsBA,wBAAsB,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4EtG"}
package/build/runTests.js DELETED
@@ -1,104 +0,0 @@
1
- import { currentVersion } from '@haibun/core/build/currentVersion.js';
2
- import { CHECK_NOT_OK, CHECK_OK, STAY, STAY_ALWAYS, } from '@haibun/core/build/lib/defs.js';
3
- import Logger from '@haibun/core/build/lib/Logger.js';
4
- import { Timer } from '@haibun/core/build/lib/Timer.js';
5
- import { basesFrom, findHandlers } from '@haibun/core/build/lib/util/index.js';
6
- import { getOutputResult } from '@haibun/core/build/lib/util/workspace-lib.js';
7
- import { Runner } from '@haibun/core/build/runner.js';
8
- import { HANDLE_RESULT_HISTORY } from '@haibun/domain-storage/build/domain-storage.js';
9
- import { EMediaTypes } from '@haibun/domain-storage/build/media-types.js';
10
- import { getCliWorld, getSpeclOrExit, processArgs, processBaseEnvToOptionsAndErrors, usageThenExit } from './lib.js';
11
- import TraceLogger from './TraceLogger.js';
12
- import { existsSync, mkdirSync, writeFileSync } from 'fs';
13
- import { dirname } from 'path';
14
- export async function runWith({ argv, env }) {
15
- const { params, configLoc, showHelp, showVersion } = processArgs(argv.slice(2));
16
- const bases = basesFrom(params[0]?.replace(/\/$/, ''));
17
- const specl = await getSpeclOrExit(configLoc ? [configLoc] : bases);
18
- if (showHelp) {
19
- await usageThenExit(specl);
20
- }
21
- if (showVersion) {
22
- console.info(`current version ${currentVersion}`);
23
- process.exit(0);
24
- }
25
- const featureFilter = params[1] ? params[1].split(',') : undefined;
26
- const { protoOptions, errors } = processBaseEnvToOptionsAndErrors(env, specl.options);
27
- if (errors.length > 0) {
28
- await usageThenExit(specl, errors.join('\n'));
29
- }
30
- const { TRACE: trace, OUTPUT: output, OUTPUT_DEST: outputDest } = protoOptions.options;
31
- if (outputDest && !output) {
32
- await usageThenExit(specl, 'OUTPUT_DEST requires OUTPUT');
33
- }
34
- const description = protoOptions.options.DESCRIPTION || bases + ' ' + [...(featureFilter || [])].join(',');
35
- const world = getCliWorld(protoOptions, bases);
36
- let endFeatureCallback = undefined;
37
- if (trace) {
38
- const traceLogger = new TraceLogger();
39
- world.logger.addSubscriber(traceLogger);
40
- endFeatureCallback = async (params) => {
41
- const { world, result, steppers, startOffset } = params;
42
- const historyHandlers = findHandlers(steppers, HANDLE_RESULT_HISTORY);
43
- const loc = { ...world };
44
- const traceHistory = [...Logger.traceHistory];
45
- for (const h of historyHandlers) {
46
- await h.handle({ ...loc, mediaType: EMediaTypes.json }, description, result, Timer.startTime, startOffset, traceHistory);
47
- }
48
- Logger.traceHistory = [];
49
- };
50
- }
51
- const runner = new Runner(world, { endFeature: [endFeatureCallback] });
52
- console.info('\n_________________________________ start');
53
- const result = await runner.run(specl.steppers, featureFilter);
54
- if (output) {
55
- const outputResult = await getOutputResult(world.options.OUTPUT, result);
56
- if (outputDest) {
57
- doOutput(outputDest, outputResult);
58
- }
59
- else {
60
- console.info('OUTPUT', JSON.stringify(outputResult, null, 2));
61
- }
62
- }
63
- const printResult = result.ok
64
- ? `${CHECK_OK} OK`
65
- : `${CHECK_NOT_OK} ` + JSON.stringify(summarizeFeatureResults(result.featureResults), null, 2);
66
- console.info('RESULT', printResult);
67
- if (result.ok) {
68
- if (protoOptions.options[STAY] !== STAY_ALWAYS) {
69
- process.exit(0);
70
- }
71
- }
72
- else if (!protoOptions.options[STAY]) {
73
- process.exit(1);
74
- }
75
- }
76
- function doOutput(outputDest, outputResult) {
77
- const dir = dirname(outputDest);
78
- if (!existsSync(dir)) {
79
- mkdirSync(dir, { recursive: true });
80
- }
81
- writeFileSync(outputDest, outputResult);
82
- console.info('wrote OUTPUT to', outputDest);
83
- }
84
- function summarizeFeatureResults(featureResults) {
85
- return featureResults?.map((f, n) => ({
86
- '#': n + 1,
87
- ok: f.ok,
88
- path: f.path,
89
- failure: f.failure,
90
- stepResults: f.ok
91
- ? undefined
92
- : f.stepResults.map((s) => s.ok
93
- ? s.line
94
- : {
95
- ok: s.ok,
96
- line: s.line,
97
- actionResult: {
98
- name: s.actionResult.name,
99
- topics: Object.values(s.actionResult.topics).map((t) => t.summary),
100
- },
101
- }),
102
- }));
103
- }
104
- //# sourceMappingURL=runTests.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runTests.js","sourceRoot":"","sources":["../src/runTests.ts"],"names":[],"mappings":"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"}