{
  "name": "type-fns",
  "author": "ehmpathy",
  "description": "A set of types, type checks, and type guards for simpler, safer, and easier to read code.",
  "version": "1.21.3",
  "repository": "ehmpathy/type-fns",
  "homepage": "https://github.com/ehmpathy/type-fns",
  "keywords": [
    "types",
    "type guards",
    "guards",
    "type checks",
    "checks",
    "type",
    "checking",
    "typescript"
  ],
  "bugs": "https://github.com/ehmpathy/type-fns/issues",
  "license": "MIT",
  "main": "dist/index.js",
  "engines": {
    "node": ">=8.0.0"
  },
  "files": [
    "/dist"
  ],
  "scripts": {
    "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:artifact": "echo 'no artifact'",
    "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:deps && npm run test:lint:cycles",
    "test:unit": "set -eu && jest -c ./jest.unit.config.ts --forceExit --verbose --passWithNoTests $([ -n \"${CI:-}\" ] && echo '--ci') $([ -z \"${THOROUGH:-}\" ] && echo '--changedSince=main') $([ -n \"${RESNAP:-}\" ] && echo '--updateSnapshot')",
    "test:integration": "set -eu && jest -c ./jest.integration.config.ts --forceExit --verbose --passWithNoTests $([ -n \"${CI:-}\" ] && echo '--ci') $([ -z \"${THOROUGH:-}\" ] && echo '--changedSince=main') $([ -n \"${RESNAP:-}\" ] && echo '--updateSnapshot')",
    "test:acceptance:locally": "set -eu && npm run build && LOCALLY=true jest -c ./jest.acceptance.config.ts --forceExit --verbose --runInBand --passWithNoTests $([ -n \"${RESNAP:-}\" ] && 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') $([ -n \"${RESNAP:-}\" ] && 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 --keys --hooks --roles mechanic behaver driver reviewer librarian ergonomist architect",
    "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 '^$' 'src/**/*.ts'",
    "upgrade:rhachet": "rhachet upgrade"
  },
  "dependencies": {
    "domain-objects": "0.31.10",
    "helpful-errors": "^1.7.3"
  },
  "devDependencies": {
    "@biomejs/biome": "2.3.8",
    "@commitlint/cli": "19.5.0",
    "@commitlint/config-conventional": "19.5.0",
    "@jest/globals": "30.2.0",
    "@swc/core": "1.15.3",
    "@swc/jest": "0.2.39",
    "@tsconfig/node-lts-strictest": "18.12.1",
    "@tsconfig/node20": "20.1.5",
    "@tsconfig/strictest": "2.0.5",
    "@types/jest": "30.0.0",
    "@types/node": "22.15.21",
    "core-js": "3.26.1",
    "cz-conventional-changelog": "3.3.0",
    "declapract": "0.13.20",
    "declapract-typescript-ehmpathy": "0.47.64",
    "declastruct": "1.7.3",
    "declastruct-github": "1.3.5",
    "depcheck": "1.4.3",
    "dpdm": "4.0.1",
    "esbuild-register": "3.6.0",
    "husky": "8.0.3",
    "jest": "30.2.0",
    "rhachet": "1.39.9",
    "rhachet-brains-anthropic": "0.4.0",
    "rhachet-brains-xai": "0.3.3",
    "rhachet-roles-bhrain": "0.23.11",
    "rhachet-roles-bhuild": "0.17.1",
    "rhachet-roles-ehmpathy": "1.34.25",
    "test-fns": "1.15.8",
    "ts-jest": "29.1.3",
    "ts-node": "10.9.2",
    "tsc-alias": "1.8.10",
    "tsx": "4.20.6",
    "typescript": "5.4.5",
    "yalc": "1.0.0-pre.53"
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  },
  "packageManager": "pnpm@10.24.0"
}
