@jterrazz/test 18.0.1 → 18.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/dist/vitest.js +3 -3
- package/docs/start/set-up-a-project.md +10 -10
- package/package.json +1 -1
package/dist/vitest.js
CHANGED
|
@@ -452,8 +452,8 @@ function isInline(project) {
|
|
|
452
452
|
function rootExcludeBeside(projects, exclude) {
|
|
453
453
|
return projects.every(isInline) ? exclude.filter((glob) => !EXCLUDE.includes(glob)) : exclude;
|
|
454
454
|
}
|
|
455
|
-
function withProjectDefaults(project) {
|
|
456
|
-
return isInline(project) ? onProjectDefaults(project) : project;
|
|
455
|
+
function withProjectDefaults(project, maxWorkers) {
|
|
456
|
+
return isInline(project) ? mergeConfig({ test: { maxWorkers } }, onProjectDefaults(project)) : project;
|
|
457
457
|
}
|
|
458
458
|
function presetConfig(stated = {}) {
|
|
459
459
|
const merged = mergeConfig(rootDefaults(), stated);
|
|
@@ -463,7 +463,7 @@ function presetConfig(stated = {}) {
|
|
|
463
463
|
...merged,
|
|
464
464
|
test: root
|
|
465
465
|
};
|
|
466
|
-
const inline = projects.map(withProjectDefaults);
|
|
466
|
+
const inline = projects.map((project) => withProjectDefaults(project, root.maxWorkers));
|
|
467
467
|
return {
|
|
468
468
|
...merged,
|
|
469
469
|
test: {
|
|
@@ -125,16 +125,16 @@ const integration = {
|
|
|
125
125
|
|
|
126
126
|
### What the preset sets
|
|
127
127
|
|
|
128
|
-
| Setting | Value | Why
|
|
129
|
-
| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
|
|
130
|
-
| `test.testTimeout`, `hookTimeout` | `30_000` | vitest's 5 s never survived a container boot or a build
|
|
131
|
-
| `test.retry` | `0` | A flaky test is fixed or deleted; a retry hides it
|
|
132
|
-
| `test.restoreMocks`, `unstubGlobals`, `unstubEnvs` | `true` | A spy, a stubbed global or a stubbed env a test forgets to restore would fail a later file that did nothing wrong
|
|
133
|
-
| `test.exclude` | vitest's defaults + `.artifacts/**` + `**/{__expected__,__fixtures__,__requests__,__seeds__}/**` | What a test stands on is input, never a suite to run; `.artifacts/` holds copies of the project, a mutation sandbox among them
|
|
134
|
-
| `cacheDir`, `test.coverage.reportsDirectory`, `test.attachmentsDir`, `test.outputFile` | under `.artifacts/vitest/` | Everything a tool writes lives at `.artifacts/<tool>/` ([below](#where-a-run-writes))
|
|
135
|
-
| `test.globalSetup` | update mode, the run's temp root | Update mode writes after the run is reported; the temp root is [below](#where-a-run-writes)
|
|
136
|
-
| `test.maxWorkers` | the Vitest workers of the toolchain's capacity model
|
|
137
|
-
| `test.env.NODE_COMPILE_CACHE` | `.artifacts/node-compile-cache/`, as an absolute path | Every Node process a run starts reuses the code an earlier one compiled ([below](#where-a-run-writes))
|
|
128
|
+
| Setting | Value | Why |
|
|
129
|
+
| -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
130
|
+
| `test.testTimeout`, `hookTimeout` | `30_000` | vitest's 5 s never survived a container boot or a build |
|
|
131
|
+
| `test.retry` | `0` | A flaky test is fixed or deleted; a retry hides it |
|
|
132
|
+
| `test.restoreMocks`, `unstubGlobals`, `unstubEnvs` | `true` | A spy, a stubbed global or a stubbed env a test forgets to restore would fail a later file that did nothing wrong |
|
|
133
|
+
| `test.exclude` | vitest's defaults + `.artifacts/**` + `**/{__expected__,__fixtures__,__requests__,__seeds__}/**` | What a test stands on is input, never a suite to run; `.artifacts/` holds copies of the project, a mutation sandbox among them |
|
|
134
|
+
| `cacheDir`, `test.coverage.reportsDirectory`, `test.attachmentsDir`, `test.outputFile` | under `.artifacts/vitest/` | Everything a tool writes lives at `.artifacts/<tool>/` ([below](#where-a-run-writes)) |
|
|
135
|
+
| `test.globalSetup` | update mode, the run's temp root | Update mode writes after the run is reported; the temp root is [below](#where-a-run-writes) |
|
|
136
|
+
| `test.maxWorkers` | the Vitest workers of the toolchain's capacity model, read once and stated on every project | A run takes its share of the machine beside the gates running on it, and a run inside a gate's slice (`TYPESCRIPT_CAPACITY`) stays in it; Vitest evaluates the config again for a project with its own server and refuses one group of two worker counts, so a capacity that moves mid-run moves no project ([the toolchain's Quality checks § How many test runners](https://github.com/jterrazz/package-typescript/blob/main/docs/reference/quality-checks.md#how-many-test-runners)) |
|
|
137
|
+
| `test.env.NODE_COMPILE_CACHE` | `.artifacts/node-compile-cache/`, as an absolute path | Every Node process a run starts reuses the code an earlier one compiled ([below](#where-a-run-writes)) |
|
|
138
138
|
|
|
139
139
|
Coverage attaches to every process a run spawns (`autoAttachSubprocess`), and reads `dist/` only to map each bundle back to the source it was built from (`excludeAfterRemap`): a spec that runs the built command counts toward the sources it exercised. A coverage run compiles without the cache: vitest turns it off, since V8 stores a cached script without the source positions precise coverage reads.
|
|
140
140
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jterrazz/test",
|
|
3
|
-
"version": "18.0.
|
|
3
|
+
"version": "18.0.2",
|
|
4
4
|
"description": "Declarative testing framework for HTTP APIs, CLIs, background jobs, websites, mobile apps, rendered components and the rules a project ships: one entry point, real infrastructure and a real browser, golden-file assertions, plus an oxlint convention plugin.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"api-testing",
|