{
  "name": "dicom-synth",
  "version": "2.0.0",
  "description": "Toolkit for synthetic DICOM fixtures and public fixture fetch/cache.",
  "license": "Apache-2.0",
  "type": "module",
  "packageManager": "pnpm@11.5.2",
  "repository": {
    "type": "git",
    "url": "https://github.com/clintools/dicom-synth.git"
  },
  "keywords": [
    "dicom",
    "synthetic",
    "test-data",
    "medical-imaging"
  ],
  "engines": {
    "node": ">=20"
  },
  "main": "dist/esm/index.js",
  "module": "dist/esm/index.js",
  "types": "dist/types/index.d.ts",
  "bin": {
    "dicom-synth-generate": "./bin/dicom-synth-generate.mjs",
    "dicom-synth-fetch": "./bin/dicom-synth-fetch.mjs",
    "dicom-synth-describe": "./bin/dicom-synth-describe.mjs"
  },
  "exports": {
    ".": {
      "import": "./dist/esm/index.js",
      "types": "./dist/types/index.d.ts",
      "default": "./dist/esm/index.js"
    },
    "./public-cases.json": "./data/public-cases.json"
  },
  "files": [
    "dist",
    "data/public-cases.json",
    "bin"
  ],
  "scripts": {
    "prepare": "husky",
    "prepublishOnly": "pnpm build",
    "clean": "rm -rf dist",
    "build:esm": "node esbuild.config.js",
    "build:types": "tsc --emitDeclarationOnly --outDir dist/types -p tsconfig.build.json",
    "build": "pnpm build:esm && pnpm build:types && pnpm build:data",
    "build:data": "mkdir -p dist/data && cp data/public-cases.json dist/data/",
    "typecheck": "tsc --noEmit",
    "test": "vitest run",
    "test:coverage": "vitest run --coverage",
    "test:watch": "vitest",
    "lint": "eslint src test scripts --ext .ts",
    "lint:fix": "eslint src test scripts --ext .ts --fix",
    "check": "biome check .",
    "check:errors": "biome check . --diagnostic-level=error",
    "check:fix": "biome check . --write",
    "code:quality": "pnpm check:errors && pnpm typecheck && pnpm test",
    "hooks:pre-commit": "bash scripts/hooks/pre-commit.sh",
    "hooks:pre-push": "bash scripts/hooks/pre-push.sh",
    "write:synthetic": "tsx scripts/write-synthetic-fixtures.ts",
    "fetch:public-case": "tsx scripts/fetch-public-case.ts"
  },
  "lint-staged": {
    "*.{js,jsx,ts,tsx,mjs,mts,json,css,md}": [
      "biome check --write --no-errors-on-unmatched"
    ],
    "*.{ts,tsx}": [
      "eslint --fix"
    ]
  },
  "peerDependencies": {
    "dcmjs": "^0.51.1"
  },
  "devDependencies": {
    "@biomejs/biome": "2.4.7",
    "@eslint/js": "^9.34.0",
    "@semantic-release/changelog": "^6.0.3",
    "@semantic-release/git": "^10.0.1",
    "@semantic-release/github": "^12.0.3",
    "@semantic-release/npm": "^13.1.3",
    "@types/node": "^22.15.3",
    "@typescript-eslint/eslint-plugin": "^8.46.1",
    "@typescript-eslint/parser": "^8.46.1",
    "@vitest/coverage-v8": "3.2.6",
    "dcmjs": "^0.51.1",
    "esbuild": "^0.28.1",
    "eslint": "^9.38.0",
    "globals": "^16.4.0",
    "husky": "^9.1.7",
    "lint-staged": "^16.4.0",
    "semantic-release": "^25.0.3",
    "tsx": "^4.19.3",
    "typescript": "^5.8.3",
    "vitest": "^3.2.6"
  }
}
