{
  "name": "ts-ioc-container",
  "version": "55.2.0",
  "description": "Fast, lightweight TypeScript dependency injection container with a clean API, scoped lifecycles, decorators, tokens, hooks, lazy injection, customizable providers, and no global container objects.",
  "workspaces": [
    "docs"
  ],
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  },
  "author": "ibabkin <igba14@gmail.com>",
  "homepage": "https://igorbabkin.github.io/ts-ioc-container",
  "license": "ISC",
  "sideEffects": false,
  "main": "cjm/index.js",
  "types": "typings/index.d.ts",
  "module": "esm/index.js",
  "keywords": [
    "dependency-injection",
    "inversion-of-control",
    "container",
    "typescript",
    "typescript-di",
    "typescript-ioc",
    "dependency-injection-container",
    "ioc",
    "di",
    "ioc-container",
    "tsyringe-alternative",
    "inversify-alternative",
    "awilix-alternative",
    "clean-api",
    "no-global-container",
    "scope",
    "scoped-dependencies",
    "hook",
    "lifecycle-hooks",
    "decorators",
    "lazy-injection",
    "service-container",
    "inject"
  ],
  "directories": {
    "lib": "lib",
    "test": "__tests__"
  },
  "files": [
    "cjm/**/*",
    "esm/**/*",
    "typings/**/*"
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/IgorBabkin/ts-ioc-container"
  },
  "scripts": {
    "build:cjm": "rimraf cjm && tsc -p tsconfig.production.json --outDir cjm --module CommonJS",
    "build:esm": "rimraf esm && tsc -p tsconfig.production.json --outDir esm",
    "build:types": "rimraf typings && tsc -p tsconfig.production.json --outDir typings --emitDeclarationOnly --declaration",
    "generate:docs": "scripts/generate-readme/generate-readme.ts && git add README.md",
    "build": "npm run build:cjm && npm run build:esm && npm run build:types",
    "test": "vitest run",
    "test:spec": "vitest run __tests__/specs",
    "bench:spec": "vitest bench __benchmarks__/specs/*.bench.ts",
    "test:coverage": "vitest run --coverage --coverage.reporter=lcov",
    "type-check": "tsc --noEmit",
    "type-check:watch": "tsc --noEmit --watch",
    "commit": "cz",
    "format": "prettier --write \"**/*.ts\"",
    "lint": "eslint lib/**/*.ts __tests__/**/*.ts __benchmarks__/**/*.ts scripts/**/*.ts",
    "lint:fix": "npm run lint --fix",
    "audit": "npm audit",
    "prepare": "husky",
    "release": "npm run build && npm test && npm publish",
    "docs:dev": "pnpm --filter ts-ioc-container-docs run dev",
    "docs:serve": "pnpm --filter ts-ioc-container-docs run dev",
    "docs:build": "pnpm --filter ts-ioc-container-docs run build",
    "docs:preview": "pnpm --filter ts-ioc-container-docs run preview"
  },
  "devDependencies": {
    "@commitlint/cli": "^20.2.0",
    "@commitlint/config-conventional": "^20.2.0",
    "@eslint/eslintrc": "^3.3.5",
    "@eslint/js": "^9.24.0",
    "@semantic-release/changelog": "^6.0.3",
    "@semantic-release/git": "^10.0.1",
    "@semantic-release/github": "^12.0.2",
    "@semantic-release/npm": "^13.1.2",
    "@swc/core": "^1.15.24",
    "@types/node": "^25.5.2",
    "@typescript-eslint/eslint-plugin": "8.32.1",
    "@typescript-eslint/parser": "8.58.2",
    "@vitest/coverage-v8": "^4.1.2",
    "cz-conventional-changelog": "^3.3.0",
    "eslint": "9.24.0",
    "eslint-config-prettier": "10.1.8",
    "eslint-plugin-prettier": "5.2.6",
    "handlebars": "^4.7.8",
    "husky": "^9.1.7",
    "lint-staged": "^16.4.0",
    "moq.ts": "^10.0.8",
    "prettier": "3.5.3",
    "prettier-plugin-astro": "^0.14.1",
    "reflect-metadata": "^0.2.2",
    "rimraf": "6.1.3",
    "semantic-release": "^25.0.2",
    "tsx": "^4.21.0",
    "tsyringe": "^4.10.0",
    "typescript": "5.8.3",
    "unplugin-swc": "^1.5.9",
    "vite": "^6.4.1",
    "vitest": "^4.1.2"
  },
  "lint-staged": {
    "*.{js,ts,tsx}": [
      "eslint --fix",
      "prettier --write"
    ],
    "docs/**/*.{js,ts,tsx,mjs,astro}": [
      "prettier --write"
    ],
    "docs/**/*.astro": [
      "eslint --fix"
    ]
  },
  "gitHead": "ae10f302c7e0f55196b42669040735112479a854",
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-conventional-changelog"
    }
  },
  "packageManager": "pnpm@10.20.0+sha512.cf9998222162dd85864d0a8102e7892e7ba4ceadebbf5a31f9c2fce48dfce317a9c53b9f6464d1ef9042cba2e02ae02a9f7c143a2b438cd93c91840f0192b9dd",
  "engines": {
    "node": ">= 22.14.0"
  }
}
