{
  "name": "@freshgum/typedi",
  "version": "0.7.2",
  "description": "Elegant Dependency Injection in JavaScript and TypeScript.",
  "homepage": "https://typedi.js.org",
  "main": "./build/esm5/entry/index.mjs",
  "maintainers": [
    "freshgum"
  ],
  "author": "freshgum",
  "license": "MIT",
  "private": false,
  "sideEffects": false,
  "unpkg": "./build/bundles/typedi.umd.min.js",
  "types": "./build/types/index.d.mts",
  "repository": {
    "type": "git",
    "url": "https://github.com/freshgum-bubbles/typedi.git"
  },
  "exports": {
    ".": {
      "types": "./build/esm5/entry/index.d.mts",
      "import": "./build/esm5/entry/index.mjs",
      "node": "./build/esm5/entry/index.mjs",
      "bun": "./src/index.mts",
      "default": "./build/esm5/entry/index.mjs"
    },
    "./contrib/es": {
      "types": "./build/esm5/contrib/es/index.d.mts",
      "import": "./build/esm5/contrib/es/index.mjs",
      "node": "./build/esm5/contrib/es/index.mjs",
      "bun": "./src/contrib/es/index.mts",
      "default": "./build/esm5/contrib/es/index.mjs"
    },
    "./contrib/transient-ref": {
      "types": "./build/esm5/contrib/transient-ref/index.d.mts",
      "import": "./build/esm5/contrib/transient-ref/index.mjs",
      "node": "./build/esm5/contrib/transient-ref/index.mjs",
      "bun": "./src/contrib/transient-ref/index.mts",
      "default": "./build/esm5/contrib/transient-ref/index.mjs"
    },
    "./contrib/util/synchronous-disposable": {
      "types": "./build/esm5/contrib/util/synchronous-disposable.class.d.mts",
      "import": "./build/esm5/contrib/util/synchronous-disposable.class.mjs",
      "node": "./build/esm5/contrib/util/synchronous-disposable.class.mjs",
      "bun": "./src/contrib/util/synchronous-disposable.class.mts",
      "default": "./build/esm5/contrib/util/synchronous-disposable.class.mjs"
    },
    "./contrib/util/get-service-identifier-type": {
      "types": "./build/esm5/contrib/util/get-service-identifier-type.util.d.mts",
      "import": "./build/esm5/contrib/util/get-service-identifier-type.util.mjs",
      "node": "./build/esm5/contrib/util/get-service-identifier-type.util.mjs",
      "bun": "./src/contrib/util/get-service-identifier-type.util.mts",
      "default": "./build/esm5/contrib/util/get-service-identifier-type.util.mjs"
    }
  },
  "engines": {
    "node": ">=v15.3.0"
  },
  "tags": [
    "di",
    "container",
    "di-container",
    "typescript",
    "typescript-di",
    "dependency-injection",
    "typescript"
  ],
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged",
      "commit-msg": "pnpm exec commitlint --edit ${1}"
    }
  },
  "lint-staged": {
    "*.md": [
      "npm run prettier:fix"
    ],
    "*.ts": [
      "npm run prettier:fix"
    ]
  },
  "dependencies": {
    "type-fest": "4.7.1"
  },
  "devDependencies": {
    "@changesets/cli": "^2.26.2",
    "@commitlint/cli": "^18.4.3",
    "@commitlint/config-angular": "^17.7.0",
    "@mxssfd/typedoc-theme": "^1.1.3",
    "@rollup/plugin-commonjs": "^25.0.5",
    "@rollup/plugin-node-resolve": "^15.2.2",
    "@rollup/plugin-terser": "^0.4.4",
    "@types/deepmerge": "^2.2.0",
    "@types/jest": "^29.5.5",
    "@types/node": "^20.8.3",
    "@typescript-eslint/eslint-plugin": "^5.62.0",
    "@typescript-eslint/parser": "^5.62.0",
    "deepmerge": "^4.3.1",
    "dotenv": "^16.3.1",
    "eslint": "^8.53.0",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-jest": "^27.6.0",
    "execa": "^8.0.1",
    "husky": "^8.0.3",
    "jest": "^29.7.0",
    "lint-staged": "^15.0.1",
    "prettier": "^3.0.3",
    "publint": "^0.2.7",
    "rimraf": "5.0.5",
    "rollup": "^4.0.2",
    "ts-jest": "^29.1.1",
    "ts-node": "^10.9.1",
    "typedoc": "^0.25.2",
    "typedoc-github-wiki-theme": "^1.1.0",
    "typedoc-plugin-markdown": "^3.16.0",
    "typescript": "^5.2.2",
    "yn": "^5.0.0"
  },
  "scripts": {
    "build": "npm run build:esm5 && npm run build:rollup && npm run build:umd && npm run build:types",
    "build:clean": "rimraf build",
    "build:clean-esm5": "rimraf ./build/esm5",
    "build:clean-cjs": "rimraf ./build/cjs",
    "build:esm5": "npm run build:clean-esm5 && tsc --project ./scripts/tsconfig/tsconfig.prod.esm5.json",
    "build:cjs": "npm run build:clean-cjs && tsc --project ./scripts/tsconfig/tsconfig.prod.cjs.json",
    "build:rollup": "npm run build:esm5 && rollup --config rollup.config.mjs",
    "build:umd": "npm run build:esm5",
    "build:types": "tsc --project ./scripts/tsconfig/tsconfig.prod.types.json",
    "docs:website": "pushd website && npm run build && popd",
    "docs:website-prod": "node ./scripts/publishDocs.mjs",
    "prettier:fix": "prettier --write \"**/*.{ts,md,mts,mjs,js,cjs}\"",
    "prettier:check": "prettier --check \"**/*.{ts,md,mts,mjs,js,cjs}\"",
    "lint:fix": "eslint --max-warnings 0 --fix --ext .mts src/",
    "lint:check": "eslint --max-warnings 0 --ext .mts src/",
    "lint:package-json": "npm run build && publint",
    "docs:api-reference": "rimraf website/build/api-reference && typedoc",
    "test": "jest",
    "test:coverage": "jest --coverage --verbose",
    "test:watch": "jest --watch",
    "test:ci": "jest --runInBand --coverage --verbose",
    "website:start": "pushd website && npm run start && popd",
    "website:build": "pushd website && npm run build && popd",
    "version": "auto-changelog -p && git add CHANGELOG.md"
  }
}