@haibun/cli 1.42.4 → 1.44.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,24 +1,14 @@
1
- import { IHasOptions, TOptions } from "@haibun/core/build/lib/defs.js";
1
+ import { IHasOptions, TEnvVariables } from '@haibun/core/build/lib/defs.js';
2
2
  export declare class BaseOptions implements IHasOptions {
3
3
  static options: {
4
4
  KEY: {
5
5
  desc: string;
6
6
  parse: (input: string) => {
7
- error: string;
7
+ parseError: string;
8
8
  result?: undefined;
9
9
  } | {
10
10
  result: string;
11
- error?: undefined;
12
- };
13
- };
14
- TRACE: {
15
- desc: string;
16
- parse: (input: string) => {
17
- error: string;
18
- result?: undefined;
19
- } | {
20
- result: boolean;
21
- error?: undefined;
11
+ parseError?: undefined;
22
12
  };
23
13
  };
24
14
  DESCRIPTION: {
@@ -27,36 +17,30 @@ export declare class BaseOptions implements IHasOptions {
27
17
  result: string;
28
18
  };
29
19
  };
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
20
  SETTING: {
41
21
  desc: string;
42
22
  parse: (result: string) => {
43
23
  result: string;
44
24
  };
45
25
  };
46
- DEST: {
26
+ STAY: {
47
27
  desc: string;
48
28
  parse: (result: string) => {
29
+ parseError: string;
30
+ result?: undefined;
31
+ } | {
49
32
  result: string;
33
+ parseError?: undefined;
50
34
  };
51
35
  };
52
- STAY: {
36
+ CONTINUE_AFTER_ERROR: {
53
37
  desc: string;
54
- parse: (result: string) => {
55
- error: string;
38
+ parse: (input: string) => {
39
+ parseError: string;
56
40
  result?: undefined;
57
41
  } | {
58
- result: string;
59
- error?: undefined;
42
+ result: boolean;
43
+ parseError?: undefined;
60
44
  };
61
45
  };
62
46
  LOG_FOLLOW: {
@@ -77,46 +61,32 @@ export declare class BaseOptions implements IHasOptions {
77
61
  };
78
62
  ENV: {
79
63
  desc: string;
80
- parse: (input: string, cur: TOptions) => {
64
+ parse: (input: string, cur: TEnvVariables) => {
81
65
  error: string;
82
66
  env?: undefined;
83
67
  } | {
84
- env: {
85
- [name: string]: string;
86
- };
68
+ env: TEnvVariables;
87
69
  error?: undefined;
88
70
  };
89
71
  };
90
72
  ENVC: {
91
73
  desc: string;
92
- parse: (input: string, cur: TOptions) => {
74
+ parse: (input: string, cur: TEnvVariables) => {
93
75
  error: string;
94
76
  env?: undefined;
95
77
  } | {
96
- env: TOptions;
78
+ env: TEnvVariables;
97
79
  error?: undefined;
98
80
  };
99
81
  };
100
82
  STEP_DELAY: {
101
83
  desc: string;
102
84
  parse: (input: string) => {
103
- error: string;
85
+ parseError: string;
104
86
  result?: undefined;
105
87
  } | {
106
88
  result: number;
107
- error?: undefined;
108
- };
109
- };
110
- OUTPUT: {
111
- desc: string;
112
- parse: (result: string) => {
113
- result: string;
114
- };
115
- };
116
- OUTPUT_DEST: {
117
- desc: string;
118
- parse: (result: string) => {
119
- result: string;
89
+ parseError?: undefined;
120
90
  };
121
91
  };
122
92
  PWDEBUG: {
@@ -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,EAAwB,WAAW,EAAyC,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAIzI,qBAAa,WAAY,YAAW,WAAW;IAC9C,MAAM,CAAC,OAAO;;;2BAGG,MAAM;;;;;;;;;;4BAIL,MAAM;;;;;;4BAIN,MAAM;;;;;;4BAIN,MAAM;;;;;;;;;;2BAIP,MAAM;;;;;;;;;;4BAIL,MAAM;;;;;;4BAIN,MAAM;;;;;;;;;;2BAOP,MAAM,OAAO,aAAa;;;;;;;;;;2BAe1B,MAAM,OAAO,aAAa;;;;;;;;;;2BAe1B,MAAM;;;;;;;;;;2BAIN,MAAM;;;;MAOrB;CACF"}
@@ -1,51 +1,45 @@
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 { CONTINUE_AFTER_ERROR, 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)
9
- },
10
- TRACE: {
11
- desc: 'save tracks data',
12
- parse: (input) => boolOrError(input)
8
+ parse: (input) => stringOrError(input),
13
9
  },
14
10
  DESCRIPTION: {
15
11
  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)
12
+ parse: (result) => ({ result }),
21
13
  },
22
14
  SETTING: {
23
15
  desc: 'execution setting (eg dev, prod)',
24
- parse: (result) => ({ result })
25
- },
26
- DEST: {
27
- desc: 'destination for captures',
28
- parse: (result) => ({ result })
16
+ parse: (result) => ({ result }),
29
17
  },
30
18
  STAY: {
31
19
  desc: `stay running after execution: ${STAY_ALWAYS}, ${STAY_FAILURE}`,
32
- parse: (result) => optionOrError(result, [STAY_ALWAYS, STAY_FAILURE])
20
+ parse: (result) => optionOrError(result, [STAY_ALWAYS, STAY_FAILURE]),
21
+ },
22
+ [CONTINUE_AFTER_ERROR]: {
23
+ desc: `continue after error`,
24
+ parse: (input) => boolOrError(input),
33
25
  },
34
26
  LOG_FOLLOW: {
35
27
  desc: 'filter for output',
36
- parse: (result) => ({ result })
28
+ parse: (result) => ({ result }),
37
29
  },
38
30
  LOG_LEVEL: {
39
31
  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(', ')}` }
32
+ parse: (result) => Object.keys(LOGGER_LEVELS).includes(result)
33
+ ? { result }
34
+ : { error: `${result} not in ${Object.keys(LOGGER_LEVELS).join(', ')}` },
41
35
  },
42
36
  ENV: {
43
- desc: 'pass an environment variable: var=value[,var2=value]',
37
+ desc: 'pass a variable: var=value[,var2=value]',
44
38
  parse: (input, cur) => {
45
39
  const pairs = input?.split(',');
46
- const env = {};
40
+ const env = { ...cur };
47
41
  for (const pair of pairs) {
48
- const [k, v] = pair.split('=').map(i => i.trim());
42
+ const [k, v] = pair.split('=').map((i) => i.trim());
49
43
  if (cur[k] || env[k]) {
50
44
  return { error: `ENV ${k} already defined` };
51
45
  }
@@ -55,35 +49,22 @@ export class BaseOptions {
55
49
  },
56
50
  },
57
51
  ENVC: {
58
- desc: 'pass multiple environment variables: var1=a,var2=b',
52
+ desc: 'pass multiple variables: var1=a,var2=b',
59
53
  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
- }
54
+ const env = { ...cur };
69
55
  for (const pair of (input || '').split(',')) {
70
56
  const [k, v] = pair.split('=');
71
- env[k].push(v);
57
+ if (env[k]) {
58
+ return { error: `ENVC ${k} already exists` };
59
+ }
60
+ env[k] = v;
72
61
  }
73
62
  return { env };
74
- }
63
+ },
75
64
  },
76
- STEP_DELAY: {
65
+ [STEP_DELAY]: {
77
66
  desc: 'delay between steps',
78
- parse: (input) => intOrError(input)
79
- },
80
- OUTPUT: {
81
- desc: 'Output format (AsXUnit)',
82
- parse: (result) => ({ result })
83
- },
84
- OUTPUT_DEST: {
85
- desc: 'Output destination (results.xml)',
86
- parse: (result) => ({ result })
67
+ parse: (input) => intOrError(input),
87
68
  },
88
69
  PWDEBUG: {
89
70
  desc: '(web) Enable Playwright debugging (0 or 1)',
@@ -92,7 +73,7 @@ export class BaseOptions {
92
73
  process.env['PWDEBUG'] = 'true';
93
74
  }
94
75
  return { result: input };
95
- }
76
+ },
96
77
  },
97
78
  };
98
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseOptions.js","sourceRoot":"","sources":["../src/BaseOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,WAAW,EAAE,YAAY,EAAY,MAAM,gCAAgC,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE7G,MAAM,OAAO,WAAW;IACpB,MAAM,CAAC,OAAO,GAAG;QACb,GAAG,EAAE;YACD,IAAI,EAAE,wCAAwC;YAC9C,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;SACjD;QACD,KAAK,EAAE;YACH,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;SAC/C;QACD,WAAW,EAAE;YACT,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC1C;QACD,GAAG,EAAE;YACD,IAAI,EAAE,4CAA4C;YAClD,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;SAC/C;QACD,OAAO,EAAE;YACL,IAAI,EAAE,kCAAkC;YACxC,KAAK,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC1C;QACD,IAAI,EAAE;YACF,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC1C;QACD,IAAI,EAAE;YACF,IAAI,EAAE,iCAAiC,WAAW,KAAK,YAAY,EAAE;YACrE,KAAK,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;SAChF;QACD,UAAU,EAAE;YACR,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC1C;QACD,SAAS,EAAE;YACP,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,KAAK,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;SAC/J;QACD,GAAG,EAAE;YACD,IAAI,EAAE,sDAAsD;YAC5D,KAAK,EAAE,CAAC,KAAa,EAAE,GAAa,EAAE,EAAE;gBACpC,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,MAAM,GAAG,GAA+B,EAAE,CAAC;gBAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAClD,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACnB,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC;oBACjD,CAAC;oBACD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACf,CAAC;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC;YACnB,CAAC;SACJ;QACD,IAAI,EAAE;YACF,IAAI,EAAE,oDAAoD;YAC1D,KAAK,EAAE,CAAC,KAAa,EAAE,GAAa,EAAE,EAAE;gBACpC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnE,MAAM,GAAG,GAAa,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;gBAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACjD,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACT,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,iBAAiB,EAAE,CAAC;oBACjD,CAAC;oBACD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChB,CAAC;gBACD,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1C,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC/B,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnB,CAAC;gBACD,OAAO,EAAE,GAAG,EAAE,CAAC;YACnB,CAAC;SACJ;QACD,UAAU,EAAE;YACR,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;SAC9C;QACD,MAAM,EAAE;YACJ,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC1C;QACD,WAAW,EAAE;YACT,IAAI,EAAE,kCAAkC;YACxC,KAAK,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;SAC1C;QACD,OAAO,EAAE;YACL,IAAI,EAAE,4CAA4C;YAClD,KAAK,EAAE,CAAC,KAAa,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;gBACpC,CAAC;gBACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC7B,CAAC;SACJ;KACJ,CAAC"}
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,7 @@
1
1
  #!/usr/bin/env node
2
2
  import sourceMapSupport from 'source-map-support';
3
- import { runWith } from './runTests.js';
3
+ import { runCli } from './lib.js';
4
4
  sourceMapSupport.install();
5
5
  process.on('unhandledRejection', console.error);
6
- runWith(process).catch(console.error);
6
+ runCli(process.argv.slice(2), process.env).catch(console.error);
7
7
  //# 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":";AAEA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,gBAAgB,CAAC,OAAO,EAAE,CAAC;AAE3B,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAEhD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
package/build/lib.d.ts CHANGED
@@ -1,11 +1,17 @@
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, 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
+ export declare function runCli(args: string[], env: NodeJS.ProcessEnv): Promise<void>;
6
7
  export declare function usageThenExit(specl: TSpecl, message?: string): Promise<void>;
8
+ export declare function getAllSteppers(specl: TSpecl): Promise<{
9
+ [name: string]: {
10
+ desc: string;
11
+ };
12
+ }>;
7
13
  export declare function usage(specl: TSpecl, message?: string): Promise<string>;
8
- export declare function processBaseEnvToOptionsAndErrors(env: TEnv, options: TOptions): {
14
+ export declare function processBaseEnvToOptionsAndErrors(env: TEnv): {
9
15
  protoOptions: TProtoOptions;
10
16
  errors: string[];
11
17
  };
@@ -13,10 +19,8 @@ export declare function processArgs(args: string[]): {
13
19
  params: any[];
14
20
  configLoc: any;
15
21
  showHelp: boolean;
16
- showVersion: boolean;
22
+ showSteppers: boolean;
17
23
  };
18
24
  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
25
  export {};
22
26
  //# 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,EAAsH,KAAK,EAAE,aAAa,EAAE,MAAM,EAAU,MAAM,gCAAgC,CAAC;AAI1M,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAY3E,KAAK,IAAI,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,iBA0ClE;AAkCD,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;;;EAoCzD;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,102 @@
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';
2
+ import { BASE_PREFIX, CHECK_NO, CHECK_YES, DEFAULT_DEST, isProcessFeatureResults, STAY, STAY_ALWAYS } 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
+ import { getDefaultOptions, basesFrom } from '@haibun/core/build/lib/util/index.js';
8
7
  import { Timer } from '@haibun/core/build/lib/Timer.js';
8
+ import Logger from '@haibun/core/build/lib/Logger.js';
9
+ import { Runner } from '@haibun/core/build/runner.js';
10
+ import { WorldContext } from '@haibun/core/build/lib/contexts.js';
11
+ import { getDefaultTag } from '@haibun/core/build/lib/test/lib.js';
12
+ const OPTION_CONFIG = '--config';
13
+ const OPTION_HELP = '--help';
14
+ const OPTION_SHOW_STEPPERS = '--show-steppers';
15
+ export async function runCli(args, env) {
16
+ const { params, configLoc, showHelp, showSteppers } = processArgs(args);
17
+ const bases = basesFrom(params[0]?.replace(/\/$/, ''));
18
+ const specl = await getSpeclOrExit(configLoc ? [configLoc] : bases);
19
+ if (showHelp) {
20
+ await usageThenExit(specl);
21
+ }
22
+ if (showSteppers) {
23
+ const allSteppers = await getAllSteppers(specl);
24
+ console.info('Steppers:', JSON.stringify(allSteppers, null, 2));
25
+ process.exit(0);
26
+ }
27
+ const featureFilter = params[1] ? params[1].split(',') : undefined;
28
+ const { protoOptions, errors } = processBaseEnvToOptionsAndErrors(env);
29
+ if (errors.length > 0) {
30
+ await usageThenExit(specl, errors.join('\n'));
31
+ }
32
+ // const description = protoOptions.options.DESCRIPTION || bases + ' ' + [...(featureFilter || [])].join(',');
33
+ const world = getWorld(protoOptions, bases);
34
+ const runner = new Runner(world);
35
+ console.info('\n_________________________________ start');
36
+ const executorResult = await runner.run(specl.steppers, featureFilter);
37
+ console.info(executorResult.ok ? CHECK_YES : `${CHECK_NO} At ${JSON.stringify(executorResult.failure)}`);
38
+ for (const maybeResultProcessor of executorResult.steppers) {
39
+ if (isProcessFeatureResults(maybeResultProcessor)) {
40
+ await maybeResultProcessor.processFeatureResult(executorResult);
41
+ }
42
+ }
43
+ if (executorResult.ok) {
44
+ if (protoOptions.options[STAY] !== STAY_ALWAYS) {
45
+ process.exit(0);
46
+ }
47
+ }
48
+ else if (!protoOptions.options[STAY]) {
49
+ process.exit(1);
50
+ }
51
+ }
52
+ function getWorld(protoOptions, bases) {
53
+ const { KEY: keyIn, LOG_LEVEL: logLevel, LOG_FOLLOW: logFollow } = protoOptions.options;
54
+ const tag = getDefaultTag(0);
55
+ const logger = new Logger({ level: logLevel || 'debug', follow: logFollow });
56
+ const shared = new WorldContext(tag);
57
+ const timer = new Timer();
58
+ const key = keyIn || Timer.key;
59
+ Timer.key = key;
60
+ const world = {
61
+ tag,
62
+ shared,
63
+ runtime: {},
64
+ logger,
65
+ ...protoOptions,
66
+ timer,
67
+ bases,
68
+ };
69
+ return world;
70
+ }
71
+ async function getSpeclOrExit(bases) {
72
+ const specl = getConfigFromBase(bases);
73
+ if (specl === null || bases?.length < 1) {
74
+ if (specl === null) {
75
+ await usageThenExit(specl ? specl : getDefaultOptions(), `missing or unusable config.json from ${bases}`);
76
+ }
77
+ await usageThenExit(specl ? specl : getDefaultOptions(), 'no bases');
78
+ }
79
+ return specl;
80
+ }
9
81
  export async function usageThenExit(specl, message) {
10
82
  const output = await usage(specl, message);
11
83
  console[message ? 'error' : 'info'](output);
12
84
  process.exit(message ? 1 : 0);
13
85
  }
86
+ export async function getAllSteppers(specl) {
87
+ const steppers = await getCreateSteppers(specl.steppers);
88
+ const a = steppers.reduce((acc, o) => {
89
+ return {
90
+ ...acc,
91
+ [o.constructor.name]: Object.entries(o.steps).map(([stepperName, stepperMatch]) => stepperName + ': ' + (stepperMatch.gwta || stepperMatch.match || stepperMatch.match)),
92
+ };
93
+ }, {});
94
+ return a;
95
+ }
14
96
  export async function usage(specl, message) {
15
97
  const steppers = await getCreateSteppers(specl.steppers);
16
98
  let a = {};
17
- steppers.forEach(s => {
99
+ steppers.forEach((s) => {
18
100
  const o = s;
19
101
  if (o.options) {
20
102
  const p = getPre(s);
@@ -23,23 +105,23 @@ export async function usage(specl, message) {
23
105
  });
24
106
  const ret = [
25
107
  '',
26
- `usage: ${process.argv[1]} [--config path/to/specific/config.json] [--help] <project base[,project base]> <[filter,filter]>`,
108
+ `usage: ${process.argv[1]} [${OPTION_CONFIG} path/to/specific/config.json] [${OPTION_HELP}] [${OPTION_SHOW_STEPPERS}] <project base[,project base]> <[filter,filter]>`,
27
109
  message || '',
28
110
  'If config.json is not found in project bases, the root directory will be used.\n',
29
111
  'Set these environmental variables to control options:\n',
30
- ...Object.entries(BaseOptions.options).map(([k, v]) => `${BASE_PREFIX}${k.padEnd(55)} ${v.desc}`),
112
+ ...Object.entries(BaseOptions.options).map(([k, v]) => `${BASE_PREFIX}${String(k).padEnd(55)} ${v.desc}`),
31
113
  ];
32
114
  if (Object.keys(a).length) {
33
115
  ret.push('\nThese variables are available for extensions selected in config.js\n', ...Object.entries(a).map(([k, v]) => `${k.padEnd(55)} ${v.desc}`));
34
116
  }
35
117
  return [...ret, ''].join('\n');
36
118
  }
37
- export function processBaseEnvToOptionsAndErrors(env, options) {
38
- const protoOptions = { options: { ...options }, moduleOptions: {} };
119
+ export function processBaseEnvToOptionsAndErrors(env) {
120
+ const protoOptions = { options: { DEST: DEFAULT_DEST }, moduleOptions: {} };
39
121
  const errors = [];
40
122
  let nenv = {};
41
123
  const baseOptions = BaseOptions;
42
- baseOptions.options && Object.entries(baseOptions.options).forEach(([k, v]) => protoOptions.options[k] = v.default);
124
+ baseOptions.options && Object.entries(baseOptions.options).forEach(([k, v]) => (protoOptions.options[k] = v.default));
43
125
  Object.entries(env)
44
126
  .filter(([k]) => k.startsWith(BASE_PREFIX))
45
127
  .map(([k]) => {
@@ -48,58 +130,58 @@ export function processBaseEnvToOptionsAndErrors(env, options) {
48
130
  const baseOption = baseOptions.options[opt];
49
131
  if (baseOption) {
50
132
  const res = baseOption.parse(value, nenv);
51
- if (res.error) {
52
- errors.push(res.error);
133
+ if (res.parseError) {
134
+ errors.push(res.parseError);
53
135
  }
54
136
  else if (res.env) {
55
137
  nenv = { ...nenv, ...res.env };
56
138
  }
57
139
  else if (!res.result) {
58
- errors.push(`no base option for ${opt} from ${JSON.stringify(res.result)}`);
140
+ errors.push(`no option for ${opt} from ${JSON.stringify(res.result)}`);
59
141
  }
60
142
  else {
61
143
  protoOptions.options[opt] = res.result;
62
144
  }
63
145
  }
64
- else if (k.startsWith(`${BASE_PREFIX}O_`)) {
146
+ else if (opt.startsWith(`O_`)) {
65
147
  protoOptions.moduleOptions[k] = value;
66
148
  }
67
149
  else {
68
- errors.push(`no found option for ${opt}`);
150
+ errors.push(`no option for ${opt}`);
69
151
  }
70
152
  });
71
- protoOptions.options.env = nenv;
153
+ protoOptions.options.envVariables = nenv;
72
154
  return { protoOptions, errors };
73
155
  }
74
156
  export function processArgs(args) {
75
157
  let showHelp = false;
76
- let showVersion = false;
158
+ let showSteppers = false;
77
159
  const params = [];
78
160
  let configLoc;
79
161
  while (args.length > 0) {
80
162
  const cur = args.shift();
81
- if (cur === '--config' || cur === '-c') {
163
+ if (cur === OPTION_CONFIG || cur === '-c') {
82
164
  configLoc = args.shift()?.replace(/\/config.json$/, '');
83
165
  }
84
- else if (cur === '--help' || cur === '-h') {
166
+ else if (cur === OPTION_HELP || cur === '-h') {
85
167
  showHelp = true;
86
168
  }
87
- else if (cur === '--version' || cur === '-v') {
88
- showVersion = true;
169
+ else if (cur === OPTION_SHOW_STEPPERS) {
170
+ showSteppers = true;
89
171
  }
90
172
  else {
91
173
  params.push(cur);
92
174
  }
93
175
  }
94
- return { params, configLoc, showHelp, showVersion };
176
+ return { params, configLoc, showHelp, showSteppers };
95
177
  }
96
178
  export function getConfigFromBase(bases, fs = nodeFS) {
97
179
  const found = bases?.filter((b) => fs.existsSync(`${b}/config.json`));
98
- if (found.length > 1) {
180
+ if (found?.length > 1) {
99
181
  console.error(`Found multiple config.json files: ${found.join(', ')}. Use --config to specify one.`);
100
182
  return null;
101
183
  }
102
- const configDir = found[0] || '.';
184
+ const configDir = (found && found[0]) || '.';
103
185
  const f = `${configDir}/config.json`;
104
186
  console.info(`trying ${f}`);
105
187
  try {
@@ -113,33 +195,4 @@ export function getConfigFromBase(bases, fs = nodeFS) {
113
195
  return null;
114
196
  }
115
197
  }
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
198
  //# 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":"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"}
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.4",
4
+ "version": "1.44.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.4",
23
- "@haibun/domain-storage": "1.42.4",
22
+ "@haibun/core": "1.44.0",
23
+ "@haibun/domain-storage": "1.44.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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"}