@haibun/cli 1.41.2 → 1.41.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,18 +11,6 @@ export declare class BaseOptions implements IHasOptions {
11
11
  error?: undefined;
12
12
  };
13
13
  };
14
- SPLIT_SHARED: {
15
- desc: string;
16
- parse: (input: string) => {
17
- error: string;
18
- result?: undefined;
19
- } | {
20
- result: {
21
- [x: string]: string;
22
- }[];
23
- error?: undefined;
24
- };
25
- };
26
14
  TRACE: {
27
15
  desc: string;
28
16
  parse: (input: string) => {
@@ -119,26 +107,6 @@ export declare class BaseOptions implements IHasOptions {
119
107
  error?: undefined;
120
108
  };
121
109
  };
122
- LOOPS: {
123
- desc: string;
124
- parse: (input: string) => {
125
- error: string;
126
- result?: undefined;
127
- } | {
128
- result: number;
129
- error?: undefined;
130
- };
131
- };
132
- MEMBERS: {
133
- desc: string;
134
- parse: (input: string) => {
135
- error: string;
136
- result?: undefined;
137
- } | {
138
- result: number;
139
- error?: undefined;
140
- };
141
- };
142
110
  OUTPUT: {
143
111
  desc: string;
144
112
  parse: (result: string) => {
@@ -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;;;;;;;;;;;;2BAYN,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;;;;;;;;;;2BAKN,MAAM;;;;;;;;;;2BAYN,MAAM;;;;;;;;;;4BAQL,MAAM;;;;;;4BAIN,MAAM;;;;;;2BAIP,MAAM;;;;MAO3B;CACL"}
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"}
@@ -7,18 +7,6 @@ export class BaseOptions {
7
7
  desc: 'execution key (defaults to serialtime)',
8
8
  parse: (input) => stringOrError(input)
9
9
  },
10
- SPLIT_SHARED: {
11
- desc: 'create instances based on variable options, for example, var=option1,option2',
12
- parse: (input) => {
13
- const [what, s] = input.split('=');
14
- if (!what || !s) {
15
- return { error: `var=option1,option2` };
16
- }
17
- else {
18
- return { result: s.split(',').map((w) => ({ [what]: w })) };
19
- }
20
- }
21
- },
22
10
  TRACE: {
23
11
  desc: 'save tracks data',
24
12
  parse: (input) => boolOrError(input)
@@ -89,26 +77,6 @@ export class BaseOptions {
89
77
  desc: 'delay between steps',
90
78
  parse: (input) => intOrError(input)
91
79
  },
92
- LOOPS: {
93
- desc: 'how many loops',
94
- parse: (input) => intOrError(input)
95
- },
96
- // LOOP_START: {
97
- // desc: 'wip',
98
- // parse: (input: string) => intOrError(input)
99
- // },
100
- // LOOP_INC: {
101
- // desc: 'wip',
102
- // parse: (input: string) => intOrError(input)
103
- // },
104
- MEMBERS: {
105
- desc: 'number of members in each loop',
106
- parse: (input) => intOrError(input)
107
- },
108
- // CONTINUE_ON_ERROR_IF_SCORED: {
109
- // desc: 'wip',
110
- // parse: (result: string) => ({ result })
111
- // },
112
80
  OUTPUT: {
113
81
  desc: 'Output format (AsXUnit)',
114
82
  parse: (result) => ({ result })
@@ -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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"}
@@ -0,0 +1,15 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,10 @@
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
@@ -0,0 +1 @@
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/cli.js CHANGED
@@ -1,89 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import sourceMapSupport from 'source-map-support';
3
- import { STAY_ALWAYS, STAY } 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 { getConfigFromBase } from '@haibun/core/build/lib/util/workspace-lib.js';
7
- import { processArgs, processBaseEnvToOptionsAndErrors, usageThenExit } from './lib.js';
8
- import { Timer } from '@haibun/core/build/lib/Timer.js';
9
- import Logger from '@haibun/core/build/lib/Logger.js';
10
- import { EMediaTypes } from '@haibun/domain-storage/build/media-types.js';
11
- import { Runner } from '@haibun/core/build/runner.js';
12
- import { WorldContext } from '@haibun/core/build/lib/contexts.js';
13
- import { getDefaultTag } from '@haibun/core/build/lib/test/lib.js';
3
+ import { runWith } from './runTests.js';
14
4
  sourceMapSupport.install();
15
5
  process.on('unhandledRejection', console.error);
16
- go().catch(console.error);
17
- async function go() {
18
- const { params, configLoc, showHelp } = processArgs(process.argv.slice(2));
19
- const bases = basesFrom(params[0]?.replace(/\/$/, ''));
20
- const specl = await getSpeclOrExit(configLoc ? [configLoc] : bases);
21
- if (showHelp) {
22
- await usageThenExit(specl);
23
- }
24
- const featureFilter = params[1] ? params[1].split(',') : undefined;
25
- const { protoOptions, errors } = processBaseEnvToOptionsAndErrors(process.env, specl.options);
26
- if (errors.length > 0) {
27
- await usageThenExit(specl, errors.join('\n'));
28
- }
29
- const { TRACE: trace, OUTPUT: output, OUTPUT_DEST: outputDest } = protoOptions.options;
30
- if (outputDest && !output) {
31
- await usageThenExit(specl, 'OUTPUT_DEST requires OUTPUT');
32
- }
33
- const description = protoOptions.options.DESCRIPTION || bases + ' ' + [...(featureFilter || [])].join(',');
34
- const world = getWorld(protoOptions, bases);
35
- let endFeatureCallback = undefined;
36
- if (trace) {
37
- endFeatureCallback = async (params) => {
38
- const { world, result, steppers, startOffset } = params;
39
- const historyHandlers = findHandlers(steppers, HANDLE_RESULT_HISTORY);
40
- const loc = { ...world };
41
- const traceHistory = [...Logger.traceHistory];
42
- for (const h of historyHandlers) {
43
- await h.handle({ ...loc, mediaType: EMediaTypes.json }, description, result, Timer.startTime, startOffset, traceHistory);
44
- }
45
- Logger.traceHistory = [];
46
- };
47
- }
48
- const runner = new Runner(world);
49
- console.info('\n_________________________________ start');
50
- const result = await runner.run(specl.steppers);
51
- if (result.ok) {
52
- if (protoOptions.options[STAY] !== STAY_ALWAYS) {
53
- process.exit(0);
54
- }
55
- }
56
- else if (!protoOptions.options[STAY]) {
57
- process.exit(1);
58
- }
59
- }
60
- function getWorld(protoOptions, bases) {
61
- const { KEY: keyIn, LOG_LEVEL: logLevel, LOG_FOLLOW: logFollow } = protoOptions.options;
62
- const tag = getDefaultTag(0);
63
- const logger = new Logger({ level: logLevel || 'debug', follow: logFollow });
64
- const shared = new WorldContext(tag);
65
- const timer = new Timer();
66
- const key = keyIn || Timer.key;
67
- Timer.key = key;
68
- const world = {
69
- tag,
70
- shared,
71
- runtime: {},
72
- logger,
73
- ...protoOptions,
74
- timer,
75
- bases,
76
- };
77
- return world;
78
- }
79
- async function getSpeclOrExit(bases) {
80
- const specl = getConfigFromBase(bases);
81
- if (specl === null || bases?.length < 1) {
82
- if (specl === null) {
83
- console.error(`missing or unusable config.json from ${bases}`);
84
- }
85
- await usageThenExit(specl ? specl : getDefaultOptions());
86
- }
87
- return specl;
88
- }
6
+ runWith(process).catch(console.error);
89
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,EAAiE,WAAW,EAAE,IAAI,EAAyB,MAAM,gCAAgC,CAAC;AACzJ,OAAO,EAAwB,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAE7G,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,gCAAgC,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,MAAM,MAAM,kCAAkC,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,gBAAgB,CAAC,OAAO,EAAE,CAAC;AAE3B,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAEhD,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAE1B,KAAK,UAAU,EAAE;IAChB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEpE,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,gCAAgC,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;IACvF,IAAI,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,aAAa,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3G,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAE5C,IAAI,kBAAkB,GAAoC,SAAS,CAAC;IACpE,IAAI,KAAK,EAAE,CAAC;QACX,kBAAkB,GAAG,KAAK,EAAE,MAAiC,EAAE,EAAE;YAChE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;YACxD,MAAM,eAAe,GAAG,YAAY,CAAuB,QAAQ,EAAE,qBAAqB,CAAC,CAAC;YAC5F,MAAM,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9C,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;gBACjC,MAAM,CAAC,CAAC,MAAM,CACb,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,IAAI,EAAE,EACvC,WAAW,EACX,MAAM,EACN,KAAK,CAAC,SAAS,EACf,WAAW,EACX,YAAY,CACZ,CAAC;YACH,CAAC;YACD,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QAC1B,CAAC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjC,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEhD,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;SAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC;AAED,SAAS,QAAQ,CAAC,YAA2B,EAAE,KAAY;IAC1D,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,KAAK,UAAU,cAAc,CAAC,KAAY;IACzC,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":"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"}
package/build/go.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function go(): Promise<void>;
2
+ //# sourceMappingURL=go.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go.d.ts","sourceRoot":"","sources":["../src/go.ts"],"names":[],"mappings":"AAaA,wBAAsB,EAAE,kBAgEvB"}
package/build/go.js ADDED
@@ -0,0 +1,92 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go.js","sourceRoot":"","sources":["../src/go.ts"],"names":[],"mappings":"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"}
package/build/lib.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { TOptions, TProtoOptions, TRunResult, TSpecl } from "@haibun/core/build/lib/defs.js";
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";
2
3
  type TEnv = {
3
4
  [name: string]: string | undefined;
4
5
  };
5
6
  export declare function usageThenExit(specl: TSpecl, message?: string): Promise<void>;
6
7
  export declare function usage(specl: TSpecl, message?: string): Promise<string>;
7
- export declare function ranResultError(ranResults: TRunResult[], exceptionResults: any[]): any;
8
8
  export declare function processBaseEnvToOptionsAndErrors(env: TEnv, options: TOptions): {
9
9
  protoOptions: TProtoOptions;
10
10
  errors: string[];
@@ -13,6 +13,10 @@ export declare function processArgs(args: string[]): {
13
13
  params: any[];
14
14
  configLoc: any;
15
15
  showHelp: boolean;
16
+ showVersion: boolean;
16
17
  };
18
+ 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>;
17
21
  export {};
18
22
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAG,MAAM,gCAAgC,CAAC;AAKxH,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,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,GAAG,CAWrF;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ;;;EAkC5E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE;;;;EAgBzC"}
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"}
package/build/lib.js CHANGED
@@ -1,7 +1,11 @@
1
- import { BASE_PREFIX, } from "@haibun/core/build/lib/defs.js";
2
- import { getCreateSteppers } from "@haibun/core/build/lib/test/lib.js";
3
- import { getPre } from "@haibun/core/build/lib/util/index.js";
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";
4
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';
5
9
  export async function usageThenExit(specl, message) {
6
10
  const output = await usage(specl, message);
7
11
  console[message ? 'error' : 'info'](output);
@@ -30,14 +34,6 @@ export async function usage(specl, message) {
30
34
  }
31
35
  return [...ret, ''].join('\n');
32
36
  }
33
- export function ranResultError(ranResults, exceptionResults) {
34
- return JSON.stringify({
35
- ran: ranResults
36
- .filter((r) => !r.result.ok)
37
- .map((r) => ({ stage: r.result.failure?.stage, details: r.result.failure?.error.details, results: r.result.featureResults?.find((r) => r.stepResults.find((r) => !r.ok)) })),
38
- exceptionResults,
39
- }, null, 2);
40
- }
41
37
  export function processBaseEnvToOptionsAndErrors(env, options) {
42
38
  const protoOptions = { options: { ...options }, moduleOptions: {} };
43
39
  const errors = [];
@@ -59,21 +55,25 @@ export function processBaseEnvToOptionsAndErrors(env, options) {
59
55
  nenv = { ...nenv, ...res.env };
60
56
  }
61
57
  else if (!res.result) {
62
- errors.push(`no option for ${opt} from ${JSON.stringify(res.result)}`);
58
+ errors.push(`no base option for ${opt} from ${JSON.stringify(res.result)}`);
63
59
  }
64
60
  else {
65
61
  protoOptions.options[opt] = res.result;
66
62
  }
67
63
  }
68
- else {
64
+ else if (k.startsWith(`${BASE_PREFIX}O_`)) {
69
65
  protoOptions.moduleOptions[k] = value;
70
66
  }
67
+ else {
68
+ errors.push(`no found option for ${opt}`);
69
+ }
71
70
  });
72
71
  protoOptions.options.env = nenv;
73
72
  return { protoOptions, errors };
74
73
  }
75
74
  export function processArgs(args) {
76
75
  let showHelp = false;
76
+ let showVersion = false;
77
77
  const params = [];
78
78
  let configLoc;
79
79
  while (args.length > 0) {
@@ -84,10 +84,62 @@ export function processArgs(args) {
84
84
  else if (cur === '--help' || cur === '-h') {
85
85
  showHelp = true;
86
86
  }
87
+ else if (cur === '--version' || cur === '-v') {
88
+ showVersion = true;
89
+ }
87
90
  else {
88
91
  params.push(cur);
89
92
  }
90
93
  }
91
- return { params, configLoc, showHelp };
94
+ return { params, configLoc, showHelp, showVersion };
95
+ }
96
+ export function getConfigFromBase(bases, fs = nodeFS) {
97
+ const found = bases?.filter((b) => fs.existsSync(`${b}/config.json`));
98
+ if (found.length > 1) {
99
+ console.error(`Found multiple config.json files: ${found.join(', ')}. Use --config to specify one.`);
100
+ return null;
101
+ }
102
+ const configDir = found[0] || '.';
103
+ const f = `${configDir}/config.json`;
104
+ console.info(`trying ${f}`);
105
+ try {
106
+ const specl = JSON.parse(fs.readFileSync(f, 'utf-8'));
107
+ if (!specl.options) {
108
+ specl.options = { DEST: DEFAULT_DEST };
109
+ }
110
+ return specl;
111
+ }
112
+ catch (e) {
113
+ return null;
114
+ }
115
+ }
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;
92
144
  }
93
145
  //# 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":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function runWith({ argv, env }: {
2
+ argv: string[];
3
+ env: NodeJS.ProcessEnv;
4
+ }): Promise<void>;
5
+ //# sourceMappingURL=runTests.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,104 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runTests.js","sourceRoot":"","sources":["../src/runTests.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.41.2",
4
+ "version": "1.41.4",
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.41.2",
23
- "@haibun/domain-storage": "1.41.2",
22
+ "@haibun/core": "1.41.4",
23
+ "@haibun/domain-storage": "1.41.4",
24
24
  "source-map-support": "^0.5.21"
25
25
  },
26
26
  "gitHead": "7cf9680bd922fb622fb59f1e6bf5b65284cb8fd5"
package/build/cli.o.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=cli.o.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.o.d.ts","sourceRoot":"","sources":["../src/cli.o.ts"],"names":[],"mappings":""}
package/build/cli.o.js DELETED
@@ -1,142 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- /*
4
- import sourceMapSupport from 'source-map-support';
5
- import repl from 'repl';
6
- import { TSpecl, TWorld, TEndFeatureCallback, TEndFeatureCallbackParams, TRunOptions, TBase, STAY_ALWAYS, STAY, TNotOKActionResult, TFeatureResult } from '@haibun/core/build/lib/defs.js';
7
- import { IHandleResultHistory, HANDLE_RESULT_HISTORY } from '@haibun/domain-storage/build/domain-storage.js';
8
-
9
- import { findHandlers, getDefaultOptions, basesFrom } from '@haibun/core/build/lib/util/index.js';
10
- import { getConfigFromBase } from '@haibun/core/build/lib/util/workspace-lib.js';
11
- import runWithOptions from '@haibun/core/build/lib/run-with-options.o.js';
12
- import { processArgs, processBaseEnvToOptionsAndErrors, usageThenExit } from './lib.js';
13
- import { Timer } from '@haibun/core/build/lib/Timer.js';
14
- import { writeFileSync } from 'fs';
15
- import Logger from '@haibun/core/build/lib/Logger.js';
16
- import { EMediaTypes } from '@haibun/domain-storage/build/media-types.js';
17
-
18
- sourceMapSupport.install();
19
-
20
- process.on('unhandledRejection', console.error);
21
-
22
- go().catch(console.error);
23
-
24
- async function go() {
25
- const { params, configLoc, showHelp } = processArgs(process.argv.slice(2));
26
- const featureFilter = params[1] ? params[1].split(',') : undefined;
27
- const bases = basesFrom(params[0]?.replace(/\/$/, ''));
28
-
29
- const specl = await getSpeclOrExit(configLoc ? [configLoc] : bases);
30
-
31
- if (showHelp) {
32
- await usageThenExit(specl);
33
- }
34
-
35
- const { protoOptions, errors } = processBaseEnvToOptionsAndErrors(process.env, specl.options);
36
- if (errors.length > 0) {
37
- await usageThenExit(specl, errors.join('\n'));
38
- }
39
-
40
- console.info('\n_________________________________ start');
41
-
42
- const { KEY: keyIn, TRACE: trace, OUTPUT: output, OUTPUT_DEST: outputDest } = protoOptions.options;
43
- const key = keyIn || Timer.key;
44
- Timer.key = key;
45
- const description = protoOptions.options.DESCRIPTION || bases + ' ' + [...(featureFilter || [])].join(',');
46
-
47
- if (outputDest && !output) {
48
- await usageThenExit(specl, 'OUTPUT_DEST requires OUTPUT');
49
- }
50
-
51
- let running;
52
- const startRunCallback = (world: TWorld) => {
53
- running = protoOptions.options.CLI ? (repl.start({ prompt: 'repl: ', useColors: true, useGlobal: true }).context.haibun = { world }) : undefined;
54
- };
55
- let endFeatureCallback: TEndFeatureCallback | undefined = undefined;
56
- if (trace) {
57
- endFeatureCallback = async (params: TEndFeatureCallbackParams) => {
58
- const { world, result, steppers, startOffset } = params;
59
- const historyHandlers = findHandlers<IHandleResultHistory>(steppers, HANDLE_RESULT_HISTORY);
60
- const loc = { ...world };
61
- if (running) running.context.haibun.step = { world, result, steppers, startOffset };
62
- const traceHistory = [...Logger.traceHistory];
63
- for (const h of historyHandlers) {
64
- await h.handle({ ...loc, mediaType: EMediaTypes.json }, description, result, Timer.startTime, startOffset, traceHistory);
65
- }
66
- Logger.traceHistory = [];
67
- };
68
- }
69
-
70
- const runOptions: TRunOptions = { key, featureFilter, trace, specl, bases, protoOptions, startRunCallback, endFeatureCallback };
71
- const { ok, exceptionResults, ranResults, allFailures, logger, passed, failed, totalRan, runTime, output: runOutput } = await runWithOptions(runOptions);
72
- // FIXME
73
- if (runOutput) {
74
- if (outputDest) {
75
- runOutput.map((a, i) => {
76
- if (a) {
77
- writeFileSync(outputDest.toString().replace('/', `/${i}-`), a);
78
- }
79
- });
80
- } else {
81
- // logger.log(JSON.stringify(runOutput, null, 2));
82
- }
83
- }
84
-
85
- if (ok && exceptionResults.length < 1) {
86
- logger.log('OK ' + ranResults.every((r) => r.output));
87
- } else {
88
- try {
89
- const results = summarizeFeatureResults(ranResults[0].result.featureResults) || allFailures;
90
- logger.error('failures:' + JSON.stringify({ results }, null, 2));
91
- writeFileSync(`failures.${key}.json`, JSON.stringify({ results: ranResults || allFailures }, null, 2));
92
- logger.info('errors were written to failures.json');
93
- } catch (e) {
94
- console.error(e);
95
- logger.error('EXCEPTION failures:', e);
96
- }
97
- }
98
- logger.info(`\nRESULT>>> ${JSON.stringify({ ok, startDate: Timer.startTime, key: Timer.key, passed, failed, totalRan, runTime, 'features/s:': totalRan / runTime })}`);
99
-
100
- if (ok && exceptionResults.length < 1) {
101
- if (protoOptions.options[STAY] !== STAY_ALWAYS) {
102
- process.exit(0);
103
- }
104
- } else if (!protoOptions.options[STAY]) {
105
- process.exit(1);
106
- }
107
- }
108
-
109
- function summarizeFeatureResults(featureResults: TFeatureResult[]) {
110
- return featureResults?.map((f, n) => ({
111
- '#': n + 1,
112
- ok: f.ok,
113
- path: f.path,
114
- failure: f.failure,
115
- stepResults: f.ok
116
- ? undefined
117
- : f.stepResults.map((s) =>
118
- s.ok
119
- ? s.in
120
- : {
121
- ok: s.ok,
122
- in: s.in,
123
- actionResults: s.actionResults
124
- // FIXME shouldn't need cast
125
- .map((a) => (a.ok ? a.name : { ok: a.ok, name: a.name, message: (a as TNotOKActionResult)?.message, topics: a.topics && Object.keys(a.topics).join(',') })),
126
- }
127
- ),
128
- }));
129
- }
130
- async function getSpeclOrExit(bases: TBase): Promise<TSpecl> {
131
- const specl = getConfigFromBase(bases);
132
- if (specl === null || bases?.length < 1) {
133
- if (specl === null) {
134
- console.error(`missing or unusable config.json from ${bases}`);
135
- }
136
- await usageThenExit(specl ? specl : getDefaultOptions());
137
- }
138
- return specl;
139
- }
140
-
141
- */
142
- //# sourceMappingURL=cli.o.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.o.js","sourceRoot":"","sources":["../src/cli.o.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0IE"}