UNPKG

domain-objects

Version:

A simple, convenient way to represent domain objects, leverage domain knowledge, and add runtime validation in your code base.

117 lines (116 loc) 5.39 kB
{ "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" }