pipework 0.156.0 → 0.157.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.157.0
|
|
4
|
+
|
|
5
|
+
- **Fixed: `pipework test <path>` that runs nothing exits 1** (#337). When a path or name filter is given and the affected-module scope is empty, nothing ran, and the command used to print `✓ No affected modules — nothing to test` and exit 0, so a reverted file looked green. It now prints `Nothing ran: no affected module in scope (<basis>), so <filters> did not run. Run with --all to test it regardless.` and exits 1. Bare `pipework test` with nothing affected still exits 0. **Behavior change:** a script or hook that passes a path and relied on exit 0 for an unaffected path now fails; add `--all`.
|
|
6
|
+
|
|
3
7
|
## 0.156.0
|
|
4
8
|
|
|
5
9
|
- **Added: `jsonb.remove` drops top-level keys in `.set()`** (#686). `jsonb.remove(column, ...keys)` is `col - 'key'` for one key and `col - array[...]::text[]` for several; missing keys are ignored and a NULL column stays NULL. It composes as the column of `jsonb.merge`, so one update can evict a field and mark it: `.set({ payload: jsonb.merge(jsonb.remove(t.payload, 'answer'), { answerEvicted: true }) })`. Also `filter.jsonbRemove`. Calling it with no keys, or a non-string key, throws.
|
package/REFERENCE.md
CHANGED
|
@@ -1936,6 +1936,8 @@ Generates an OpenAPI 3.1 document from route registrations — schemas derived f
|
|
|
1936
1936
|
|
|
1937
1937
|
## test
|
|
1938
1938
|
|
|
1939
|
+
`pipework test <path>` runs only affected modules; when a path is given and no module is affected it prints "Nothing ran" naming the path and exits 1, so a reverted file cannot look green. Add `--all` to run it regardless. Bare `pipework test` with nothing affected still exits 0.
|
|
1940
|
+
|
|
1939
1941
|
## data
|
|
1940
1942
|
|
|
1941
1943
|
### `tap`
|
|
@@ -10,6 +10,8 @@ export interface TestOptions {
|
|
|
10
10
|
reap?: boolean | undefined;
|
|
11
11
|
}
|
|
12
12
|
export declare function test(options: TestOptions): Promise<void>;
|
|
13
|
+
/** Path/name filters in vitestArgs: args not starting with `-` and not the value of a preceding `--flag value`. */
|
|
14
|
+
export declare function targetedFilters(vitestArgs: readonly string[]): string[];
|
|
13
15
|
export interface ProjectSelection {
|
|
14
16
|
/** `--project` filter args for vitest (empty = run unfiltered). */
|
|
15
17
|
readonly args: string[];
|
|
@@ -21,5 +23,5 @@ export interface ProjectSelection {
|
|
|
21
23
|
*/
|
|
22
24
|
readonly needsDatabase: boolean;
|
|
23
25
|
}
|
|
24
|
-
export declare function buildProjectArgs(options: TestOptions, instance: import('../../core/pipework.js').Manifold): ProjectSelection | null;
|
|
26
|
+
export declare function buildProjectArgs(options: TestOptions, instance: import('../../core/pipework.js').Manifold, onEmpty?: (basis: string) => void): ProjectSelection | null;
|
|
25
27
|
//# sourceMappingURL=test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/test.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAK5D,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC3B;AAED,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/test.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAK5D,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC1B,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC3B;AAED,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+F9D;AAED,mHAAmH;AACnH,wBAAgB,eAAe,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAMvE;AAED,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAA;CAChC;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,OAAO,wBAAwB,EAAE,QAAQ,EACnD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAChC,gBAAgB,GAAG,IAAI,CAuFzB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { spawnSync } from 'node:child_process';
|
|
2
2
|
import { dirname } from 'node:path';
|
|
3
|
-
import { bold, info, success, warn } from '../output.js';
|
|
3
|
+
import { bold, error, info, success, warn } from '../output.js';
|
|
4
4
|
import { resolveAffected } from '../../workspace/affected.js';
|
|
5
5
|
import { findConfig } from '../../core/config/discover.js';
|
|
6
6
|
import { resolveModules } from '../../workspace/discover.js';
|
|
@@ -29,9 +29,18 @@ export async function test(options) {
|
|
|
29
29
|
}
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
let emptyBasis = '';
|
|
33
|
+
const projectArgs = buildProjectArgs(options, instance, (basis) => { emptyBasis = basis; });
|
|
33
34
|
if (projectArgs === null) {
|
|
34
|
-
|
|
35
|
+
const filters = targetedFilters(options.vitestArgs);
|
|
36
|
+
if (filters.length > 0) {
|
|
37
|
+
// A named path that did not run must not look like a pass (#337).
|
|
38
|
+
error(`Nothing ran: no affected module in scope (${emptyBasis}), so ${filters.join(' ')} did not run. Run with --all to test it regardless.`);
|
|
39
|
+
process.exitCode = 1;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
success('No affected modules — nothing to test');
|
|
43
|
+
}
|
|
35
44
|
await instance.pool.closeAll();
|
|
36
45
|
return;
|
|
37
46
|
}
|
|
@@ -85,7 +94,16 @@ export async function test(options) {
|
|
|
85
94
|
await instance.pool.closeAll();
|
|
86
95
|
}
|
|
87
96
|
}
|
|
88
|
-
|
|
97
|
+
/** Path/name filters in vitestArgs: args not starting with `-` and not the value of a preceding `--flag value`. */
|
|
98
|
+
export function targetedFilters(vitestArgs) {
|
|
99
|
+
return vitestArgs.filter((arg, i) => {
|
|
100
|
+
if (arg.startsWith('-'))
|
|
101
|
+
return false;
|
|
102
|
+
const prev = vitestArgs[i - 1];
|
|
103
|
+
return !(prev !== undefined && prev.startsWith('-') && !prev.includes('='));
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
export function buildProjectArgs(options, instance, onEmpty) {
|
|
89
107
|
const blueprint = instance.config.raw;
|
|
90
108
|
// Unfiltered runs: nothing is known about what executes, so assume it connects.
|
|
91
109
|
if (blueprint.vitest === undefined)
|
|
@@ -112,6 +130,7 @@ export function buildProjectArgs(options, instance) {
|
|
|
112
130
|
// rejects as a startup error. Mirrors `pipework check`, which degrades the
|
|
113
131
|
// same way on an empty diff (e.g. a pre-push hook with an empty git index).
|
|
114
132
|
if (scopeResult.modules.size === 0) {
|
|
133
|
+
onEmpty?.(scopeResult.basis);
|
|
115
134
|
return null;
|
|
116
135
|
}
|
|
117
136
|
if (scopeResult.failedOpen === true) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/cli/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/cli/commands/test.ts"],"names":[],"mappings":"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"}
|