@overkill-dev/test 0.0.5 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -7,14 +7,20 @@
7
7
  "url": "https://github.com/enormora/overkill/issues"
8
8
  },
9
9
  "dependencies": {
10
- "@overkill-dev/run": "0.0.25",
10
+ "@overkill-dev/engine": "0.0.23",
11
+ "@overkill-dev/run": "0.0.27",
11
12
  "cmd-ts": "0.15.0"
12
13
  },
13
14
  "description": "Standard Overkill distribution and command-line binary.",
14
15
  "engines": {
15
16
  "node": "^26"
16
17
  },
17
- "exports": {},
18
+ "exports": {
19
+ ".": {
20
+ "import": "./packages/test/test.entry-point.js",
21
+ "types": "./packages/test/test.entry-point.d.ts"
22
+ }
23
+ },
18
24
  "homepage": "https://github.com/enormora/overkill#readme",
19
25
  "keywords": [
20
26
  "tdd",
@@ -27,6 +33,11 @@
27
33
  "type": "git",
28
34
  "url": "git+https://github.com/enormora/overkill.git"
29
35
  },
36
+ "sideEffects": [
37
+ "./packages/test/command-line-runner.js",
38
+ "./packages/test/overkill.entry-point.js",
39
+ "./packages/test/test.entry-point.js"
40
+ ],
30
41
  "type": "module",
31
- "version": "0.0.5"
42
+ "version": "0.0.7"
32
43
  }
@@ -1,4 +1,5 @@
1
1
  import { command, flag, multioption, option, restPositionals, runSafely, string, subcommands } from 'cmd-ts';
2
+ import { all, contains, equals, parseRunFilterExpression } from "@overkill-dev/run/filters";
2
3
  const defaultResourceBudgetOverrides = {
3
4
  activeResourceCount: null,
4
5
  javaScriptEngineHeapBytes: null,
@@ -102,12 +103,60 @@ const resourceBudgetOverridesType = {
102
103
  return rawValues.length === 0 ? null : parseResourceBudgetOverrides(rawValues);
103
104
  }
104
105
  };
106
+ const filterExpressionType = {
107
+ displayName: 'expr',
108
+ async from(value) {
109
+ await Promise.resolve();
110
+ return parseRunFilterExpression(value);
111
+ }
112
+ };
113
+ function parseNonEmptySelectorText(label, value) {
114
+ if (value.trim().length === 0) {
115
+ throw new TypeError(`${label} must not be empty.`);
116
+ }
117
+ return value;
118
+ }
119
+ const fileSelectionType = {
120
+ displayName: 'path',
121
+ async from(value) {
122
+ return parseNonEmptySelectorText('File selector', value);
123
+ }
124
+ };
125
+ const nameSelectionType = {
126
+ displayName: 'text',
127
+ async from(value) {
128
+ return parseNonEmptySelectorText('Name selector', value);
129
+ }
130
+ };
105
131
  function readMeasureResourceUsage(args) {
106
132
  if (args.measureResourceUsage || args.resourceBudgetOverrides !== null) {
107
133
  return true;
108
134
  }
109
135
  return null;
110
136
  }
137
+ function selectionFromFilters(filters) {
138
+ const [firstFilter, ...remainingFilters] = filters;
139
+ if (firstFilter === undefined) {
140
+ return { kind: 'all' };
141
+ }
142
+ return {
143
+ filter: remainingFilters.length === 0 ? firstFilter : all([firstFilter, ...remainingFilters]),
144
+ kind: 'filter'
145
+ };
146
+ }
147
+ function createSelection(args) {
148
+ const filters = [];
149
+ if (args.filter !== null) {
150
+ filters.push(args.filter);
151
+ }
152
+ if (args.name !== null) {
153
+ filters.push(contains('name', args.name));
154
+ }
155
+ if (args.file !== null) {
156
+ filters.push(equals('file', args.file));
157
+ }
158
+ return selectionFromFilters(filters);
159
+ }
111
160
  function createRunTestsRequest(args, cwd) {
112
161
  return {
113
162
  configPath: args.configPath,
@@ -128,7 +177,7 @@ function createRunTestsRequest(args, cwd) {
128
177
  resourceBudgetOverrides: args.resourceBudgetOverrides,
129
178
  resourceUsageSamplingIntervalMilliseconds: null,
130
179
  seed: { value: null },
131
- selection: { kind: 'all' },
180
+ selection: createSelection(args),
132
181
  shard: { index: 0, total: 1 },
133
182
  verbose: false
134
183
  }
@@ -141,37 +190,63 @@ function createListTestsRequest(args, cwd) {
141
190
  listRequest: {
142
191
  paths: args.paths,
143
192
  profile: args.profile,
193
+ selection: createSelection(args),
194
+ withLocations: args.withLocations,
144
195
  withOrphans: args.withOrphans
145
196
  }
146
197
  };
147
198
  }
199
+ const sharedCommandArguments = {
200
+ configPath: option({
201
+ long: 'config',
202
+ type: configPathType,
203
+ defaultValue() {
204
+ return null;
205
+ }
206
+ }),
207
+ file: option({
208
+ long: 'file',
209
+ type: fileSelectionType,
210
+ defaultValue() {
211
+ return null;
212
+ }
213
+ }),
214
+ filter: option({
215
+ long: 'filter',
216
+ type: filterExpressionType,
217
+ defaultValue() {
218
+ return null;
219
+ }
220
+ }),
221
+ name: option({
222
+ long: 'name',
223
+ type: nameSelectionType,
224
+ defaultValue() {
225
+ return null;
226
+ }
227
+ }),
228
+ paths: restPositionals({ displayName: 'path' }),
229
+ profile: option({
230
+ long: 'profile',
231
+ type: string,
232
+ defaultValue() {
233
+ return 'microtest';
234
+ }
235
+ })
236
+ };
148
237
  function createOverkillCommand(loadRunner, cwd) {
149
238
  const runCommand = command({
150
239
  name: 'run',
151
240
  args: {
152
- configPath: option({
153
- long: 'config',
154
- type: configPathType,
155
- defaultValue() {
156
- return null;
157
- }
158
- }),
241
+ ...sharedCommandArguments,
159
242
  measureResourceUsage: flag({ long: 'measure-resource-usage' }),
160
- profile: option({
161
- long: 'profile',
162
- type: string,
163
- defaultValue() {
164
- return 'microtest';
165
- }
166
- }),
167
243
  resourceBudgetOverrides: multioption({
168
244
  long: 'resource-budget',
169
245
  type: resourceBudgetOverridesType,
170
246
  defaultValue() {
171
247
  return null;
172
248
  }
173
- }),
174
- paths: restPositionals({ displayName: 'path' })
249
+ })
175
250
  },
176
251
  async handler(args) {
177
252
  const runner = await loadRunner();
@@ -181,22 +256,9 @@ function createOverkillCommand(loadRunner, cwd) {
181
256
  const listCommand = command({
182
257
  name: 'list',
183
258
  args: {
184
- configPath: option({
185
- long: 'config',
186
- type: configPathType,
187
- defaultValue() {
188
- return null;
189
- }
190
- }),
191
- profile: option({
192
- long: 'profile',
193
- type: string,
194
- defaultValue() {
195
- return 'microtest';
196
- }
197
- }),
198
- withOrphans: flag({ long: 'with-orphans' }),
199
- paths: restPositionals({ displayName: 'path' })
259
+ ...sharedCommandArguments,
260
+ withLocations: flag({ long: 'with-locations' }),
261
+ withOrphans: flag({ long: 'with-orphans' })
200
262
  },
201
263
  async handler(args) {
202
264
  const runner = await loadRunner();
@@ -1 +1 @@
1
- {"version":3,"file":"command-line-runner.js","sourceRoot":"","sources":["../../../../../source/packages/test/command-line-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-line-runner.js","sourceRoot":"","sources":["../../../../../source/packages/test/command-line-runner.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env -S node --permission-audit
2
+ import * as defaultEngine from "@overkill-dev/engine";
2
3
  import { runOverkillCommandLine } from "./command-line-runner.js";
3
4
  const commandArgumentStartIndex = 2;
4
5
  await runOverkillCommandLine({
@@ -9,7 +10,7 @@ await runOverkillCommandLine({
9
10
  cwd: process.cwd(),
10
11
  async loadRunner() {
11
12
  const runnerModule = await import("@overkill-dev/run/command-line");
12
- return runnerModule.commandLineRunner;
13
+ return runnerModule.createNodeCommandLineRunner({ defaultEngine });
13
14
  },
14
15
  stderr: process.stderr,
15
16
  stdout: process.stdout
@@ -1 +1 @@
1
- {"version":3,"file":"overkill.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/test/overkill.entry-point.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC,MAAM,sBAAsB,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC;IACxD,aAAa,CAAC,QAAQ;QAClB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAChC,CAAC;IACD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;IAClB,KAAK,CAAC,UAAU;QACZ,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,gCAAoC,CAAC,CAAC;QAExE,OAAO,YAAY,CAAC,iBAAiB,CAAC;IAC1C,CAAC;IACD,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,MAAM,EAAE,OAAO,CAAC,MAAM;CACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"overkill.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/test/overkill.entry-point.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,aAAa,MAAM,sBAAiC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC,MAAM,sBAAsB,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC;IACxD,aAAa,CAAC,QAAQ;QAClB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAChC,CAAC;IACD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;IAClB,KAAK,CAAC,UAAU;QACZ,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,gCAAoC,CAAC,CAAC;QAExE,OAAO,YAAY,CAAC,2BAA2B,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,MAAM,EAAE,OAAO,CAAC,MAAM;CACzB,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type Suite, type TestBody, type TestCase, type TestNode } from '@overkill-dev/engine';
2
+ type UnavailableAuthoringApi = (...parameters: readonly unknown[]) => never;
3
+ export declare function test(...input: readonly [definition: Readonly<Pick<TestCase, 'body' | 'metadata' | 'name'>>]): TestCase;
4
+ export declare function test(...input: readonly [name: string, body: TestBody]): TestCase;
5
+ export declare function suite(...input: readonly [definition: Readonly<Pick<Suite, 'children' | 'metadata' | 'name'>>]): Suite;
6
+ export declare function suite(...input: readonly [name: string, children: readonly TestNode[]]): Suite;
7
+ export declare const createTestFacade: UnavailableAuthoringApi;
8
+ export declare const defineMacro: UnavailableAuthoringApi;
9
+ export declare const runIfMain: UnavailableAuthoringApi;
10
+ export declare const table: UnavailableAuthoringApi;
11
+ export type { Metadata, RunIfMainOptions, RunIfMainRootOptions, Suite, Table, TestBody, TestCase, TestNode, TestScope, TestScopeAssertContext } from '@overkill-dev/engine';
12
+ //# sourceMappingURL=test.entry-point.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.entry-point.d.ts","sourceRoot":"","sources":["../../../../../source/packages/test/test.entry-point.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,QAAQ,EAChB,MAAM,sBAAiC,CAAC;AAEzC,KAAK,uBAAuB,GAAG,CAAC,GAAG,UAAU,EAAE,SAAS,OAAO,EAAE,KAAK,KAAK,CAAC;AA2G5E,wBAAgB,IAAI,CAChB,GAAG,KAAK,EAAE,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GACxF,QAAQ,CAAC;AACZ,wBAAgB,IAAI,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC;AA2BlF,wBAAgB,KAAK,CACjB,GAAG,KAAK,EAAE,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GACzF,KAAK,CAAC;AACT,wBAAgB,KAAK,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC;AA2B/F,eAAO,MAAM,gBAAgB,yBAAoD,CAAC;AAClF,eAAO,MAAM,WAAW,yBAA+C,CAAC;AACxE,eAAO,MAAM,SAAS,yBAA6C,CAAC;AACpE,eAAO,MAAM,KAAK,yBAAyC,CAAC;AAE5D,YAAY,EACR,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,sBAAsB,EACzB,MAAM,sBAAiC,CAAC"}
@@ -0,0 +1,119 @@
1
+ import { captureSourceLocation, createSuite, createTestCase } from "@overkill-dev/engine";
2
+ const singleArgumentCount = 1;
3
+ const positionalArgumentCount = 2;
4
+ const testArgumentsError = 'test() requires (name, body) or ({ name, metadata, body }).';
5
+ const suiteArgumentsError = 'suite() requires (name, children) or ({ name, metadata, children }).';
6
+ function createUnavailableAuthoringApi(name) {
7
+ return function unavailableAuthoringApi() {
8
+ throw new Error(`The @overkill-dev/test ${name}() authoring API is not implemented yet.`);
9
+ };
10
+ }
11
+ function isRecord(value) {
12
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
13
+ }
14
+ function assertMetadataObject(value) {
15
+ if (!isRecord(value)) {
16
+ throw new TypeError('Test node metadata must be an object.');
17
+ }
18
+ }
19
+ function readRecord(value, message) {
20
+ if (!isRecord(value)) {
21
+ throw new TypeError(message);
22
+ }
23
+ return value;
24
+ }
25
+ function readName(value, message) {
26
+ if (typeof value !== 'string') {
27
+ throw new TypeError(message);
28
+ }
29
+ return value;
30
+ }
31
+ function isTestBody(value) {
32
+ return typeof value === 'function';
33
+ }
34
+ function readBody(value) {
35
+ if (!isTestBody(value)) {
36
+ throw new TypeError('Test case body must be a function.');
37
+ }
38
+ return value;
39
+ }
40
+ function createMicrotestMetadata(value) {
41
+ const metadata = isRecord(value) && !Object.hasOwn(value, 'kind')
42
+ ? { ...value, kind: 'microtest' }
43
+ : value;
44
+ assertMetadataObject(metadata);
45
+ return metadata;
46
+ }
47
+ function readChildren(value, message) {
48
+ if (!Array.isArray(value)) {
49
+ throw new TypeError(message);
50
+ }
51
+ const children = [];
52
+ for (const child of value) {
53
+ children.push(child);
54
+ }
55
+ return children;
56
+ }
57
+ function readTestDefinition(value) {
58
+ const definition = readRecord(value, testArgumentsError);
59
+ return {
60
+ body: readBody(definition.body),
61
+ metadata: createMicrotestMetadata(definition.metadata),
62
+ name: readName(definition.name, testArgumentsError)
63
+ };
64
+ }
65
+ function readSuiteDefinition(value) {
66
+ const definition = readRecord(value, suiteArgumentsError);
67
+ return {
68
+ children: readChildren(definition.children, suiteArgumentsError),
69
+ metadata: createMicrotestMetadata(definition.metadata),
70
+ name: readName(definition.name, suiteArgumentsError)
71
+ };
72
+ }
73
+ export function test(...input) {
74
+ if (input.length === singleArgumentCount) {
75
+ const definition = readTestDefinition(input[0]);
76
+ return createTestCase({
77
+ body: definition.body,
78
+ definitionLocation: captureSourceLocation()(),
79
+ metadata: definition.metadata,
80
+ name: definition.name
81
+ });
82
+ }
83
+ if (input.length === positionalArgumentCount) {
84
+ const [name, body] = input;
85
+ return createTestCase({
86
+ body: readBody(body),
87
+ definitionLocation: captureSourceLocation()(),
88
+ metadata: createMicrotestMetadata({}),
89
+ name: readName(name, testArgumentsError)
90
+ });
91
+ }
92
+ throw new TypeError(testArgumentsError);
93
+ }
94
+ export function suite(...input) {
95
+ if (input.length === singleArgumentCount) {
96
+ const definition = readSuiteDefinition(input[0]);
97
+ return createSuite({
98
+ children: definition.children,
99
+ definitionLocation: captureSourceLocation()(),
100
+ metadata: definition.metadata,
101
+ name: definition.name
102
+ });
103
+ }
104
+ if (input.length === positionalArgumentCount) {
105
+ const [name, children] = input;
106
+ return createSuite({
107
+ children: readChildren(children, suiteArgumentsError),
108
+ definitionLocation: captureSourceLocation()(),
109
+ metadata: createMicrotestMetadata({}),
110
+ name: readName(name, suiteArgumentsError)
111
+ });
112
+ }
113
+ throw new TypeError(suiteArgumentsError);
114
+ }
115
+ export const createTestFacade = createUnavailableAuthoringApi('createTestFacade');
116
+ export const defineMacro = createUnavailableAuthoringApi('defineMacro');
117
+ export const runIfMain = createUnavailableAuthoringApi('runIfMain');
118
+ export const table = createUnavailableAuthoringApi('table');
119
+ //# sourceMappingURL=test.entry-point.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.entry-point.js","sourceRoot":"","sources":["../../../../../source/packages/test/test.entry-point.ts"],"names":[],"mappings":"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"}
package/readme.md CHANGED
@@ -2,27 +2,83 @@
2
2
 
3
3
  Standard user-facing Overkill distribution.
4
4
 
5
- This package currently ships the public `overkill` binary only. The binary
6
- parses the minimal `run` command surface and delegates execution to
7
- `@overkill-dev/run/command-line`.
5
+ This package ships the public `overkill` binary and the staged root authoring
6
+ facade. The binary parses the minimal command surface and delegates
7
+ execution to `@overkill-dev/run/command-line`.
8
+
9
+ Current root runtime exports:
10
+
11
+ - `test`
12
+ - `suite`
13
+ - `table`
14
+ - `defineMacro`
15
+ - `createTestFacade`
16
+ - `runIfMain`
17
+
18
+ Implemented root authoring forms:
19
+
20
+ ```ts
21
+ import { suite, test } from '@overkill-dev/test';
22
+
23
+ export const testNode = suite('users', [
24
+ test('loads user', (scope) => {
25
+ scope.assert.equal(loadUser('42').name, 'Ada');
26
+ return scope.assert.collect();
27
+ })
28
+ ]);
29
+ ```
30
+
31
+ Nodes created through this root facade default to `metadata.kind: 'microtest'`
32
+ unless the object form supplies another `kind`.
33
+
34
+ Use the object form when attaching node metadata:
35
+
36
+ ```ts
37
+ export const testNode = suite({
38
+ name: 'users',
39
+ metadata: { tags: [ 'auth' ] },
40
+ children: [
41
+ test({
42
+ name: 'loads user',
43
+ metadata: { tags: [ 'critical' ] },
44
+ body(scope) {
45
+ scope.assert.equal(loadUser('42').name, 'Ada');
46
+ return scope.assert.collect();
47
+ }
48
+ })
49
+ ]
50
+ });
51
+ ```
52
+
53
+ `table`, `defineMacro`, `createTestFacade`, and `runIfMain` still throw
54
+ explicit unavailable errors.
8
55
 
9
56
  Supported command-line surface:
10
57
 
11
58
  - `overkill run [paths...]`
12
59
  - `overkill list [paths...]`
13
60
  - `--config <path>`
61
+ - `--file <path>`
62
+ - `--filter <expr>`
63
+ - `--name <text>`
14
64
  - `--profile <name>`
15
65
  - `--measure-resource-usage`
16
66
  - `--resource-budget <name=value>`
67
+ - `--with-locations`
68
+ - `--with-orphans`
17
69
 
18
70
  `--resource-budget` accepts `activeResourceCount`,
19
71
  `javaScriptEngineHeapBytes`, `residentSetBytes`, and
20
72
  `residentSetGrowthBytesPerSecond`. Supplying a resource budget enables
21
73
  resource usage measurement for that run.
22
74
 
75
+ `--filter`, `--name`, and `--file` apply the same run selection to `run` and
76
+ `list`. `--filter` supports `=`, `~`, `:`, `!`, `|`, and parentheses over
77
+ `tag`, `runtime`, `owner`, `stability`, `file`, `name`, `suite`, and `params`.
78
+
23
79
  When no paths are supplied, `run` and `list` discover files from the selected
24
80
  profile's `files.include` and `files.exclude` policy. Explicit file paths run
25
81
  directly. Directory paths filter the selected profile's discovered files and
26
82
  require that profile policy.
27
83
 
28
- The root authoring facade and standard subpaths are later milestones.
84
+ Standard subpaths are later milestones.
package/sbom.cdx.json CHANGED
@@ -16,24 +16,37 @@
16
16
  "component": {
17
17
  "type": "library",
18
18
  "name": "@overkill-dev/test",
19
- "version": "0.0.5",
20
- "bom-ref": "pkg:npm/@overkill-dev/test@0.0.5",
21
- "purl": "pkg:npm/@overkill-dev/test@0.0.5"
19
+ "version": "0.0.7",
20
+ "bom-ref": "pkg:npm/@overkill-dev/test@0.0.7",
21
+ "purl": "pkg:npm/@overkill-dev/test@0.0.7"
22
22
  }
23
23
  },
24
24
  "components": [
25
+ {
26
+ "type": "library",
27
+ "name": "@overkill-dev/engine",
28
+ "version": "0.0.23",
29
+ "bom-ref": "pkg:npm/@overkill-dev/engine@0.0.23",
30
+ "scope": "required",
31
+ "licenses": [
32
+ {
33
+ "expression": "MIT"
34
+ }
35
+ ],
36
+ "purl": "pkg:npm/@overkill-dev/engine@0.0.23"
37
+ },
25
38
  {
26
39
  "type": "library",
27
40
  "name": "@overkill-dev/run",
28
- "version": "0.0.25",
29
- "bom-ref": "pkg:npm/@overkill-dev/run@0.0.25",
41
+ "version": "0.0.27",
42
+ "bom-ref": "pkg:npm/@overkill-dev/run@0.0.27",
30
43
  "scope": "required",
31
44
  "licenses": [
32
45
  {
33
46
  "expression": "MIT"
34
47
  }
35
48
  ],
36
- "purl": "pkg:npm/@overkill-dev/run@0.0.25"
49
+ "purl": "pkg:npm/@overkill-dev/run@0.0.27"
37
50
  },
38
51
  {
39
52
  "type": "library",
@@ -51,12 +64,16 @@
51
64
  ],
52
65
  "dependencies": [
53
66
  {
54
- "ref": "pkg:npm/@overkill-dev/run@0.0.25"
67
+ "ref": "pkg:npm/@overkill-dev/engine@0.0.23"
68
+ },
69
+ {
70
+ "ref": "pkg:npm/@overkill-dev/run@0.0.27"
55
71
  },
56
72
  {
57
- "ref": "pkg:npm/@overkill-dev/test@0.0.5",
73
+ "ref": "pkg:npm/@overkill-dev/test@0.0.7",
58
74
  "dependsOn": [
59
- "pkg:npm/@overkill-dev/run@0.0.25",
75
+ "pkg:npm/@overkill-dev/engine@0.0.23",
76
+ "pkg:npm/@overkill-dev/run@0.0.27",
60
77
  "pkg:npm/cmd-ts@0.15.0"
61
78
  ]
62
79
  },