pipework 0.287.0 → 0.289.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 +10 -0
- package/README.md +2 -0
- package/REFERENCE.md +6 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +4 -0
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/test.d.ts.map +1 -1
- package/dist/cli/commands/test.js +13 -0
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/core/config/discover.d.ts +2 -1
- package/dist/core/config/discover.d.ts.map +1 -1
- package/dist/core/config/discover.js +2 -2
- package/dist/core/config/discover.js.map +1 -1
- package/dist/core/config/import-config.d.ts +2 -1
- package/dist/core/config/import-config.d.ts.map +1 -1
- package/dist/core/config/import-config.js +3 -7
- package/dist/core/config/import-config.js.map +1 -1
- package/dist/core/config/schema.d.ts.map +1 -1
- package/dist/core/config/schema.js +3 -1
- package/dist/core/config/schema.js.map +1 -1
- package/dist/data/migrate/apply.d.ts +16 -0
- package/dist/data/migrate/apply.d.ts.map +1 -1
- package/dist/data/migrate/apply.js +49 -2
- package/dist/data/migrate/apply.js.map +1 -1
- package/dist/data/migrate/run.d.ts +9 -0
- package/dist/data/migrate/run.d.ts.map +1 -1
- package/dist/data/migrate/run.js +3 -0
- package/dist/data/migrate/run.js.map +1 -1
- package/dist/test/auto-setup.js +4 -1
- package/dist/test/auto-setup.js.map +1 -1
- package/dist/test/discover-fork.d.ts +6 -1
- package/dist/test/discover-fork.d.ts.map +1 -1
- package/dist/test/discover-fork.js +6 -2
- package/dist/test/discover-fork.js.map +1 -1
- package/dist/test/shared-registry-guard.d.ts +2 -0
- package/dist/test/shared-registry-guard.d.ts.map +1 -0
- package/dist/test/shared-registry-guard.js +35 -0
- package/dist/test/shared-registry-guard.js.map +1 -0
- package/dist/test/shared-registry.d.ts +16 -0
- package/dist/test/shared-registry.d.ts.map +1 -0
- package/dist/test/shared-registry.js +63 -0
- package/dist/test/shared-registry.js.map +1 -0
- package/dist/test/vitest-workspace.d.ts.map +1 -1
- package/dist/test/vitest-workspace.js +63 -13
- package/dist/test/vitest-workspace.js.map +1 -1
- package/package.json +6 -2
- package/src/cli/commands/migrate.ts +6 -0
- package/src/cli/commands/test.ts +15 -0
- package/src/core/config/discover.ts +3 -3
- package/src/core/config/import-config.ts +9 -2
- package/src/core/config/schema.ts +3 -1
- package/src/data/migrate/apply.ts +62 -2
- package/src/data/migrate/run.ts +13 -0
- package/src/test/auto-setup.ts +4 -1
- package/src/test/discover-fork.ts +7 -2
- package/src/test/shared-registry-guard.ts +41 -0
- package/src/test/shared-registry.ts +71 -0
- package/src/test/vitest-workspace.ts +66 -13
|
@@ -14,11 +14,20 @@ export interface MigrateResult {
|
|
|
14
14
|
safetyCheck: MigrationCheckResult;
|
|
15
15
|
/** No-transaction files picked up half applied and finished. Issue #378. */
|
|
16
16
|
resumed: ResumedMigration[];
|
|
17
|
+
/** INVALID indexes a cut CREATE INDEX CONCURRENTLY left, dropped before the resumed statement reran. Issue #1003. */
|
|
18
|
+
droppedInvalidIndexes: DroppedInvalidIndex[];
|
|
17
19
|
/** Notices and warnings raised by migration statements, in arrival order. Issue #970. */
|
|
18
20
|
notices: MigrateNotice[];
|
|
19
21
|
/** Trace/audit tables, columns and day partitions this run provisioned. */
|
|
20
22
|
frameworkTables: FrameworkTablesResult;
|
|
21
23
|
}
|
|
24
|
+
export interface DroppedInvalidIndex {
|
|
25
|
+
tag: string;
|
|
26
|
+
/** 1-based statement that rebuilt it. */
|
|
27
|
+
statement: number;
|
|
28
|
+
/** Schema-qualified, quoted. */
|
|
29
|
+
index: string;
|
|
30
|
+
}
|
|
22
31
|
export interface ResumedMigration {
|
|
23
32
|
tag: string;
|
|
24
33
|
/** 1-based statement the rerun started from. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAGlE,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEvE,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,EAA4B,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAM/F,MAAM,WAAW,cAAc;IAC7B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAA;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,WAAW,EAAE,oBAAoB,CAAA;IACjC,4EAA4E;IAC5E,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,yFAAyF;IACzF,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,2EAA2E;IAC3E,eAAe,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;aAG3B,KAAK,EAAE,oBAAoB;IAF7C,SAAkB,IAAI,0BAAyB;gBAE7B,KAAK,EAAE,oBAAoB,EAC3C,OAAO,EAAE,MAAM;CAIlB;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAU3G;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/data/migrate/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAGlE,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEvE,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,EAA4B,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAM/F,MAAM,WAAW,cAAc;IAC7B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAA;CAC3C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,WAAW,EAAE,oBAAoB,CAAA;IACjC,4EAA4E;IAC5E,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,qHAAqH;IACrH,qBAAqB,EAAE,mBAAmB,EAAE,CAAA;IAC5C,yFAAyF;IACzF,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,2EAA2E;IAC3E,eAAe,EAAE,qBAAqB,CAAA;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,oBAAqB,SAAQ,KAAK;aAG3B,KAAK,EAAE,oBAAoB;IAF7C,SAAkB,IAAI,0BAAyB;gBAE7B,KAAK,EAAE,oBAAoB,EAC3C,OAAO,EAAE,MAAM;CAIlB;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAU3G;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAyErI"}
|
package/dist/data/migrate/run.js
CHANGED
|
@@ -48,12 +48,14 @@ export async function migrateOne(instance, dbConfig, options = {}) {
|
|
|
48
48
|
extensionsCreated = [...dbConfig.extensions];
|
|
49
49
|
}
|
|
50
50
|
const resumed = [];
|
|
51
|
+
const droppedInvalidIndexes = [];
|
|
51
52
|
const notices = [];
|
|
52
53
|
const migrationsRun = await applyMigrations({
|
|
53
54
|
migrationsFolder: dbConfig.migrations,
|
|
54
55
|
migrationsTable: dbConfig.migrationTable,
|
|
55
56
|
connectionUrl: dbConfig.url,
|
|
56
57
|
onResume: (tag, fromStatement, totalStatements) => resumed.push({ tag, fromStatement, totalStatements }),
|
|
58
|
+
onDropInvalidIndex: (tag, statement, index) => droppedInvalidIndexes.push({ tag, statement, index }),
|
|
57
59
|
onNotice: (tag, statement, statements, notice) => {
|
|
58
60
|
const full = { tag, statement, statements, ...notice };
|
|
59
61
|
notices.push(full);
|
|
@@ -74,6 +76,7 @@ export async function migrateOne(instance, dbConfig, options = {}) {
|
|
|
74
76
|
extensions: extensionsCreated,
|
|
75
77
|
safetyCheck,
|
|
76
78
|
resumed,
|
|
79
|
+
droppedInvalidIndexes,
|
|
77
80
|
notices,
|
|
78
81
|
frameworkTables,
|
|
79
82
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/data/migrate/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAGvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAA6B,MAAM,YAAY,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAwB,MAAM,YAAY,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAA8B,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/data/migrate/run.ts"],"names":[],"mappings":"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"}
|
package/dist/test/auto-setup.js
CHANGED
|
@@ -8,7 +8,10 @@ import { logSlowPhases, SETUP_HOOK_TIMEOUT_MS } from './progress.js';
|
|
|
8
8
|
import { TEARDOWN_HOOK_TIMEOUT_MS } from '../trace/runtime/pending-writes.js';
|
|
9
9
|
loadEnvFiles();
|
|
10
10
|
let _testContext = null;
|
|
11
|
-
|
|
11
|
+
// Loaded through this file's own `import()`, which vitest routes through its module runner
|
|
12
|
+
// (setup files always run there), not through Node: the config's app modules must be the
|
|
13
|
+
// instances the test files import (#1006).
|
|
14
|
+
const instance = await discoverForTestFork(url => import(/* @vite-ignore */ url));
|
|
12
15
|
_setTestState(instance);
|
|
13
16
|
const dbNames = instance.config.databaseNames();
|
|
14
17
|
if (dbNames.length === 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-setup.js","sourceRoot":"","sources":["../../src/test/auto-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAA;AACpF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,YAAY,EAAE,CAAA;AAEd,IAAI,YAAY,GAAuB,IAAI,CAAA;AAE3C,MAAM,QAAQ,GAAG,MAAM,mBAAmB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"auto-setup.js","sourceRoot":"","sources":["../../src/test/auto-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAA;AACpF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAE7E,YAAY,EAAE,CAAA;AAEd,IAAI,YAAY,GAAuB,IAAI,CAAA;AAE3C,2FAA2F;AAC3F,yFAAyF;AACzF,2CAA2C;AAC3C,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAqC,CAAC,CAAA;AAErH,aAAa,CAAC,QAAQ,CAAC,CAAA;AAEvB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,CAAA;AAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;IACzB,CAAC;IAAC,UAAsC,CAAC,IAAI,CAAC,GAAG,SAAS,EAAE,CAAA;AAC9D,CAAC;AAED,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,kBAAkB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;AACrE,CAAC,EAAE,qBAAqB,CAAC,CAAA;AAEzB,QAAQ,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AAClC,CAAC,EAAE,wBAAwB,CAAC,CAAA;AAE5B,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IAC5B,YAAY,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IACvD,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QAC9C,YAAY,GAAG,IAAI,CAAA;QACnB,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC/B,CAAC;AACH,CAAC,EAAE,wBAAwB,CAAC,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Manifold } from '../core/pipework.js';
|
|
2
|
+
import type { ConfigLoader } from '../core/config/import-config.js';
|
|
2
3
|
/**
|
|
3
4
|
* Load this test fork's manifold and consume `PIPEWORK_CONFIG`.
|
|
4
5
|
*
|
|
@@ -7,6 +8,10 @@ import type { Manifold } from '../core/pipework.js';
|
|
|
7
8
|
* migrate`, a CLI under test — inherits it and migrates the wrong package
|
|
8
9
|
* against the wrong manifold. Discovery failing leaves it set: the variable is
|
|
9
10
|
* part of the diagnosis.
|
|
11
|
+
*
|
|
12
|
+
* `load` is the test runner's own `import()` (#1006): the config's module graph is then
|
|
13
|
+
* evaluated by the same module runner as the test files' imports, so an app module
|
|
14
|
+
* (and its `pipe.define(...)`) runs once whether or not pipework is inlined.
|
|
10
15
|
*/
|
|
11
|
-
export declare function discoverForTestFork(): Promise<Manifold>;
|
|
16
|
+
export declare function discoverForTestFork(load?: ConfigLoader): Promise<Manifold>;
|
|
12
17
|
//# sourceMappingURL=discover-fork.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover-fork.d.ts","sourceRoot":"","sources":["../../src/test/discover-fork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"discover-fork.d.ts","sourceRoot":"","sources":["../../src/test/discover-fork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAEnE;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAIhF"}
|
|
@@ -7,9 +7,13 @@ import { discoverInstance } from '../core/config/discover.js';
|
|
|
7
7
|
* migrate`, a CLI under test — inherits it and migrates the wrong package
|
|
8
8
|
* against the wrong manifold. Discovery failing leaves it set: the variable is
|
|
9
9
|
* part of the diagnosis.
|
|
10
|
+
*
|
|
11
|
+
* `load` is the test runner's own `import()` (#1006): the config's module graph is then
|
|
12
|
+
* evaluated by the same module runner as the test files' imports, so an app module
|
|
13
|
+
* (and its `pipe.define(...)`) runs once whether or not pipework is inlined.
|
|
10
14
|
*/
|
|
11
|
-
export async function discoverForTestFork() {
|
|
12
|
-
const instance = await discoverInstance();
|
|
15
|
+
export async function discoverForTestFork(load) {
|
|
16
|
+
const instance = await discoverInstance(undefined, load);
|
|
13
17
|
delete process.env['PIPEWORK_CONFIG'];
|
|
14
18
|
return instance;
|
|
15
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover-fork.js","sourceRoot":"","sources":["../../src/test/discover-fork.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"discover-fork.js","sourceRoot":"","sources":["../../src/test/discover-fork.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAG7D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAmB;IAC3D,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;IACxD,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACrC,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-registry-guard.d.ts","sourceRoot":"","sources":["../../src/test/shared-registry-guard.ts"],"names":[],"mappings":"AAkBA,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,CAcxD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { vi } from 'vitest';
|
|
2
|
+
import { REGISTRY_CALLS } from './shared-registry.js';
|
|
3
|
+
// Setup file for projects that share one module registry per worker (`isolate: false`,
|
|
4
|
+
// non-vm pool). It replaces the `vi` calls that change the registry with a throw naming
|
|
5
|
+
// the test file and the fix. The workspace already routes a file whose own text calls
|
|
6
|
+
// them to an isolated sibling project; this catches a call it could not see, such as one
|
|
7
|
+
// reached through a helper (#1001). Idempotent: setup files re-run for every test file.
|
|
8
|
+
// Listed after the project's own setup files, so a mock a setup file registers on
|
|
9
|
+
// purpose still goes through.
|
|
10
|
+
const GUARDED = Symbol.for('pipework.sharedRegistryGuard');
|
|
11
|
+
function currentFile() {
|
|
12
|
+
const worker = globalThis.__vitest_worker__;
|
|
13
|
+
return worker?.filepath ?? 'the running test file';
|
|
14
|
+
}
|
|
15
|
+
export function refuse(call, file) {
|
|
16
|
+
return new Error(`[pipework] vi.${call}() is refused in a shared-registry test project (called from ${file}).\n\n` +
|
|
17
|
+
' This project runs with isolate: false: every file in a worker shares one module\n' +
|
|
18
|
+
' registry, and pipework itself is not re-evaluated by vi.resetModules() or vi.mock().\n' +
|
|
19
|
+
' A reset re-runs the app\'s pipe.define(...) calls against the same registry, so the\n' +
|
|
20
|
+
' next file in the worker fails with "Duplicate domain definition", and a mock binds\n' +
|
|
21
|
+
' the importers of the file after it.\n' +
|
|
22
|
+
' The workspace routes a file to an isolated sibling project when its own text calls\n' +
|
|
23
|
+
' vi.resetModules, vi.mock, vi.doMock, vi.unmock or vi.doUnmock. This call was not found in\n' +
|
|
24
|
+
` the text of ${file}, so it was not routed.\n` +
|
|
25
|
+
' Fix: call it directly in the test file that needs it (not through a helper), or set\n' +
|
|
26
|
+
' `isolate: true` on this project or profile in pipework.config.ts.\n');
|
|
27
|
+
}
|
|
28
|
+
const target = vi;
|
|
29
|
+
if (target[GUARDED] !== true) {
|
|
30
|
+
for (const call of REGISTRY_CALLS) {
|
|
31
|
+
target[call] = () => { throw refuse(call, currentFile()); };
|
|
32
|
+
}
|
|
33
|
+
target[GUARDED] = true;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=shared-registry-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-registry-guard.js","sourceRoot":"","sources":["../../src/test/shared-registry-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,uFAAuF;AACvF,wFAAwF;AACxF,sFAAsF;AACtF,yFAAyF;AACzF,wFAAwF;AACxF,kFAAkF;AAClF,8BAA8B;AAE9B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;AAE1D,SAAS,WAAW;IAClB,MAAM,MAAM,GAAI,UAA4D,CAAC,iBAAiB,CAAA;IAC9F,OAAO,MAAM,EAAE,QAAQ,IAAI,uBAAuB,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,IAAY;IAC/C,OAAO,IAAI,KAAK,CACd,iBAAiB,IAAI,gEAAgE,IAAI,QAAQ;QACjG,qFAAqF;QACrF,0FAA0F;QAC1F,yFAAyF;QACzF,wFAAwF;QACxF,yCAAyC;QACzC,wFAAwF;QACxF,+FAA+F;QAC/F,iBAAiB,IAAI,2BAA2B;QAChD,yFAAyF;QACzF,uEAAuE,CACxE,CAAA;AACH,CAAC;AAED,MAAM,MAAM,GAAG,EAA6C,CAAA;AAC5D,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAU,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;IACnE,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;AACxB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** The `vi` calls that change a worker's module registry or the next file's importers. */
|
|
2
|
+
export declare const REGISTRY_CALLS: readonly ["resetModules", "mock", "doMock", "unmock", "doUnmock"];
|
|
3
|
+
export declare function callsRegistryApi(text: string): boolean;
|
|
4
|
+
/** Name of the isolated sibling that takes the registry-changing files of `project`. */
|
|
5
|
+
export declare function isolatedSiblingName(project: string): string;
|
|
6
|
+
/** Glob-escape a literal path, so `[id].test.ts` matches only itself. */
|
|
7
|
+
export declare function escapeGlob(path: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* The files `include` selects under `base`, minus `exclude`, as sorted `/`-separated
|
|
10
|
+
* paths relative to `base`. Vitest globs the same way, so this is the file set the
|
|
11
|
+
* project would run. A base that does not exist selects nothing.
|
|
12
|
+
*/
|
|
13
|
+
export declare function listProjectFiles(base: string, include: readonly string[], exclude: readonly string[]): string[];
|
|
14
|
+
/** The files of the project whose own text calls a registry-changing `vi` API. */
|
|
15
|
+
export declare function findRegistryFiles(base: string, include: readonly string[], exclude: readonly string[]): string[];
|
|
16
|
+
//# sourceMappingURL=shared-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-registry.d.ts","sourceRoot":"","sources":["../../src/test/shared-registry.ts"],"names":[],"mappings":"AAWA,0FAA0F;AAC1F,eAAO,MAAM,cAAc,mEAAoE,CAAA;AAS/F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAkB/G;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAQhH"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { readFileSync, globSync } from 'node:fs';
|
|
2
|
+
import { matchesGlob, resolve, sep } from 'node:path';
|
|
3
|
+
// A project with `isolate: false` (and a non-vm pool) keeps one module registry per
|
|
4
|
+
// worker. A test file that resets or mocks modules changes that registry for itself
|
|
5
|
+
// and for every file after it: `vi.resetModules()` re-evaluates the app's modules but
|
|
6
|
+
// not pipework (Node's own cache), so each `pipe.define(...)` runs twice against the
|
|
7
|
+
// one registry and the file after it fails at load (#1001). Such files are routed to an
|
|
8
|
+
// isolated sibling project from their own text; the guard setup file refuses the same
|
|
9
|
+
// calls in shared-registry projects for anything the text scan misses.
|
|
10
|
+
/** The `vi` calls that change a worker's module registry or the next file's importers. */
|
|
11
|
+
export const REGISTRY_CALLS = ['resetModules', 'mock', 'doMock', 'unmock', 'doUnmock'];
|
|
12
|
+
// `vi.mock(`, `vi.mock<T>(`, `vitest.doMock (` and `vi?.resetModules(`. Decided from the
|
|
13
|
+
// file's own text, comments and strings included: a miss is caught by the guard, a
|
|
14
|
+
// false hit only costs one isolated worker.
|
|
15
|
+
const REGISTRY_CALL_PATTERN = new RegExp(`\\b(?:vi|vitest)\\s*\\??\\.\\s*(?:${REGISTRY_CALLS.join('|')})\\s*(?:<[^>]*>)?\\s*\\(`);
|
|
16
|
+
export function callsRegistryApi(text) {
|
|
17
|
+
return REGISTRY_CALL_PATTERN.test(text);
|
|
18
|
+
}
|
|
19
|
+
/** Name of the isolated sibling that takes the registry-changing files of `project`. */
|
|
20
|
+
export function isolatedSiblingName(project) {
|
|
21
|
+
return `${project}:registry-isolated`;
|
|
22
|
+
}
|
|
23
|
+
/** Glob-escape a literal path, so `[id].test.ts` matches only itself. */
|
|
24
|
+
export function escapeGlob(path) {
|
|
25
|
+
return path.replace(/[\\*?[\]{}()!|+@]/g, '\\$&');
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The files `include` selects under `base`, minus `exclude`, as sorted `/`-separated
|
|
29
|
+
* paths relative to `base`. Vitest globs the same way, so this is the file set the
|
|
30
|
+
* project would run. A base that does not exist selects nothing.
|
|
31
|
+
*/
|
|
32
|
+
export function listProjectFiles(base, include, exclude) {
|
|
33
|
+
let found;
|
|
34
|
+
try {
|
|
35
|
+
found = globSync([...include], {
|
|
36
|
+
cwd: base,
|
|
37
|
+
// Prune the two trees nothing is ever tested in, without walking them.
|
|
38
|
+
exclude: (path) => {
|
|
39
|
+
const name = path.split(/[\\/]/).pop();
|
|
40
|
+
return name === 'node_modules' || name === '.git';
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
const files = found
|
|
48
|
+
.map(file => file.split(sep).join('/'))
|
|
49
|
+
.filter(file => !exclude.some(pattern => matchesGlob(file, pattern)));
|
|
50
|
+
return [...new Set(files)].sort();
|
|
51
|
+
}
|
|
52
|
+
/** The files of the project whose own text calls a registry-changing `vi` API. */
|
|
53
|
+
export function findRegistryFiles(base, include, exclude) {
|
|
54
|
+
return listProjectFiles(base, include, exclude).filter(file => {
|
|
55
|
+
try {
|
|
56
|
+
return callsRegistryApi(readFileSync(resolve(base, file), 'utf8'));
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=shared-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-registry.js","sourceRoot":"","sources":["../../src/test/shared-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAErD,oFAAoF;AACpF,oFAAoF;AACpF,sFAAsF;AACtF,qFAAqF;AACrF,wFAAwF;AACxF,sFAAsF;AACtF,uEAAuE;AAEvE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAA;AAE/F,yFAAyF;AACzF,mFAAmF;AACnF,4CAA4C;AAC5C,MAAM,qBAAqB,GAAG,IAAI,MAAM,CACtC,qCAAqC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,CACxF,CAAA;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,OAAO,GAAG,OAAO,oBAAoB,CAAA;AACvC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAA0B,EAAE,OAA0B;IACnG,IAAI,KAAe,CAAA;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE;YAC7B,GAAG,EAAE,IAAI;YACT,uEAAuE;YACvE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAA;gBACtC,OAAO,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,MAAM,CAAA;YACnD,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,KAAK,GAAG,KAAK;SAChB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACtC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACvE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACnC,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAA0B,EAAE,OAA0B;IACpG,OAAO,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC5D,IAAI,CAAC;YACH,OAAO,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-workspace.d.ts","sourceRoot":"","sources":["../../src/test/vitest-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAA2D,MAAM,0BAA0B,CAAA;AACrH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"vitest-workspace.d.ts","sourceRoot":"","sources":["../../src/test/vitest-workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAA2D,MAAM,0BAA0B,CAAA;AACrH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAW9D,eAAO,MAAM,oBAAoB,QAAS,CAAA;AA2B1C;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA2C/E;AAuFD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,cAAc,EAAE,EACjC,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACxC,mBAAmB,EAAE,CA0BvB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolve, dirname } from 'node:path';
|
|
1
|
+
import { resolve, dirname, isAbsolute } from 'node:path';
|
|
2
2
|
import { configDefaults } from 'vitest/config';
|
|
3
3
|
import { findConfig, registerTsResolveHooks } from '../core/config/discover.js';
|
|
4
4
|
import { importConfig } from '../core/config/import-config.js';
|
|
@@ -6,6 +6,7 @@ import { loadEnvFiles } from '../core/config/env.js';
|
|
|
6
6
|
import { resolveModules } from '../workspace/discover.js';
|
|
7
7
|
import { workspaceSourcePaths } from '../workspace/source-paths.js';
|
|
8
8
|
import { pipework as pipeworkPlugin } from './vitest-plugin.js';
|
|
9
|
+
import { escapeGlob, findRegistryFiles, isolatedSiblingName } from './shared-registry.js';
|
|
9
10
|
const DEFAULT_TEST_TIMEOUT = 30_000;
|
|
10
11
|
export const DEFAULT_HOOK_TIMEOUT = 60_000;
|
|
11
12
|
// Pipework's own defaults, overridable per workspace, module and profile via
|
|
@@ -15,6 +16,8 @@ export const DEFAULT_HOOK_TIMEOUT = 60_000;
|
|
|
15
16
|
// worker costs a process spawn per file.
|
|
16
17
|
const DEFAULT_POOL = 'forks';
|
|
17
18
|
const DEFAULT_ISOLATE = false;
|
|
19
|
+
// Setup file that refuses registry-changing `vi` calls in a shared-registry project.
|
|
20
|
+
const SHARED_REGISTRY_GUARD = 'pipework/test/shared-registry';
|
|
18
21
|
/**
|
|
19
22
|
* Consumer excludes on TOP of vitest's defaults, not in place of them.
|
|
20
23
|
*
|
|
@@ -158,13 +161,11 @@ export function resolveVitestModules(vitestConfig, resolvedModules, configDir, w
|
|
|
158
161
|
const projects = [];
|
|
159
162
|
for (const [modulePath, moduleConfig] of [...included.entries()].sort(([a], [b]) => a.localeCompare(b))) {
|
|
160
163
|
refuseProjectCoverage(`vitest.modules["${modulePath}"].coverage`, moduleConfig);
|
|
161
|
-
|
|
162
|
-
projects.push(project);
|
|
164
|
+
pushRouted(projects, buildProjectConfig(modulePath, moduleConfig, vitestConfig, configDir, workspacePackages));
|
|
163
165
|
if (moduleConfig.profiles !== undefined) {
|
|
164
166
|
for (const [profileName, profileConfig] of Object.entries(moduleConfig.profiles).sort(([a], [b]) => a.localeCompare(b))) {
|
|
165
167
|
refuseProjectCoverage(`vitest.modules["${modulePath}"].profiles["${profileName}"].coverage`, profileConfig);
|
|
166
|
-
|
|
167
|
-
projects.push(profileProject);
|
|
168
|
+
pushRouted(projects, buildProfileConfig(modulePath, profileName, moduleConfig, profileConfig, vitestConfig, configDir, workspacePackages));
|
|
168
169
|
}
|
|
169
170
|
}
|
|
170
171
|
}
|
|
@@ -312,6 +313,7 @@ function buildProfileConfig(modulePath, profileName, moduleConfig, profileConfig
|
|
|
312
313
|
}
|
|
313
314
|
function buildProject(input) {
|
|
314
315
|
const inlineDeps = buildInlineDeps(input);
|
|
316
|
+
const shared = sharesRegistry(input);
|
|
315
317
|
return {
|
|
316
318
|
...input.extra,
|
|
317
319
|
plugins: [
|
|
@@ -335,7 +337,7 @@ function buildProject(input) {
|
|
|
335
337
|
inline: inlineDeps,
|
|
336
338
|
},
|
|
337
339
|
},
|
|
338
|
-
setupFiles: input.setupFiles,
|
|
340
|
+
setupFiles: shared ? [...input.setupFiles, SHARED_REGISTRY_GUARD] : input.setupFiles,
|
|
339
341
|
// `vitest.pool` / `vitest.isolate` are dedicated fields, so an explicitly
|
|
340
342
|
// configured one wins over `extra.test`; unset, the default above stands and
|
|
341
343
|
// `extra.test` still overrides it as it always did.
|
|
@@ -357,19 +359,24 @@ function buildSetupFiles(database, userSetupFiles) {
|
|
|
357
359
|
}
|
|
358
360
|
return files;
|
|
359
361
|
}
|
|
360
|
-
//
|
|
361
|
-
//
|
|
362
|
-
//
|
|
363
|
-
//
|
|
364
|
-
|
|
365
|
-
function buildInlineDeps(input) {
|
|
362
|
+
// Whether the project's workers share one module registry: the effective isolate is
|
|
363
|
+
// false and the pool is not a vm pool (those isolate per file whatever `isolate` says).
|
|
364
|
+
// Precedence mirrors buildProject's emitted config: dedicated field, then `extra.test`,
|
|
365
|
+
// then the default.
|
|
366
|
+
function sharesRegistry(input) {
|
|
366
367
|
const extraTest = 'test' in input.extra ? input.extra['test'] : {};
|
|
367
368
|
const extraIsolate = typeof extraTest['isolate'] === 'boolean' ? extraTest['isolate'] : undefined;
|
|
368
369
|
const extraPool = extraTest['pool'];
|
|
369
370
|
const isolate = input.isolate ?? extraIsolate ?? DEFAULT_ISOLATE;
|
|
370
371
|
const pool = input.pool ?? extraPool ?? DEFAULT_POOL;
|
|
372
|
+
return !isolate && pool !== 'vmThreads' && pool !== 'vmForks';
|
|
373
|
+
}
|
|
374
|
+
// Pipework is inlined only where the registry is not shared: a fresh module registry
|
|
375
|
+
// per file needs it. A shared-registry fork already matches Node's single module
|
|
376
|
+
// instance, so inlining buys nothing there.
|
|
377
|
+
function buildInlineDeps(input) {
|
|
371
378
|
const deps = new Set();
|
|
372
|
-
if (
|
|
379
|
+
if (!sharesRegistry(input)) {
|
|
373
380
|
deps.add('pipework');
|
|
374
381
|
}
|
|
375
382
|
for (const dep of input.inlineDeps) {
|
|
@@ -377,6 +384,49 @@ function buildInlineDeps(input) {
|
|
|
377
384
|
}
|
|
378
385
|
return [...deps];
|
|
379
386
|
}
|
|
387
|
+
// Routing for #1001. `isolate: false` projects keep one module registry per worker, and a
|
|
388
|
+
// file that calls vi.resetModules / vi.mock / vi.doMock / vi.unmock / vi.doUnmock breaks
|
|
389
|
+
// the files after it. Per project, the files its `include` selects (under `dir` or the
|
|
390
|
+
// root, minus its merged `exclude`) are read; those whose own text calls one move to a
|
|
391
|
+
// sibling project `<name>:registry-isolated` that is the same project with `isolate: true`
|
|
392
|
+
// and an `include` of exactly those files, and the project itself excludes them. Each
|
|
393
|
+
// project decides for itself from the file's text, so a file two projects select (a
|
|
394
|
+
// module and its profile, or nested module roots) is routed in each, and still runs once
|
|
395
|
+
// per project as before. Files are visited in sorted order, projects in config order.
|
|
396
|
+
function pushRouted(projects, project) {
|
|
397
|
+
const test = project.test;
|
|
398
|
+
const setup = test?.setupFiles;
|
|
399
|
+
if (test === undefined || typeof test.root !== 'string' || !Array.isArray(setup) || !setup.includes(SHARED_REGISTRY_GUARD)) {
|
|
400
|
+
projects.push(project);
|
|
401
|
+
return;
|
|
402
|
+
}
|
|
403
|
+
const root = test.root;
|
|
404
|
+
const name = String(test.name);
|
|
405
|
+
const dir = typeof test.dir === 'string' ? (isAbsolute(test.dir) ? test.dir : resolve(root, test.dir)) : root;
|
|
406
|
+
const include = test.include ?? [...configDefaults.include];
|
|
407
|
+
const exclude = test.exclude ?? [...configDefaults.exclude];
|
|
408
|
+
const routed = findRegistryFiles(dir, include, exclude);
|
|
409
|
+
if (routed.length === 0) {
|
|
410
|
+
projects.push(project);
|
|
411
|
+
return;
|
|
412
|
+
}
|
|
413
|
+
const escaped = routed.map(escapeGlob);
|
|
414
|
+
projects.push({
|
|
415
|
+
...project,
|
|
416
|
+
test: { ...test, exclude: [...exclude, ...escaped] },
|
|
417
|
+
});
|
|
418
|
+
projects.push({
|
|
419
|
+
...project,
|
|
420
|
+
test: {
|
|
421
|
+
...test,
|
|
422
|
+
name: isolatedSiblingName(name),
|
|
423
|
+
isolate: true,
|
|
424
|
+
include: escaped,
|
|
425
|
+
setupFiles: setup.filter(file => file !== SHARED_REGISTRY_GUARD),
|
|
426
|
+
server: { deps: { inline: [...new Set(['pipework', ...(test.server?.deps?.inline ?? [])])] } },
|
|
427
|
+
},
|
|
428
|
+
});
|
|
429
|
+
}
|
|
380
430
|
function closestMatch(input, candidates) {
|
|
381
431
|
if (candidates.length === 0)
|
|
382
432
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-workspace.js","sourceRoot":"","sources":["../../src/test/vitest-workspace.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vitest-workspace.js","sourceRoot":"","sources":["../../src/test/vitest-workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pipework",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.289.0",
|
|
4
4
|
"description": "TypeScript framework for multi-tenant SaaS applications. PostgreSQL-only.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"framework"
|
|
22
22
|
],
|
|
23
23
|
"engines": {
|
|
24
|
-
"node": ">=22"
|
|
24
|
+
"node": ">=22.5"
|
|
25
25
|
},
|
|
26
26
|
"exports": {
|
|
27
27
|
".": {
|
|
@@ -40,6 +40,10 @@
|
|
|
40
40
|
"import": "./dist/test/auto-setup.js",
|
|
41
41
|
"types": "./dist/test/auto-setup.d.ts"
|
|
42
42
|
},
|
|
43
|
+
"./test/shared-registry": {
|
|
44
|
+
"import": "./dist/test/shared-registry-guard.js",
|
|
45
|
+
"types": "./dist/test/shared-registry-guard.d.ts"
|
|
46
|
+
},
|
|
43
47
|
"./vitest-plugin": {
|
|
44
48
|
"import": "./dist/test/vitest-plugin.js",
|
|
45
49
|
"types": "./dist/test/vitest-plugin.d.ts"
|
|
@@ -119,6 +119,12 @@ function reportResumed(result: MigrateResult): void {
|
|
|
119
119
|
`${r.totalStatements} — a previous run stopped mid-file.`,
|
|
120
120
|
)
|
|
121
121
|
}
|
|
122
|
+
for (const d of result.droppedInvalidIndexes) {
|
|
123
|
+
warn(
|
|
124
|
+
`${result.database}: resumed "${d.tag}" at statement ${d.statement}; dropped INVALID index ${d.index} ` +
|
|
125
|
+
`left by the cut build.`,
|
|
126
|
+
)
|
|
127
|
+
}
|
|
122
128
|
}
|
|
123
129
|
|
|
124
130
|
function reportFrameworkTables(result: MigrateResult): void {
|
package/src/cli/commands/test.ts
CHANGED
|
@@ -6,6 +6,8 @@ import { resolveAffected } from '../../workspace/affected.js'
|
|
|
6
6
|
import { findConfig } from '../../core/config/discover.js'
|
|
7
7
|
import { resolveModules, type ResolvedModule } from '../../workspace/discover.js'
|
|
8
8
|
import { shardArg, type Shard } from './shard.js'
|
|
9
|
+
import { resolveVitestModules } from '../../test/vitest-workspace.js'
|
|
10
|
+
import { isolatedSiblingName } from '../../test/shared-registry.js'
|
|
9
11
|
|
|
10
12
|
export interface TestOptions {
|
|
11
13
|
cwd: string
|
|
@@ -281,6 +283,19 @@ export function buildProjectArgs(
|
|
|
281
283
|
info(`Scoped to ${String(scopeResult.modules.size)} of ${String(effectiveModules.length)} module(s): ${[...scopeResult.modules].sort().join(', ')}`)
|
|
282
284
|
}
|
|
283
285
|
|
|
286
|
+
// A shared-registry project whose files call vi.resetModules or vi.mock has those files
|
|
287
|
+
// in a generated sibling project (#1001). The sibling runs wherever its parent does, so
|
|
288
|
+
// it is named beside it; the project names come from the same resolution vitest loads.
|
|
289
|
+
const generated = new Set(
|
|
290
|
+
resolveVitestModules(blueprint.vitest, effectiveModules, configDir, {}).map(p => String(p.test?.name)),
|
|
291
|
+
)
|
|
292
|
+
for (const name of [...projectNames]) {
|
|
293
|
+
const sibling = isolatedSiblingName(name)
|
|
294
|
+
if (!generated.has(sibling)) continue
|
|
295
|
+
projectNames.push(sibling)
|
|
296
|
+
databaseByProject.set(sibling, databaseByProject.get(name) ?? true)
|
|
297
|
+
}
|
|
298
|
+
|
|
284
299
|
const args: string[] = []
|
|
285
300
|
for (const name of projectNames) {
|
|
286
301
|
args.push('--project', name)
|
|
@@ -2,7 +2,7 @@ import { resolve, dirname } from 'node:path'
|
|
|
2
2
|
import { existsSync } from 'node:fs'
|
|
3
3
|
import type { Manifold } from '../pipework.js'
|
|
4
4
|
import { ConfigError } from './errors.js'
|
|
5
|
-
import { importConfig } from './import-config.js'
|
|
5
|
+
import { importConfig, type ConfigLoader } from './import-config.js'
|
|
6
6
|
import { registerTsResolveHooks } from './ts-inline-hooks.js'
|
|
7
7
|
|
|
8
8
|
export { registerTsResolveHooks }
|
|
@@ -21,7 +21,7 @@ const CONFIG_FILENAME = 'pipework.config.ts'
|
|
|
21
21
|
* leaves the variable alone; the test fork's `discoverForTestFork` consumes
|
|
22
22
|
* it after loading, so it never travels to processes a test spawns.
|
|
23
23
|
*/
|
|
24
|
-
export async function discoverInstance(cwd?: string): Promise<Manifold> {
|
|
24
|
+
export async function discoverInstance(cwd?: string, load?: ConfigLoader): Promise<Manifold> {
|
|
25
25
|
const start = cwd ?? process.cwd()
|
|
26
26
|
const override = process.env['PIPEWORK_CONFIG']
|
|
27
27
|
const configPath = override === undefined ? findConfig(start) : resolveOverride(override)
|
|
@@ -35,7 +35,7 @@ export async function discoverInstance(cwd?: string): Promise<Manifold> {
|
|
|
35
35
|
|
|
36
36
|
registerTsResolveHooks()
|
|
37
37
|
|
|
38
|
-
return importConfig(configPath)
|
|
38
|
+
return importConfig(configPath, load)
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
function resolveOverride(value: string): string {
|