dicom-curate 0.40.0 → 0.40.1

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.
Files changed (2) hide show
  1. package/README.md +21 -0
  2. package/package.json +7 -4
package/README.md CHANGED
@@ -436,6 +436,27 @@ When a file is excluded, `curateOne` / `curateMany` still returns a result objec
436
436
  result.excluded // => 'pre' | 'post' | undefined
437
437
  ```
438
438
 
439
+ ## Testing
440
+
441
+ Vitest is split into three projects in `vitest.config.ts`:
442
+
443
+ | Command | Project | Location | Purpose |
444
+ |---------|---------|----------|---------|
445
+ | `pnpm test` | `unit` | `src/**/*.test.ts` | Unit and integration tests co-located with source |
446
+ | `pnpm test:e2e` | `e2e` | `e2e/` | Pipeline smoke tests (runs `build:esm` first; uses `dist/`) |
447
+ | `pnpm test:conformance` | `conformance` | `conformance/` | `dciodvfy` regression (synthetic; optional public/local via env) |
448
+
449
+ Other scripts:
450
+
451
+ | Script | Purpose |
452
+ |--------|---------|
453
+ | `pnpm test:coverage` | Unit project with coverage |
454
+ | `pnpm update:conformance-baselines` | Regenerate committed `dciodvfy` baseline JSON |
455
+
456
+ Conformance tests require the external `dciodvfy` binary from [dicom3tools](https://www.dclunie.com/dicom3tools.html). See [conformance/README.md](conformance/README.md) for install, CI behaviour, baseline refresh, and optional `RUN_PUBLIC_CONFORMANCE` / `CONFORMANCE_LOCAL_*` env vars.
457
+
458
+ Shared test helpers: `testutils/` (minimal DICOM files, worker mocks). Fixture generation and public-case fetch: devDependency [`dicom-synth`](https://github.com/clintools/dicom-synth).
459
+
439
460
  ## DICOM Conformance Notes
440
461
 
441
462
  dicom-curate
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dicom-curate",
3
- "version": "0.40.0",
3
+ "version": "0.40.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/clintools/dicom-curate"
@@ -48,9 +48,11 @@
48
48
  "build:types": "tsc --emitDeclarationOnly --outDir dist/types -p tsconfig.build.json",
49
49
  "watch": "node esbuild.config.js --watch",
50
50
  "pretest": "pnpm build:esm",
51
- "test": "vitest run --pool=forks",
52
- "test:e2e": "pnpm build:esm && vitest run --config vitest.e2e.config.ts --pool=forks",
53
- "test:coverage": "vitest run --pool=forks --coverage",
51
+ "test": "vitest run --pool=forks --project unit",
52
+ "test:e2e": "pnpm build:esm && vitest run --pool=forks --project e2e",
53
+ "test:conformance": "vitest run --pool=forks --project conformance",
54
+ "update:conformance-baselines": "tsx scripts/update-conformance-baselines.ts",
55
+ "test:coverage": "vitest run --pool=forks --project unit --coverage",
54
56
  "test:watch": "vitest",
55
57
  "lint": "eslint src --ext .ts,.tsx",
56
58
  "lint:fix": "eslint src --ext .ts,.tsx --fix",
@@ -96,6 +98,7 @@
96
98
  "@typescript-eslint/parser": "^8.46.1",
97
99
  "@vitest/coverage-v8": "^3.2.4",
98
100
  "commander": "^14.0.3",
101
+ "dicom-synth": "^0.1.0",
99
102
  "esbuild": "^0.20.0",
100
103
  "eslint": "^9.38.0",
101
104
  "globals": "^16.4.0",