ts-ioc-container
Version:
Fast, lightweight TypeScript dependency injection container with a clean API, scoped lifecycles, decorators, tokens, hooks, lazy injection, customizable providers, and no global container objects.
138 lines (137 loc) • 4.44 kB
JSON
{
"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"
}
}