{"_id":"tsyringe","_rev":"4181344","name":"tsyringe","description":"Lightweight dependency injection container for JavaScript/TypeScript","dist-tags":{"latest":"4.10.0"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"time":{"modified":"2026-03-01T21:51:13.000Z","created":"2018-02-14T00:22:11.020Z","4.10.0":"2025-04-16T02:47:14.328Z","4.9.1":"2025-04-03T00:16:59.952Z","4.8.0":"2023-06-20T06:31:58.260Z","4.7.0":"2022-05-27T22:56:27.347Z","4.6.0":"2021-07-07T17:29:02.276Z","4.5.0":"2021-03-23T21:58:03.156Z","4.4.0":"2020-11-09T07:41:29.928Z","4.3.0":"2020-05-17T20:07:40.267Z","4.2.0":"2020-05-05T23:06:47.110Z","4.1.0":"2020-02-15T22:46:58.380Z","4.0.1":"2019-11-07T23:06:24.248Z","4.0.0":"2019-11-02T20:55:26.532Z","3.4.0":"2019-09-10T17:42:10.313Z","3.3.0":"2019-07-08T01:02:27.332Z","3.2.0":"2019-04-10T19:33:44.844Z","3.1.1":"2019-04-10T19:10:19.805Z","3.0.1":"2018-12-27T01:02:53.105Z","3.0.0":"2018-12-26T22:49:04.373Z","2.2.0":"2018-12-04T21:53:53.911Z","2.1.2":"2018-11-27T01:12:52.776Z","2.1.1":"2018-05-18T06:56:27.104Z","2.1.0":"2018-05-18T06:38:16.469Z","2.0.1":"2018-02-21T01:40:38.081Z","2.0.0":"2018-02-21T01:26:47.564Z","1.0.1":"2018-02-14T00:51:14.123Z","1.0.0":"2018-02-14T00:22:11.020Z"},"users":{},"author":{"name":"Steven Hobson-Campbell"},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"versions":{"4.10.0":{"name":"tsyringe","version":"4.10.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"yarn clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"yarn lint && jest --config test/jest.config.js","test:inspect":"yarn lint && node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"eslint --ext \".js,.jsx,.ts,.tsx\" \"./src\"","lint:fix":"eslint --fix --ext \".js,.jsx,.ts,.tsx\" \"./src\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.21","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^2.6.0","@typescript-eslint/parser":"^2.6.0","eslint":"^6.6.0","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.18.2","reflect-metadata":"^0.1.12","rimraf":"^3.0.0","ts-jest":"^24.0.2","typescript":"^3.1.6"},"_id":"tsyringe@4.10.0","gitHead":"e033769d97cfb6cc4a8569e2b50eb32015453302","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"shasum":"d0c95815d584464214060285eaaadd94aa03299c","size":27171,"noattachment":false,"key":"/tsyringe/-/tsyringe-4.10.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-4.10.0.tgz"},"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tsyringe_4.10.0_1744771634087_0.10155273502208595"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-16T02:47:14.328Z","publish_time":1744771634328,"_source_registry_name":"default","_cnpm_publish_time":1744771634328},"4.9.1":{"name":"tsyringe","version":"4.9.1","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"yarn clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"yarn lint && jest --config test/jest.config.js","test:inspect":"yarn lint && node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"eslint --ext \".js,.jsx,.ts,.tsx\" \"./src\"","lint:fix":"eslint --fix --ext \".js,.jsx,.ts,.tsx\" \"./src\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.21","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^2.6.0","@typescript-eslint/parser":"^2.6.0","eslint":"^6.6.0","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.18.2","reflect-metadata":"^0.1.12","rimraf":"^3.0.0","ts-jest":"^24.0.2","typescript":"^3.1.6"},"_id":"tsyringe@4.9.1","gitHead":"ea8bb50b995ddbb127cb2ba1fb6996197379ca28","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"shasum":"ca8fb10477106ee23e03c45885a6282d6bce1a23","size":26839,"noattachment":false,"key":"/tsyringe/-/tsyringe-4.9.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-4.9.1.tgz"},"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tsyringe_4.9.1_1743639419717_0.9364938585420741"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-04-03T00:16:59.952Z","publish_time":1743639419952,"_source_registry_name":"default","_cnpm_publish_time":1743639419952},"4.8.0":{"name":"tsyringe","version":"4.8.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"yarn clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"yarn lint && jest --config test/jest.config.js","test:inspect":"yarn lint && node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"eslint --ext \".js,.jsx,.ts,.tsx\" \"./src\"","lint:fix":"eslint --fix --ext \".js,.jsx,.ts,.tsx\" \"./src\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.21","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^2.6.0","@typescript-eslint/parser":"^2.6.0","eslint":"^6.6.0","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.18.2","reflect-metadata":"^0.1.12","rimraf":"^3.0.0","ts-jest":"^24.0.2","typescript":"^3.1.6"},"gitHead":"2cd2e00a5fd25308bcf911ca250ded3fe9083af5","_id":"tsyringe@4.8.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"shasum":"d599651b36793ba872870fee4f845bd484a5cac1","size":26933,"noattachment":false,"key":"/tsyringe/-/tsyringe-4.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-4.8.0.tgz"},"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_4.8.0_1687242718049_0.6376329074974014"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-20T06:31:58.260Z","publish_time":1687242718260,"_source_registry_name":"default","_cnpm_publish_time":1687242718260},"4.7.0":{"name":"tsyringe","version":"4.7.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"yarn clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"yarn lint && jest --config test/jest.config.js","test:inspect":"yarn lint && node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"eslint --ext \".js,.jsx,.ts,.tsx\" \"./src\"","lint:fix":"eslint --fix --ext \".js,.jsx,.ts,.tsx\" \"./src\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.21","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^2.6.0","@typescript-eslint/parser":"^2.6.0","eslint":"^6.6.0","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.18.2","reflect-metadata":"^0.1.12","rimraf":"^3.0.0","ts-jest":"^24.0.2","typescript":"^3.1.6"},"gitHead":"986e915515e49febe4f725dfa64e291915f8d0d3","_id":"tsyringe@4.7.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"shasum":"aea0a9d565385deebb6def60cda342b15016f283","size":25768,"noattachment":false,"key":"/tsyringe/-/tsyringe-4.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-4.7.0.tgz"},"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_4.7.0_1653692187153_0.6121998742055328"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-27T22:57:11.889Z","publish_time":1653692187347,"_cnpm_publish_time":1653692187347},"4.6.0":{"name":"tsyringe","version":"4.6.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"yarn clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"yarn lint && jest --config test/jest.config.js","test:inspect":"yarn lint && node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"eslint --ext \".js,.jsx,.ts,.tsx\" \"./src\"","lint:fix":"eslint --fix --ext \".js,.jsx,.ts,.tsx\" \"./src\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.21","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^2.6.0","@typescript-eslint/parser":"^2.6.0","eslint":"^6.6.0","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.18.2","reflect-metadata":"^0.1.12","rimraf":"^3.0.0","ts-jest":"^24.0.2","typescript":"^3.1.6"},"gitHead":"d5149fe9cf4ac634abf2019e7e5403a17e1be355","_id":"tsyringe@4.6.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"shasum":"14915d3d7f0db35e1cf7269bdbf7c440713c8d07","size":24826,"noattachment":false,"key":"/tsyringe/-/tsyringe-4.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-4.6.0.tgz"},"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_4.6.0_1625678942060_0.11813678341036837"},"_hasShrinkwrap":false,"publish_time":1625678942276,"_cnpm_publish_time":1625678942276,"_cnpmcore_publish_time":"2021-12-16T13:12:18.943Z"},"4.5.0":{"name":"tsyringe","version":"4.5.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"yarn clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"yarn lint && jest --config test/jest.config.js","test:inspect":"yarn lint && node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"eslint --ext \".js,.jsx,.ts,.tsx\" \"./src\"","lint:fix":"eslint --fix --ext \".js,.jsx,.ts,.tsx\" \"./src\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.21","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^2.6.0","@typescript-eslint/parser":"^2.6.0","eslint":"^6.6.0","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.18.2","reflect-metadata":"^0.1.12","rimraf":"^3.0.0","ts-jest":"^24.0.2","typescript":"^3.1.6"},"gitHead":"de34cf71127fc28848fa858deaab2ab5e6fff674","_id":"tsyringe@4.5.0","_nodeVersion":"10.24.0","_npmVersion":"6.14.11","dist":{"shasum":"fc88cbab57deac47a2a2033bbca94c96d3c2702a","size":24346,"noattachment":false,"key":"/tsyringe/-/tsyringe-4.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-4.5.0.tgz"},"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_4.5.0_1616536682949_0.9262925910140685"},"_hasShrinkwrap":false,"publish_time":1616536683156,"_cnpm_publish_time":1616536683156,"_cnpmcore_publish_time":"2021-12-16T13:12:19.304Z"},"4.4.0":{"name":"tsyringe","version":"4.4.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"yarn clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"yarn lint && jest --config test/jest.config.js","test:inspect":"yarn lint && node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"eslint --ext \".js,.jsx,.ts,.tsx\" \"./src\"","lint:fix":"eslint --fix --ext \".js,.jsx,.ts,.tsx\" \"./src\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.21","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^2.6.0","@typescript-eslint/parser":"^2.6.0","eslint":"^6.6.0","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.18.2","reflect-metadata":"^0.1.12","rimraf":"^3.0.0","ts-jest":"^24.0.2","typescript":"^3.1.6"},"gitHead":"b06ce422e10e1c75c88be024d59e9cf9da0837d8","_id":"tsyringe@4.4.0","_nodeVersion":"10.23.0","_npmVersion":"6.14.8","dist":{"shasum":"cd8a6866316b4cf643ee5e72c41c8a221ccea73d","size":24340,"noattachment":false,"key":"/tsyringe/-/tsyringe-4.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-4.4.0.tgz"},"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_4.4.0_1604907689678_0.048447634946845675"},"_hasShrinkwrap":false,"publish_time":1604907689928,"_cnpm_publish_time":1604907689928,"_cnpmcore_publish_time":"2021-12-16T13:12:19.582Z"},"4.3.0":{"name":"tsyringe","version":"4.3.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"yarn clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"yarn lint && jest --config test/jest.config.js","test:inspect":"yarn lint && node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"eslint --ext \".js,.jsx,.ts,.tsx\" \"./src\"","lint:fix":"eslint --fix --ext \".js,.jsx,.ts,.tsx\" \"./src\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.21","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^2.6.0","@typescript-eslint/parser":"^2.6.0","eslint":"^6.6.0","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.18.2","reflect-metadata":"^0.1.12","rimraf":"^3.0.0","ts-jest":"^24.0.2","typescript":"^3.1.6"},"gitHead":"02aff7c4ea87214a4734af57af7173c4fd8d9de3","_id":"tsyringe@4.3.0","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"shasum":"50ce2ec56c83569a2dfafb7233a5265a2a10bde4","size":19826,"noattachment":false,"key":"/tsyringe/-/tsyringe-4.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-4.3.0.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_4.3.0_1589746060099_0.17138613668232638"},"_hasShrinkwrap":false,"publish_time":1589746060267,"_cnpm_publish_time":1589746060267,"_cnpmcore_publish_time":"2021-12-16T13:12:19.801Z"},"4.2.0":{"name":"tsyringe","version":"4.2.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"yarn clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"yarn lint && jest --config test/jest.config.js","test:inspect":"yarn lint && node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"eslint --ext \".js,.jsx,.ts,.tsx\" \"./src\"","lint:fix":"eslint --fix --ext \".js,.jsx,.ts,.tsx\" \"./src\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.21","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^2.6.0","@typescript-eslint/parser":"^2.6.0","eslint":"^6.6.0","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.18.2","reflect-metadata":"^0.1.12","rimraf":"^3.0.0","ts-jest":"^24.0.2","typescript":"^3.1.6"},"gitHead":"d29c6437d7edcb45b7cb06e5b1528914da6bf0db","_id":"tsyringe@4.2.0","_nodeVersion":"10.20.1","_npmVersion":"6.14.4","dist":{"shasum":"98aca590e19f02949e63a8e374e77e5c8513d594","size":19733,"noattachment":false,"key":"/tsyringe/-/tsyringe-4.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-4.2.0.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_4.2.0_1588720006968_0.4660280565050907"},"_hasShrinkwrap":false,"publish_time":1588720007110,"_cnpm_publish_time":1588720007110,"_cnpmcore_publish_time":"2021-12-16T13:12:20.030Z"},"4.1.0":{"name":"tsyringe","version":"4.1.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"yarn clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"yarn lint && jest --config test/jest.config.js","test:inspect":"yarn lint && node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"eslint --ext \".js,.jsx,.ts,.tsx\" \"./src\"","lint:fix":"eslint --fix --ext \".js,.jsx,.ts,.tsx\" \"./src\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.21","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^2.6.0","@typescript-eslint/parser":"^2.6.0","eslint":"^6.6.0","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.18.2","reflect-metadata":"^0.1.12","rimraf":"^3.0.0","ts-jest":"^24.0.2","typescript":"^3.1.6"},"gitHead":"7f508449b8df7446c1c59353483bd5643fee3bb3","_id":"tsyringe@4.1.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"shasum":"9a0c34b332dee2173b968fb739d24c4e174d3086","size":21569,"noattachment":false,"key":"/tsyringe/-/tsyringe-4.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-4.1.0.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_4.1.0_1581806818249_0.32331373196687485"},"_hasShrinkwrap":false,"publish_time":1581806818380,"_cnpm_publish_time":1581806818380,"_cnpmcore_publish_time":"2021-12-16T13:12:20.240Z"},"4.0.1":{"name":"tsyringe","version":"4.0.1","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"yarn clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"yarn lint && jest --config test/jest.config.js","test:inspect":"yarn lint && node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"eslint --ext \".js,.jsx,.ts,.tsx\" \"./src\"","lint:fix":"eslint --fix --ext \".js,.jsx,.ts,.tsx\" \"./src\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.21","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^2.6.0","@typescript-eslint/parser":"^2.6.0","eslint":"^6.6.0","eslint-config-prettier":"^6.5.0","eslint-plugin-prettier":"^3.1.1","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.18.2","reflect-metadata":"^0.1.12","rimraf":"^3.0.0","ts-jest":"^24.0.2","typescript":"^3.1.6"},"gitHead":"423794c5b1b39584e98d8be91134bcedb338cebe","_id":"tsyringe@4.0.1","_nodeVersion":"8.10.0","_npmVersion":"6.12.1","dist":{"shasum":"f657d4f697c553dc69a31948a6c66e94447d8cfe","size":16607,"noattachment":false,"key":"/tsyringe/-/tsyringe-4.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-4.0.1.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_4.0.1_1573167984118_0.14214663109968617"},"_hasShrinkwrap":false,"publish_time":1573167984248,"_cnpm_publish_time":1573167984248,"_cnpmcore_publish_time":"2021-12-16T13:12:20.450Z"},"4.0.0":{"name":"tsyringe","version":"4.0.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"yarn clean && yarn build:cjs && yarn build:es5 && yarn build:es2015 && yarn build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"yarn lint && jest --config test/jest.config.js","test:inspect":"yarn lint && node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"eslint --ext \".js,.jsx,.ts,.tsx\" \"./src\"","lint:fix":"eslint --fix --ext \".js,.jsx,.ts,.tsx\" \"./src\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.11","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^2.5.0","@typescript-eslint/parser":"^2.5.0","eslint":"^6.5.1","eslint-config-prettier":"^6.4.0","eslint-plugin-prettier":"^3.1.1","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.18.2","reflect-metadata":"^0.1.12","rimraf":"^2.6.2","ts-jest":"^24.0.2","typescript":"^3.1.6"},"gitHead":"389866358638f7ac2ad06d1934a74e349652b30a","_id":"tsyringe@4.0.0","_nodeVersion":"8.9.1","_npmVersion":"6.9.0","dist":{"shasum":"ab6cde903832201fbaad0b4c9ef79beb549e4370","size":20300,"noattachment":false,"key":"/tsyringe/-/tsyringe-4.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-4.0.0.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_4.0.0_1572728126364_0.8889203779876573"},"_hasShrinkwrap":false,"publish_time":1572728126532,"_cnpm_publish_time":1572728126532,"_cnpmcore_publish_time":"2021-12-16T13:12:20.773Z"},"3.4.0":{"name":"tsyringe","version":"3.4.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"npm run clean && npm run build:cjs && npm run build:es5 && npm run build:es2015 && npm run build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"npm run lint && jest --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"prettier --check \"src/**/*.ts\" && eslint \"**/*.ts\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.11","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^1.6.0","@typescript-eslint/parser":"^1.11.0","eslint":"^5.16.0","eslint-config-prettier":"^4.1.0","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.17.0","reflect-metadata":"^0.1.12","rimraf":"^2.6.2","ts-jest":"^24.0.2","typescript":"^3.1.6"},"gitHead":"0b147988aac24d29d685a5e8139ebf3e67ffdeae","_id":"tsyringe@3.4.0","_nodeVersion":"10.9.0","_npmVersion":"6.9.0","dist":{"shasum":"76c9517b8db6b8fac38bc371694ae6545ee9576e","size":17250,"noattachment":false,"key":"/tsyringe/-/tsyringe-3.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-3.4.0.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmUser":{"name":"meltingmosaic","email":"feldspar@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_3.4.0_1568137330160_0.5860759918690011"},"_hasShrinkwrap":false,"publish_time":1568137330313,"_cnpm_publish_time":1568137330313,"_cnpmcore_publish_time":"2021-12-16T13:12:21.011Z"},"3.3.0":{"name":"tsyringe","version":"3.3.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"npm run clean && npm run build:cjs && npm run build:es5 && npm run build:es2015 && npm run build:types","build:cjs":"tsc","build:es5":"tsc -p ./typescript/tsconfig.esm5.json","build:es2015":"tsc -p ./typescript/tsconfig.esm2015.json","build:types":"tsc -p ./typescript/tsconfig.types.json","clean":"rimraf ./dist","test":"npm run lint && jest --config test/jest.config.js","test:coverage":"jest --config test/jest.config.js --coverage","lint":"prettier --check \"src/**/*.ts\" && eslint \"**/*.ts\""},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^24.0.11","@types/node":"^8.10.16","@typescript-eslint/eslint-plugin":"^1.6.0","@typescript-eslint/parser":"^1.11.0","eslint":"^5.16.0","eslint-config-prettier":"^4.1.0","husky":"^3.0.0","jest":"^24.7.1","prettier":"1.17.0","reflect-metadata":"^0.1.12","rimraf":"^2.6.2","ts-jest":"^24.0.2","typescript":"^3.1.6"},"gitHead":"4da917cd13bb1909592c379b82c1b6205d411c4b","_id":"tsyringe@3.3.0","_npmVersion":"6.4.1","_nodeVersion":"8.15.1","_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"dist":{"shasum":"0845302b1d12121f5451e9e73dfae7bfb9f4f252","size":11398,"noattachment":false,"key":"/tsyringe/-/tsyringe-3.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-3.3.0.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_3.3.0_1562547747147_0.950192609915675"},"_hasShrinkwrap":false,"publish_time":1562547747332,"_cnpm_publish_time":1562547747332,"_cnpmcore_publish_time":"2021-12-16T13:12:21.269Z"},"3.2.0":{"name":"tsyringe","version":"3.2.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"rimraf ./dist && tsc && tsc -p tsconfig.esm5.json && tsc -p tsconfig.esm2015.json && tsc -p tsconfig.types.json","test":"npm run lint && jest","test:coverage":"jest --coverage","lint":"tslint -p ."},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^23.3.9","@types/node":"^8.10.16","husky":"^1.2.0","jest":"^23.6.0","reflect-metadata":"^0.1.12","rimraf":"^2.6.2","ts-jest":"^23.10.5","tslint":"^5.10.0","tslint-eslint-rules":"^5.3.1","typescript":"^3.1.6"},"gitHead":"dbacd5bc6b55ecc44d74dd7484fc73400a676e77","_id":"tsyringe@3.2.0","_nodeVersion":"8.9.1","_npmVersion":"6.9.0","dist":{"shasum":"41378dc23dbed64ec6204f640052e69f7c732891","size":8171,"noattachment":false,"key":"/tsyringe/-/tsyringe-3.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-3.2.0.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_3.2.0_1554924824615_0.6393258566942746"},"_hasShrinkwrap":false,"publish_time":1554924824844,"_cnpm_publish_time":1554924824844,"_cnpmcore_publish_time":"2021-12-16T13:12:21.504Z"},"3.1.1":{"name":"tsyringe","version":"3.1.1","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"rimraf ./dist && tsc && tsc -p tsconfig.esm5.json && tsc -p tsconfig.esm2015.json && tsc -p tsconfig.types.json","test":"npm run lint && jest","test:coverage":"jest --coverage","lint":"tslint -p ."},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^23.3.9","@types/node":"^8.10.16","husky":"^1.2.0","jest":"^23.6.0","reflect-metadata":"^0.1.12","rimraf":"^2.6.2","ts-jest":"^23.10.5","tslint":"^5.10.0","tslint-eslint-rules":"^5.3.1","typescript":"^3.1.6"},"gitHead":"96172ed16f2d0b05cc3d28dc3951e9629aa74ad7","_id":"tsyringe@3.1.1","_nodeVersion":"8.9.1","_npmVersion":"6.9.0","dist":{"shasum":"3462deedbd6de792bf4daea61086607109d5002c","size":8124,"noattachment":false,"key":"/tsyringe/-/tsyringe-3.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-3.1.1.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_3.1.1_1554923419657_0.5362542278518014"},"_hasShrinkwrap":false,"publish_time":1554923419805,"_cnpm_publish_time":1554923419805,"_cnpmcore_publish_time":"2021-12-16T13:12:21.786Z"},"3.0.1":{"name":"tsyringe","version":"3.0.1","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"rimraf ./dist && tsc && tsc -p tsconfig.esm5.json && tsc -p tsconfig.esm2015.json && tsc -p tsconfig.types.json","test":"npm run lint && jest","test:coverage":"jest --coverage","lint":"tslint -p ."},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["dependency injection","dependency","injection","ioc","container","javascript","typescript"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^23.3.9","@types/node":"^8.10.16","husky":"^1.2.0","jest":"^23.6.0","reflect-metadata":"^0.1.12","rimraf":"^2.6.2","ts-jest":"^23.10.5","tslint":"^5.10.0","tslint-eslint-rules":"^5.3.1","typescript":"^3.1.6"},"gitHead":"f226757aec4143806571380e50dbba8748b12fea","_id":"tsyringe@3.0.1","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"dist":{"shasum":"9a91449ca311123c45f11849a96d8c26d31fb889","size":7854,"noattachment":false,"key":"/tsyringe/-/tsyringe-3.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-3.0.1.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_3.0.1_1545872572909_0.6101875238352092"},"_hasShrinkwrap":false,"publish_time":1545872573105,"_cnpm_publish_time":1545872573105,"_cnpmcore_publish_time":"2021-12-16T13:12:22.054Z"},"3.0.0":{"name":"tsyringe","version":"3.0.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/cjs/index.js","module":"./dist/esm5/index.js","es2015":"./dist/esm2015/index.js","typings":"./dist/typings/index.d.ts","scripts":{"build":"rimraf ./dist && tsc && tsc -p tsconfig.esm5.json && tsc -p tsconfig.esm2015.json && tsc -p tsconfig.types.json","test":"npm run lint && jest","test:coverage":"jest --coverage","lint":"tslint -p ."},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["javascript","typescript","dependency","injection","ioc","container"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"tslib":"^1.9.3"},"devDependencies":{"@types/jest":"^23.3.9","@types/node":"^8.10.16","husky":"^1.2.0","jest":"^23.6.0","reflect-metadata":"^0.1.12","rimraf":"^2.6.2","ts-jest":"^23.10.5","tslint":"^5.10.0","tslint-eslint-rules":"^5.3.1","typescript":"^3.1.6"},"gitHead":"4f088f9f0d1be757a04bafa9e632dcfc74a89eb9","_id":"tsyringe@3.0.0","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"dist":{"shasum":"546679c6807448aba5c121de56fd9f702542a64a","size":7850,"noattachment":false,"key":"/tsyringe/-/tsyringe-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-3.0.0.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_3.0.0_1545864544229_0.5666176004813028"},"_hasShrinkwrap":false,"publish_time":1545864544373,"_cnpm_publish_time":1545864544373,"_cnpmcore_publish_time":"2021-12-16T13:12:22.271Z"},"2.2.0":{"name":"tsyringe","version":"2.2.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/index.js","scripts":{"build":"rimraf ./dist && tsc","test":"npm run lint && jest","test:coverage":"jest --coverage","lint":"tslint -p ."},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["javascript","typescript","dependency","injection","ioc","container"],"engines":{"node":">= 6.0.0"},"author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"reflect-metadata":"^0.1.12"},"devDependencies":{"@types/jest":"^23.3.9","@types/node":"^8.10.16","husky":"^1.2.0","jest":"^23.6.0","rimraf":"^2.6.2","ts-jest":"^23.10.5","tslint":"^5.10.0","tslint-eslint-rules":"^5.3.1","typescript":"^3.1.6"},"gitHead":"f7fa42d178fbe195fbdbf8416b63884570e58490","_id":"tsyringe@2.2.0","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"dist":{"shasum":"945273694b64da9daf68bbc24cc92e0b80052171","size":67320,"noattachment":false,"key":"/tsyringe/-/tsyringe-2.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-2.2.0.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_2.2.0_1543960433769_0.7880789316677073"},"_hasShrinkwrap":false,"publish_time":1543960433911,"_cnpm_publish_time":1543960433911,"_cnpmcore_publish_time":"2021-12-16T13:12:22.734Z"},"2.1.2":{"name":"tsyringe","version":"2.1.2","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/index.js","scripts":{"build":"rimraf ./dist ./types && tsc -p ./src","test":"npm run lint && jest","test:coverage":"jest --coverage","lint":"tslint -p src && tslint -p tests"},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["javascript","typescript","dependency","injection","ioc","container"],"engines":{"node":">= 6.0.0"},"types":"types/index.d.ts","author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","dependencies":{"reflect-metadata":"^0.1.12"},"devDependencies":{"@types/jest":"^23.3.9","@types/node":"^8.10.16","husky":"^1.2.0","jest":"^23.6.0","rimraf":"^2.6.2","ts-jest":"^23.10.5","tslint":"^5.10.0","tslint-eslint-rules":"^5.3.1","typescript":"^3.1.6"},"gitHead":"175c4aad42aa6319523c4337bc31577451f5f801","_id":"tsyringe@2.1.2","_npmVersion":"6.1.0","_nodeVersion":"10.4.0","_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"dist":{"shasum":"cf5704b800a975b72d1a98ca5b17a63585dd3111","size":67609,"noattachment":false,"key":"/tsyringe/-/tsyringe-2.1.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-2.1.2.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_2.1.2_1543281172538_0.46625857387627323"},"_hasShrinkwrap":false,"publish_time":1543281172776,"_cnpm_publish_time":1543281172776,"_cnpmcore_publish_time":"2021-12-16T13:12:23.146Z"},"2.1.1":{"name":"tsyringe","version":"2.1.1","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/index.js","scripts":{"build":"rimraf ./dist ./types && tsc -p ./src","test":"npm run lint && jest","test:coverage":"jest --coverage","lint":"tslint -p src && tslint -p tests","prepush":"npm test"},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["javascript","typescript","dependency","injection","ioc","container"],"types":"types/index.d.ts","author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","jest":{"collectCoverageFrom":["src/**/*.ts","tests/**/*.ts"],"coveragePathIgnorePatterns":["/node_modules/","types.ts"],"globals":{"ts-jest":{"tsConfigFile":"tests/tsconfig.json","skipBabel":true}},"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"/tests/.*\\.test\\.tsx?$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"]},"dependencies":{"reflect-metadata":"^0.1.12"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^8.10.16","husky":"^0.14.3","jest":"^22.4.3","rimraf":"^2.6.2","ts-jest":"^22.4.6","tslint":"^5.10.0","tslint-eslint-rules":"^5.3.1","typescript":"^2.8.3"},"gitHead":"ade83b385a0bef3d9971bf7bbcf6e23e79284e83","_id":"tsyringe@2.1.1","_npmVersion":"6.0.1","_nodeVersion":"8.11.2","_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"dist":{"shasum":"d93852d4f61f140548ee469032afddcd7306a7bd","size":6294,"noattachment":false,"key":"/tsyringe/-/tsyringe-2.1.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-2.1.1.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_2.1.1_1526626586978_0.2899254054274292"},"_hasShrinkwrap":false,"publish_time":1526626587104,"_cnpm_publish_time":1526626587104,"_cnpmcore_publish_time":"2021-12-16T13:12:23.395Z"},"2.1.0":{"name":"tsyringe","version":"2.1.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/index.js","scripts":{"build":"rimraf ./dist ./types && tsc -p ./src","test":"npm run lint && jest","test:coverage":"jest --coverage","lint":"tslint -p src && tslint -p tests","prepush":"npm test"},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["javascript","typescript","dependency","injection","ioc","container"],"types":"types/index.d.ts","author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","jest":{"collectCoverageFrom":["src/**/*.ts","tests/**/*.ts"],"coveragePathIgnorePatterns":["/node_modules/","types.ts"],"globals":{"ts-jest":{"tsConfigFile":"tests/tsconfig.json","skipBabel":true}},"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"/tests/.*\\.test\\.tsx?$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"]},"dependencies":{"reflect-metadata":"^0.1.12"},"devDependencies":{"@types/jest":"^22.2.3","@types/node":"^8.10.16","husky":"^0.14.3","jest":"^22.4.3","rimraf":"^2.6.2","ts-jest":"^22.4.6","tslint":"^5.10.0","tslint-eslint-rules":"^5.3.1","typescript":"^2.8.3"},"gitHead":"23d491dfc3b347963db6f9fcf86d1ec402d464a3","_id":"tsyringe@2.1.0","_npmVersion":"6.0.1","_nodeVersion":"8.11.2","_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"dist":{"shasum":"609e61b0d30bc7661394f5c1db25092df05a340d","size":6236,"noattachment":false,"key":"/tsyringe/-/tsyringe-2.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-2.1.0.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_2.1.0_1526625496242_0.49266116887882605"},"_hasShrinkwrap":false,"publish_time":1526625496469,"_cnpm_publish_time":1526625496469,"_cnpmcore_publish_time":"2021-12-16T13:12:23.639Z"},"2.0.1":{"name":"tsyringe","version":"2.0.1","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/index.js","scripts":{"build":"rimraf ./dist ./types && tsc -p ./src","test":"npm run lint && jest","test:coverage":"jest --coverage","lint":"tslint -p src && tslint -p tests","prepush":"npm test"},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["javascript","typescript","dependency","injection","ioc","container"],"types":"types/index.d.ts","author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","jest":{"mapCoverage":true,"collectCoverageFrom":["src/**/*.ts","tests/**/*.ts"],"coveragePathIgnorePatterns":["/node_modules/","types.ts"],"globals":{"ts-jest":{"tsConfigFile":"tests/tsconfig.json","skipBabel":true}},"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"/tests/.*\\.test\\.tsx?$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"]},"dependencies":{"reflect-metadata":"^0.1.10"},"devDependencies":{"@types/jest":"^22.1.2","@types/node":"^8.0.53","husky":"^0.14.3","jest":"^22.2.2","rimraf":"^2.6.2","ts-jest":"^22.0.4","tslint":"^5.9.1","tslint-eslint-rules":"^5.0.0","typescript":"^2.6.1"},"gitHead":"abca68412e572e13ec88e34a8703beeda341a2fb","_id":"tsyringe@2.0.1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"dist":{"shasum":"cba8d971f4ece74f56453786c5f1f8be236800bc","size":6210,"noattachment":false,"key":"/tsyringe/-/tsyringe-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-2.0.1.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_2.0.1_1519177237954_0.4283747788089043"},"_hasShrinkwrap":false,"publish_time":1519177238081,"_cnpm_publish_time":1519177238081,"_cnpmcore_publish_time":"2021-12-16T13:12:23.861Z"},"2.0.0":{"name":"tsyringe","version":"2.0.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/index.js","scripts":{"build":"rimraf ./dist ./types && tsc -p ./src","test":"npm run lint && jest","test:coverage":"jest --coverage","lint":"tslint -p src && tslint -p tests","prepush":"npm test"},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["javascript","typescript","dependency","injection","ioc","container"],"types":"types/index.d.ts","author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","jest":{"mapCoverage":true,"collectCoverageFrom":["src/**/*.ts","tests/**/*.ts"],"coveragePathIgnorePatterns":["/node_modules/","types.ts"],"globals":{"ts-jest":{"tsConfigFile":"tests/tsconfig.json","skipBabel":true}},"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"/tests/.*\\.test\\.tsx?$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"]},"dependencies":{"reflect-metadata":"^0.1.10"},"devDependencies":{"@types/jest":"^22.1.2","@types/node":"^8.0.53","husky":"^0.14.3","jest":"^22.2.2","rimraf":"^2.6.2","ts-jest":"^22.0.4","tslint":"^5.9.1","tslint-eslint-rules":"^5.0.0","typescript":"^2.6.1"},"gitHead":"be2af7b4ac643665d6d218b32f1df33da4f7bae3","_id":"tsyringe@2.0.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"dist":{"shasum":"739da608d0d2f1bd8547b3cc07226c972d85a2a7","size":6312,"noattachment":false,"key":"/tsyringe/-/tsyringe-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-2.0.0.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_2.0.0_1519176407467_0.2338305782617498"},"_hasShrinkwrap":false,"publish_time":1519176407564,"_cnpm_publish_time":1519176407564,"_cnpmcore_publish_time":"2021-12-16T13:12:24.121Z"},"1.0.1":{"name":"tsyringe","version":"1.0.1","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/index.js","scripts":{"build":"rimraf ./dist ./types && tsc -p ./src","test":"jest","test:coverage":"jest --coverage","prepush":"npm test"},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["javascript","typescript","dependency","injection","ioc","container"],"types":"types/index.d.ts","author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","jest":{"mapCoverage":true,"collectCoverageFrom":["src/**/*.ts","tests/**/*.ts"],"coveragePathIgnorePatterns":["/node_modules/","types.ts"],"globals":{"ts-jest":{"tsConfigFile":"tests/tsconfig.json","skipBabel":true}},"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"/tests/.*\\.test\\.tsx?$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"]},"dependencies":{"reflect-metadata":"^0.1.10"},"devDependencies":{"@types/jest":"^22.1.2","@types/node":"^8.0.53","husky":"^0.14.3","jest":"^22.2.2","rimraf":"^2.6.2","ts-jest":"^22.0.4","typescript":"^2.6.1"},"gitHead":"a8e037f25fc6ed8572bb45f6d4656fcbff678fb6","_id":"tsyringe@1.0.1","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"dist":{"shasum":"57b174bda63882d7c576cf4258bf4daad2e0a50c","size":5019,"noattachment":false,"key":"/tsyringe/-/tsyringe-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-1.0.1.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_1.0.1_1518569473312_0.8122202801125094"},"_hasShrinkwrap":false,"publish_time":1518569474123,"_cnpm_publish_time":1518569474123,"_cnpmcore_publish_time":"2021-12-16T13:12:24.336Z"},"1.0.0":{"name":"tsyringe","version":"1.0.0","description":"Lightweight dependency injection container for JavaScript/TypeScript","main":"dist/index.js","scripts":{"build":"rimraf ./dist ./types && tsc -p ./src","test":"jest","test:coverage":"jest --coverage","prepush":"npm test"},"repository":{"type":"git","url":"git+https://github.com/Microsoft/tsyringe.git"},"keywords":["javascript","typescript","dependency","injection","ioc","container"],"types":"types/index.d.ts","author":{"name":"Steven Hobson-Campbell"},"license":"MIT","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"homepage":"https://github.com/Microsoft/tsyringe#readme","jest":{"mapCoverage":true,"collectCoverageFrom":["src/**/*.ts","tests/**/*.ts"],"coveragePathIgnorePatterns":["/node_modules/","types.ts"],"globals":{"ts-jest":{"tsConfigFile":"tests/tsconfig.json","skipBabel":true}},"transform":{"^.+\\.tsx?$":"ts-jest"},"testRegex":"/tests/.*\\.test\\.tsx?$","moduleFileExtensions":["ts","tsx","js","jsx","json","node"]},"dependencies":{"reflect-metadata":"^0.1.10"},"devDependencies":{"@types/jest":"^22.1.2","@types/node":"^8.0.53","husky":"^0.14.3","jest":"^22.2.2","rimraf":"^2.6.2","ts-jest":"^22.0.4","typescript":"^2.6.1"},"gitHead":"f5faddeb110f786bc9989f32654fd29cf412f533","_id":"tsyringe@1.0.0","_npmVersion":"5.4.2","_nodeVersion":"8.7.0","_npmUser":{"name":"xapphire13","email":"xapphire13@live.com"},"dist":{"shasum":"e896405f134599e988215f3a3a4406e0373d0dc2","size":4415,"noattachment":false,"key":"/tsyringe/-/tsyringe-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/tsyringe/download/tsyringe-1.0.0.tgz"},"maintainers":[{"name":"meltingmosaic","email":""},{"name":"xapphire13","email":""}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/tsyringe_1.0.0_1518567730904_0.9023148751432233"},"_hasShrinkwrap":false,"publish_time":1518567731020,"_cnpm_publish_time":1518567731020,"_cnpmcore_publish_time":"2021-12-16T13:12:24.546Z"}},"readme":"[![Travis](https://img.shields.io/travis/Microsoft/tsyringe.svg)](https://travis-ci.org/Microsoft/tsyringe/)\n[![npm](https://img.shields.io/npm/v/tsyringe.svg)](https://www.npmjs.com/package/tsyringe)\n[![npm](https://img.shields.io/npm/dt/tsyringe.svg)](https://www.npmjs.com/package/tsyringe)\n\n# TSyringe\n\nA lightweight dependency injection container for TypeScript/JavaScript for\nconstructor injection.\n\n<!-- TOC depthFrom:1 depthTo:3 -->\n\n- [TSyringe](#tsyringe)\n  - [Installation](#installation)\n- [API](#api)\n  - [Decorators](#decorators)\n    - [injectable()](#injectable)\n    - [singleton()](#singleton)\n    - [autoInjectable()](#autoinjectable)\n    - [inject()](#inject)\n    - [injectAll()](#injectall)\n    - [injectWithTransform()](#injectWithTransform)\n    - [injectAllWithTransform()](#injectAllWithTransform)\n    - [scoped()](#scoped)\n  - [Container](#container)\n    - [Injection Token](#injection-token)\n    - [Providers](#providers)\n    - [Register](#register)\n    - [Registry](#registry)\n    - [Resolution](#resolution)\n    - [IsRegistered](#isregistered)\n    - [Interception](#interception)\n    - [Child Containers](#child-containers)\n    - [Clearing Instances](#clearing-instances)\n- [Circular dependencies](#circular-dependencies)\n  - [The `delay` helper function](#the-delay-helper-function)\n  - [Interfaces and circular dependencies](#interfaces-and-circular-dependencies)\n- [Disposable instances](#disposable-instances)\n- [Full examples](#full-examples)\n  - [Example without interfaces](#example-without-interfaces)\n  - [Example with interfaces](#example-with-interfaces)\n  - [Injecting primitive values (Named injection)](#injecting-primitive-values-named-injection)\n- [Non goals](#non-goals)\n- [Contributing](#contributing)\n\n<!-- /TOC -->\n\n## Installation\n\nInstall by `npm`\n\n```sh\nnpm install --save tsyringe\n```\n\n**or** install with `yarn` (this project is developed using `yarn`)\n\n```sh\nyarn add tsyringe\n```\n\nModify your `tsconfig.json` to include the following settings\n\n```json\n{\n  \"compilerOptions\": {\n    \"experimentalDecorators\": true,\n    \"emitDecoratorMetadata\": true\n  }\n}\n```\n\nAdd a polyfill for the Reflect API (examples below use reflect-metadata). You can use:\n\n- [reflect-metadata](https://www.npmjs.com/package/reflect-metadata)\n- [core-js (core-js/es7/reflect)](https://www.npmjs.com/package/core-js)\n- [reflection](https://www.npmjs.com/package/@abraham/reflection)\n\nThe Reflect polyfill import should only be added once, and before DI is used:\n\n```typescript\n// main.ts\nimport \"reflect-metadata\";\n\n// Your code here...\n```\n\n### Babel\n\nIf you're using Babel (e.g. using React Native), you will need to configure it to emit TypeScript metadata.\n\nFirst get the Babel plugin\n\n#### Yarn\n\n```\nyarn add --dev babel-plugin-transform-typescript-metadata\n```\n\n#### npm\n\n```\nnpm install --save-dev babel-plugin-transform-typescript-metadata\n```\n\nThen add it to your Babel config\n\n```\nplugins: [\n            'babel-plugin-transform-typescript-metadata',\n            /* ...the rest of your config... */\n         ]\n```\n\n# API\n\nTSyringe performs [Constructor Injection](https://en.wikipedia.org/wiki/Dependency_injection#Constructor_injection)\non the constructors of decorated classes.\n\n## Decorators\n\n### injectable()\n\nClass decorator factory that allows the class' dependencies to be injected at\nruntime. TSyringe relies on several decorators in order to collect metadata about classes\nto be instantiated.\n\n#### Usage\n\n```typescript\nimport {injectable} from \"tsyringe\";\n\n@injectable()\nclass Foo {\n  constructor(private database: Database) {}\n}\n\n// some other file\nimport \"reflect-metadata\";\nimport {container} from \"tsyringe\";\nimport {Foo} from \"./foo\";\n\nconst instance = container.resolve(Foo);\n```\n\n### singleton()\n\nClass decorator factory that registers the class as a singleton within the\nglobal container.\n\n#### Usage\n\n```typescript\nimport {singleton} from \"tsyringe\";\n\n@singleton()\nclass Foo {\n  constructor() {}\n}\n\n// some other file\nimport \"reflect-metadata\";\nimport {container} from \"tsyringe\";\nimport {Foo} from \"./foo\";\n\nconst instance = container.resolve(Foo);\n```\n\n### autoInjectable()\n\nClass decorator factory that replaces the decorated class' constructor with\na parameterless constructor that has dependencies auto-resolved.\n\n**Note** Resolution is performed using the global container.\n\n#### Usage\n\n```typescript\nimport {autoInjectable} from \"tsyringe\";\n\n@autoInjectable()\nclass Foo {\n  constructor(private database?: Database) {}\n}\n\n// some other file\nimport {Foo} from \"./foo\";\n\nconst instance = new Foo();\n```\n\nNotice how in order to allow the use of the empty constructor `new Foo()`, we\nneed to make the parameters optional, e.g. `database?: Database`.\n\n### inject()\n\nParameter decorator factory that allows for interface and other non-class\ninformation to be stored in the constructor's metadata.\n\n#### Usage\n\n```typescript\nimport {injectable, inject} from \"tsyringe\";\n\ninterface Database {\n  // ...\n}\n\n@injectable()\nclass Foo {\n  constructor(@inject(\"Database\") private database?: Database) {}\n}\n```\n\n#### Optional\nBy default, `@inject()` throws an exception if no registration is found. If you want to have `undefined` injected when the registration isn't found, you can pass this options `{ isOptional: true }` as the second parameter:\n\n```typescript\nimport {injectable, injectAll} from \"tsyringe\";\n\n@injectable()\nclass Foo {\n  constructor(@inject(\"Database\", { isOptional: true }) private database?: Database) {}\n}\n```\n\n### injectAll()\n\nParameter decorator for array parameters where the array contents will come from the container.\nIt will inject an array using the specified injection token to resolve the values.\n\n#### Usage\n\n```typescript\nimport {injectable, injectAll} from \"tsyringe\";\n\n@injectable()\nclass Foo {}\n\n@injectable()\nclass Bar {\n  constructor(@injectAll(Foo) fooArray: Foo[]) {\n    // ...\n  }\n}\n```\n\n#### Optional\nBy default, `@injectAll()` throws an exception if no registrations were found. If you want to return an empty array, you can pass this options `{ isOptional: true }` as the second parameter:\n\n```typescript\nimport {injectable, injectAll} from \"tsyringe\";\n\n@injectable()\nclass Bar {\n  constructor(@injectAll(Foo, { isOptional: true }) fooArray: Foo[]) {\n    // ...\n  }\n}\n```\n\n### injectWithTransform()\n\nParameter decorator which allows for a transformer object to take an action on the resolved object\nbefore returning the result.\n\n```typescript\nclass FeatureFlags {\n  public getFlagValue(flagName: string): boolean {\n    // ...\n  }\n}\n\nclass Foo() {}\n\nclass FeatureFlagsTransformer implements Transform<FeatureFlags, boolean> {\n  public transform(flags: FeatureFlags, flag: string) {\n    return flags.getFlagValue(flag);\n  }\n}\n\n@injectable()\nclass MyComponent(foo: Foo, @injectWithTransform(FeatureFlags, FeatureFlagsTransformer, \"IsBlahEnabled\") blahEnabled: boolean){\n  // ...\n}\n```\n\n### injectAllWithTransform()\n\nThis parameter decorator allows for array contents to be passed through a transformer. The transformer can return any type, so this\ncan be used to map or fold an array.\n\n```typescript\n@injectable()\nclass Foo {\n  public value;\n}\n\nclass FooTransform implements Transform<Foo[], string[]>{\n  public transform(foos: Foo[]): string[]{\n    return foos.map(f => f.value));\n  }\n}\n\n@injectable()\nclass Bar {\n  constructor(@injectAllWithTransform(Foo, FooTransform) stringArray: string[]) {\n    // ...\n  }\n}\n```\n\n### scoped()\n\nClass decorator factory that registers the class as a scoped dependency within the global container.\n\n#### Available scopes\n\n- Transient\n  - The **default** registration scope, a new instance will be created with each resolve\n- Singleton\n  - Each resolve will return the same instance (including resolves from child containers)\n- ResolutionScoped\n  - The same instance will be resolved for each resolution of this dependency during a single\n    resolution chain\n- ContainerScoped\n  - The dependency container will return the same instance each time a resolution for this dependency\n    is requested. This is similar to being a singleton, however if a child container is made, that child\n    container will resolve an instance unique to it.\n\n#### Usage\n\n```typescript\n@scoped(Lifecycle.ContainerScoped)\nclass Foo {}\n```\n\n## Container\n\nThe general principle behind [Inversion of Control](https://en.wikipedia.org/wiki/Inversion_of_control) (IoC) containers\nis you give the container a _token_, and in exchange you get an instance/value. Our container automatically figures out the tokens most of the time, with 2 major exceptions, interfaces and non-class types, which require the `@inject()` decorator to be used on the constructor parameter to be injected (see above).\n\nIn order for your decorated classes to be used, they need to be registered with the container. Registrations take the\nform of a Token/Provider pair, so we need to take a brief diversion to discuss tokens and providers.\n\n### Injection Token\n\nA token may be either a string, a symbol, a class constructor, or a instance of [`DelayedConstructor`](#circular-dependencies).\n\n```typescript\ntype InjectionToken<T = any> =\n  | constructor<T>\n  | DelayedConstructor<T>\n  | string\n  | symbol;\n```\n\n### Providers\n\nOur container has the notion of a _provider_. A provider is registered with the DI\ncontainer and provides the container the information\nneeded to resolve an instance for a given token. In our implementation, we have the following 4\nprovider types:\n\n#### Class Provider\n\n```TypeScript\n{\n  token: InjectionToken<T>;\n  useClass: constructor<T>;\n}\n```\n\nThis provider is used to resolve classes by their constructor. When registering a class provider\nyou can simply use the constructor itself, unless of course you're making an alias (a\nclass provider where the token isn't the class itself).\n\n#### Value Provider\n\n```TypeScript\n{\n  token: InjectionToken<T>;\n  useValue: T\n}\n```\n\nThis provider is used to resolve a token to a given value. This is useful for registering\nconstants, or things that have a already been instantiated in a particular way.\n\n#### Factory provider\n\n```TypeScript\n{\n  token: InjectionToken<T>;\n  useFactory: FactoryFunction<T>;\n}\n```\n\nThis provider is used to resolve a token using a given factory. The factory has full access\nto the dependency container.\n\nWe have provided 2 factories for you to use, though any function that matches the `FactoryFunction<T>` signature\ncan be used as a factory:\n\n```typescript\ntype FactoryFunction<T> = (dependencyContainer: DependencyContainer) => T;\n```\n\n##### instanceCachingFactory\n\nThis factory is used to lazy construct an object and cache result, returning the single instance for each subsequent\nresolution. This is very similar to `@singleton()`\n\n```typescript\nimport {instanceCachingFactory} from \"tsyringe\";\n\n{\n  token: \"SingletonFoo\";\n  useFactory: instanceCachingFactory<Foo>(c => c.resolve(Foo));\n}\n```\n\n##### instancePerContainerCachingFactory\n\nThis factory is used to lazy construct an object and cache result per `DependencyContainer`, returning the single instance for each subsequent\nresolution from a single container. This is very similar to `@scoped(Lifecycle.ContainerScoped)`\n\n```typescript\nimport {instancePerContainerCachingFactory} from \"tsyringe\";\n\n{\n  token: \"ContainerScopedFoo\";\n  useFactory: instancePerContainerCachingFactory<Foo>(c => c.resolve(Foo));\n}\n```\n\n##### predicateAwareClassFactory\n\nThis factory is used to provide conditional behavior upon resolution. It caches the result by default, but\nhas an optional parameter to resolve fresh each time.\n\n```typescript\nimport {predicateAwareClassFactory} from \"tsyringe\";\n\n{\n  token: \"FooHttp\",\n  useFactory: predicateAwareClassFactory<Foo>(\n    c => c.resolve(Bar).useHttps, // Predicate for evaluation\n    FooHttps, // A FooHttps will be resolved from the container if predicate is true\n    FooHttp // A FooHttp will be resolved if predicate is false\n  );\n}\n```\n\n#### Token Provider\n\n```TypeScript\n{\n  token: InjectionToken<T>;\n  useToken: InjectionToken<T>;\n}\n```\n\nThis provider can be thought of as a redirect or an alias, it simply states that given token _x_,\nresolve using token _y_.\n\n### Register\n\nThe normal way to achieve this is to add `DependencyContainer.register()` statements somewhere\nin your program some time before your first decorated class is instantiated.\n\n```typescript\ncontainer.register<Foo>(Foo, {useClass: Foo});\ncontainer.register<Bar>(Bar, {useValue: new Bar()});\ncontainer.register<Baz>(\"MyBaz\", {useValue: new Baz()});\n```\n\n#### Registration options\n\nAs an optional parameter to `.register()` you may provide [`RegistrationOptions`](./src/types/registration-options.ts)\nwhich customize how the registration behaves. See the linked source code for up to date documentation\non available options.\n\n### Registry\n\nYou can also mark up any class with the `@registry()` decorator to have the given providers registered\nupon importing the marked up class. `@registry()` takes an array of providers like so:\n\n```TypeScript\n@registry([\n  { token: Foobar, useClass: Foobar },\n  { token: \"theirClass\", useFactory: (c) => {\n       return new TheirClass( \"arg\" )\n    },\n  }\n])\nclass MyClass {}\n```\n\nThis is useful when you want to [register multiple classes for the same token](#register).\nYou can also use it to register and declare objects that wouldn't be imported by anything else,\nsuch as more classes annotated with `@registry` or that are otherwise responsible for registering objects.\nLastly you might choose to use this to register 3rd party instances instead of the `container.register(...)` method.\nnote: if you want this class to be `@injectable` you must put the decorator before `@registry`, this annotation is not\nrequired though.\n\n### Resolution\n\nResolution is the process of exchanging a token for an instance. Our container will recursively fulfill the\ndependencies of the token being resolved in order to return a fully constructed object.\n\nThe typical way that an object is resolved is from the container using `resolve()`.\n\n```typescript\nconst myFoo = container.resolve(Foo);\nconst myBar = container.resolve<Bar>(\"Bar\");\n```\n\nYou can also resolve all instances registered against a given token with `resolveAll()`.\n\n```typescript\ninterface Bar {}\n\n@injectable()\nclass Foo implements Bar {}\n@injectable()\nclass Baz implements Bar {}\n\n@registry([\n  // registry is optional, all you need is to use the same token when registering\n  {token: \"Bar\", useToken: Foo}, // can be any provider\n  {token: \"Bar\", useToken: Baz}\n])\nclass MyRegistry {}\n\nconst myBars = container.resolveAll<Bar>(\"Bar\"); // myBars type is Bar[]\n```\n\nYou can also add one or more `InjectionToken` to the registration of your class directly in the `@injectable()` decorator:\n\n```typescript\ninterface Bar {}\n\n@injectable({token: \"Bar\"})\nclass Foo implements Bar {}\n@injectable({token: [\"Bar\", \"Bar2\"]})\nclass Baz implements Bar {}\n\nclass MyRegistry {}\n\nconst myBars = container.resolveAll<Bar>(\"Bar\"); // myBars type is Bar[], contains 2 instances\nconst myBars2 = container.resolveAll<Bar>(\"Bar2\"); // myBars2 type is Bar[], contains 1 instance\n```\n\n### IsRegistered\nYou can check if a token is registered in the container using `isRegistered()`.\n\n```typescript\nconst isRegistered = container.isRegistered(\"Bar\"); // true\n```\n\nIf you have a childContainer and want to recursively check if a token is registered in the parent container, you can pass `true` as a second parameter of `isRegistered()`.\n\n```typescript\nclass Bar {}\n\ncontainer.register(Bar, {useClass: Bar});\n\nconst childContainer = container.createChildContainer();\nchildContainer.isRegistered(Bar); // false\nchildContainer.isRegistered(Bar, true); // true\n```\n\n### Interception\n\nInterception allows you to register a callback that will be called before or after the resolution of a specific token.\nThis callback can be registered to execute only once (to perform initialization, for example),\non each resolution to do logging, for example.\n\n`beforeResolution` is used to take an action before an object is resolved.\n\n```typescript\nclass Bar {}\n\ncontainer.beforeResolution(\n  Bar,\n  // Callback signature is (token: InjectionToken<T>, resolutionType: ResolutionType) => void\n  () => {\n    console.log(\"Bar is about to be resolved!\");\n  },\n  {frequency: \"Always\"}\n);\n```\n\n`afterResolution` is used to take an action after the object has been resolved.\n\n```typescript\nclass Bar {\n  public init(): void {\n    // ...\n  }\n}\n\ncontainer.afterResolution(\n  Bar,\n  // Callback signature is (token: InjectionToken<T>, result: T | T[], resolutionType: ResolutionType)\n  (_t, result) => {\n    result.init();\n  },\n  {frequency: \"Once\"}\n);\n```\n\n### Child Containers\n\nIf you need to have multiple containers that have disparate sets of registrations, you can create child containers:\n\n```typescript\nconst childContainer1 = container.createChildContainer();\nconst childContainer2 = container.createChildContainer();\nconst grandChildContainer = childContainer1.createChildContainer();\n```\n\nEach of the child containers will have independent registrations, but if a registration is absent in the child container at resolution, the token will be resolved from the parent. This allows for a set of common services to be registered at the root, with specialized services registered on the child. This can be useful, for example, if you wish to create per-request containers that use common stateless services from the root container.\n\n### Clearing Instances\n\nThe `container.clearInstances()` method allows you to clear all previously created and registered instances:\n\n```typescript\nclass Foo {}\n@singleton()\nclass Bar {}\n\nconst myFoo = new Foo();\ncontainer.registerInstance(\"Test\", myFoo);\nconst myBar = container.resolve(Bar);\n\ncontainer.clearInstances();\n\ncontainer.resolve(\"Test\"); // throws error\nconst myBar2 = container.resolve(Bar); // myBar !== myBar2\nconst myBar3 = container.resolve(Bar); // myBar2 === myBar3\n```\n\nUnlike with `container.reset()`, the registrations themselves are not cleared.\nThis is especially useful for testing:\n\n```typescript\n@singleton()\nclass Foo {}\n\nbeforeEach(() => {\n  container.clearInstances();\n});\n\ntest(\"something\", () => {\n  container.resolve(Foo); // will be a new singleton instance in every test\n});\n```\n\n# Circular dependencies\n\nSometimes you need to inject services that have cyclic dependencies between them. As an example:\n\n```typescript\n@injectable()\nexport class Foo {\n  constructor(public bar: Bar) {}\n}\n\n@injectable()\nexport class Bar {\n  constructor(public foo: Foo) {}\n}\n```\n\nTrying to resolve one of the services will end in an error because always one of the constructor will not be fully defined to construct the other one.\n\n```typescript\ncontainer.resolve(Foo);\n```\n\n```\nError: Cannot inject the dependency at position #0 of \"Foo\" constructor. Reason:\n    Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.\n```\n\n### The `delay` helper function\n\nThe best way to deal with this situation is to do some kind of refactor to avoid the cyclic dependencies. Usually this implies introducing additional services to cut the cycles.\n\nBut when refactor is not an option you can use the `delay` function helper. The `delay` function wraps the constructor in an instance of `DelayedConstructor`.\n\nThe _delayed constructor_ is a kind of special `InjectionToken` that will eventually be evaluated to construct an intermediate proxy object wrapping a factory for the real object.\n\nWhen the proxy object is used for the first time it will construct a real object using this factory and any usage will be forwarded to the real object.\n\n```typescript\n@injectable()\nexport class Foo {\n  constructor(@inject(delay(() => Bar)) public bar: Bar) {}\n}\n\n@injectable()\nexport class Bar {\n  constructor(@inject(delay(() => Foo)) public foo: Foo) {}\n}\n\n// construction of foo is possible\nconst foo = container.resolve(Foo);\n\n// property bar will hold a proxy that looks and acts as a real Bar instance.\nfoo.bar instanceof Bar; // true\n```\n\n### Interfaces and circular dependencies\n\nWe can rest in the fact that a `DelayedConstructor` could be used in the same contexts that a constructor and will be handled transparently by tsyringe. Such idea is used in the next example involving interfaces:\n\n```typescript\nexport interface IFoo {}\n\n@injectable()\n@registry([\n  {\n    token: \"IBar\",\n    // `DelayedConstructor` of Bar will be the token\n    useToken: delay(() => Bar)\n  }\n])\nexport class Foo implements IFoo {\n  constructor(@inject(\"IBar\") public bar: IBar) {}\n}\nexport interface IBar {}\n\n@injectable()\n@registry([\n  {\n    token: \"IFoo\",\n    useToken: delay(() => Foo)\n  }\n])\nexport class Bar implements IBar {\n  constructor(@inject(\"IFoo\") public foo: IFoo) {}\n}\n```\n\n# Disposable instances\nAll instances created by the container that implement the [`Disposable`](./src/types/disposable.ts)\ninterface will automatically be disposed of when the container is disposed.\n\n```typescript\ncontainer.dispose();\n```\n\nor to await all asynchronous disposals:\n\n```typescript\nawait container.dispose();\n```\n\n# Full examples\n\n## Example without interfaces\n\nSince classes have type information at runtime, we can resolve them without any\nextra information.\n\n```typescript\n// Foo.ts\nexport class Foo {}\n```\n\n```typescript\n// Bar.ts\nimport {Foo} from \"./Foo\";\nimport {injectable} from \"tsyringe\";\n\n@injectable()\nexport class Bar {\n  constructor(public myFoo: Foo) {}\n}\n```\n\n```typescript\n// main.ts\nimport \"reflect-metadata\";\nimport {container} from \"tsyringe\";\nimport {Bar} from \"./Bar\";\n\nconst myBar = container.resolve(Bar);\n// myBar.myFoo => An instance of Foo\n```\n\n## Example with interfaces\n\nInterfaces don't have type information at runtime, so we need to decorate them\nwith `@inject(...)` so the container knows how to resolve them.\n\n```typescript\n// SuperService.ts\nexport interface SuperService {\n  // ...\n}\n```\n\n```typescript\n// TestService.ts\nimport {SuperService} from \"./SuperService\";\nexport class TestService implements SuperService {\n  //...\n}\n```\n\n```typescript\n// Client.ts\nimport {injectable, inject} from \"tsyringe\";\n\n@injectable()\nexport class Client {\n  constructor(@inject(\"SuperService\") private service: SuperService) {}\n}\n```\n\n```typescript\n// main.ts\nimport \"reflect-metadata\";\nimport {Client} from \"./Client\";\nimport {TestService} from \"./TestService\";\nimport {container} from \"tsyringe\";\n\ncontainer.register(\"SuperService\", {\n  useClass: TestService\n});\n\nconst client = container.resolve(Client);\n// client's dependencies will have been resolved\n```\n\n## Injecting primitive values (Named injection)\n\nPrimitive values can also be injected by utilizing named injection\n\n```typescript\nimport {singleton, inject} from \"tsyringe\";\n\n@singleton()\nclass Foo {\n  private str: string;\n  constructor(@inject(\"SpecialString\") value: string) {\n    this.str = value;\n  }\n}\n\n// some other file\nimport \"reflect-metadata\";\nimport {container} from \"tsyringe\";\nimport {Foo} from \"./foo\";\n\nconst str = \"test\";\ncontainer.register(\"SpecialString\", {useValue: str});\n\nconst instance = container.resolve(Foo);\n```\n\n# Non goals\n\nThe following is a list of features we explicitly plan on not adding:\n\n- Property Injection\n\n# How to release\nThe library uses the step action `EndBug/version-check` which requires these two conditions to be met to execute:\n\n1. Have a commit named: `Release X.Y.Z`\n2. In the commit, have a version change in the `package.json` file.\n\n# Contributing\n\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit [https://cla.microsoft.com](https://cla.microsoft.com).\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n","_attachments":{},"homepage":"https://github.com/Microsoft/tsyringe#readme","bugs":{"url":"https://github.com/Microsoft/tsyringe/issues"},"license":"MIT"}