@overkill-dev/run 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/assertion-protocol/assertion-evaluation.d.ts +13 -0
- package/assertion-protocol/assertion-evaluation.d.ts.map +1 -0
- package/assertion-protocol/assertion-node-shape.d.ts +71 -0
- package/assertion-protocol/assertion-node-shape.d.ts.map +1 -0
- package/assertion-protocol/assertion-node.d.ts +97 -0
- package/assertion-protocol/assertion-node.d.ts.map +1 -0
- package/assertion-protocol/assertion-reference.d.ts +73 -0
- package/assertion-protocol/assertion-reference.d.ts.map +1 -0
- package/assertion-protocol/assertions/boolean.d.ts +11 -0
- package/assertion-protocol/assertions/boolean.d.ts.map +1 -0
- package/assertion-protocol/assertions/collection.d.ts +22 -0
- package/assertion-protocol/assertions/collection.d.ts.map +1 -0
- package/assertion-protocol/assertions/equality.d.ts +17 -0
- package/assertion-protocol/assertions/equality.d.ts.map +1 -0
- package/assertion-protocol/assertions/fail.d.ts +13 -0
- package/assertion-protocol/assertions/fail.d.ts.map +1 -0
- package/assertion-protocol/assertions/numeric.d.ts +29 -0
- package/assertion-protocol/assertions/numeric.d.ts.map +1 -0
- package/assertion-protocol/assertions/partial.d.ts +14 -0
- package/assertion-protocol/assertions/partial.d.ts.map +1 -0
- package/assertion-protocol/assertions/presence.d.ts +17 -0
- package/assertion-protocol/assertions/presence.d.ts.map +1 -0
- package/assertion-protocol/assertions/string.d.ts +28 -0
- package/assertion-protocol/assertions/string.d.ts.map +1 -0
- package/assertion-protocol/assertions/type-shape.d.ts +42 -0
- package/assertion-protocol/assertions/type-shape.d.ts.map +1 -0
- package/assertion-protocol/evaluation.d.ts +32 -0
- package/assertion-protocol/evaluation.d.ts.map +1 -0
- package/assertion-protocol/thrown-error-record.d.ts +8 -0
- package/assertion-protocol/thrown-error-record.d.ts.map +1 -0
- package/assertion-protocol/thrown-matcher.d.ts +51 -0
- package/assertion-protocol/thrown-matcher.d.ts.map +1 -0
- package/compare/comparison-result.d.ts +25 -0
- package/compare/comparison-result.d.ts.map +1 -0
- package/compare/comparison.d.ts +12 -0
- package/compare/comparison.d.ts.map +1 -0
- package/compare/serialized-value-shape.d.ts +143 -0
- package/compare/serialized-value-shape.d.ts.map +1 -0
- package/compare/serialized-value.d.ts +11 -0
- package/compare/serialized-value.d.ts.map +1 -0
- package/diff/diff-shape.d.ts +117 -0
- package/diff/diff-shape.d.ts.map +1 -0
- package/engine/assertion-facade.d.ts +50 -0
- package/engine/assertion-facade.d.ts.map +1 -0
- package/engine/custom-assertion-recording.d.ts +33 -0
- package/engine/custom-assertion-recording.d.ts.map +1 -0
- package/engine/identity.d.ts +12 -0
- package/engine/identity.d.ts.map +1 -0
- package/engine/reporter.d.ts +103 -0
- package/engine/reporter.d.ts.map +1 -0
- package/engine/require-assertion-facade.d.ts +21 -0
- package/engine/require-assertion-facade.d.ts.map +1 -0
- package/engine/run-result.d.ts +110 -0
- package/engine/run-result.d.ts.map +1 -0
- package/engine/test-node.d.ts +88 -0
- package/engine/test-node.d.ts.map +1 -0
- package/engine/test-plan.d.ts +20 -0
- package/engine/test-plan.d.ts.map +1 -0
- package/package.json +33 -6
- package/packages/engine/assertion-protocol.entry-point.d.ts +9 -0
- package/packages/engine/assertion-protocol.entry-point.d.ts.map +1 -0
- package/packages/run/run.entry-point.d.ts +3 -0
- package/packages/run/run.entry-point.d.ts.map +1 -0
- package/packages/run/run.entry-point.js +2 -0
- package/packages/run/run.entry-point.js.map +1 -0
- package/readme.md +9 -5
- package/run/run.d.ts +65 -0
- package/run/run.d.ts.map +1 -0
- package/run/run.js +12 -0
- package/run/run.js.map +1 -0
- package/sbom.cdx.json +50 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import type { WallClock } from '@enormora/wall-clock';
|
|
2
|
+
import type { CaseId } from './identity.ts';
|
|
3
|
+
import type { RunResult, RunnerError, TestOutcome } from './run-result.ts';
|
|
4
|
+
export type RunFacts = Readonly<Record<string, unknown>>;
|
|
5
|
+
export type StandardOutputSinkDeclaration = {
|
|
6
|
+
readonly conflictPolicy: 'exclusive' | 'shared';
|
|
7
|
+
readonly kind: 'stderr' | 'stdout';
|
|
8
|
+
};
|
|
9
|
+
export type FileSinkDeclaration = {
|
|
10
|
+
readonly conflictPolicy: 'exclusive';
|
|
11
|
+
readonly kind: 'file';
|
|
12
|
+
readonly path: string;
|
|
13
|
+
};
|
|
14
|
+
export type DirectorySinkDeclaration = {
|
|
15
|
+
readonly conflictPolicy: 'exclusive';
|
|
16
|
+
readonly kind: 'directory';
|
|
17
|
+
readonly path: string;
|
|
18
|
+
};
|
|
19
|
+
export type MemorySinkDeclaration = {
|
|
20
|
+
readonly conflictPolicy: 'shared';
|
|
21
|
+
readonly kind: 'memory';
|
|
22
|
+
};
|
|
23
|
+
export type StreamSinkDeclaration = {
|
|
24
|
+
readonly conflictPolicy: 'exclusive';
|
|
25
|
+
readonly kind: 'stream';
|
|
26
|
+
readonly provided: WritableStream<unknown>;
|
|
27
|
+
};
|
|
28
|
+
type FileSystemSinkDeclaration = DirectorySinkDeclaration | FileSinkDeclaration;
|
|
29
|
+
type PrivateSinkDeclaration = MemorySinkDeclaration | StreamSinkDeclaration;
|
|
30
|
+
type ReporterSinkDeclaration = FileSystemSinkDeclaration | StandardOutputSinkDeclaration;
|
|
31
|
+
export type SinkDeclaration = PrivateSinkDeclaration | ReporterSinkDeclaration;
|
|
32
|
+
type RunStartReporterEvent = {
|
|
33
|
+
readonly facts: RunFacts;
|
|
34
|
+
readonly kind: 'run-start';
|
|
35
|
+
readonly startedAt: string;
|
|
36
|
+
};
|
|
37
|
+
type RunEndReporterEvent = {
|
|
38
|
+
readonly kind: 'run-end';
|
|
39
|
+
readonly result: RunResult;
|
|
40
|
+
};
|
|
41
|
+
type RunnerErrorReporterEvent = {
|
|
42
|
+
readonly error: RunnerError;
|
|
43
|
+
readonly kind: 'runner-error';
|
|
44
|
+
};
|
|
45
|
+
type SuiteStartReporterEvent = {
|
|
46
|
+
readonly kind: 'suite-start';
|
|
47
|
+
readonly suitePath: readonly string[];
|
|
48
|
+
};
|
|
49
|
+
type SuiteEndReporterEvent = {
|
|
50
|
+
readonly kind: 'suite-end';
|
|
51
|
+
readonly suitePath: readonly string[];
|
|
52
|
+
};
|
|
53
|
+
type TestStartReporterEvent = {
|
|
54
|
+
readonly attempt: number;
|
|
55
|
+
readonly case: CaseId;
|
|
56
|
+
readonly kind: 'test-start';
|
|
57
|
+
};
|
|
58
|
+
type TestProgressReporterEvent = {
|
|
59
|
+
readonly attempt: number;
|
|
60
|
+
readonly case: CaseId;
|
|
61
|
+
readonly kind: 'test-progress';
|
|
62
|
+
readonly note: string;
|
|
63
|
+
};
|
|
64
|
+
type TestEndReporterEvent = {
|
|
65
|
+
readonly attempt: number;
|
|
66
|
+
readonly case: CaseId;
|
|
67
|
+
readonly kind: 'test-end';
|
|
68
|
+
readonly outcome: TestOutcome;
|
|
69
|
+
readonly verdict: TestOutcome['kind'];
|
|
70
|
+
readonly wallTimeMs: number;
|
|
71
|
+
};
|
|
72
|
+
type RunReporterEvent = RunEndReporterEvent | RunnerErrorReporterEvent | RunStartReporterEvent;
|
|
73
|
+
type SuiteReporterEvent = SuiteEndReporterEvent | SuiteStartReporterEvent;
|
|
74
|
+
type TestReporterEvent = TestEndReporterEvent | TestProgressReporterEvent | TestStartReporterEvent;
|
|
75
|
+
export type ReporterEvent = RunReporterEvent | SuiteReporterEvent | TestReporterEvent;
|
|
76
|
+
export type RealTimeReporter = {
|
|
77
|
+
readonly dispose: (() => Promise<void> | void) | null;
|
|
78
|
+
readonly kind: 'real-time';
|
|
79
|
+
readonly name: string;
|
|
80
|
+
readonly sinks: readonly SinkDeclaration[];
|
|
81
|
+
readonly onEvent: (event: ReporterEvent) => Promise<void> | void;
|
|
82
|
+
readonly onFinish: ((result: RunResult) => Promise<void> | void) | null;
|
|
83
|
+
};
|
|
84
|
+
export type FinalResultReporter = {
|
|
85
|
+
readonly dispose: (() => Promise<void> | void) | null;
|
|
86
|
+
readonly kind: 'final-result';
|
|
87
|
+
readonly name: string;
|
|
88
|
+
readonly sinks: readonly SinkDeclaration[];
|
|
89
|
+
readonly onResult: (result: RunResult) => Promise<void> | void;
|
|
90
|
+
};
|
|
91
|
+
export type Reporter = FinalResultReporter | RealTimeReporter;
|
|
92
|
+
export type ReporterDispatcher = {
|
|
93
|
+
readonly disposeReporters: (reporters: readonly Reporter[]) => Promise<readonly RunnerError[]>;
|
|
94
|
+
readonly reportEvent: (reporters: readonly Reporter[], event: ReporterEvent) => Promise<readonly RunnerError[]>;
|
|
95
|
+
readonly reportResult: (reporters: readonly Reporter[], result: RunResult) => Promise<readonly RunnerError[]>;
|
|
96
|
+
};
|
|
97
|
+
export type ReporterDispatcherDependencies = {
|
|
98
|
+
readonly wallClock: WallClock;
|
|
99
|
+
};
|
|
100
|
+
export declare function validateReporterSinks(reporters: readonly Reporter[]): void;
|
|
101
|
+
export declare function createReporterDispatcher(dependencies: ReporterDispatcherDependencies): ReporterDispatcher;
|
|
102
|
+
export {};
|
|
103
|
+
//# sourceMappingURL=reporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../../../source/engine/reporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { NarrowingCompositeAssertionReference } from '../packages/engine/assertion-protocol.entry-point.ts';
|
|
2
|
+
import type { AssertionOptions, InstanceConstructor, ResolvableSourceLocation } from '../assertion-protocol/assertion-node-shape.ts';
|
|
3
|
+
import { type RequireAssertionSink } from './custom-assertion-recording.ts';
|
|
4
|
+
export type RequireAssertionFacade = {
|
|
5
|
+
<Actual, Narrowed extends Actual, Arguments extends readonly unknown[]>(reference: NarrowingCompositeAssertionReference<Actual, Narrowed, Arguments>, actual: Actual, ...parameters: Arguments): asserts actual is Narrowed;
|
|
6
|
+
readonly annotated: (message: string) => RequireAssertionFacade;
|
|
7
|
+
readonly array: (actual: unknown, options?: AssertionOptions) => asserts actual is readonly unknown[];
|
|
8
|
+
readonly boolean: (actual: unknown, options?: AssertionOptions) => asserts actual is boolean;
|
|
9
|
+
readonly defined: <Value>(actual: Value, options?: AssertionOptions) => asserts actual is NonNullable<Value>;
|
|
10
|
+
readonly function: (actual: unknown, options?: AssertionOptions) => asserts actual is (...parameters: readonly unknown[]) => unknown;
|
|
11
|
+
readonly hasProperty: <Key extends PropertyKey>(actual: unknown, key: Key, options?: AssertionOptions) => asserts actual is Readonly<Record<Key, unknown>>;
|
|
12
|
+
readonly instanceOf: <Constructor extends InstanceConstructor>(actual: unknown, expected: Constructor, options?: AssertionOptions) => asserts actual is InstanceType<Constructor>;
|
|
13
|
+
readonly notNull: <Value>(actual: Value, options?: AssertionOptions) => asserts actual is Exclude<Value, null>;
|
|
14
|
+
readonly null: (actual: unknown, options?: AssertionOptions) => asserts actual is null;
|
|
15
|
+
readonly number: (actual: unknown, options?: AssertionOptions) => asserts actual is number;
|
|
16
|
+
readonly object: (actual: unknown, options?: AssertionOptions) => asserts actual is Readonly<Record<PropertyKey, unknown>>;
|
|
17
|
+
readonly string: (actual: unknown, options?: AssertionOptions) => asserts actual is string;
|
|
18
|
+
};
|
|
19
|
+
export declare function createRecordingRequireFacadeWithLocation(sink: RequireAssertionSink, annotation: string | null, captureLocation: () => ResolvableSourceLocation): RequireAssertionFacade;
|
|
20
|
+
export declare function createRecordingRequireFacade(sink: RequireAssertionSink, annotation: string | null): RequireAssertionFacade;
|
|
21
|
+
//# sourceMappingURL=require-assertion-facade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-assertion-facade.d.ts","sourceRoot":"","sources":["../../../../source/engine/require-assertion-facade.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { InvalidDeepAssertionOperand } from '../assertion-protocol/evaluation.ts';
|
|
2
|
+
import type { FailedCheck, NonEmptyReadonlyArray } from '../assertion-protocol/assertion-node-shape.ts';
|
|
3
|
+
import type { CaseId } from './identity.ts';
|
|
4
|
+
type RunnerErrorSubtypeByName = {
|
|
5
|
+
readonly attributionDrift: 'attribution-drift';
|
|
6
|
+
readonly crash: 'crash';
|
|
7
|
+
readonly fixture: 'fixture';
|
|
8
|
+
readonly loader: 'loader';
|
|
9
|
+
readonly permission: 'permission';
|
|
10
|
+
readonly reporter: 'reporter';
|
|
11
|
+
readonly unhandledRejection: 'unhandled-rejection';
|
|
12
|
+
};
|
|
13
|
+
type RunnerErrorSubtype = RunnerErrorSubtypeByName[keyof RunnerErrorSubtypeByName];
|
|
14
|
+
export type PassOutcome = {
|
|
15
|
+
readonly checks?: never;
|
|
16
|
+
readonly kind: 'pass';
|
|
17
|
+
readonly reason?: never;
|
|
18
|
+
};
|
|
19
|
+
export type AssertionTestFailure = {
|
|
20
|
+
readonly checks: NonEmptyReadonlyArray<FailedCheck>;
|
|
21
|
+
readonly kind: 'assertion';
|
|
22
|
+
};
|
|
23
|
+
export type BodyErrorTestFailure = {
|
|
24
|
+
readonly error: {
|
|
25
|
+
readonly message: string;
|
|
26
|
+
readonly name: string;
|
|
27
|
+
readonly stack: string | null;
|
|
28
|
+
readonly thrown: unknown;
|
|
29
|
+
};
|
|
30
|
+
readonly kind: 'body-error';
|
|
31
|
+
};
|
|
32
|
+
type TestContractFailureCodeByName = {
|
|
33
|
+
readonly deadBuilderAssertion: 'dead-builder-assertion';
|
|
34
|
+
readonly invalidAssertionReference: 'invalid-assertion-reference';
|
|
35
|
+
readonly invalidCompositeResult: 'invalid-composite-result';
|
|
36
|
+
readonly invalidDeepAssertionOperand: 'invalid-deep-assertion-operand';
|
|
37
|
+
readonly invalidPlan: 'invalid-plan';
|
|
38
|
+
readonly invalidRequireReference: 'invalid-require-reference';
|
|
39
|
+
readonly noAssertions: 'no-assertions';
|
|
40
|
+
readonly pendingAsyncAssertion: 'pending-async-assertion';
|
|
41
|
+
readonly planMismatch: 'plan-mismatch';
|
|
42
|
+
};
|
|
43
|
+
export type TestContractFailureCode = TestContractFailureCodeByName[keyof TestContractFailureCodeByName];
|
|
44
|
+
export type TestContractFailure = {
|
|
45
|
+
readonly actual: unknown;
|
|
46
|
+
readonly code: TestContractFailureCode;
|
|
47
|
+
readonly expected: string;
|
|
48
|
+
readonly kind: 'test-contract';
|
|
49
|
+
readonly summary: string;
|
|
50
|
+
};
|
|
51
|
+
export type TestFailure = AssertionTestFailure | BodyErrorTestFailure | TestContractFailure;
|
|
52
|
+
export declare function invalidDeepAssertionOperandFailure(actual: InvalidDeepAssertionOperand): TestContractFailure;
|
|
53
|
+
export type FailOutcome = {
|
|
54
|
+
readonly failures: NonEmptyReadonlyArray<TestFailure>;
|
|
55
|
+
readonly kind: 'fail';
|
|
56
|
+
readonly reason?: never;
|
|
57
|
+
};
|
|
58
|
+
export type SkipOutcome = {
|
|
59
|
+
readonly checks?: never;
|
|
60
|
+
readonly kind: 'skip';
|
|
61
|
+
readonly reason: string;
|
|
62
|
+
};
|
|
63
|
+
export type InconclusiveOutcome = {
|
|
64
|
+
readonly checks?: never;
|
|
65
|
+
readonly kind: 'inconclusive';
|
|
66
|
+
readonly reason: string;
|
|
67
|
+
};
|
|
68
|
+
export type TestOutcome = FailOutcome | InconclusiveOutcome | PassOutcome | SkipOutcome;
|
|
69
|
+
export type RunnerError = {
|
|
70
|
+
readonly attributedTo: CaseId | null;
|
|
71
|
+
readonly cause: unknown;
|
|
72
|
+
readonly message: string;
|
|
73
|
+
readonly subtype: RunnerErrorSubtype;
|
|
74
|
+
};
|
|
75
|
+
export type RunSummary = {
|
|
76
|
+
readonly defined: number;
|
|
77
|
+
readonly discovered: number;
|
|
78
|
+
readonly failed: number;
|
|
79
|
+
readonly inconclusive: number;
|
|
80
|
+
readonly passed: number;
|
|
81
|
+
readonly planned: number;
|
|
82
|
+
readonly skipped: number;
|
|
83
|
+
};
|
|
84
|
+
export type PerTestResult = {
|
|
85
|
+
readonly id: CaseId;
|
|
86
|
+
readonly outcome: TestOutcome;
|
|
87
|
+
readonly verdict: TestOutcome['kind'];
|
|
88
|
+
};
|
|
89
|
+
export type SuiteRunCounts = {
|
|
90
|
+
readonly discovered: number;
|
|
91
|
+
readonly executed: number;
|
|
92
|
+
readonly planned: number;
|
|
93
|
+
};
|
|
94
|
+
export type OrphanedNode = {
|
|
95
|
+
readonly file: string | null;
|
|
96
|
+
readonly kind: 'suite' | 'table' | 'test';
|
|
97
|
+
readonly name: string;
|
|
98
|
+
};
|
|
99
|
+
export type RunResult = {
|
|
100
|
+
readonly artifacts: readonly string[];
|
|
101
|
+
readonly bySuite: Readonly<Record<string, SuiteRunCounts>>;
|
|
102
|
+
readonly orphans: readonly OrphanedNode[];
|
|
103
|
+
readonly perTest: readonly PerTestResult[];
|
|
104
|
+
readonly runnerErrors: readonly RunnerError[];
|
|
105
|
+
readonly summary: RunSummary;
|
|
106
|
+
readonly wallTimeMs: number;
|
|
107
|
+
};
|
|
108
|
+
export declare function verdictFromOutcome(outcome: TestOutcome): PerTestResult['verdict'];
|
|
109
|
+
export {};
|
|
110
|
+
//# sourceMappingURL=run-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-result.d.ts","sourceRoot":"","sources":["../../../../source/engine/run-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACxG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,KAAK,wBAAwB,GAAG;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;CACtD,CAAC;AAEF,KAAK,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,wBAAwB,CAAC,CAAC;AAEnF,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,CAAC,KAAK,EAAE;QACZ,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC/B,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACjC,QAAQ,CAAC,oBAAoB,EAAE,wBAAwB,CAAC;IACxD,QAAQ,CAAC,yBAAyB,EAAE,6BAA6B,CAAC;IAClE,QAAQ,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;IAC5D,QAAQ,CAAC,2BAA2B,EAAE,gCAAgC,CAAC;IACvE,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,uBAAuB,EAAE,2BAA2B,CAAC;IAC9D,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;IAC1D,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,6BAA6B,CAAC,MAAM,6BAA6B,CAAC,CAAC;AAEzG,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,mBAAmB,CAAC;AAE5F,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,2BAA2B,GAAG,mBAAmB,CAQ3G;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,mBAAmB,GAAG,WAAW,GAAG,WAAW,CAAC;AAExF,MAAM,MAAM,WAAW,GAAG;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,CAEjF"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { AssertAssertionNode, AssertionResult } from '../assertion-protocol/assertion-node.ts';
|
|
2
|
+
import type { NonEmptyReadonlyArray } from '../assertion-protocol/assertion-node-shape.ts';
|
|
3
|
+
import type { AssertAssertionFacade } from './assertion-facade.ts';
|
|
4
|
+
import type { RequireAssertionFacade } from './require-assertion-facade.ts';
|
|
5
|
+
declare const testNodeBrand: unique symbol;
|
|
6
|
+
declare const testNodeOwnerBrand: unique symbol;
|
|
7
|
+
declare const testNodeOwnerIdentity: unique symbol;
|
|
8
|
+
export type Metadata = Readonly<Record<string, unknown>>;
|
|
9
|
+
export type TestScopeAssertContext = AssertAssertionFacade & {
|
|
10
|
+
readonly collect: () => NonEmptyReadonlyArray<AssertAssertionNode>;
|
|
11
|
+
};
|
|
12
|
+
export type TestScope = {
|
|
13
|
+
readonly assert: TestScopeAssertContext;
|
|
14
|
+
readonly plan: (count: number) => void;
|
|
15
|
+
readonly require: RequireAssertionFacade;
|
|
16
|
+
};
|
|
17
|
+
export type TestBody = (scope: TestScope) => AssertionResult | Promise<AssertionResult>;
|
|
18
|
+
export type TestCase = {
|
|
19
|
+
readonly [testNodeBrand]: true;
|
|
20
|
+
readonly [testNodeOwnerBrand]: TestNodeOwner;
|
|
21
|
+
readonly body: TestBody;
|
|
22
|
+
readonly kind: 'test';
|
|
23
|
+
readonly metadata: Metadata;
|
|
24
|
+
readonly name: string;
|
|
25
|
+
};
|
|
26
|
+
export type Suite = {
|
|
27
|
+
readonly [testNodeBrand]: true;
|
|
28
|
+
readonly [testNodeOwnerBrand]: TestNodeOwner;
|
|
29
|
+
readonly children: readonly TestNode[];
|
|
30
|
+
readonly kind: 'suite';
|
|
31
|
+
readonly metadata: Metadata;
|
|
32
|
+
readonly name: string;
|
|
33
|
+
};
|
|
34
|
+
export type TableCase = {
|
|
35
|
+
readonly body: TestBody;
|
|
36
|
+
readonly metadata: Metadata;
|
|
37
|
+
readonly name: string;
|
|
38
|
+
readonly parameters: Readonly<Record<string, unknown>>;
|
|
39
|
+
};
|
|
40
|
+
export type Table = {
|
|
41
|
+
readonly [testNodeBrand]: true;
|
|
42
|
+
readonly [testNodeOwnerBrand]: TestNodeOwner;
|
|
43
|
+
readonly cases: readonly TableCase[];
|
|
44
|
+
readonly kind: 'table';
|
|
45
|
+
readonly metadata: Metadata;
|
|
46
|
+
readonly name: string;
|
|
47
|
+
};
|
|
48
|
+
export type TestNode = Suite | Table | TestCase;
|
|
49
|
+
export type TestNodeOwner = {
|
|
50
|
+
readonly [testNodeOwnerIdentity]: true;
|
|
51
|
+
};
|
|
52
|
+
export type TestNodeFactory = {
|
|
53
|
+
readonly createSuite: (options: SuiteOptions) => Suite;
|
|
54
|
+
readonly createTable: (options: TableOptions) => Table;
|
|
55
|
+
readonly createTestCase: (options: TestCaseOptions) => TestCase;
|
|
56
|
+
};
|
|
57
|
+
export type TestNodeFactoryOptions = {
|
|
58
|
+
readonly owner: TestNodeOwner;
|
|
59
|
+
readonly recordConstructedNode: (node: TestNode) => void;
|
|
60
|
+
};
|
|
61
|
+
export type TestCaseOptions = {
|
|
62
|
+
readonly body: TestBody;
|
|
63
|
+
readonly metadata: Metadata;
|
|
64
|
+
readonly name: string;
|
|
65
|
+
};
|
|
66
|
+
export type SuiteOptions = {
|
|
67
|
+
readonly children: readonly unknown[];
|
|
68
|
+
readonly metadata: Metadata;
|
|
69
|
+
readonly name: string;
|
|
70
|
+
};
|
|
71
|
+
export type TableCaseOptions = {
|
|
72
|
+
readonly body: TestBody;
|
|
73
|
+
readonly metadata: Metadata;
|
|
74
|
+
readonly name: string;
|
|
75
|
+
readonly parameters: Readonly<Record<string, unknown>>;
|
|
76
|
+
};
|
|
77
|
+
export type TableOptions = {
|
|
78
|
+
readonly cases: readonly TableCaseOptions[];
|
|
79
|
+
readonly metadata: Metadata;
|
|
80
|
+
readonly name: string;
|
|
81
|
+
};
|
|
82
|
+
export declare function createTestNodeOwner(): TestNodeOwner;
|
|
83
|
+
export declare function isTestNode(value: unknown): value is TestNode;
|
|
84
|
+
export declare function ensureOwnedTestNode(value: unknown, owner: TestNodeOwner, plainObjectMessage: string, foreignNodeMessage: string): asserts value is TestNode;
|
|
85
|
+
export declare function createTestNodeFactory(factoryOptions: TestNodeFactoryOptions): TestNodeFactory;
|
|
86
|
+
export declare function mergeMetadata(parent: Metadata, child: Metadata): Metadata;
|
|
87
|
+
export {};
|
|
88
|
+
//# sourceMappingURL=test-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-node.d.ts","sourceRoot":"","sources":["../../../../source/engine/test-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { NonEmptyReadonlyArray } from '../assertion-protocol/assertion-node-shape.ts';
|
|
2
|
+
import { type CaseId } from './identity.ts';
|
|
3
|
+
import type { OrphanedNode } from './run-result.ts';
|
|
4
|
+
import { type Metadata, type TestBody, type TestNode, type TestNodeOwner } from './test-node.ts';
|
|
5
|
+
export type TestPlanCaseBody = TestBody;
|
|
6
|
+
export type TestPlanCase = {
|
|
7
|
+
readonly id: CaseId;
|
|
8
|
+
readonly suitePath: readonly string[];
|
|
9
|
+
readonly metadata: Metadata;
|
|
10
|
+
readonly body: TestPlanCaseBody;
|
|
11
|
+
};
|
|
12
|
+
export type TestPlan = {
|
|
13
|
+
readonly defined: number;
|
|
14
|
+
readonly cases: NonEmptyReadonlyArray<TestPlanCase>;
|
|
15
|
+
readonly discoveredCases: NonEmptyReadonlyArray<TestPlanCase>;
|
|
16
|
+
readonly orphans: readonly OrphanedNode[];
|
|
17
|
+
};
|
|
18
|
+
export type TestPlanFactory = (root: TestNode) => TestPlan;
|
|
19
|
+
export declare function createTestPlanFactory(owner: TestNodeOwner, constructedNodes: ReadonlySet<TestNode>): TestPlanFactory;
|
|
20
|
+
//# sourceMappingURL=test-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-plan.d.ts","sourceRoot":"","sources":["../../../../source/engine/test-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAA+C,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAGH,KAAK,QAAQ,EAEb,KAAK,QAAQ,EAEb,KAAK,QAAQ,EACb,KAAK,aAAa,EACrB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACnB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACpD,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC;AA4I3D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,CAqBpH"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,34 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
"author": "Christian Rackerseder <git@echooff.de>",
|
|
3
|
+
"bugs": {
|
|
4
|
+
"url": "https://github.com/enormora/overkill/issues"
|
|
5
|
+
},
|
|
6
|
+
"dependencies": {
|
|
7
|
+
"@enormora/wall-clock": "0.0.3"
|
|
8
|
+
},
|
|
9
|
+
"description": "Overkill run resolution and orchestration.",
|
|
10
|
+
"engines": {
|
|
11
|
+
"node": "^26"
|
|
12
|
+
},
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"import": "./packages/run/run.entry-point.js",
|
|
16
|
+
"types": "./packages/run/run.entry-point.d.ts"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"homepage": "https://github.com/enormora/overkill#readme",
|
|
20
|
+
"keywords": [
|
|
21
|
+
"tdd",
|
|
22
|
+
"test",
|
|
23
|
+
"tests"
|
|
24
|
+
],
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"name": "@overkill-dev/run",
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "git+https://github.com/enormora/overkill.git"
|
|
30
|
+
},
|
|
31
|
+
"sideEffects": false,
|
|
32
|
+
"type": "module",
|
|
33
|
+
"version": "0.0.2"
|
|
34
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type { AssertCompositeAssertionReturn, AssertionReference, AssertionReferenceRecord, AssertReferenceArguments, AssertReferenceReturn, CompositeAssertionGroup, CompositeAssertionReference, CompositeAssertionReferenceRecord, CompositeAssertionReturn, CompositeAssertionRunnerInput, CompositeAssertionSummaryContext, CompositeAssertionSummaryFormatter, NarrowingCompositeAssertionReference, NarrowingCompositeAssertionReferenceRecord, NarrowingCompositeAssertionSummaryFormatter } from '../../assertion-protocol/assertion-reference.ts';
|
|
2
|
+
export { createCompositeAssertionGroup, createCompositeAssertionReferenceRecord, createNarrowingCompositeAssertionReferenceRecord, getAssertionReferenceRecord, getCompositeAssertionReferenceRecord, getNarrowingAssertionReferenceRecord, isAssertionReference, isCompositeAssertionGroup, isNarrowingAssertionReference } from '../../assertion-protocol/assertion-reference.ts';
|
|
3
|
+
export type { AssertAssertionNode, BuiltInAssertAssertionNode, CompositeAssertionChildNode, CompositeAssertionNode, ForeignAssertionNode, ForeignAssertionResult, RequireAssertionNode } from '../../assertion-protocol/assertion-node.ts';
|
|
4
|
+
export type { AssertionOptions, AssertionSource, DeepComparable, FailedCheck, FailedCompositeCheck, FailedForeignCheck, FailedLeafCheck, InstanceConstructor, NonEmptyReadonlyArray, ResolvableSourceLocation, SourceLocation, SourceLocationProvider } from '../../assertion-protocol/assertion-node-shape.ts';
|
|
5
|
+
export type { ErrorMatcher, ExactThrownMatcher, SynchronousCallback, ThrownAssertionObservation, ThrownMatcher } from '../../assertion-protocol/thrown-matcher.ts';
|
|
6
|
+
export { thrownMatcherChildren } from '../../assertion-protocol/thrown-matcher.ts';
|
|
7
|
+
export type { ThrownErrorRecord } from '../../assertion-protocol/thrown-error-record.ts';
|
|
8
|
+
export { createThrownErrorRecord } from '../../assertion-protocol/thrown-error-record.ts';
|
|
9
|
+
//# sourceMappingURL=assertion-protocol.entry-point.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertion-protocol.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/engine/assertion-protocol.entry-point.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,8BAA8B,EAC9B,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,iCAAiC,EACjC,wBAAwB,EACxB,6BAA6B,EAC7B,gCAAgC,EAChC,kCAAkC,EAClC,oCAAoC,EACpC,0CAA0C,EAC1C,2CAA2C,EAC9C,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACH,6BAA6B,EAC7B,uCAAuC,EACvC,gDAAgD,EAChD,2BAA2B,EAC3B,oCAAoC,EACpC,oCAAoC,EACpC,oBAAoB,EACpB,yBAAyB,EACzB,6BAA6B,EAChC,MAAM,iDAAiD,CAAC;AACzD,YAAY,EACR,mBAAmB,EACnB,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,4CAA4C,CAAC;AACpD,YAAY,EACR,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,cAAc,EACd,sBAAsB,EACzB,MAAM,kDAAkD,CAAC;AAC1D,YAAY,EACR,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,aAAa,EAChB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/run/run.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EACR,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,aAAa,EACb,UAAU,EACV,OAAO,EACP,YAAY,EACZ,QAAQ,EACX,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/run/run.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC"}
|
package/readme.md
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
#
|
|
1
|
+
# `@overkill-dev/run`
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
can subsequently be configured for it. It contains no real package content and is published already
|
|
5
|
-
deprecated.
|
|
3
|
+
Run orchestration package for turning caller intent into resolved Overkill runs.
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
Top-level API:
|
|
6
|
+
|
|
7
|
+
- `RunRequest`
|
|
8
|
+
- `RunFacts`
|
|
9
|
+
- `ResolvedRun`
|
|
10
|
+
- `resolveRun(request)`
|
|
11
|
+
- `run(request)`
|
package/run/run.d.ts
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { CaseId } from '../engine/identity.ts';
|
|
2
|
+
import type { Reporter } from '../engine/reporter.ts';
|
|
3
|
+
import type { TestPlan } from '../engine/test-plan.ts';
|
|
4
|
+
export type RunSelection = {
|
|
5
|
+
readonly kind: 'all' | 'case-id' | 'file' | 'filter' | 'last-failed' | 'name';
|
|
6
|
+
readonly value: string | null;
|
|
7
|
+
};
|
|
8
|
+
export type RunShard = {
|
|
9
|
+
readonly index: number;
|
|
10
|
+
readonly total: number;
|
|
11
|
+
};
|
|
12
|
+
export type RunExecutionRequest = {
|
|
13
|
+
readonly mode: string;
|
|
14
|
+
readonly workers: number;
|
|
15
|
+
};
|
|
16
|
+
export type RunSeed = {
|
|
17
|
+
readonly value: bigint | null;
|
|
18
|
+
};
|
|
19
|
+
export type RunDebugRequest = {
|
|
20
|
+
readonly mode: 'all' | 'off' | 'selected';
|
|
21
|
+
readonly selectors: readonly string[];
|
|
22
|
+
};
|
|
23
|
+
export type RunRequest = {
|
|
24
|
+
readonly paths: readonly string[];
|
|
25
|
+
readonly selection: RunSelection;
|
|
26
|
+
readonly shard: RunShard;
|
|
27
|
+
readonly profile: string;
|
|
28
|
+
readonly execution: RunExecutionRequest;
|
|
29
|
+
readonly coverage: boolean;
|
|
30
|
+
readonly capture: 'buffered' | 'live';
|
|
31
|
+
readonly seed: RunSeed;
|
|
32
|
+
readonly order: 'lexical' | 'seeded';
|
|
33
|
+
readonly debug: RunDebugRequest;
|
|
34
|
+
readonly configPath: string | null;
|
|
35
|
+
};
|
|
36
|
+
export type RunFacts = {
|
|
37
|
+
readonly seed: bigint;
|
|
38
|
+
readonly identities: readonly CaseId[];
|
|
39
|
+
readonly executionStrategy: string;
|
|
40
|
+
readonly capabilityProfile: string;
|
|
41
|
+
readonly baselineUpdateMode: 'apply' | 'bootstrap' | 'diff' | 'none' | 'update';
|
|
42
|
+
readonly loaderConfig: {
|
|
43
|
+
readonly stripMode: 'strip-only' | 'transform';
|
|
44
|
+
readonly sourceMaps: boolean;
|
|
45
|
+
};
|
|
46
|
+
readonly versions: {
|
|
47
|
+
readonly engine: string;
|
|
48
|
+
readonly node: string;
|
|
49
|
+
readonly packages: Readonly<Record<string, string>>;
|
|
50
|
+
};
|
|
51
|
+
readonly debug: RunFactsDebug;
|
|
52
|
+
};
|
|
53
|
+
export type RunFactsDebug = {
|
|
54
|
+
readonly mode: 'all' | 'off' | 'selected';
|
|
55
|
+
readonly caseIds: readonly CaseId[];
|
|
56
|
+
};
|
|
57
|
+
export type ResolvedRun = {
|
|
58
|
+
readonly request: RunRequest;
|
|
59
|
+
readonly facts: RunFacts;
|
|
60
|
+
readonly testPlan: TestPlan;
|
|
61
|
+
readonly reporters: readonly Reporter[];
|
|
62
|
+
};
|
|
63
|
+
export declare function resolveRun(request: RunRequest): Promise<ResolvedRun>;
|
|
64
|
+
export declare function run(request: RunRequest): Promise<never>;
|
|
65
|
+
//# sourceMappingURL=run.d.ts.map
|
package/run/run.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../source/run/run.ts"],"names":[],"mappings":"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"}
|
package/run/run.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
function acceptRunRequestForFutureResolution(request) {
|
|
2
|
+
return request;
|
|
3
|
+
}
|
|
4
|
+
export async function resolveRun(request) {
|
|
5
|
+
acceptRunRequestForFutureResolution(request);
|
|
6
|
+
throw new Error('resolveRun() is not implemented yet.');
|
|
7
|
+
}
|
|
8
|
+
export async function run(request) {
|
|
9
|
+
acceptRunRequestForFutureResolution(request);
|
|
10
|
+
throw new Error('run() is not implemented yet.');
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=run.js.map
|
package/run/run.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../source/run/run.ts"],"names":[],"mappings":"AAwEA,SAAS,mCAAmC,CAAC,OAAmB;IAC5D,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAmB;IAChD,mCAAmC,CAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAmB;IACzC,mCAAmC,CAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;AACrD,CAAC"}
|
package/sbom.cdx.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://cyclonedx.org/schema/bom-1.6.schema.json",
|
|
3
|
+
"bomFormat": "CycloneDX",
|
|
4
|
+
"specVersion": "1.6",
|
|
5
|
+
"version": 1,
|
|
6
|
+
"metadata": {
|
|
7
|
+
"tools": {
|
|
8
|
+
"components": [
|
|
9
|
+
{
|
|
10
|
+
"type": "application",
|
|
11
|
+
"name": "packtory",
|
|
12
|
+
"version": "0.0.78"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"component": {
|
|
17
|
+
"type": "library",
|
|
18
|
+
"name": "@overkill-dev/run",
|
|
19
|
+
"version": "0.0.2",
|
|
20
|
+
"bom-ref": "pkg:npm/@overkill-dev/run@0.0.2",
|
|
21
|
+
"purl": "pkg:npm/@overkill-dev/run@0.0.2"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"components": [
|
|
25
|
+
{
|
|
26
|
+
"type": "library",
|
|
27
|
+
"name": "@enormora/wall-clock",
|
|
28
|
+
"version": "0.0.3",
|
|
29
|
+
"bom-ref": "pkg:npm/@enormora/wall-clock@0.0.3",
|
|
30
|
+
"scope": "required",
|
|
31
|
+
"licenses": [
|
|
32
|
+
{
|
|
33
|
+
"expression": "MIT"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"purl": "pkg:npm/@enormora/wall-clock@0.0.3"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"dependencies": [
|
|
40
|
+
{
|
|
41
|
+
"ref": "pkg:npm/@enormora/wall-clock@0.0.3"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"ref": "pkg:npm/@overkill-dev/run@0.0.2",
|
|
45
|
+
"dependsOn": [
|
|
46
|
+
"pkg:npm/@enormora/wall-clock@0.0.3"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|