{"_id":"@spirex/di","_rev":"29-741197e5c453249dadd8b6f296b2adff","name":"@spirex/di","dist-tags":{"alpha":"1.0.0-alpha.6","latest":"1.3.0"},"versions":{"0.0.1":{"name":"@spirex/di","version":"0.0.1","keywords":["node","javascript","js","typescript","ts","ioc","inversion of control","di","dependency injection"],"author":{"url":"https://github.com/SpireX64","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@0.0.1","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spx-di#readme","bugs":{"url":"https://github.com/SpireX64/spx-di/issues"},"dist":{"shasum":"239006d43e7c13cbea02d2e422d79e158f5c3ced","tarball":"https://registry.npmjs.org/@spirex/di/-/di-0.0.1.tgz","fileCount":80,"integrity":"sha512-8cdavQ9nWFWfDTXSQFeM9lNfafkt9xTRP2GI+OSFEPbOWYeYZdA4YMXE/M9OrUnEpBgSQlvSmmREfs0CNzZaJw==","signatures":[{"sig":"MEUCIBOI/RJ57/1Wf2dxmc0BFNqdurrubwmQlBoLwHuYfjXEAiEArb3UihoYvPhsY1Y39lIow+DqhnjCzI6urFgpTvHvf80=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":265891},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"6b086e79b43c526cedfdb63016315f9fb007d48e","private":false,"scripts":{"test":"jest","build":"yarn run build:lib && yarn run build:es && yarn run build:es6 && yarn run build:amd","clean":"rm -r lib es es6 amd","build:es":"tsc -p ./src/tsconfig.es.json","build:amd":"tsc -p ./src/tsconfig.amd.json","build:es6":"tsc -p ./src/tsconfig.es6.json","build:lib":"tsc -p ./src/tsconfig.json"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"deprecated":"this package has been deprecated","repository":{"url":"git+https://github.com/SpireX64/spx-di.git","type":"git"},"_npmVersion":"8.11.0","description":"Dependency injection library for JS/TS projects","directories":{},"jsnext:main":"es/index.js","_nodeVersion":"16.16.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","ts-jest":"^29.0.5","typescript":"^4.9.5","@types/jest":"^29.4.0"},"_npmOperationalInternal":{"tmp":"tmp/di_0.0.1_1684620927102_0.35091036468722914","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@spirex/di","version":"0.0.2","keywords":["node","javascript","js","typescript","ts","ioc","inversion of control","di","dependency injection"],"author":{"url":"https://github.com/SpireX64","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@0.0.2","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spx-di#readme","bugs":{"url":"https://github.com/SpireX64/spx-di/issues"},"dist":{"shasum":"a92fa3b948501684179476d6007028eb6fd51075","tarball":"https://registry.npmjs.org/@spirex/di/-/di-0.0.2.tgz","fileCount":80,"integrity":"sha512-eOkXs3ZXn9QuJH2DE4PknAKZGwLdzn7m6TLp46MH4AweJ9Lupi2hOFURXl5DP32A3JgPo2RiWFKnaVXU7c9uFw==","signatures":[{"sig":"MEUCIFFGNI6nEExgzJb24okQ2SrVYf5SiQp4kGlI6CzzT4wZAiEAqBwQgED74+N2p4YnIVtDh/PIzvoWmf+4U1a/XneKX48=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":265403},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"de35e82aabc667217733edbac1759acc8a4948bd","private":false,"scripts":{"test":"jest","build":"yarn run build:lib && yarn run build:es && yarn run build:es6 && yarn run build:amd","clean":"rm -r lib es es6 amd","build:es":"tsc -p ./src/tsconfig.es.json","build:amd":"tsc -p ./src/tsconfig.amd.json","build:es6":"tsc -p ./src/tsconfig.es6.json","build:lib":"tsc -p ./src/tsconfig.json"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"deprecated":"this package has been deprecated","repository":{"url":"git+https://github.com/SpireX64/spx-di.git","type":"git"},"_npmVersion":"6.14.12","description":"Dependency injection library for JS/TS projects","directories":{},"jsnext:main":"es/index.js","_nodeVersion":"10.24.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","ts-jest":"^29.0.5","typescript":"^4.9.5","@types/jest":"^29.4.0"},"_npmOperationalInternal":{"tmp":"tmp/di_0.0.2_1685124957177_0.722265403301457","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@spirex/di","version":"0.0.4","keywords":["node","javascript","js","typescript","ts","ioc","inversion of control","di","dependency injection"],"author":{"url":"https://github.com/SpireX64","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@0.0.4","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spx-di#readme","bugs":{"url":"https://github.com/SpireX64/spx-di/issues"},"dist":{"shasum":"6862552acd47ad3aff333661d66ed3e304c5e51c","tarball":"https://registry.npmjs.org/@spirex/di/-/di-0.0.4.tgz","fileCount":80,"integrity":"sha512-P692p2s5VAtmQNvA+e597Ovk78XzISgtC3vmxFuHzq7TlNtmLkIBakDnUBDUm+FZGLNDNYZhsJJH3rwR4SwewA==","signatures":[{"sig":"MEUCIQC0/QGzawhQ9DGhxhVAlEeS8xc93NuqFJuRfsUMczSKyAIgOV/ORJ/tS1QTbluBnGWWEkAc2H1qvhmWeyF/rYWbKb4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":268859},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"219dfbf85f5f658cb83b57237def242958e14286","private":false,"scripts":{"test":"jest","build":"yarn run build:lib && yarn run build:es && yarn run build:es6 && yarn run build:amd","clean":"rm -r lib es es6 amd","build:es":"tsc -p ./src/tsconfig.es.json","build:amd":"tsc -p ./src/tsconfig.amd.json","build:es6":"tsc -p ./src/tsconfig.es6.json","build:lib":"tsc -p ./src/tsconfig.json"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"deprecated":"this package has been deprecated","repository":{"url":"git+https://github.com/SpireX64/spx-di.git","type":"git"},"_npmVersion":"6.14.12","description":"Dependency injection library for JS/TS projects","directories":{},"jsnext:main":"es/index.js","_nodeVersion":"10.24.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.4.3","ts-jest":"^29.0.5","typescript":"^4.9.5","@types/jest":"^29.4.0"},"_npmOperationalInternal":{"tmp":"tmp/di_0.0.4_1686067927196_0.6695054349913219","host":"s3://npm-registry-packages"}},"1.0.0-alpha":{"name":"@spirex/di","version":"1.0.0-alpha","keywords":["di","dependency","injection","typescript","javascript","ioc","container","lifecycle","binding","singleton","scope","module","dynamic","factory","service","resolver","lazy","injector","flexible","modern","powerful","spirex"],"author":{"url":"SpireX","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@1.0.0-alpha","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spirex-di","dist":{"shasum":"2acb71253cde8d30becfed0d8ff183f772a73191","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.0.0-alpha.tgz","fileCount":38,"integrity":"sha512-gqvRn8bDXn14a1taw9ka2iyoyeUAM7ISFRFmyWCFH0qH0Mhu4O2Gjiydbitj6pEyou3h/FmP9oVALhoDJEQ10Q==","signatures":[{"sig":"MEYCIQCIA4+xs2oR2BH0yPzqgor5Q2StqoxxAGRa4IxEkrlyTAIhAJWhuphSHdWH1QL5vYsfpW0QLAPJm/A0lckNH+C4gxop","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69926},"main":"build/index.js","module":"build/index.mjs","exports":{".":{"import":{"default":"./build/index.mjs"},"default":{"default":"./build/index.js"},"require":{"default":"./build/index.cjs"}}},"private":false,"scripts":{"test":"jest","build":"rollup --config --environment NODE_ENV:development","test:c":"jest --coverage","build:release":"rollup --config --environment NODE_ENV:production"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"deprecated":"this package has been deprecated","repository":{"url":"https://github.com/SpireX64/spirex-di","type":"git"},"description":"Powerful and highly flexible dependency injection (DI) library designed for modern JavaScript and TypeScript applications","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Artem Sobolenkov (SpireX)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"*","tslib":"*","eslint":"*","rollup":"*","ts-jest":"*","prettier":"*","typescript":"*","@types/jest":"*","rollup-plugin-terser":"*","@rollup/plugin-typescript":"*"},"_npmOperationalInternal":{"tmp":"tmp/di_1.0.0-alpha_1743123028452_0.5046046551322525","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.1":{"name":"@spirex/di","version":"1.0.0-alpha.1","keywords":["di","dependency","injection","typescript","javascript","ioc","container","lifecycle","binding","singleton","scope","module","dynamic","factory","service","resolver","lazy","injector","flexible","modern","powerful","spirex"],"author":{"url":"SpireX","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@1.0.0-alpha.1","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spirex-di","dist":{"shasum":"b56e1e3cd9ca3cb001349faedcec11b73fa14089","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.0.0-alpha.1.tgz","fileCount":38,"integrity":"sha512-CmcQocKhk8IN5vOY217AU8gkqKAS/Yw+C6vuB0X6ZHNBkRbKj5veaNNTZMoP2KFVRpgra8a65HacexL1uHXJaA==","signatures":[{"sig":"MEYCIQCtYPkscPgDGXf8KDahUPqsCArcqH1oAasWTvRsrAEYgQIhALjXXOjF1n9o60nKREUKmcC+EYDA6hdEPSAcsN1VTBXg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71353},"main":"build/index.js","module":"build/index.mjs","exports":{".":{"import":{"default":"./build/index.mjs"},"default":{"default":"./build/index.js"},"require":{"default":"./build/index.cjs"}}},"private":false,"scripts":{"test":"jest","build":"rollup --config --environment NODE_ENV:development","test:c":"jest --coverage","build:release":"rollup --config --environment NODE_ENV:production"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"deprecated":"this package has been deprecated","repository":{"url":"https://github.com/SpireX64/spirex-di","type":"git"},"description":"Powerful and highly flexible dependency injection (DI) library designed for modern JavaScript and TypeScript applications","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Artem Sobolenkov (SpireX)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"*","tslib":"*","eslint":"*","rollup":"*","ts-jest":"*","prettier":"*","typescript":"*","@types/jest":"*","rollup-plugin-terser":"*","@rollup/plugin-typescript":"*"},"_npmOperationalInternal":{"tmp":"tmp/di_1.0.0-alpha.1_1743156200229_0.8167250714501413","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.2":{"name":"@spirex/di","version":"1.0.0-alpha.2","keywords":["di","dependency","injection","typescript","javascript","ioc","container","lifecycle","binding","singleton","scope","module","dynamic","factory","service","resolver","lazy","injector","flexible","modern","powerful","spirex"],"author":{"url":"SpireX","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@1.0.0-alpha.2","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spirex-di","dist":{"shasum":"1006ac3c2f005a1a8c408c0a5285ca4f54b1ef36","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.0.0-alpha.2.tgz","fileCount":38,"integrity":"sha512-A6VddA6mUfx8gbqm/zSxDpGnwJpqtlw/tZ13Vul1tt9LroJ0i82lU3QaQQnf+k/VCfmyDNsZRm/6j5C+/SBLjQ==","signatures":[{"sig":"MEUCIQDaPXe2aWdv8Ktfl9f+59kMhLeXuum1ehDjLdG9cJrpVgIgEeq35yH/zzHJUKJw27KD+zcKvD+G4A8YNHWCi030MsQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71353},"main":"build/index.js","module":"build/index.mjs","exports":{".":{"import":{"default":"./build/index.mjs"},"default":{"default":"./build/index.js"},"require":{"default":"./build/index.cjs"}}},"private":false,"scripts":{"test":"jest","build":"rollup --config --environment NODE_ENV:development","test:c":"jest --coverage","build:release":"rollup --config --environment NODE_ENV:production"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"deprecated":"this package has been deprecated","repository":{"url":"https://github.com/SpireX64/spirex-di","type":"git"},"description":"Powerful and highly flexible dependency injection (DI) library designed for modern JavaScript and TypeScript applications","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Artem Sobolenkov (SpireX)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"*","tslib":"*","eslint":"*","rollup":"*","ts-jest":"*","prettier":"*","typescript":"*","@types/jest":"*","rollup-plugin-terser":"*","@rollup/plugin-typescript":"*"},"_npmOperationalInternal":{"tmp":"tmp/di_1.0.0-alpha.2_1743156589634_0.7914782568980283","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.3":{"name":"@spirex/di","version":"1.0.0-alpha.3","keywords":["di","dependency","injection","typescript","javascript","ioc","container","lifecycle","binding","singleton","scope","module","dynamic","factory","service","resolver","lazy","injector","flexible","modern","powerful","spirex"],"author":{"url":"SpireX","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@1.0.0-alpha.3","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spirex-di","dist":{"shasum":"cb7d35ae03303de4b27f8d4af625e858d540a7ee","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.0.0-alpha.3.tgz","fileCount":38,"integrity":"sha512-XlOopl2FAewjvTQzkdy2k6t7c6YQqJ1LVj9C9/TjHWotDYgva7Kw//HOCnz5bWyqIIyhjNlNKY5QMt2kusXr5g==","signatures":[{"sig":"MEUCIQDCMu5E2IUpNYxFPf8JnHQCWocpJG92wDtP9RilWVXUGwIgT2mYA1gw7s/lLFEfz+Tclx5AN3YxruQqLFmYXBEZmrE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71403},"main":"build/index.js","module":"build/index.mjs","exports":{".":{"import":{"default":"./build/index.mjs"},"default":{"default":"./build/index.js"},"require":{"default":"./build/index.cjs"}}},"private":false,"scripts":{"test":"jest","build":"rollup --config --environment NODE_ENV:development","test:c":"jest --coverage","build:release":"rollup --config --environment NODE_ENV:production"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"deprecated":"this package has been deprecated","repository":{"url":"https://github.com/SpireX64/spirex-di","type":"git"},"description":"Powerful and highly flexible dependency injection (DI) library designed for modern JavaScript and TypeScript applications","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Artem Sobolenkov (SpireX)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"*","tslib":"*","eslint":"*","rollup":"*","ts-jest":"*","prettier":"*","typescript":"*","@types/jest":"*","rollup-plugin-terser":"*","@rollup/plugin-typescript":"*"},"_npmOperationalInternal":{"tmp":"tmp/di_1.0.0-alpha.3_1743157790538_0.12474603017261843","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.4":{"name":"@spirex/di","version":"1.0.0-alpha.4","keywords":["di","dependency","injection","typescript","javascript","ioc","container","lifecycle","binding","singleton","scope","module","dynamic","factory","service","resolver","lazy","injector","flexible","modern","powerful","spirex"],"author":{"url":"SpireX","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@1.0.0-alpha.4","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spirex-di","dist":{"shasum":"82b4d14b6040c356bc12c4aeee14e06ab29f158c","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.0.0-alpha.4.tgz","fileCount":38,"integrity":"sha512-DDx2pzXHTVPrSEBFDWow+gc1zPE56sCWBvvusXYC+6FBjhWeTr2Zv3wfR/ofewHbcqmfaHilHpkrXxg34vwxBw==","signatures":[{"sig":"MEYCIQCEifO3cQ5Kw1fEKQQLhtUyXriTObGFssPbbqNDsTD/fgIhAJiAnGIFbVQtqbp+fdvlhXkNTJdS8NIuw6j3584XU2Ao","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71645},"main":"build/index.js","module":"build/index.mjs","exports":{".":{"import":{"default":"./build/index.mjs"},"default":{"default":"./build/index.js"},"require":{"default":"./build/index.cjs"}}},"private":false,"scripts":{"test":"jest","build":"rollup --config --environment NODE_ENV:development","test:c":"jest --coverage","build:release":"rollup --config --environment NODE_ENV:production"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"deprecated":"this package has been deprecated","repository":{"url":"https://github.com/SpireX64/spirex-di","type":"git"},"description":"Powerful and highly flexible dependency injection (DI) library designed for modern JavaScript and TypeScript applications","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2024 Artem Sobolenkov (SpireX)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_hasShrinkwrap":false,"devDependencies":{"jest":"*","tslib":"*","eslint":"*","rollup":"*","ts-jest":"*","prettier":"*","typescript":"*","@types/jest":"*","rollup-plugin-terser":"*","@rollup/plugin-typescript":"*"},"_npmOperationalInternal":{"tmp":"tmp/di_1.0.0-alpha.4_1743159106623_0.18809176479190737","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.6":{"name":"@spirex/di","version":"1.0.0-alpha.6","keywords":["di","ioc","dependency","injection","injector","container","dependency injection","dependency inversion","inversion of control","flexible","modern","modular","type-safe","fail-fast","typescript","javascript","lifecycle","factory","resolver","middleware","singleton","scope","lazy","spirex"],"author":{"url":"SpireX","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@1.0.0-alpha.6","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spirex-di","bugs":{"url":"https://github.com/SpireX64/spirex-di/issues"},"dist":{"shasum":"c64bbd151d4796cb4a124667fbdb771d52324650","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.0.0-alpha.6.tgz","fileCount":7,"integrity":"sha512-ccaShThuaqbS7CXF9MIhOQqgdMjzjoMvDZxQmKtTXT24YMc9z2xPU/PAt8c62U9Gsd17ZWRG8Lzm0yBeRfpagw==","signatures":[{"sig":"MEYCIQCcNpWQdozMVXGqswa/Qlh8KVIKNTIMhx7E9lZDHwgsSAIhANY6eTNEp4/qNwMGFifnOWorc4ypEYGr/g5FpfEwP96H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73922},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"default":"./dist/index.mjs"},"default":{"default":"./dist/index.js"},"require":{"default":"./dist/index.cjs"}}},"gitHead":"894eccc7a6ce3dfc41011d2ec0829e726d1b3f50","private":false,"scripts":{"test":"vitest run --config ./vitest.config.mjs","build":"rollup --config --environment NODE_ENV:development","clean":"rimraf dist coverage","test:c":"vitest run --config ./vitest.config.mjs --coverage","prepack":"cp ../../README.md ./README.md","build:release":"rollup --config --environment NODE_ENV:production"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"deprecated":"this package has been deprecated","repository":{"url":"git+https://github.com/SpireX64/spirex-di.git","type":"git","directory":"packages/di"},"_npmVersion":"11.5.1","description":"Powerful, type-safe, flexible, and lightweight dependency injection library designed for JS/TS projects of any complexity.","directories":{},"sideEffects":false,"_nodeVersion":"24.5.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"eslint":"*","rollup":"*","vitest":"*","prettier":"*","@types/jest":"*","rollup-plugin-copy":"*","rollup-plugin-terser":"*","@vitest/coverage-istanbul":"*"},"_npmOperationalInternal":{"tmp":"tmp/di_1.0.0-alpha.6_1757369931141_0.7650762294493036","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@spirex/di","version":"1.0.0","keywords":["di","ioc","dependency","injection","injector","container","dependency injection","dependency inversion","inversion of control","flexible","modern","modular","type-safe","fail-fast","typescript","javascript","lifecycle","factory","resolver","middleware","singleton","scope","lazy","spirex"],"author":{"url":"SpireX","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@1.0.0","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spirex-di","bugs":{"url":"https://github.com/SpireX64/spirex-di/issues"},"dist":{"shasum":"980c15c4f5386d164c847b2372f80932dc4a1358","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.0.0.tgz","fileCount":7,"integrity":"sha512-qBT7sc1CuzSQaFjYvyhJt4aDXwe6996FvCe9Mx0F0E128Mjy3ltv37+FwGhN+kBD/PsOKLSk/PiPVyWuS8c+1Q==","signatures":[{"sig":"MEUCIQDpT2VI2QTBf6W+v3AWOunsQt193fxrniFhaLteEXiTQQIgU/PUUDQhfA4Vy0tQwWPHYboF1oawL1I639w3TRLr3dc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73922},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"default":"./dist/index.mjs"},"default":{"default":"./dist/index.js"},"require":{"default":"./dist/index.cjs"}}},"gitHead":"80861a73bd32130efc0ea2f43934a6bc050694b2","private":false,"scripts":{"test":"vitest run --config ./vitest.config.mjs","build":"rollup --config --environment NODE_ENV:development","clean":"rimraf dist coverage","test:c":"vitest run --config ./vitest.config.mjs --coverage","prepack":"cp ../../README.md ./README.md","build:release":"rollup --config --environment NODE_ENV:production"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"repository":{"url":"git+https://github.com/SpireX64/spirex-di.git","type":"git","directory":"packages/di"},"_npmVersion":"11.5.1","description":"Powerful, type-safe, flexible, and lightweight dependency injection library designed for JS/TS projects of any complexity.","directories":{},"sideEffects":false,"_nodeVersion":"24.5.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"*","rollup":"*","vitest":"*","prettier":"*","@types/jest":"*","rollup-plugin-copy":"*","rollup-plugin-terser":"*","@vitest/coverage-istanbul":"*"},"_npmOperationalInternal":{"tmp":"tmp/di_1.0.0_1757371066869_0.744537135208748","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@spirex/di","version":"1.1.0","keywords":["di","ioc","dependency","injection","injector","container","dependency injection","dependency inversion","inversion of control","flexible","modern","modular","type-safe","fail-fast","typescript","javascript","lifecycle","factory","resolver","middleware","singleton","scope","lazy","spirex"],"author":{"url":"SpireX","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@1.1.0","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spirex-di","bugs":{"url":"https://github.com/SpireX64/spirex-di/issues"},"dist":{"shasum":"1306c5c95a6b531a75823db760b8a527d5404462","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.1.0.tgz","fileCount":8,"integrity":"sha512-EJVVznvCALvpj4jYk49rK++4shPePMGd+XANM10EYH7/DB7nEy6AOO36cxiyiNosGMJ6j7PHGwYhBD1XKV9raw==","signatures":[{"sig":"MEQCIGZSPsaqao5aHFwka7dynG2xewvb+IeHdUUxYXUDVaf9AiAwhDdrKgY+9mujQGjj9c0uq8ii8i8rdJRs4xgUtIVQ9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92813},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"default":"./dist/index.mjs"},"default":{"default":"./dist/index.js"},"require":{"default":"./dist/index.cjs"}}},"gitHead":"bf2f575e60e92e89de7abb992a5e76b41d0a485c","private":false,"scripts":{"test":"vitest run --config ./vitest.config.mjs","build":"rollup --config --environment NODE_ENV:development","clean":"rimraf dist coverage","test:c":"vitest run --config ./vitest.config.mjs --coverage","prepack":"cp ../../README.md ./README.md","build:release":"rollup --config --environment NODE_ENV:production"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"repository":{"url":"git+https://github.com/SpireX64/spirex-di.git","type":"git","directory":"packages/di"},"_npmVersion":"11.5.1","description":"Powerful, type-safe, flexible, and lightweight dependency injection library designed for JS/TS projects of any complexity.","directories":{},"sideEffects":false,"_nodeVersion":"24.5.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"*","rollup":"*","vitest":"*","prettier":"*","@types/jest":"*","rollup-plugin-copy":"*","rollup-plugin-terser":"*","@vitest/coverage-istanbul":"*"},"_npmOperationalInternal":{"tmp":"tmp/di_1.1.0_1767545524568_0.9691301874179152","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@spirex/di","version":"1.1.1","keywords":["di","ioc","dependency","injection","injector","container","dependency injection","dependency inversion","inversion of control","flexible","modern","modular","type-safe","fail-fast","typescript","javascript","lifecycle","factory","resolver","middleware","singleton","scope","lazy","spirex"],"author":{"url":"SpireX","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@1.1.1","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spirex-di","bugs":{"url":"https://github.com/SpireX64/spirex-di/issues"},"dist":{"shasum":"02808cfd92530ef60cb0e2c70cd71c0d6fd750c6","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.1.1.tgz","fileCount":9,"integrity":"sha512-XJ7VdrOk9AcvLg7r+YA+lil43ISDyQQOcKqJTbM2QQIHrCcqZEYM7m2GG7gesSbbTiw6252EDPOZbSvQx12+zg==","signatures":[{"sig":"MEQCIHbrubFPfBM3/CO6zofYXA42aNRT/sanWvplJjmxU3mMAiAK5clsEchoJI132ZtPCJbVrTXBacCKgJjEIZw5EeqUpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97244},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"default":"./dist/index.mjs"},"default":{"default":"./dist/index.js"},"require":{"default":"./dist/index.cjs"}}},"gitHead":"5003fb78a1326b01f2e5ab39ff7ca06dc4b737b0","private":false,"scripts":{"test":"vitest run --config ./vitest.config.mjs","build":"rollup --config --environment NODE_ENV:development","clean":"rimraf dist coverage","test:c":"vitest run --config ./vitest.config.mjs --coverage","prepack":"cp ../../README.md ./README.md","build:release":"rollup --config --environment NODE_ENV:production"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"repository":{"url":"git+https://github.com/SpireX64/spirex-di.git","type":"git","directory":"packages/di"},"_npmVersion":"11.5.1","description":"Powerful, type-safe, flexible, and lightweight dependency injection library designed for JS/TS projects of any complexity.","directories":{},"sideEffects":false,"_nodeVersion":"24.5.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"*","rollup":"*","vitest":"*","prettier":"*","@types/jest":"*","rollup-plugin-copy":"*","rollup-plugin-terser":"*","@vitest/coverage-istanbul":"*"},"_npmOperationalInternal":{"tmp":"tmp/di_1.1.1_1769103436332_0.26079317024021664","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@spirex/di","version":"1.2.0","keywords":["di","ioc","dependency","injection","injector","container","dependency injection","dependency inversion","inversion of control","flexible","modern","modular","internal module","module composition","composite module","type-safe","fail-fast","typescript","javascript","lifecycle","factory","resolver","middleware","singleton","scope","lazy","spirex"],"author":{"url":"SpireX","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@1.2.0","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spirex-di","bugs":{"url":"https://github.com/SpireX64/spirex-di/issues"},"dist":{"shasum":"f0d804fe1b3189e0874eb023c4dd004b170d55fb","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.2.0.tgz","fileCount":7,"integrity":"sha512-L0MZ1FBUsz5mVZK8GEmsuiQ+m5wX2M23f4tm85QjKHnDWbnEMmWIvS2i8nwlRm/tLuQrM2zBPCKTBJ+IKXZt4Q==","signatures":[{"sig":"MEYCIQDz/fiv0klvKeUmKIkEm2ds7Eja+yNV0D3ckkdo8KeEgQIhAP+9jg3SxMEr7I6NY9g2aKdJDkE/Nh5kimYyfho1JTqy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90355},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"default":"./dist/index.mjs"},"default":{"default":"./dist/index.js"},"require":{"default":"./dist/index.cjs"}}},"gitHead":"5fba94dca48e461952a867bb117c394920ff2ade","private":false,"scripts":{"test":"vitest run --config ./vitest.config.mjs","build":"rollup --config --environment NODE_ENV:development","clean":"rimraf dist coverage","test:c":"vitest run --config ./vitest.config.mjs --coverage","prepack":"cp ../../README.md ./README.md","build:release":"rollup --config --environment NODE_ENV:production"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"repository":{"url":"git+https://github.com/SpireX64/spirex-di.git","type":"git","directory":"packages/di"},"_npmVersion":"11.5.1","description":"Powerful, type-safe, flexible, and lightweight dependency injection library for JS/TS. Immutable container, internal module types, composite modules, scope data, extensible middleware.","directories":{},"sideEffects":false,"_nodeVersion":"24.5.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"*","rollup":"*","vitest":"*","prettier":"*","@types/jest":"*","rollup-plugin-copy":"*","rollup-plugin-terser":"*","@vitest/coverage-istanbul":"*"},"_npmOperationalInternal":{"tmp":"tmp/di_1.2.0_1772131287247_0.12422756581040151","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@spirex/di","version":"1.2.1","keywords":["di","ioc","dependency","injection","injector","container","dependency injection","dependency inversion","inversion of control","flexible","modern","modular","internal module","module composition","composite module","type-safe","fail-fast","typescript","javascript","lifecycle","factory","resolver","middleware","singleton","scope","lazy","spirex"],"author":{"url":"SpireX","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@1.2.1","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spirex-di","bugs":{"url":"https://github.com/SpireX64/spirex-di/issues"},"dist":{"shasum":"49dfcce99c18d932982c9614113e7ad22ebf37c0","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.2.1.tgz","fileCount":7,"integrity":"sha512-QgJ5xOmEbyUwClr2SRhaxsIFxR1I5vyqGvhCBTEG4OBNtyUL2HlDoRwukYdX363HN957+MxMNxG+zlw0t1SC7A==","signatures":[{"sig":"MEUCIEA0rfdS34hn+CJuuTdNEWsqCUX1dvgM0WSy8aTbgryXAiEAuN9TyHTVs4V/GASpIqhNxjeasBCbGpF0O13JJel5kM4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":264170},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"default":"./dist/index.mjs"},"default":{"default":"./dist/index.js"},"require":{"default":"./dist/index.cjs"}}},"gitHead":"82429b81cf9e39ef2dd64ac8938a8b77a930c55a","private":false,"scripts":{"test":"vitest run --config ./vitest.config.mjs","build":"rollup --config --environment NODE_ENV:development","clean":"rimraf dist coverage","test:c":"vitest run --config ./vitest.config.mjs --coverage","prepack":"cp ../../README.md ./README.md","build:release":"rollup --config --environment NODE_ENV:production"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"repository":{"url":"git+https://github.com/SpireX64/spirex-di.git","type":"git","directory":"packages/di"},"_npmVersion":"11.5.1","description":"Powerful, type-safe, flexible, and lightweight dependency injection library for JS/TS. Immutable container, internal module types, composite modules, scope data, extensible middleware.","directories":{},"sideEffects":false,"_nodeVersion":"24.5.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"*","rollup":"*","vitest":"*","prettier":"*","@types/jest":"*","rollup-plugin-copy":"*","rollup-plugin-terser":"*","@vitest/coverage-istanbul":"*"},"_npmOperationalInternal":{"tmp":"tmp/di_1.2.1_1775860861647_0.9219942824865379","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@spirex/di","version":"1.2.2","keywords":["di","ioc","dependency","injection","injector","container","dependency injection","dependency inversion","inversion of control","flexible","modern","modular","internal module","module composition","composite module","type-safe","fail-fast","typescript","javascript","lifecycle","factory","resolver","middleware","singleton","scope","lazy","spirex"],"author":{"url":"SpireX","name":"Artem Sobolenkov","email":"SpireX@outlook.com"},"license":"MIT","_id":"@spirex/di@1.2.2","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"homepage":"https://github.com/SpireX64/spirex-di","bugs":{"url":"https://github.com/SpireX64/spirex-di/issues"},"dist":{"shasum":"c352efb3e9954fa45d11a103656274c09c33382e","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.2.2.tgz","fileCount":7,"integrity":"sha512-Fk8GbwQIUjP+cS5vsNpA4geenj+4xpWouhMRCgsFdhHbBdhJIbIQYWlHK3pkHS/eZ2gFZvBO9Puky2L1iVSsbA==","signatures":[{"sig":"MEUCIAMvVfS/bPvy7Sx9/oX9vlOiJAQF8T6oCQW5RRNSDDMFAiEAs2W5jklMo+Yo1Fw3lKtfU0qtrWTqalCXL4wlbrD4+tk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92549},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"default":"./dist/index.mjs"},"default":{"default":"./dist/index.js"},"require":{"default":"./dist/index.cjs"}}},"gitHead":"2b658a95894f5573b3e98190267d21a2b98aa06f","private":false,"scripts":{"test":"vitest run --config ./vitest.config.mjs","build":"rollup --config --environment NODE_ENV:development","clean":"rimraf dist coverage","test:c":"vitest run --config ./vitest.config.mjs --coverage","prepack":"yarn build:release && cp ../../README.md ./README.md","build:release":"rollup --config --environment NODE_ENV:production"},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"repository":{"url":"git+https://github.com/SpireX64/spirex-di.git","type":"git","directory":"packages/di"},"_npmVersion":"11.5.1","description":"Powerful, type-safe, flexible, and lightweight dependency injection library for JS/TS. Immutable container, internal module types, composite modules, scope data, extensible middleware.","directories":{},"sideEffects":false,"_nodeVersion":"24.5.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"*","rollup":"*","vitest":"*","prettier":"*","@types/jest":"*","rollup-plugin-copy":"*","rollup-plugin-terser":"*","@vitest/coverage-istanbul":"*"},"_npmOperationalInternal":{"tmp":"tmp/di_1.2.2_1781724458982_0.2645881747387444","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@spirex/di","version":"1.3.0","license":"MIT","sideEffects":false,"description":"Powerful, type-safe, flexible, and lightweight dependency injection library for JS/TS. Immutable container, internal module types, composite modules, scope data, extensible middleware.","keywords":["di","ioc","dependency","injection","injector","container","dependency injection","dependency inversion","inversion of control","flexible","modern","modular","internal module","module composition","composite module","type-safe","fail-fast","typescript","javascript","lifecycle","factory","resolver","middleware","singleton","scope","lazy","spirex"],"author":{"name":"Artem Sobolenkov","email":"SpireX@outlook.com","url":"SpireX"},"homepage":"https://github.com/SpireX64/spirex-di","repository":{"type":"git","url":"git+https://github.com/SpireX64/spirex-di.git","directory":"packages/di"},"main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"import":{"default":"./dist/index.mjs"},"require":{"default":"./dist/index.cjs"},"default":{"default":"./dist/index.js"}}},"scripts":{"prepack":"yarn build:release && cp ../../README.md ./README.md","test":"vitest run --config ./vitest.config.mjs","test:c":"vitest run --config ./vitest.config.mjs --coverage","build":"rollup --config --environment NODE_ENV:development","build:release":"rollup --config --environment NODE_ENV:production","clean":"rimraf dist coverage"},"devDependencies":{"@types/jest":"*","@vitest/coverage-istanbul":"*","eslint":"*","prettier":"*","rollup":"*","rollup-plugin-copy":"*","rollup-plugin-terser":"*","vitest":"*"},"gitHead":"298b57f59dc14f9ea07164862f8210a15c9be09e","_id":"@spirex/di@1.3.0","bugs":{"url":"https://github.com/SpireX64/spirex-di/issues"},"_nodeVersion":"24.5.0","_npmVersion":"11.18.0","dist":{"integrity":"sha512-ZZwo+++mxxFgmFqgjtyS3A9QdmWNiYpWvuvBDasPVE3dEsr6+Zs4NM6Jpxbk4YKsoEDP3lvGEDu5HT1OCbWq5Q==","shasum":"c0041dfefb3347310bdefe54cf279233f918973c","tarball":"https://registry.npmjs.org/@spirex/di/-/di-1.3.0.tgz","fileCount":7,"unpackedSize":99325,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIB/QE1vUqGCO4m4toq9bcijVtYLtBDk7FQiInpdX6I6lAiEAsBWbaxv5m7kDszIVAKtsLGMDVKWfi6IaPtQy80xrzPU="}]},"_npmUser":{"name":"spirex","email":"spirex@outlook.com"},"directories":{},"maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/di_1.3.0_1786521170117_0.8137785286719283"},"_hasShrinkwrap":false}},"time":{"created":"2023-05-20T22:15:27.042Z","modified":"2026-08-12T07:52:50.456Z","0.0.1":"2023-05-20T22:15:27.329Z","0.0.2":"2023-05-26T18:15:57.361Z","0.0.3":"2023-06-06T16:01:03.822Z","0.0.4":"2023-06-06T16:12:07.460Z","1.0.0-alpha":"2025-03-28T00:50:28.634Z","1.0.0-alpha.1":"2025-03-28T10:03:20.397Z","1.0.0-alpha.2":"2025-03-28T10:09:49.855Z","1.0.0-alpha.3":"2025-03-28T10:29:50.781Z","1.0.0-alpha.4":"2025-03-28T10:51:46.885Z","1.0.0-alpha.5":"2025-09-08T22:11:55.405Z","1.0.0-alpha.6":"2025-09-08T22:18:51.351Z","1.0.0":"2025-09-08T22:37:47.113Z","1.1.0":"2026-01-04T16:52:04.724Z","1.1.1":"2026-01-22T17:37:16.482Z","1.2.0":"2026-02-26T18:41:27.400Z","1.2.1":"2026-04-10T22:41:01.801Z","1.2.2":"2026-06-17T19:27:39.143Z","1.3.0":"2026-08-12T07:52:50.267Z"},"bugs":{"url":"https://github.com/SpireX64/spirex-di/issues"},"author":{"name":"Artem Sobolenkov","email":"SpireX@outlook.com","url":"SpireX"},"license":"MIT","homepage":"https://github.com/SpireX64/spirex-di","keywords":["di","ioc","dependency","injection","injector","container","dependency injection","dependency inversion","inversion of control","flexible","modern","modular","internal module","module composition","composite module","type-safe","fail-fast","typescript","javascript","lifecycle","factory","resolver","middleware","singleton","scope","lazy","spirex"],"repository":{"type":"git","url":"git+https://github.com/SpireX64/spirex-di.git","directory":"packages/di"},"description":"Powerful, type-safe, flexible, and lightweight dependency injection library for JS/TS. Immutable container, internal module types, composite modules, scope data, extensible middleware.","maintainers":[{"name":"spirex","email":"spirex@outlook.com"}],"readme":"![NPM Type Definitions](https://img.shields.io/npm/types/%40spirex%2Fdi?style=for-the-badge)\n[![NPM Version](https://img.shields.io/npm/v/%40spirex%2Fdi?style=for-the-badge)](https://www.npmjs.com/package/@spirex/di)\n![GitHub License](https://img.shields.io/github/license/spirex64/spirex-di?style=for-the-badge)\n[![Codecov](https://img.shields.io/codecov/c/github/spirex64/spirex-di?token=VXQZK5WDSY&flag=di&style=for-the-badge)](https://codecov.io/github/SpireX64/spirex-di)\n\n# SpireX/DI\n\n`@spirex/di` is a **powerful**, **lightweight**, and **predictable** dependency injection library for JavaScript and TypeScript.\n\nIt enforces strict TypeScript typing through a **TypeMap**, uses an **immutable container** built via a fluent builder API, and supports **modular** configurations with internal types and composite modules. With **zero dependencies**, **advanced scope management** (including local scope data), and **extensible middleware**, it keeps your code clean, testable, and flexible without imposing any runtime boilerplate.\n\nFully **plug & play** and production-ready, **SpireX/DI** is ideal for enterprise projects, helping teams manage complex service graphs effortlessly while simplifying long-term maintenance.\n\n## Features\n- **Immutable container** — no hidden runtime mutations;\n- **Maximum type safety** — full autocompletion & compile-time checks;\n- **Asterisk Binding** (`*`) — wildcard fallback for unknown names, `getAll(type, \"*\")`, dynamic factories with `ctx.name`;\n- **Per-binding lifecycle hooks** — `onActivated`, `onDispose` at the binding level;\n- **Dispose Ordering** — control the order of instance cleanup within a scope;\n- **Scope Access Control** — restrict direct type resolution per scope with `allowedList`;\n- **Advanced scope management** — auto-dispose, local scope data, sealed & isolated scopes;\n- **Lifecycle management** — singleton, lazy, scope, transient;\n- **Modular** — static & dynamic modules, internal types, composite modules;\n- **Middleware** — 10 hooks covering the full lifecycle: `onBind`, `onRequest`, `onActivated`, `onResolve`, `onScopeOpen`, `onScopeDispose`, and more;\n- Named bindings, aliases, conflict resolution strategies, alias search;\n- Zero dependencies, runs on pure JS, **only ~10Kb** (~4.1Kb gzipped).\n\n## Installing\n```sh\n# npm\nnpm i @spirex/di\n\n# yarn\nyarn add @spirex/di\n```\n\n## Quick Start\n```ts\nimport { diBuilder, factoryOf } from \"@spirex/di\";\n\nclass Gateway { ... }\n\nclass Service {\n    static inject = ['gateway'] as const\n    constructor(gateway: Gateway) {...}\n    doSomething(): void { ... }\n}\n\n// Create a DI container with strict type mapping\nconst container = diBuilder<{\n    gateway: Gateway; // Key 'gateway' maps to Gateway instance\n    service: Service; // Key 'service' maps to Service instance\n}>()\n    // Bind 'service' to a factory\n    // that resolves its dependencies from the container\n    .bindFactory(\"service\", factoryOf(Service))\n\n    // Bind 'gateway' to a Gateway factory\n    .bindFactory(\"gateway\", factoryOf(Gateway))\n\n    // Build the container;\n    // after this, it becomes immutable & ready to use\n    .build();\n\n// Retrieve the 'service' instance from the container\nconst service = container.get(\"service\");\n```\n\n**Explanation:**\n1. We define *Gateway* and *Service* classes. *Service* depends on *Gateway*.\n2. We create a strictly typed container using diBuilder<TypeMap>().\n3. `.bindFactory` is used to register services with dependencies.\n4. `.build()` finalizes the container.\n5. `.get(\"service\")` returns the fully constructed *Service* with *Gateway* automatically injected.\n\n## Recent Improvements (v1.3.0)\n- **Asterisk Binding (`*`)** — register a wildcard fallback binding; when an exact named or unnamed binding is not found, the container falls back to the `*` entry. Supports asterisk aliases, `getAll(type, \"*\")` for all instances of a type, and dynamic factories that receive the requested name via `ctx.name`;\n- **Scope Allowed List** — restrict which types can be directly resolved from a scope. Non-listed types throw for `get()`, return `undefined` for `maybe()`, and `[]` for `getAll()`. Dependencies requested by factories during activation bypass the check;\n- **Per-binding `onActivated`** — a lifecycle hook called after factory instantiation, before middleware `onActivated`. Cannot replace the instance;\n- **Per-binding `onDispose`** — attach cleanup logic directly to a binding. Takes priority over `Symbol.dispose` and `.dispose()`;\n- **Dispose Ordering** — control cleanup order within a scope via `disposeOrder` (lower values disposed first; default `0`);\n\n## Documentation\n- [Introduction](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/00-Introduction.md)\n- [Philosophy](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/01-Philosophy.md)\n- [Installation](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/03-Installation.md)\n- [Getting Started](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/04-Getting-Started.md)\n- **Basics**\n  - Container Configuration\n    - [Container Builder](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/01-Container-Configuration/01-Container-Builder.md)\n    - [About TypeMap](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/01-Container-Configuration/02-Type-Map.md)\n    - [Instance Binding](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/01-Container-Configuration/03-Instance-Binding.md)\n    - [Factory Binding](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/01-Container-Configuration/04-Factory-Binding.md)\n    - [Safe Factory Binding](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/01-Container-Configuration/05-Safe-Factory-Binding.md)\n    - [Class Factory](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/01-Container-Configuration/06-Class-Factory.md)\n    - [Named Binding](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/01-Container-Configuration/07-Named-Binding.md)\n    - [Binding Conflicts](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/01-Container-Configuration/08-Bindings-Conflict.md)\n    - [Multiple Binding](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/01-Container-Configuration/09-Multi-Bindings.md)\n    - [Lifecycles](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/01-Container-Configuration/10-Lifecycles.md)\n    - [Aliases](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/01-Container-Configuration/11-Aliases.md)\n    - [Container Build](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/01-Container-Configuration/12-Container-Build.md)\n  - Resolving Instances\n    - [Type Enumeration](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/03-Resolving-Instances/01-Types-Enumeration.md)\n    - [Get Instance of Type](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/03-Resolving-Instances/02-Get-Instance-Of-Type.md)\n    - [Getting optional instances](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/03-Resolving-Instances/03-Get-Optional-Instance.md)\n    - [Getting all instances of a type](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/03-Resolving-Instances/04-Get-All-Instances-Of-Type.md)\n    - [Provider Functions](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/03-Resolving-Instances/05-Get-Provider-Function.md)\n    - [Phantom Instance](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/03-Resolving-Instances/06-Get-Phantom-Instance.md)\n  - Modules\n    - [Static Modules](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/02-Modules/01-Static-Modules.md)\n    - [Module Dependencies](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/02-Modules/02-Module-Dependencies.md)\n    - [Internal Module Types](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/02-Modules/03-Internal-Module-Types.md)\n    - [Module Composition](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/05-Basics/02-Modules/04-Module-Composition.md)\n- **Advanced**\n  - Container Builder\n    - [Container Builder Default Options](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/06-Advanced/01-Container-Builder/01-Default-Options.md)\n    - [Enforcing Type Bindings](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/06-Advanced/01-Container-Builder/02-Enforcing-Type-Bindings.md)\n    - [Injecting Dependencies into Existing Services](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/06-Advanced/01-Container-Builder/03-Injecting-Into-Existing-Instances.md)\n    - [Binding Metadata](https://github.com/SpireX64/spirex-di/blob/main/docs/docs/06-Advanced/01-Container-Builder/04-Binding-Metadata.md)\n\n*Documentation is a work in progress!*\nSome topics are not yet covered. For the most up-to-date documentation, please refer to the [repository](https://github.com/SpireX64/spirex-di).\n\n\n## Integrations & Extensions\nContainer is designed to be fully extensible and works seamlessly with additional packages to enhance functionality:\n\n| Package | Description |\n| ------- | ----------- |\n| `@spirex/di-dynamic` | **SpireX/DI Dynamic Modules** - allowing you to load parts of your container asynchronously at runtime. |\n| `@spirex/di-react` | **SpireX/DI for React** - provides a **fully typed, declarative, and scoped DI system** built on top of the **React Context API** and hooks. |\n| `@spirex/di-solid` | **SpireX/DI for SolidJS** - provides **Solid** integration for injecting dependencies into components via context and `useInject`. |\n| `@spirex/di-svelte` | **SpireX/DI for Svelte** - provides **Svelte** integration for injecting dependencies into components.|\n| `@spirex/di-angular-bridge` | Using **SpireX/DI** as a domain-level service container with standard **Angular DI** access. |\n| `@spirex/di-config` | **SpireX/DI Config** - provides a middleware that configures services right after they are created. |\n| `@spirex/di-shared` | **DIFacade DI for migration** — safely use DI globally while tracking and eliminating it during migration. |\n\n## License\n`@spirex/di` is released under the MIT License.\n\nYou are free to use, modify, and distribute the library in both personal and commercial projects.\n","readmeFilename":"README.md"}