{
  "name": "domain-objects",
  "author": "ehmpathy",
  "description": "A simple, convenient way to represent domain objects, leverage domain knowledge, and add runtime validation in your code base.",
  "version": "0.33.0",
  "repository": "ehmpathy/domain-objects",
  "homepage": "https://github.com/ehmpathy/domain-objects",
  "keywords": [
    "domain-driven-design",
    "domain",
    "driven",
    "design",
    "model",
    "validation",
    "schema",
    "type",
    "checking"
  ],
  "bugs": "https://github.com/ehmpathy/domain-objects/issues",
  "license": "MIT",
  "main": "dist/index.js",
  "engines": {
    "node": ">=8.0.0"
  },
  "files": [
    "/dist"
  ],
  "scripts": {
    "build:ts": "tsc -p ./tsconfig.build.json",
    "commit:with-cli": "npx cz",
    "fix:format:biome": "biome check --write",
    "fix:format": "npm run fix:format:biome",
    "fix:lint": "biome check --write",
    "fix": "npm run fix:format && npm run fix:lint",
    "build:clean:bun": "rm -f ./bin/*.bc",
    "build:clean:tsc": "(chmod -R u+w dist 2>/dev/null || true) && rm -rf dist/",
    "build:clean": "npm run build:clean:tsc && npm run build:clean:bun",
    "build:compile:tsc": "tsc -p ./tsconfig.build.json && tsc-alias -p ./tsconfig.build.json",
    "build:compile": "npm run build:compile:tsc && npm run build:compile:bun --if-present",
    "build": "npm run build:clean && npm run build:compile && npm run build:complete --if-present",
    "test:commits": "LAST_TAG=$(git describe --tags --abbrev=0 @^ 2> /dev/null || git rev-list --max-parents=0 HEAD) && npx commitlint --from $LAST_TAG --to HEAD --verbose",
    "test:types": "tsc -p ./tsconfig.json --noEmit",
    "test:format:biome": "biome format",
    "test:format": "npm run test:format:biome",
    "test:lint:deps": "npx depcheck -c ./.depcheckrc.yml",
    "test:lint:biome": "biome check --diagnostic-level=error",
    "test:lint:biome:all": "biome check",
    "test:lint": "npm run test:lint:biome && npm run test:lint:cycles && npm run test:lint:deps",
    "test:unit": "set -eu && jest -c ./jest.unit.config.ts --forceExit --verbose --passWithNoTests $([ -n \"${CI:-}\" ] && echo '--ci') $([ \"${THOROUGH:-}\" != \"true\" ] && echo '--changedSince=main') $([ \"${RESNAP:-}\" = \"true\" ] && echo '--updateSnapshot')",
    "test:integration": "set -eu && jest -c ./jest.integration.config.ts --forceExit --verbose --passWithNoTests $([ -n \"${CI:-}\" ] && echo '--ci') $([ \"${THOROUGH:-}\" != \"true\" ] && echo '--changedSince=main') $([ \"${RESNAP:-}\" = \"true\" ] && echo '--updateSnapshot')",
    "test:acceptance:locally": "set -eu && npm run build && LOCALLY=true jest -c ./jest.acceptance.config.ts --forceExit --verbose --runInBand --passWithNoTests $([ \"${RESNAP:-}\" = \"true\" ] && echo '--updateSnapshot')",
    "test": "set -eu && npm run test:commits && npm run test:types && npm run test:format && npm run test:lint && npm run test:unit && npm run test:integration && npm run test:acceptance:locally",
    "test:acceptance": "set -eu && npm run build && jest -c ./jest.acceptance.config.ts --forceExit --verbose --runInBand --passWithNoTests $([ -n \"${CI:-}\" ] && echo '--ci') $([ \"${RESNAP:-}\" = \"true\" ] && echo '--updateSnapshot')",
    "prepush": "npm run test && npm run build",
    "prepublish": "npm run build",
    "preversion": "npm run prepush",
    "postversion": "git push origin HEAD --tags --no-verify",
    "prepare:husky": "husky install && chmod ug+x .husky/*",
    "prepare:rhachet": "rhachet init --hooks --roles mechanic architect ergonomist driver reviewer dreamer behaver dispatcher",
    "prepare": "if [ -e .git ] && [ -z $CI ]; then npm run prepare:husky && npm run prepare:rhachet; fi",
    "test:lint:cycles": "dpdm --no-warning --no-tree --exit-code circular:1 --exclude \"$(yq -r '.exclude | join(\"|\")' .dpdmrc.yaml)\" 'src/**/*.ts'",
    "upgrade:rhachet": "rhachet upgrade"
  },
  "dependencies": {
    "change-case": "^4.1.2",
    "helpful-errors": "1.7.3",
    "type-fns": "1.21.2",
    "uuid-fns": "^1.1.3"
  },
  "devDependencies": {
    "@biomejs/biome": "2.3.8",
    "@commitlint/cli": "19.5.0",
    "@commitlint/config-conventional": "19.5.0",
    "@ehmpathy/uni-time": "^1.6.1",
    "@jest/globals": "30.2.0",
    "@swc/core": "1.15.3",
    "@swc/jest": "0.2.39",
    "@tsconfig/node20": "20.1.5",
    "@tsconfig/strictest": "2.0.5",
    "@types/jest": "30.0.0",
    "@types/joi": "^17.2.3",
    "@types/node": "22.15.21",
    "@types/yup": "^0.29.6",
    "cz-conventional-changelog": "3.3.0",
    "declapract": "^0.13.21",
    "declapract-typescript-ehmpathy": "^0.47.70",
    "declastruct": "1.9.1",
    "declastruct-github": "1.4.0",
    "depcheck": "1.4.3",
    "dpdm": "4.0.1",
    "esbuild-register": "3.6.0",
    "husky": "8.0.3",
    "jest": "30.2.0",
    "joi": "^18.2.1",
    "rhachet": "1.44.1",
    "rhachet-brains-anthropic": "0.4.1",
    "rhachet-brains-fireworksai": "^0.1.3",
    "rhachet-brains-xai": "0.3.3",
    "rhachet-roles-bhrain": "0.31.0",
    "rhachet-roles-bhuild": "0.21.28",
    "rhachet-roles-ehmpathy": "1.38.1",
    "test-fns": "1.15.8",
    "tsc-alias": "1.8.10",
    "tsx": "4.20.6",
    "typescript": "5.4.5",
    "yalc": "1.0.0-pre.53",
    "yup": "^0.29.3",
    "zod": "^4.4.3"
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  },
  "packageManager": "pnpm@10.24.0"
}
