{"_id":"revite","_rev":"36-eabe3286e7d39fb5620b743d008aed5c","name":"revite","dist-tags":{"latest":"1.18.4"},"versions":{"1.0.0":{"name":"revite","version":"1.0.0","license":"MIT","_id":"revite@1.0.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"e94f460a64c0e9a5bdbee5778a257aada6f908ac","tarball":"https://registry.npmjs.org/revite/-/revite-1.0.0.tgz","fileCount":115,"integrity":"sha512-olzDKVlYnyn/B6kqLASmF1ukKS2mC0wCF1sO1lBEnUSCCe8WBS1D8YsGyuT2u0eqNgrttzIKQTu1fb7cG6omSA==","signatures":[{"sig":"MEYCIQD6bnwXXdkekgnlsRIuimpJo5SJFWB9aYoqP9G9LgsPDwIhAKt9vVCn0K0zdDAmXbXV1+x+D93RZX28rFLTpRz6ueIF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5upKCRA9TVsSAnZWagAAsJ4P/1eCuI6zzXqHgJS8363c\ndKMlwuwIDc833neGX2mUSZYL70oA6GIT9mglfuRlSiO4ceD6/pzeD7HXcUNo\nIR+vqxJbuwsXjRi4C45/tYBrA4F6CYpswuotCmmZAH5oxHV3b8mAIbc85Aka\nqQS8H50vEafSdlTf2eUda3KGf9X+Y3yZxvqaoNi8Zb/w932tOEt3bcO5t02v\nv/q37gDegZZTDFSosTK+0fcN3b/KH0OWYAcB393ARxsROjudatXAbeSsn217\nb2hOupIJuJ2yJghvjarXO93pIRvFEd+mH3532alInd7UPn5GYWkXqDiC0gYR\nHB1MkLZnRYnhuZTGtNdmAcOp4NyhHnBcC2Oiqf51CnlhQCPSkI3dt2Bris31\nr6Xz1SY/PgcK2jFSwJnmPjLz1+0kPu3fXK/uJ5jpGAR8kkTNE8srvb09tOUd\nBLz3UGF/yItPO7KU2qm6S5New2I58Orey4hKyG8pOnBJlVQmovCuHFJeHRMf\n/SI9Pi5+HLkEvQrVGOrh14wJptMMpUDa7B70XBZGFDcY37ZYNA/85XsWmpTi\nMtiBz3FEhwcKvBFdiTGx1NHR3uQ5vwgfhbg3EtkX8MtSxfozo7JgFLQVEFmm\nOh8kcLC7sBhxdBA87LEiy0q27ezTnXWzpY9nWLfxHjMGYViphiTJrPXAe8D1\nA8oB\r\n=yw3F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/types.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"2e1f04a92e567fe06365596b98c6309f6b8590ba","scripts":{"demo":"vite --config demo/vite.config.ts","build":"tsc --project tsconfig.release.json","release":"semantic-release","test:unit":"vite-jest --no-cache","typecheck":"vue-tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"If you are using decorators you should add this before.","directories":{},"_nodeVersion":"16.13.2","dependencies":{"mitt":"^3.0.0","typescript-ioc":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.2.26","jest":"^27.4.7","vite":"^2.0.5","husky":"^7.0.4","eslint":"^7.32.0","postcss":"^8.3.11","ts-jest":"^27.1.2","vue-tsc":"^0.30.2","inquirer":"^8.2.0","vue-jest":"^3.0.7","vite-jest":"^0.1.4","babel-core":"^6.26.3","commitizen":"^4.2.4","typescript":"^4.4.4","vue-router":"^4.0.12","@types/jest":"^27.4.0","lint-staged":"^12.2.0","tailwindcss":"^3.0.13","autoprefixer":"^10.3.6","@heroicons/vue":"^1.0.5","postcss-import":"^14.0.2","@commitlint/cli":"^16.0.2","@headlessui/vue":"^1.4.2","semantic-release":"^19.0.2","@vue/compiler-sfc":"^3.1.1","eslint-plugin-vue":"^7.18.0","@vitejs/plugin-vue":"^2.0.1","eslint-plugin-jest":"^24.5.0","eslint-plugin-node":"^11.1.0","generate-source-map":"^0.0.5","eslint-plugin-import":"^2.22.1","eslint-plugin-lodash":"^7.1.0","vite-plugin-markdown":"^2.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.0","eslint-plugin-promise":"^5.1.0","vue-template-compiler":"^2.6.14","babel-plugin-import-glob":"^2.0.0","@typescript-eslint/parser":"^5.2.0","@semantic-release/changelog":"^6.0.1","@vue/eslint-config-standard":"^6.1.0","@vue/eslint-config-typescript":"^8.0.0","@commitlint/config-conventional":"^16.0.0","@typescript-eslint/eslint-plugin":"^5.2.0","@semantic-release/commit-analyzer":"^9.0.2","babel-plugin-require-context-hook":"^1.0.0","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.0.0_1642523209911_0.08782719156564478","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"revite","version":"1.1.0","license":"MIT","_id":"revite@1.1.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"03e3e3d5a3f9bab4b0ebc2abd0982655473f1677","tarball":"https://registry.npmjs.org/revite/-/revite-1.1.0.tgz","fileCount":79,"integrity":"sha512-OuQS0xhMm9IkfS/xjElif4R4hHD1ipGZ+4Z28pknZ9N4vAvUf3nvTFGZGuSH4oTxR2Q+Vr2WptxOdSMQAiBKvw==","signatures":[{"sig":"MEYCIQCNq1gRA6+23wb9IcVhruOefUEAbxrz8d0wHoqAUdfm3gIhAMoJnA4nVwAJ3dZ4epW8+sdeUnUDooFq5D/4vlJbjJhE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5vD1CRA9TVsSAnZWagAAOGAP/3xNmDMf2tVZLpeDRwL7\nK/xj4dPtfpbMaZeVVlvCD+fAgHXO+XTMnUPLk8GrCjHYyk8oktfz0EVUkcNx\nqjv6UInaiJDUlvcOfZu/r62wjZmcOJ2kypubQ9ADuYvFWrX2x6zHF+EI84YG\nxVHgvqeFDbjme0zHjD5yKBJMZSidsMR4zUpoXCJ9aDXNUyPNvp9JGYz4oqt2\nhUSzjO3GwurFngPibIpPApbuJj/EpDjJFby7di7x7g8zbhSSk5JL6pT5Awbx\nKjZJLX08ut/YIWn7I3zVvHYoq9f8uBhpyUjOiKEZiYyzoW+I29YKrzFEFpIJ\ndt59nEydLAXLjyRMY6NA36VEl6Hy+cOG/ikjndTXzBwSmJh3il/L+VVIQRNy\nHk9sXt7OkLCMBTshAGi49aryJZytj6R+YH5IDm3KPE1P+GoIJTlrJqaMrC7a\nfly3n/Nsy+9YeySZPvlPZMCu/sEJBUaRDeBCN+qQ5ckP3BBzO2Z0R1L3Mo4S\n6jT23q869MWE92YSjMWX7Y8Jb8Fkok89r3tKjrf/oKqqH7dybAQeCNPTd1Cq\nLKFHQXoUNkAjoGY7Nl+Sxw0Hg1AWLMpX9cCnv8Nf+fGTSoMwuudbYbdodlYx\nHIU//iFXZ2+lXZKIvCfiMxkFXdmNHtT8eIX4EwCwwYd/eX8SoAOUJjZ0MakL\nwwxK\r\n=+Qjj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./revite.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"2bda20cd0cd688aba412cfde4f62334f917343de","scripts":{"demo":"vite --config demo/vite.config.ts","build":"tsc --project tsconfig.release.json","release":"semantic-release","test:unit":"vite-jest --no-cache","typecheck":"vue-tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"Built-in contracts","directories":{},"_nodeVersion":"16.13.2","dependencies":{"mitt":"^3.0.0","typescript-ioc":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.2.26","jest":"^27.4.7","vite":"^2.0.5","husky":"^7.0.4","eslint":"^7.32.0","postcss":"^8.3.11","ts-jest":"^27.1.2","vue-tsc":"^0.30.2","inquirer":"^8.2.0","vue-jest":"^3.0.7","vite-jest":"^0.1.4","babel-core":"^6.26.3","commitizen":"^4.2.4","typescript":"^4.4.4","vue-router":"^4.0.12","@types/jest":"^27.4.0","lint-staged":"^12.2.0","tailwindcss":"^3.0.13","autoprefixer":"^10.3.6","@heroicons/vue":"^1.0.5","postcss-import":"^14.0.2","@commitlint/cli":"^16.0.2","@headlessui/vue":"^1.4.2","semantic-release":"^19.0.2","@vue/compiler-sfc":"^3.1.1","eslint-plugin-vue":"^7.18.0","@vitejs/plugin-vue":"^2.0.1","eslint-plugin-jest":"^24.5.0","eslint-plugin-node":"^11.1.0","generate-source-map":"^0.0.5","eslint-plugin-import":"^2.22.1","eslint-plugin-lodash":"^7.1.0","vite-plugin-markdown":"^2.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.0","eslint-plugin-promise":"^5.1.0","vue-template-compiler":"^2.6.14","babel-plugin-import-glob":"^2.0.0","@typescript-eslint/parser":"^5.2.0","@semantic-release/changelog":"^6.0.1","@vue/eslint-config-standard":"^6.1.0","@vue/eslint-config-typescript":"^8.0.0","@commitlint/config-conventional":"^16.0.0","@typescript-eslint/eslint-plugin":"^5.2.0","@semantic-release/commit-analyzer":"^9.0.2","babel-plugin-require-context-hook":"^1.0.0","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.1.0_1642524916909_0.060891767296096466","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"revite","version":"1.2.0","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.2.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"4ab07a5715fce646159f2385202d136521a3e3b8","tarball":"https://registry.npmjs.org/revite/-/revite-1.2.0.tgz","fileCount":79,"integrity":"sha512-zvn+/uTRTtYH11yNIdIUE96XhdMXUGiN3pL3V9xrN+/On2ANEphozWc0X/Oq9a9LZ79jvmJvj8faXkd9moGMPQ==","signatures":[{"sig":"MEYCIQCkNFyStAHYFHVuIQGvrhg0WabvciHnBX9Yb6Da1HbSJQIhAKWw2Xil7/pD4QT9nOJd3u0EfJXQNmnYaq13dce1Y9hd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83008,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7O0WCRA9TVsSAnZWagAARvsP/jTDLmUOyTfwotqLW9It\nMz+8YqEBjwQC6FqOywIzUcOIVV05Wm9ury7R/FcRl8dbiQyrWrUXcBsPEUOg\nXbund+C3boqT7rVCirjACGRoZcvWIJnKhs/8/x42dgAMEFBJerFGFnXu5bai\nMGf6bkRduoLiDdWKVulRBKgJQD2KVDtCe3s3z0EpmSnaCHOT9EPY6dh9xb5W\nEYrPkNDQ9oMev0U++58IafPaI3XRyoAHKmiwDNNYhmXCGC6h7V58Ml+KXaMx\nO12VIkuxccyNVham/Ny52HiFcTOP3prdWELNSXSWfJhH1hHYTX8HUXUQkKJA\nbNdNV9LvzLGqdBCp6Eu4373DkP1vpUCRxX58rhP9R0MLGYiShihUbHEMmJr6\n4ys/pF3Wk/9GT5jlsX0YNNSC6YKvXdS38rD/7BSJbS/5dPP54GEqdF/X+vqJ\nbpwpeFhPSn4ohmPhrGuDrysNcb38Ma52oKHlkjuDYZYyK12ZINnJRHTFuhIn\n/eIw+I9hZW6F3ZimIZ+Dn4JLsTFusYZG9hsEKdmXEmFbHvavTyFEeKU6XF48\nSbO/ot1mb6iJ9mqIabxLbn5eXPaDGLdMBzSnvmsnvxA7jDp2emu6lwYfkKsw\nLj79Cu1Wb57XUC1zaTtzg96CpueAb2GDiG31JWZ6XyKUKJvuoyXNDOKOcgoI\n/YCV\r\n=VPYn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","config":{"commitizen":{"path":"cz-conventional-changelog"}},"gitHead":"a34c462e7569ee3bc4cebaa8b7db3491eb63a31d","scripts":{"demo":"vite --config demo/vite.config.ts","build":"tsc --project tsconfig.release.json","release":"semantic-release","build:lib":"tsc --project tsconfig.release.json","test:unit":"vite-jest --no-cache","typecheck":"vue-tsc --noEmit -p tsconfig.json","build:plugin":"tsc ./plugin.ts --declaration true"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"IN PROGRESS.","directories":{},"_nodeVersion":"16.13.2","dependencies":{"mitt":"^3.0.0","typescript-ioc":"^3.2.2"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.2.26","jest":"^27.4.7","vite":"^2.0.5","husky":"^7.0.4","eslint":"^7.32.0","postcss":"^8.3.11","ts-jest":"^27.1.2","vue-tsc":"^0.30.2","inquirer":"^8.2.0","vue-jest":"^3.0.7","vite-jest":"^0.1.4","babel-core":"^6.26.3","commitizen":"^4.2.4","typescript":"^4.4.4","vue-router":"^4.0.12","@types/jest":"^27.4.0","lint-staged":"^12.2.0","tailwindcss":"^3.0.13","autoprefixer":"^10.3.6","@heroicons/vue":"^1.0.5","postcss-import":"^14.0.2","@commitlint/cli":"^16.0.2","@headlessui/vue":"^1.4.2","semantic-release":"^19.0.2","@vue/compiler-sfc":"^3.1.1","eslint-plugin-vue":"^7.18.0","@vitejs/plugin-vue":"^2.0.1","eslint-plugin-jest":"^24.5.0","eslint-plugin-node":"^11.1.0","generate-source-map":"^0.0.5","eslint-plugin-import":"^2.22.1","eslint-plugin-lodash":"^7.1.0","vite-plugin-markdown":"^2.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^9.0.0","eslint-plugin-promise":"^5.1.0","vue-template-compiler":"^2.6.14","babel-plugin-import-glob":"^2.0.0","@typescript-eslint/parser":"^5.2.0","@semantic-release/changelog":"^6.0.1","@vue/eslint-config-standard":"^6.1.0","@vue/eslint-config-typescript":"^8.0.0","@commitlint/config-conventional":"^16.0.0","@typescript-eslint/eslint-plugin":"^5.2.0","@semantic-release/commit-analyzer":"^9.0.2","babel-plugin-require-context-hook":"^1.0.0","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.2.0_1642917142180_0.14387135420301345","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"revite","version":"1.3.0","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.3.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"3672924e7bd204458943c13211124efcb73637a0","tarball":"https://registry.npmjs.org/revite/-/revite-1.3.0.tgz","fileCount":83,"integrity":"sha512-XxcEUfvHKtufuKtSro9kgDLbBTxLMzBo48GfVyBddiZWA5VDPPD6iq8ZdjGaGp+B2R8DNm21hGOm+Dro8wcj+Q==","signatures":[{"sig":"MEQCIH1UXliEk2oqvVFzJbRYEqG4wGTYZWBViIfhYHDaCci9AiAEChKLjjguoXwZjz70fgoPgSR9+eJIzCVEIpv6prMYjw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8CjECRA9TVsSAnZWagAAjCAP/Rov7E7Vc9aq3Rfv588b\nceGbHcwJpWdh/Lb9VKxKM30MfMzV8CbuCGlS4GzBs89I4m4j9VjvwxGhAe/n\nJY6Z2LP2AY+hIDDojCDNhpho0atBYtIk8MZSMgBkNYDO2c1veqXnfbs1YraZ\njDGGrciWSHQki4D2vwnqAdRlej6ICqTdXlzCJvG5sYfEUBIsUYTPsNcsVLxZ\nl6waAmmhNPTRIDexGP4po5dsnuVN0FVh3/niDYF31BZzSmkKNCOCQu/5w1+V\nNv9C3UB8AaJIZNYUSqsstsPkeJ8te3s2kEmt7IC/m7HgxgyvDzEydeD9/pdz\nLaXxknoVhnrMYzekqFGrHBWuoXaSvt9gSyYDzvrNcy38OngFPw0Q/IEZhKEK\nYMlTrcR/WWtNnP0+PMLk873Tjq/MTyzAcKT5lhG0wvFsy27Sq+Ex/1X0SzRw\nzVY6BNMuIKSgDHBWJ4BrSj540oo3Z7kNZvVfNInBT1oYa4saQ3ezxz9RXG1d\nxApmIC1oyfPQLHkCoc3w2mfPVY0eSGW+Jr8TH5utr1ymRvmIJhc62Els0T+I\nbXx5msgMKN/+0vVvT82JugerWJVdPUZZ3+GQuYf5jOKtUGABC3++HpokA72o\nek0wkEavCGJY51NgJUB14QHdiXvOZtaWtiKi6xysWxAkQ52GQYpVZfYGaVTt\nERTg\r\n=XPzr\r\n-----END PGP SIGNATURE-----\r\n"},"types":"./index.d.ts","gitHead":"6257d1b261b6c1a921959641cefb5710e6e0e4ad","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"[![npm latest version](https://img.shields.io/npm/v/revite)](https://www.npmjs.com/package/revite)","directories":{},"_nodeVersion":"16.13.2","dependencies":{"mitt":"^3.0.0","typescript-ioc":"^3.2.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.3.0_1643129028276_0.1261271525189418","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"revite","version":"1.4.0","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.4.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"50e8435befdf8738e5eb63f8e22c78b5a8b8e9e0","tarball":"https://registry.npmjs.org/revite/-/revite-1.4.0.tgz","fileCount":83,"integrity":"sha512-OHDk80m8QP4SOA7AXpWqcwhh0tvSKNK+ph3V8teeBsN7kZxiXsOWz1FxugwE69PyA3F9OrbTlREK18Pzz3MOWg==","signatures":[{"sig":"MEUCIB750Q1PH/2Gt0VA03kPvAWrWGBWHOms4idqIZcyY7klAiEA7LTTrkFYuWS6XWEKtndezvv4HkTQdopBIUqA8za2C2Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92517,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh8CrkCRA9TVsSAnZWagAASjQQAIcliephNGV8jonbuz1p\ni9+IrStLF02WNQGvb54P1yXP6QIkhp+yfrCkxONzNgYBShfW7fsNsSg72hHN\nuDtmsH3mOurPjdPQRKA/ZIjEyDfTL/nbU+eWe92csp0lNQ9qudnvRjfDIqIv\n7qC41lhjc8oY+lUDVT90UPL9DmaURQhRmSN+EXkD/uTIY2hZX4b2uoG84itk\nkrWIrY/EubKtchL7oCbMr9G/qN5v7vaqXHDne83rmWqT6uackVNv0MS1UZW1\n76KTk98b0oJvA70BpVEdpdHGbdE20Fc/W/ijrquvN50hM2V7baAcYu8A08nt\n6b3C1yb+lUriAdNobgV/PwGg3kLlYgt3vaQXG47j5Vz8tW56ZJMBilIjp79h\n2gWap2zx5G/Tmt5xd/Pbwbj2dz3IZMZpcgTgfrAIUCm+6yI4n94U5MixX4zL\nsfjMQBOE1UBTueCwE7ifRnUURHmqMnGTR8C6QOIXZ4IG4M2Tdt79OHxc7Emw\nVpsP++kyUmpFiYji2YXfhZ9CvHGDU2wcqAsD4r0GXg3QxDK7pD5EzI5bHI4e\nI9fz29GK9zGwbYLSjS2XmqjdaZD0H99vnQFelMnZIvaChXNtHs1fFZhoZUx1\n5a/PwE0uUtSL+xGj3s2N+ERHMm9fhyFzEjlD/vPHmS0UK1Nf48DxTZGxgk/w\nThBC\r\n=zAIm\r\n-----END PGP SIGNATURE-----\r\n"},"types":"./index.d.ts","gitHead":"9056b366bd95c1fbb17eda0b62ac012ec25149db","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"16.13.2","dependencies":{"mitt":"^3.0.0","typescript-ioc":"^3.2.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.4.0_1643129572130_0.9779654637995734","host":"s3://npm-registry-packages"}},"1.4.1":{"name":"revite","version":"1.4.1","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.4.1","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"3d5628ff851f8f56475eac51ece51933770c0f9b","tarball":"https://registry.npmjs.org/revite/-/revite-1.4.1.tgz","fileCount":83,"integrity":"sha512-P6rz+OEniA/hKm7/kQ4KI6NEoZ6Fqr1KaxaYLdxo0fepu4yeqzy10N69FeOLrq7M37H6zvd5+Cvsuj7PaupKQg==","signatures":[{"sig":"MEUCIEVEtgOP8yKLsEiK1BxeTaS0ZZw8VRo2rGiWfjGzZKPlAiEA/ZQx6cGuyg+o6Hv+e8TujwwVRkzY2yxdpciYPrIMCYg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":93512,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAbwBCRA9TVsSAnZWagAA1j4P/21SP/fe0rj09ERM0vAl\nlCFgGwyOfH4HqP0GvZ57tZhQQcLhUxyrHoun+mvD877+UTFD2rCGgtWsqCBH\ngXS/RN28o5+eDxzajxVZhW1769YY7exrY8nP5hJV7Bq1YbQsJRrHuSGKlYZv\nRmO+2q/sp1SO3jANzh39tVKYKRwn61N0gIA7Vf5JeE1bkTtXnSIO71vc0uTG\nGughsnZ/0uGWvp+6kKARmHXFGnpY7CrR+JVYFXER3xaMF55D+fsMPMl3aQac\nlCCOaFEJyHcd+DnAq036e0RIUqbkYsvZs0q4XwOIZFhLnSnftW/NOAKooXEP\nb88+W/zdiigocdcqXKiCwJnMcS+G5Lp1fMDXRA02IChnEMRwKNsJ1MNm8IS7\nlXOQMMd9+pEzHZHLa5OgAGz0YIoxQNbH48GdlaoU5hGwxYICjO5EPW+lMnhy\nqk5F827546rR10b1H9i92TtNHQlCTZg28/Ta3cTTdSrRhmkxhBvsYEYS8LX/\n7jFeRWFLtxJO1sk7O7ZCFBPsrKGmzm60o/7YE2OUF1dnAHHRKi0nONtGRO5B\nh+c83a9enxY3O/jrVz8dEaEt88Nh5A1n37ilPHXAc2/0jal8/7Q5RTjAGr8e\nae/zdcaYCPvVU4yLqf0o3eMJzdYfTftiug0v8nc+/NLWkaKkMzbVO1252K6K\n9UXp\r\n=nlF6\r\n-----END PGP SIGNATURE-----\r\n"},"types":"./index.d.ts","gitHead":"a335fa71238957eafe184da03e027b68355fb352","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"16.13.2","dependencies":{"typescript-ioc":"^3.2.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.4.1_1644280833354_0.9121187342881594","host":"s3://npm-registry-packages"}},"1.4.2":{"name":"revite","version":"1.4.2","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.4.2","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"a089f2390baca168fae95d0deea85f04a529dcbc","tarball":"https://registry.npmjs.org/revite/-/revite-1.4.2.tgz","fileCount":83,"integrity":"sha512-kaH6c6Bz9IebxGC4jYutAlWxkhRzDOPfB2NuPbFe8Dy3VtXX8atEu9UCuSJS42v0/Vfin0fJ5BpgsNkLYOIlIg==","signatures":[{"sig":"MEUCIQCjrTt5mvgZzHw6VkbySAHBbRoP9uDHC6qUETYJNUXyWAIgE4yBaAXxLSWVZ2Xmy1hGB3/LV84CAv4JBrSsSQ8blWM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":93607,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiAcAHCRA9TVsSAnZWagAAeN4QAJ0K97vpEiid85Rh59bd\n/Z4SlkPCwJ2t5P2p9WBUZzOITIO0/ScslK5F7shNWgjFFsOH9348bUkgJLjR\nfHoi+0VzJFniT1gRQTQDetVRSDLy9E9/W7etPZRb8FuxXlAdCPFbExpjHE0D\nho85Pb/6TZL7gFX2mKWcG27dbR63tI4sokW+hApZbLUfIojf9wno7HmE7R6A\nL+AK5/KwWXneH3nXTpwfunJQVYFXEBJuIpB5VZmY+Pg+id2Zhhefo0RHdSm0\n2mNzoN/QaqbokS7fqmh6/QTtUkqtr/qgicorsAJRkew84pbZM2RgQkLyquq7\nWn8As2kctD+VW7HvlS+FduHQ7Z1w0SJH3Rnyq17B9ceK2d0OSQNGZTfEztBs\nOr8D04kWiWtWFqSQ2M8rwsT8APVQYosWdmOyeYZK/PCOfT+dP+f3s/j18IcL\nJQZ4/4aD4U2Wip+8HA30RzH+3+HOF5DjXmsfdA1voc7syKtJBVBnhZxLkfyv\n3PlEGNyUZI0a25fYfq2V1PzF1aHTEpHYXdfnTaeLMjhpP6eWZaLggT/OKrqN\nkhXP5MoiqRhoIk3ISUBtla1pPpVHfEVORuJNbvaQlulKQqO6tq4zGnl+Uld4\nRwK20dnTgC1etiRRlh0OTQGV9HG8Pt/OuE4GEAwCpdxF80hk+x8JaC+0OzfR\nd0F/\r\n=6jlj\r\n-----END PGP SIGNATURE-----\r\n"},"types":"./index.d.ts","gitHead":"7bf170e0d7a0fece1be34ebfcb44e099c66657e4","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"16.13.2","dependencies":{"typescript-ioc":"^3.2.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.4.2_1644281862956_0.6758248353878122","host":"s3://npm-registry-packages"}},"1.4.3":{"name":"revite","version":"1.4.3","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.4.3","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"b7d0556da7ecb8ff19e19536c2ab4839ee134eba","tarball":"https://registry.npmjs.org/revite/-/revite-1.4.3.tgz","fileCount":83,"integrity":"sha512-JuvYxF5FYAUHAkM/ec9ozseAqOwMk8b9AAxDlXKMN2JZz90J+EKFke+zAvO/vZsEwSphYmmZuhsHy15tXyFnXw==","signatures":[{"sig":"MEQCICsSkoklLI9vfyuDgb5nVLH3AKPqT9dw7bf9I/nlFy3/AiBRmicj45ph4DkptkrZC21oZ7VSHRNb96iGErqq0VvV5Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":93674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiEA65ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr77hAAjOxpq3mZfovMfj3orJtYWqLP/VvxnfGxKHSFWuSplYEnpkej\r\n+JQDOxerp8azaL5V6vP90qT749Cp0k3Jw4BvtboPHeXLfPHwPjkZW40SaMUG\r\naxkQS7C7eONL2KB2CXxwDLGYizkHQl3HdQDawQnuUWQFUbkgTJ2gqfd8VqJL\r\n17u51xTCefMm6tMWKftez627lZTdqo9RoSe22iUxhbscTc1C4PuXmL8hj3Ro\r\nCkpq8bX+0dTmb80JBpadjGr3Z4mptdI7lYy0ix4ZXqWbsIq4Ht4VBpu0gb51\r\nhBa/pVZqpjU+qH+rdBKVskASSheBOAZmTgFSJuJJGmWRSD5JQFqlrGy+Y8U+\r\nvHxQDFuSPU6J5AUy3NBF2Yoci/Qo915nm1FITkPFFuxkC4Zm7ClKoZqN5l2K\r\nxmvsfXyNkTCQzK2VNEQwAbxkvkQZSK51+VZs2CZqCKQjf1WqFfmB8eCLJ5pe\r\nBXaFdnGqveD+RXVVBR0S0NfRycQKxKAx0BVhXL/igoOtSAXPyLP/WiYGb2K/\r\nQe3QsqVzOcDchq9IItJe6enhIg9PxLiY2iPVRpNa7XOrmEOY1ab6Zzt/FDsw\r\nMPwtCJ6btKK7Og+oZbtltmO28SS5mM+Vdp2MZmoIXeghA85ptNfP+HtExaqo\r\nVMyUcfDwSPaJri97un9rbhNdlMVYiWdom1Q=\r\n=9sg/\r\n-----END PGP SIGNATURE-----\r\n"},"types":"./index.d.ts","engines":{"node":">=16.14"},"gitHead":"cbf20ca7511ac133ab3e2e083b2df8eec228ecea","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"16.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.4.3_1645219513230_0.3428930203790028","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"revite","version":"1.5.0","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.5.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"13bb5aa8a9860010d55ae7dd36dc24ea293d785f","tarball":"https://registry.npmjs.org/revite/-/revite-1.5.0.tgz","fileCount":83,"integrity":"sha512-QRlOeb6gjlYdw75AVH+IQugalUIbmcWRQz84uS+h2EYA2H7n5a4/Kv1Azyvlyh1JxSsT2DFCTOgvbIeyoG6H6w==","signatures":[{"sig":"MEUCIQCWIaSXngHZyHwwwVVbEKy9x/FZBHSb+wTDzplawup2XwIgPvb6/tj9DGnXXuJDjDrBJ0HbFCPU6CypoMch3bB84xU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":94280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMSzfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqj8w/8Cnlat74+ko82ZPbrYk0kKeBWhtZZmfZ5bbj+gWuj+XS+vCfB\r\nbwAk2xEwRg3sBLGxYwX/iUH5YZ26+k9vbx3sjRG1PHvD87JSXfKcz36vIbeR\r\nWSl1a/z6rDDm3vSmR7d/JMSiir1sG/eqojBZ3ozS2Xr8c2/TRRzOEStajY4l\r\nJC2Bla6F7QzXBGX4Qnhj45ULBKT2r2elHVo8iprtOsLDCIyXkK9/IxhJz49q\r\nhepnu/60tM4K+GUe9+e5C1ncuJw0mcs1wsAHvvgHZVD3orK9aerym2qnI931\r\nuviYsXkyaudGZquWQDcoLSgm+yEWUWCz2gfczIq/kl7cE0ab7sNCfRfSPxfj\r\nL3ioryrpO5hjDHK6urPgDUznkiDiL3iod6hFmqKnxccdFXi56+3qFDPMR+j6\r\nZsvJX2dLe1kUQtdfpkA4IieHV8ecYc+eKEcEG2HECalcf3ELvgNZAEXA+thJ\r\n8EMAkyeS/+UviToWcEZav9WCf20dpcMQgUbRqbPX57y76HcrkojOrPn5TCh2\r\nmFpnMC6HXo+xo/Y56c0/No23T7LtXJGCoSyXn0JbBxUuT+dZGiJYMSMzLAML\r\nao+gov1cEZuYvhVtmToa0vKxhTPbG29fYVSu19X9eu5EpR66AFeSgYeqvKX8\r\nYw+vjYopMz/t7wWjib8mlfl1USXNplClk3g=\r\n=C33U\r\n-----END PGP SIGNATURE-----\r\n"},"types":"./index.d.ts","engines":{"node":">=16.14"},"gitHead":"e896daa6b99b32d15be9c20fd3ed300cddd6f0ed","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"16.14.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.5.0_1647389918984_0.6466238218563705","host":"s3://npm-registry-packages"}},"1.6.0":{"name":"revite","version":"1.6.0","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.6.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"169c7a203be3eeb6cfefe551ad363b27db3c411e","tarball":"https://registry.npmjs.org/revite/-/revite-1.6.0.tgz","fileCount":86,"integrity":"sha512-fHXNFpc/M4U9I3DdSaLmrE+Jj8mkoMgh4Oj0NeXFNO816UqWCU9XlfuXhzHFYhj4e+Ef86oMAJoFU2TukKZIfQ==","signatures":[{"sig":"MEYCIQC9bbpNYZb+DPcWjROd13L75Rar4awVtFJmhfe1y7f1nQIhALMYX5dEc2cCjwL0YOon4Hl95MfMAYdNbkxBfH4WASHi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":97317,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWwcqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodkA//b/oUw/8DEzhEwEOxnYgtx38wF1HKApCCGlTrQNZUMFGz/MV1\r\napMPzIOkPHXZFzqIW78LW0iudQ439EhLSpMkuyuIm4kUhs+ulEa67W3rfVsL\r\nCbLXu3QP4UwhdCvRa2CyyshdCNuJn6Xzs3EmqKLyuuJsL+2WEhL+ayZ3tvOZ\r\nNcG4mpXe6tjobV3pDzcy+mXGoZo7H+iOZAwnCACho2E7C8rGK5AeSwiUviEO\r\nORNAyTIb59k9mPFVVCcS8tZxJk92Aa3pV7HVMWN6c/R+XpfD+P7WToCovZp6\r\niApIiTVDbiL5Bp6XSgBDYyHCIqyxegv9eQcNzxvG9fnCeA4Qod6/gkRq+lE+\r\nPTCsi1rx0eoAzc3ssh7tGAcLL3/6c0V+8NtZ6oluQU/Mfqp3YgZDscSNGwSa\r\n7+43skwucBeOPegkReil4vZGI0Czb8w+kNntuXIi0lC1OVNNMf51SgGAW2bw\r\nS7S/j6XvLUWa+yd0M65Ez3YizIjyvc/ftMvoHQgxJBRwiEz1+Hgk2Ue11upA\r\nM4HkExaRDp9t3fUWabBetJveC7iw3ulNp3sZs/KufX38Vb2Kx6Gz6pjOOj2J\r\nsaHrGseBrxBPt4ZNhOuQzTvr7YW1k8y5DeLlaveyECbPn+TTPddbEDzURjdF\r\nEzSNqOp4fCW4JdDhVc8oPUZUyEYLiGJEwyw=\r\n=UrY8\r\n-----END PGP SIGNATURE-----\r\n"},"types":"./index.d.ts","engines":{"node":">=16.14"},"gitHead":"9aa58e5331ab3a42b1698dd180ee3b6547797fbf","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"16.14.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.6.0_1650132778274_0.5508891891103638","host":"s3://npm-registry-packages"}},"1.7.0":{"name":"revite","version":"1.7.0","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.7.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"2f385ea029d97dd263291517952c96505bcd50ca","tarball":"https://registry.npmjs.org/revite/-/revite-1.7.0.tgz","fileCount":89,"integrity":"sha512-Rv12Te5GDpuATaDDJ7yj5jco+qybEW06YR0rBP8AjXvwpHhQYzTwwRj0ZPw7NM9UJR66QGqJtLUFF4fux25xsw==","signatures":[{"sig":"MEUCIQCZNOt1ZANBqWYsyihcOI3mqtWTPBiIuR0cs7CdqYIbswIgNcHkmFUyMpreLx01Mb0XT/CXFu6NpP/aYo6LGCFpKtM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":99355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXfoMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoE8w/+MwFkZdZkowUXHWT3Yht4pHgRwN6TwT7XzyLFX4BqVFQCSsAP\r\ntyxyZoLyaaj9MyRQFiqOE2Zk+Hnyqu6/cF0f0Z9Tb0mHYWQPKhnGfJY3xBn4\r\ni82GilWYe9mfyc2HHgy0dkfdDgxoiwlgT9pR2kA67EgOPgJiOBz1sB32spy3\r\n6B6zNuj20nNKUeUSlQtoQYWByMBjUhHioSInH4TvtuzufiSts+XvMN7m5bBs\r\nX5OeF4dm1gmWAnE58aeL+XdVs2YDB8jMVh6qSiJLvCUe1j/DyTQdTePXdeCw\r\npqdH3uC1gujMFy5GGxCo30G4cZbFq0MJgfyWwepEkkTCb4WjlBZRIdZtvaFQ\r\ntoxBnEqU8td8+MhuEO4T8MccLKGHfd33EcD1o512Lva4BZ4iNMdLgfCySjhl\r\n82b94hhYoYng1zf0APvUs/LrkmgRXKUfn3MX6Dwj9IGghs9ZXYQZCdTEOiXb\r\nxYlmjIF4PgHWpqO6K2NHJWweTV3w9Lq6zYdcVvbooMepge0rAAFEGg8RC9iE\r\nPPy4I60CcMp3ryJH2fOn3h35Xu6p+nT3vxna89f3O9JVKblxEuj6hBnM488T\r\nkMg87BgDIQXSrARpnMUCA/sDHUsHNUPOfRt28ZVi3CzlRGwEnjLCLd0U4/qj\r\niSguloQPOyhreBTxC1lIsqV8Hc88205xdBo=\r\n=hCQh\r\n-----END PGP SIGNATURE-----\r\n"},"types":"./index.d.ts","engines":{"node":">=16.14"},"gitHead":"34e62ffa80a6f79b109cf6152fa454a0522c35e8","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"16.14.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.7.0_1650326028456_0.3402056490357508","host":"s3://npm-registry-packages"}},"1.8.0":{"name":"revite","version":"1.8.0","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.8.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"e6c3290cd9e393ac7e81b6fa1203e461eb1ea9c3","tarball":"https://registry.npmjs.org/revite/-/revite-1.8.0.tgz","fileCount":89,"integrity":"sha512-SyLJ8qqU+k3IixmlHvCmtarkY635Iuh1AHoj9qmKqdCikuPD6padOQcsbn6WCA9dJ9CBjg8EPORogkdZFO5oJA==","signatures":[{"sig":"MEQCID1VV81MtJHiikjYpa1r7sO8ph3gybrDOdbGsAm5izryAiBdCQsb2ofvCZwczz+tBx9WXEPQfJwt1xiXZnUsLCEOtQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":105944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikdgoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2uQ//UB6eLbgn/w3ylz4y/YUhd2lPVR/S6YLWsAfLGMesx4H0EKot\r\n5fyl3ZSvkTTu3mVCBmOEXSJaYhjijoQ1kVpR61rzsmwCxFQlOQ2B0MFZ5lVM\r\n0JuJbbiORJeVvG4LnLngZ8yw7odjcZ+dso/RmC7Kr5nGgv7a+7hKUPtk8hk7\r\n7iLLSfuZSa0HgtD0oYZx16rA8A6F/A49sYJ+fweDNJHoIea4Uhtd6kQQZOVG\r\nG7/I6CWJ+7qDrFLHKdvuayCluvx9gVB79oiReWl5+2TctIWoH/XC2hyvckPV\r\nLIWG/hR6uHucl21/OVQFuvtF0EPeeF69Sl4Z1ixkwhNC1lw0D/m28nCiPuhf\r\n2N1iLFJY+zNuaP+3MdI5JExVhl+AUOsg1lJ+LBEy/ZB3EmBjYekvI8U04/5W\r\neoab3iI1ROITwCxRD4ChDhdGXcw5Kp4CpojO5AM9C0+Jp0i+IGjhC7b7I+Tx\r\nm7Hv8LBMF+RnL7plBtEuu/SecO1oASKsa7ruCQLzHIWiBzfM9MsCDjIWpjYT\r\nn/Ai6dyFS/73sZBB+ZrZvLxORtH+GpiXP986QiS4nVyeUmYEaA4CAhHEczPD\r\n/9Enp8iUtMMgokqzJHswFP4ddB4HLABJVMhvkEe7Es3aYT2Gm4wFq/5W9QL1\r\n6htE7IWUZyfL9nW3etmOJZPwjqldsj0I0sQ=\r\n=VUQC\r\n-----END PGP SIGNATURE-----\r\n"},"types":"./index.d.ts","engines":{"node":">=16.14"},"gitHead":"7fff5688fb613ab14f1288888a38964b349c4a25","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"16.15.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.8.0_1653725224235_0.04929832397365619","host":"s3://npm-registry-packages"}},"1.8.1":{"name":"revite","version":"1.8.1","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.8.1","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"cc3588b87a7873ef36eab89ad29bec43c0284325","tarball":"https://registry.npmjs.org/revite/-/revite-1.8.1.tgz","fileCount":89,"integrity":"sha512-7V+qie8B6s9OdKusomuxPr1TV5TTn4tvjSdxz6ccI/zG0vOk0T0iBtCXbjMeU1mPluwSTITYeVXiQ9hIgzyFHg==","signatures":[{"sig":"MEYCIQDQE3UhYM1Eq0eIabA2QY/jJw0SRdITDdPSooHvAUUAywIhALlDG8kGvcvEs1rygEYVaYUTFNSbiAyK0R+WgAfY0k/r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":106541,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJipKTWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmptkg/+NBQAzI8s8eTiOU2FcBW1RACCajmKT3uNGSfWEVh9c3dzcy/P\r\ncNld4dGX6d1yc298VCHVThyXCwE5Gw5dkacsNLIKVABnWXN1Ra4U8fZT2Qn5\r\nnc7OFaT232o+ZKOu4KQXu+SaPdmGpISKtvHncWCuSmjOdnvEPEEcHu2UPIRO\r\nkWBJahaywp5FnxOydx0ehGXS5ImlbdzZ3ouvCYX31M8oGe6k2G9pGJdqGlAl\r\nxuYRTpHXi90HLJTf4f3uoQbQDty68ZmtWNWlzWh3oLuy5WeJZaS1wPgv+Fnn\r\nzpTiGxoTu1DDCCeEyzez0yWdTPjjX/wwlm9DPeWtjIwWR758q313blHV2LM7\r\nAHXANYq79nKKHFNx/DgX17ShGTPTEsEu2AsjB2508ksE95mFWzs2tDD60YxG\r\nzE0uuaS6iBVnfa69r8qR+sKxCjBA2qr4uUbqb7cjL5A0zrSyhX6n8me2WSeJ\r\ntMulYB2b0MzZbzu/S+yGJA+TfB8d7zlQSYVgss+fG8G6Wasplwj1jqDjgpgx\r\nvtF8sfikba/cg9UxC9F0rAeoGsYDiIr4wlXsFl7D/cPKzR831944ygPIMD9c\r\n958Pp8MHp9Djsaernzl9in/9VNn+q0928Jux7OowwMKB86SivW36vvDTyBam\r\nc1anHwS2WAgXPLaz0OFRHloR4RRtR5D1Wwg=\r\n=PpZR\r\n-----END PGP SIGNATURE-----\r\n"},"types":"./index.d.ts","engines":{"node":">=16.14"},"gitHead":"47a445478fff09f991255823af487b7e320cc55b","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"16.15.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.8.1_1654957270394_0.7302862083875743","host":"s3://npm-registry-packages"}},"1.8.3":{"name":"revite","version":"1.8.3","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.8.3","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"58ff64c55313dc3da4fea57325b3263a53398d8f","tarball":"https://registry.npmjs.org/revite/-/revite-1.8.3.tgz","fileCount":89,"integrity":"sha512-3o9XZhkLwArmrsn47Q5d75+iusMQHqtxCmRjZxMa699L0DOf5xAljOzsnjxiNOL16B6tHZfqWhD1mCG2B0hwIA==","signatures":[{"sig":"MEUCIAbucTw4IShbgb6zXmoeerRMoXjElZ2TqG+0UKMU541WAiEA9AiAW+RewMPlNhR+9YRM3w81dAYmtRkEfu8llokeSbE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":107057},"types":"./index.d.ts","engines":{"node":">=16.14"},"gitHead":"fa0adede119197bdd6191ed3c41a3e68ae4aea7a","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"16.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.8.3_1685050443236_0.13394371660623738","host":"s3://npm-registry-packages"}},"1.9.0":{"name":"revite","version":"1.9.0","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.9.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"5388bc9b541b7ed51df9983d65242d3cdaca0955","tarball":"https://registry.npmjs.org/revite/-/revite-1.9.0.tgz","fileCount":92,"integrity":"sha512-PFBu3WxWwbQx+IENVNEEuMkgGQzxGmAbcpEwInilCMjSTka2BNQxMtmojDhnT1aFictkD8K/xR771/3cMG1XlQ==","signatures":[{"sig":"MEYCIQDaNzSjihmpvpp1QIcjzS/WKcnNUNaxtOUbOWAdZyP6RAIhANQ82U8DKcCV5H1L5uluQmg48VEtSdUTBxyJsCkMUMqs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":111233},"types":"./index.d.ts","engines":{"node":">=16.14"},"gitHead":"2e5b0092ed8ddcf876b2edd436431e6c1ba91ece","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"16.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.9.0_1685162548178_0.39634059742728023","host":"s3://npm-registry-packages"}},"1.10.0":{"name":"revite","version":"1.10.0","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.10.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"0b4174d17e8526d2c4711ef54331abca18aa3959","tarball":"https://registry.npmjs.org/revite/-/revite-1.10.0.tgz","fileCount":89,"integrity":"sha512-OWdnxDrg9Ugj7Fg1PIrALSJu5sEk+2IXbe0TcGHmYI2e6ARModIzb3FbG6JUuaX31GSBxhnAtV43Yqxl3lPEYA==","signatures":[{"sig":"MEQCIDRbtu9zjCjLhF/Y9e3/i98URyPuGpOwo/UuIOU0kN5tAiAU48Y9AevG7CyIc/JJJJx7oBa+lj++8BXSfQFYJwjLSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112271},"types":"./index.d.ts","engines":{"node":">=16.14"},"gitHead":"c60c505cc7c1be923296803d6d1b5f184bff18f1","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"16.20.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.10.0_1685557035627_0.5758441083681927","host":"s3://npm-registry-packages"}},"1.10.1":{"name":"revite","version":"1.10.1","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.10.1","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"dist":{"shasum":"776b59dda69094af190fb7d2717cff77871312e0","tarball":"https://registry.npmjs.org/revite/-/revite-1.10.1.tgz","fileCount":89,"integrity":"sha512-Gxs6ja93cLKcaQMzP8ohLfiY1PVyKaCsAs6shlP1vcarik6/GcHbXM9hdYLy3raLfUCjB09DmIWDums3oxBYVA==","signatures":[{"sig":"MEUCIQDrOj9SANBrBT3+E27XO6MH8uWdPG4IucLC59GpykzykgIgS6ZS/24qoN76VnDC/8n6k/JfS03RNjWGzS0cV00UQOs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":112605},"types":"./index.d.ts","engines":{"node":">=18"},"gitHead":"a2ede3501e500a7f4b24a1d9f200fa839a56801d","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"18.16.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.10.1_1686322193672_0.593525784192029","host":"s3://npm-registry-packages"}},"1.11.0":{"name":"revite","version":"1.11.0","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.11.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"cli/bin/revite"},"dist":{"shasum":"bfe8326dd486871dcb1cf27dac742b314392e318","tarball":"https://registry.npmjs.org/revite/-/revite-1.11.0.tgz","fileCount":99,"integrity":"sha512-XfaNe+CD1xQdk35IJO6RHvmCH2gjXMZEQCNfTg1IKfeM4YFC1MhGQanZ5pa9sL7ub07hn664Bzult6Rzw/74dQ==","signatures":[{"sig":"MEUCIDil6f/8/Ni6SsEcRMLEYmCFlxe/5ORGU4dsYw2KzsZdAiEAqjDgMDL/6EsRze1fw0zM/Z8unVJEdBKBVdBFefiQhIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":157759},"types":"./index.d.ts","engines":{"node":">=18"},"gitHead":"3ff9bbbc7efb15a3d63b5651771c9bfcde8e2deb","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"18.16.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.11.0_1688392324146_0.7220764255760452","host":"s3://npm-registry-packages"}},"1.12.0":{"name":"revite","version":"1.12.0","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.12.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"cli/bin/revite"},"dist":{"shasum":"56995bd8bbf59bcebe879ab7cbf86b18ddd0664a","tarball":"https://registry.npmjs.org/revite/-/revite-1.12.0.tgz","fileCount":103,"integrity":"sha512-SVKEahp2EPEt7F3WTwq5akyLQAmEu1/nqT0w1MGNozMh4BmVj7yjPmYtrGBAz8A5vibnHkmhiORGfERDDv+LDg==","signatures":[{"sig":"MEYCIQD5mqXvXKYlgf7TKdaC/GJG5342d8NYSncKZZLrQdpkaAIhAKBMFpPJzPqCeIQZi3OWfbWzxk96gQ4R1TzaXvxIhUHR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":173302},"types":"./index.d.ts","engines":{"node":">=18"},"gitHead":"b101c16498d13271dddaf63a9ab94dad4649049e","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"18.17.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.12.0_1695764248433_0.3883742248527364","host":"s3://npm-registry-packages"}},"1.13.0":{"name":"revite","version":"1.13.0","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.13.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"cli/bin/revite"},"dist":{"shasum":"1863df4927930ca4032f58a634dea5d14c77f0e9","tarball":"https://registry.npmjs.org/revite/-/revite-1.13.0.tgz","fileCount":103,"integrity":"sha512-UK+MqXYmAEidv8aEvHoUSxrzPsXpQ8Qrph82ByVNoshZ573VIZ5dxeqpP1wZYUdHCFiUFs1XTe+BKFFSkNmMIw==","signatures":[{"sig":"MEUCIHp683D+EkLPWNx1wus3lvlbTpSl57jlIIbyvDV4bavqAiEA+57Q5DkzF+yH3GHXLZVu5sYd2U7Y73K2khl61N1BHnI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":147138},"types":"./index.d.ts","engines":{"node":">=18"},"gitHead":"804df9650f6110ef8980536877dec5b97bf51cb4","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.13.0_1696822688338_0.7559149745807141","host":"s3://npm-registry-packages"}},"1.13.1":{"name":"revite","version":"1.13.1","keywords":["service","provider","ioc","container","bootstrap"],"license":"MIT","_id":"revite@1.13.1","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"contributors":[{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"cli/bin/revite"},"dist":{"shasum":"7fdc8425ab3d160aa4fdf8ffe5260c79d96b7d68","tarball":"https://registry.npmjs.org/revite/-/revite-1.13.1.tgz","fileCount":103,"integrity":"sha512-H/OBBW1Bmc0mIp4V76iTbWW6fSVGsMGuMdhzpSu+qmi0ZTSrA+W9lxS5Nc+/Yzs7H6sSvRbM9mZPKmQrDSIiUQ==","signatures":[{"sig":"MEUCIE848RzOX5RBYrnmWahhbByFPPyAiXld5wqMubdNSrwrAiEAnrBCwOBv+bbamRAwOFma5d0uXQur/R9zYSnhy5rI3DY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":147582},"types":"./index.d.ts","engines":{"node":">=18"},"gitHead":"77fd4c4a130093e1382d57ae0b77361c99016da9","_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"8.3.1","description":"The Revite is the easy way to implement the application bootstrap through configurations. Approach borrowed from [Laravel Framework](https://laravel.com/docs/master/providers).","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/revite_1.13.1_1696824908452_0.1525657526805262","host":"s3://npm-registry-packages"}},"1.15.0":{"name":"revite","version":"1.15.0","keywords":["service","provider","ioc","container","bootstrap"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.15.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"cli/bin/revite"},"dist":{"shasum":"3de7049e6a5a61fc1dd754e954903da138d15f2c","tarball":"https://registry.npmjs.org/revite/-/revite-1.15.0.tgz","fileCount":35,"integrity":"sha512-MKmS1CvNatZlpuAOBBbY8BOVNT9tPRryIpxXbJdOqEjQSBCAJUajeb7arG9BJKNXKR9Fb0Ys+usuHrNHs/1UCg==","signatures":[{"sig":"MEUCIQDZDtauTbxvcjD9OFkQjyD5iBBA1waLlQrZxFyQ8NNI8wIgBAMi33HXnUVDwRRPeIsq+LMYHdmwaKvr804kgErvaU4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43328},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./package.json":"./package.json"},"gitHead":"f5ff00fb4083570a992c4c60e57024f6dc95b162","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"semantic-release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"9.9.0","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","semantic-release":"^21.0.2","@revite/vite-plugin":"*","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.0","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^11.0.0","@semantic-release/release-notes-generator":"^12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.15.0_1696898368644_0.3111588128804663","host":"s3://npm-registry-packages"}},"1.16.0":{"name":"revite","version":"1.16.0","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.16.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"8ea059a7d65ff9e271ea7116103ca60b1d222035","tarball":"https://registry.npmjs.org/revite/-/revite-1.16.0.tgz","fileCount":22,"integrity":"sha512-+reUv6FYIva6UqQaECo6f8qnUKybCKxds6jNaIH6p7P+dQJQtlslelUQPD6hltEscXUzdSA5lb7by4RnjPAeaw==","signatures":[{"sig":"MEUCIQD1zN3oF//p3vhcT4iYpeGfk8oaiOIaBsJ2ms1cjVv8iwIgfDf4cyC7/aMo6gZRwYcvkRGwNPmonNX7JzH31KOZFkU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":127261},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"},"./package.json":"./package.json"},"gitHead":"741feb61f45f92b182fa467a38eb54219afbbb5f","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"9.8.1","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.16.0_1696944845584_0.3426568742835352","host":"s3://npm-registry-packages"}},"1.16.1":{"name":"revite","version":"1.16.1","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.16.1","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"4ab5c922628534f59bf12903a7752515c8a72f67","tarball":"https://registry.npmjs.org/revite/-/revite-1.16.1.tgz","fileCount":19,"integrity":"sha512-8AsKPsRarDXR2F+jhqRvD0E+OwaLjnii+JdPO9ApV6RXiBu44RrTX0DArCn9+rjn1okofVBR94s095oLlOtf/g==","signatures":[{"sig":"MEUCIBzaUN/fZHqI/xhpxadspdlU6eIHtDUs94/ClYYomB5kAiEA7R79hXEiAQ+lrjxdF3VqJcBtoUBGQXaV3fFjDdUCxwg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":120988},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"gitHead":"8d48695b92555598866fd78929c7f77fd9530b5f","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"9.8.1","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.16.1_1696949160153_0.616872888466321","host":"s3://npm-registry-packages"}},"1.16.2":{"name":"revite","version":"1.16.2","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.16.2","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"ab51cced040dc6eca3b46f0117085b1e2e7476f9","tarball":"https://registry.npmjs.org/revite/-/revite-1.16.2.tgz","fileCount":21,"integrity":"sha512-wH8fugZ9bVnqhXQgfWqayhwKu/gLhKvUwvgkJ4PX7ac70DhyBObxgZWIM+igqqEfgsvjdoi6fbkx+XTE3TvWhw==","signatures":[{"sig":"MEUCIESrariFJ6RmGCvLjBJQvFLJlIK0FDYIVk0bASQc/IlXAiEAzPkc6G7onNafcBt5J6MiyfIauqRWhp0jGzAB9aRWab0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122600},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"gitHead":"5e7f745e7800bec8fa3027b2c693863d7633f440","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"9.8.1","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.16.2_1696950001089_0.5832026607143279","host":"s3://npm-registry-packages"}},"1.16.3":{"name":"revite","version":"1.16.3","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.16.3","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"3d373b803b3743f2548355abf5d0acba6b4b7dcd","tarball":"https://registry.npmjs.org/revite/-/revite-1.16.3.tgz","fileCount":21,"integrity":"sha512-gn2P8k01j9djGcgLCuJ4Qk+XQOnXH7ecCfyq4YmzQgx4Xjj4LkLA9/T+lzx1QWFrm6/9y8Zio647JvDdq2NWag==","signatures":[{"sig":"MEYCIQDFOgE4A2WP3qBRd8PeVmXtQHyCbGpeERS6RclvlFfHpQIhAJGkP0/tY8n59545ftE9BLFDVAc3BF4e44h3qrRKi8U/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122757},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"gitHead":"8978eccc22215e7881043afb81c3b45c926b8f1e","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"9.8.1","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.16.3_1696952287499_0.3107839994181578","host":"s3://npm-registry-packages"}},"1.16.4":{"name":"revite","version":"1.16.4","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.16.4","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"6939f677033a1097c379277033d585de068567f2","tarball":"https://registry.npmjs.org/revite/-/revite-1.16.4.tgz","fileCount":21,"integrity":"sha512-HgN/fFY7ecQn/N77ej2jowNiWnSFPSFOIgfDKoH5PcMKqqwpg5ZvsbXD2F5l7oAgNnF+UEsjBwutoFfbTzD1wQ==","signatures":[{"sig":"MEUCICIXuMgvzh4xDCzuc+nmtgv9E5Vfyvy40a+TLKPEFATHAiEAwNqVUKdIh6hk2LSzFlS3b7H3nxNMACUGeDp36oTv34A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":122698},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"gitHead":"c818f8fb0fe5a0a6b1b8f226ed0000cc82ee0545","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"9.8.1","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.18.0","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.16.4_1697054369074_0.8488145820774056","host":"s3://npm-registry-packages"}},"1.17.0":{"name":"revite","version":"1.17.0","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.17.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"a2fc38a248ff91b49ebd07fb7a1424c829c03380","tarball":"https://registry.npmjs.org/revite/-/revite-1.17.0.tgz","fileCount":21,"integrity":"sha512-NOVEW5nMKmdOc0ArOT8AwyCPkyLFAAUgyysZ6amBVmhS4EWaRbjFZ6LMWzSOedQnJVUsTkc8rM497SjRe/PDpg==","signatures":[{"sig":"MEUCIDGEw4py/InRzdb88asYZWXAljDhkFOuNGgTdi3F5JSpAiEArEXF0VCqwjEut6zZdCn/ukqvTTMBaTp7OByI3bsVL7Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123631},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"gitHead":"228feb42cc7256e05c4d049ad805f6d8c02a07b5","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"9.8.1","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.17.0_1698618141531_0.09039874583167706","host":"s3://npm-registry-packages"}},"1.17.1":{"name":"revite","version":"1.17.1","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.17.1","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"63637a780ed3d3e6eef0ac42831f2f8aadd56df9","tarball":"https://registry.npmjs.org/revite/-/revite-1.17.1.tgz","fileCount":21,"integrity":"sha512-eDdYjajaF4RmwnT7aZoI0CAk5sgMS9Q8Mv7TOn4358ODBypRr4IFSdEeF6CqkPZAxEOXxd8pdeg3xb5J6kNrrw==","signatures":[{"sig":"MEYCIQDX1cR/IK5AYcFJdjNDwKECYA6zQi3S/mxYtSqQlSJAkgIhAKUyglYdeSOEb/g2Np5wVjXWnGIe00SRXvcmwR6fVUvM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123607},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"gitHead":"7835aa1bdb920c63874941646608d68835628c46","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"9.8.1","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.17.1_1700737387663_0.18255414237536316","host":"s3://npm-registry-packages"}},"1.17.2":{"name":"revite","version":"1.17.2","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.17.2","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"e31cd1245aa19d353042abdbb56e27cc34049b85","tarball":"https://registry.npmjs.org/revite/-/revite-1.17.2.tgz","fileCount":21,"integrity":"sha512-i/aZEM351Qr84E5AEhVTp0EyApMzB0Q6oYZ9JUnz5tjb6HNWOzfP70CqR5aHTpPyk7JeFMh6BKfMxhieUyVDKg==","signatures":[{"sig":"MEYCIQDeixpWJsZ5HSCZNOMFFSfwQAOONkv0S7kb1W+LlEPsjgIhAKREnziv8T2uqGLvicFTboDZMgkI6UbCGBuraJzYKxGf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123716},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"gitHead":"6ca9638c20e725a58c2f7638902e8aabc9b652de","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"10.2.4","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.19.1","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.17.2_1708685559922_0.799273409197288","host":"s3://npm-registry-packages"}},"1.17.3":{"name":"revite","version":"1.17.3","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.17.3","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"8871707ca634213d9618ccf9bb35adbb03ec4524","tarball":"https://registry.npmjs.org/revite/-/revite-1.17.3.tgz","fileCount":21,"integrity":"sha512-ls9S08gXVmwn09zm2g8DS8PMUgddCK/Jb6+SlASePTnmaw6eY7KagNoLHrwmNR9P29DFWcoAwELPekjPYxjkNQ==","signatures":[{"sig":"MEUCIFHAdo2KZnEeSOOm1C0w4ij5oPxKRQbM0GMPtcI75MWEAiEArfrq3C1asGYeQBn+5+2O1FfoGjDeI9ikzfH3B4UK7oE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123830},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"gitHead":"f97a6358a2936821774723446843255ed0c4d628","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"10.2.4","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.19.1","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.17.3_1708686033899_0.9124033151854423","host":"s3://npm-registry-packages"}},"1.18.0":{"name":"revite","version":"1.18.0","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.18.0","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"caef7637fcfffba4e3d4cbcb0a6be841cf98aab1","tarball":"https://registry.npmjs.org/revite/-/revite-1.18.0.tgz","fileCount":21,"integrity":"sha512-g4GpyTYrFeHiyads7m9oZ4gCC+P6vcnJ63/Pw9iH8RBR991hZDQQLa8axMzB6fFCxSYmJ0b2UIeBxn+wzvXO4Q==","signatures":[{"sig":"MEUCIEUi87p0L063ia4JdSeoURpxOLkq8Fb98GL+8AbxtCwhAiEAsNenXGd6Vr1z55ASFV9myen97JdLuA2BWgpog9ZHSIo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123217},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"gitHead":"489fbce17d4f824dc7319673e93ce36f3f8d6bb2","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"10.5.0","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.20.2","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.18.0_1714376996876_0.9014699007974654","host":"s3://npm-registry-packages"}},"1.18.1":{"name":"revite","version":"1.18.1","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.18.1","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"89b82670cdcc2d8b083712377298e0a92ed6e900","tarball":"https://registry.npmjs.org/revite/-/revite-1.18.1.tgz","fileCount":21,"integrity":"sha512-0hPr7egMXLrjmhjfKPd2zjxVFS2cVFzIjH3jM2DYLXcDtRDiYe3RPLOKm0yTEL5EHuJ9kzxZIhUwk40evIQSSQ==","signatures":[{"sig":"MEUCIBxSEHnFZ3ODRq5usJ7Kf/VFMXHaO4ZmbsFvgQhcBoMwAiEA/fYefyIGxMgWKU8LhsYPbobTx2Qg0Mo4OU7gbL7vOYs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123423},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"gitHead":"ecc240664a7407d676d390cfd0f82ba711754bde","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"10.5.0","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.20.2","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.18.1_1714378098538_0.28231126813868634","host":"s3://npm-registry-packages"}},"1.18.2":{"name":"revite","version":"1.18.2","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.18.2","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"004cb6df45ee0366916a91625bd6c6ff2d1ded3c","tarball":"https://registry.npmjs.org/revite/-/revite-1.18.2.tgz","fileCount":21,"integrity":"sha512-A11H3Fx/vyV/JSAhEVS3i+8WtwHL0A3iEu9VK93gJHodliROcb0Y40uoieY4383PSoiRnWSU7A6eIWsQpDDFbw==","signatures":[{"sig":"MEQCIDRQvBACs4Hw9XRAcwVW74V44BC8450VXwPAt4u7M1ifAiB3dy1shYCKmhf01ZL3kILsEg1W5JabmpHNpHXYRAfk4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123380},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"gitHead":"e79f6f5ed4ebbd0d6363a5bf354d2b7fce7ce8d0","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"10.5.0","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.20.2","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.18.2_1714657516333_0.8119772635162377","host":"s3://npm-registry-packages"}},"1.18.3":{"name":"revite","version":"1.18.3","keywords":["service","provider","ioc","container","bootstrap","vite"],"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","_id":"revite@1.18.3","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"homepage":"https://github.com/midrock/revite#readme","bugs":{"url":"https://github.com/midrock/revite/issues"},"bin":{"revite":"dist/cli/bin/revite"},"dist":{"shasum":"8c77f32b3f7bfb49559b4f396bdd547bfebee921","tarball":"https://registry.npmjs.org/revite/-/revite-1.18.3.tgz","fileCount":21,"integrity":"sha512-v0WoNEtx3KyIQBegk5hd6b7FYP4Ct8H+groOV9dijTmYc0o12aGVxSbiOkZs/HowJ/onLQPxexZkFnfWhXXTDw==","signatures":[{"sig":"MEYCIQDvJpLFOXhymijN4corUH+cySRE79hoCgiHUzQk939GQAIhALMV/U980mQlWfd0aZDR6X2cc492OqGpnY/neI1EQSJ8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123144},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","engines":{"node":"^14.18.0 || >=16.0.0"},"exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"gitHead":"84c31536508fa9878639b1df706f39e29903c99e","scripts":{"dev":"vite build --watch","lint":"vue-tsc --noEmit","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"repository":{"url":"git+https://github.com/midrock/revite.git","type":"git"},"_npmVersion":"10.7.0","description":"Easy way to implement configurable application bootstrap.","directories":{},"_nodeVersion":"18.20.4","_hasShrinkwrap":false,"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"_npmOperationalInternal":{"tmp":"tmp/revite_1.18.3_1728025247212_0.7508942647298236","host":"s3://npm-registry-packages"}},"1.18.4":{"name":"revite","version":"1.18.4","license":"MIT","author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"scripts":{"dev":"vite build --watch","build":"vite build && node --experimental-json-modules scripts/pre-release.mjs","lint":"vue-tsc --noEmit","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","release":"changeset release"},"main":"./dist/revite.es.js","types":"./dist/revite.es.d.ts","exports":{".":{"types":"./dist/revite.es.d.ts","import":"./dist/revite.es.js","require":"./dist/revite.cjs.js"},"./global":{"types":"./global.d.ts"},"./plugin/vite":{"types":"./plugin/vite/index.d.ts","default":"./plugin/vite/index.js"},"./package.json":"./package.json"},"repository":{"type":"git","url":"git+https://github.com/midrock/revite.git"},"bugs":{"url":"https://github.com/midrock/revite/issues"},"devDependencies":{"@revite/cli":"*","@revite/vite-plugin":"*"},"keywords":["service","provider","ioc","container","bootstrap","vite"],"engines":{"node":"^14.18.0 || >=16.0.0"},"bin":{"revite":"dist/cli/bin/revite"},"_id":"revite@1.18.4","gitHead":"1cd4e5936d460152ff8abeba8d8979749571e6d7","description":"Easy way to implement configurable application bootstrap.","homepage":"https://github.com/midrock/revite#readme","_nodeVersion":"18.20.4","_npmVersion":"10.7.0","dist":{"integrity":"sha512-5h+If07HdvnO4vt+1ZPR+rzfbWzKH+gj7yvqK7EuCbTMHM5bLeeZMkamxfi/13XNX55WLJMnZbIkzSRGymH6jA==","shasum":"ce56128ad59dd42e8939a277f757b9298e08bb8a","tarball":"https://registry.npmjs.org/revite/-/revite-1.18.4.tgz","fileCount":21,"unpackedSize":123158,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDEGILg5QBFsp7XekXOmvkHbBHaeWsYhfm6gJeu117AqAiEAkBYSsGv7t6Tg89hDZmZJhEs9G+zC3dovRSz0ZfOWN6M="}]},"_npmUser":{"name":"midrock","email":"iteam4u@ya.ru"},"directories":{},"maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/revite_1.18.4_1728131047491_0.7638760731813174"},"_hasShrinkwrap":false}},"time":{"created":"2022-01-18T16:26:49.910Z","modified":"2024-10-05T12:24:07.897Z","1.0.0":"2022-01-18T16:26:50.076Z","1.1.0":"2022-01-18T16:55:17.261Z","1.2.0":"2022-01-23T05:52:22.352Z","1.3.0":"2022-01-25T16:43:48.472Z","1.4.0":"2022-01-25T16:52:52.315Z","1.4.1":"2022-02-08T00:40:33.581Z","1.4.2":"2022-02-08T00:57:43.120Z","1.4.3":"2022-02-18T21:25:13.383Z","1.5.0":"2022-03-16T00:18:39.172Z","1.6.0":"2022-04-16T18:12:58.394Z","1.7.0":"2022-04-18T23:53:48.742Z","1.8.0":"2022-05-28T08:07:04.407Z","1.8.1":"2022-06-11T14:21:10.597Z","1.8.3":"2023-05-25T21:34:03.517Z","1.9.0":"2023-05-27T04:42:28.379Z","1.10.0":"2023-05-31T18:17:15.808Z","1.10.1":"2023-06-09T14:49:53.878Z","1.11.0":"2023-07-03T13:52:04.358Z","1.12.0":"2023-09-26T21:37:28.736Z","1.13.0":"2023-10-09T03:38:08.537Z","1.13.1":"2023-10-09T04:15:08.762Z","1.15.0":"2023-10-10T00:39:28.836Z","1.16.0":"2023-10-10T13:34:06.055Z","1.16.1":"2023-10-10T14:46:00.340Z","1.16.2":"2023-10-10T15:00:01.434Z","1.16.3":"2023-10-10T15:38:07.709Z","1.16.4":"2023-10-11T19:59:29.381Z","1.17.0":"2023-10-29T22:22:21.726Z","1.17.1":"2023-11-23T11:03:07.860Z","1.17.2":"2024-02-23T10:52:40.083Z","1.17.3":"2024-02-23T11:00:34.033Z","1.18.0":"2024-04-29T07:49:57.032Z","1.18.1":"2024-04-29T08:08:18.734Z","1.18.2":"2024-05-02T13:45:16.510Z","1.18.3":"2024-10-04T07:00:47.401Z","1.18.4":"2024-10-05T12:24:07.732Z"},"bugs":{"url":"https://github.com/midrock/revite/issues"},"author":{"name":"Roman Tebenkov","email":"iteam4u@ya.ru"},"license":"MIT","homepage":"https://github.com/midrock/revite#readme","keywords":["service","provider","ioc","container","bootstrap","vite"],"repository":{"type":"git","url":"git+https://github.com/midrock/revite.git"},"description":"Easy way to implement configurable application bootstrap.","maintainers":[{"name":"midrock","email":"iteam4u@ya.ru"}],"readme":"# Revite\n\nEasy way to implement configurable application bootstrap.\n\n![npm latest version](https://img.shields.io/npm/v/revite)\n![node compatibility](https://img.shields.io/node/v/revite.svg)\n![build status](https://github.com/midrock/revite/actions/workflows/release.yml/badge.svg?branch=master)\n\n# Contents\n\n- [Installation](#installation)\n- [Getting started](#getting-started)\n- [Purpose of development](#purpose-of-revite-development)\n- [Basic Concepts](#basic-concepts)\n  - [Contracts](#contracts)\n  - [Configurations](#configurations)\n  - [Service Providers](#service-providers)\n  - [Services](#services)\n  - [Events and Listeners](#events-and-listeners)\n  - [Packages](#packages)\n  - [Extensions](#extensions)\n  - [Boot scenarios](#boot-scenarios)\n- [Built-in contracts](#built-in-contracts)\n- [Dependencies](#dependencies)\n\n# Installation\n\n```shell\nyarn add revite\n```\n\nAdd `global.d.ts` to tsconfig.json. Set the correct path to node_modules relative to the tsconfig.json directory.\n\n```json\n{\n  \"files\": [\"%node_modules/revite/global.d.ts\"]\n}\n```\n\n# Getting Started\n\n1. [Create services](#services) and [providers](#service-providers).\n2. Add these providers to the [configuration](#configurations).\n3. Load configuration via Revite\n\n```ts\nimport { revite } from \"revite\";\nimport config from \"@revite/config\";\n\nrevite.bootstrap(config);\n```\n\nSee [Demo Application](./demo)\n\n# Purpose of Revite development\n\n- Divide application to the separate isolated abstractions.\n- Remove direct dependencies on external packages and environment variables to simplify further support, refactoring,\n  and upgrade.\n- Give the developer a tool to configure application parts.\n- Simplify understanding of file locations in a project.\n- Allow different versions of the application to run on the same codebase.\n- Simplify testing of application parts through mocked services.\n\n# Basic Concepts\n\n## Contracts\n\nContracts are the only one way to get the service instance. Abstract classes are used as contracts.\n\n```ts\nexport abstract class NotesServiceContract {\n  notes: Service.Notes.Note[] = [];\n\n  abstract get isEmpty(): boolean;\n\n  abstract createNote(note: Service.Notes.Note): Promise<void>;\n\n  abstract deleteNote(noteId: string): Promise<void>;\n}\n```\n\n```ts\nimport { revite } from \"revite\";\nimport { NotesServiceContract } from \"/~/services/notes\";\n\nasync function getNotes() {\n  const notesService = await revite.resolve(NotesServiceContract);\n\n  return notesService.notes;\n}\n```\n\n## Configurations\n\n- Each service can contain its configuration in a separate config file or `config` section in `main.ts`.\n- Configuration is a set of files:\n\n```\nconfig\n- production\n-- main.ts\n-- auth.ts\n- test\n-- main.ts\n-- auth.ts\n```\n\n- `main.ts` is a required file for the Revite bootstrap and should look like this:\n\n```ts\n// \"~/services/reactivity/versions/vue\";\nimport { ReactivityServiceContract } from \"revite\";\nimport { reactive, shallowReactive } from \"vue\";\n\nexport class VueReactivityService extends ReactivityServiceContract {\n  makeReactive(target: any) {\n    return shallowReactive(target);\n  }\n\n  makeDeepReactive(target: any) {\n    return reactive(target);\n  }\n}\n```\n\n```ts\nimport { defineConfig } from \"revite\";\nimport { VueReactivityService } from \"~/services/reactivity/versions/vue\";\n\nexport default defineConfig({\n  logger: {\n    level: \"debug\",\n  },\n  reactivity: {\n    service: VueReactivityService,\n  },\n  packages: [import(\"/~/packages/ViewsPackage\")],\n  providers: [\n    import(\"/~/providers/EventServiceProvider\"),\n    import(\"/~/services/render/RenderServiceProvider\"),\n    import(\"/~/services/router/RouterServiceProvider\"),\n    import(\"/~/services/auth/AuthServiceProvider\"),\n  ],\n  config: {\n    router: {\n      service: () => import(\"/~/services/router/versions/VueRouterService\"),\n    } as Service.Router.Config,\n  },\n});\n```\n\nconfig/prod/manifest.ts\n\n```ts\nexport const config: Service.Manifest.Config = {\n  service: () => import(\"/~/services/manifest/versions/ManifestServiceV1\"),\n  env: import.meta.env.VITE_ENV,\n  keys: {\n    recaptcha: \"000\",\n  },\n};\n```\n\nThere are two ways to load the configuration into Revite.\n\n- Directly Load directory in source code.\n\n```ts\nimport { revite } from \"revite\";\n\nrevite.bootstrap(import.meta.globEager(\"./config/default/*.ts\"));\n```\n\n- Apply Vite plugin\n\nvite.config.ts\n\n```ts\nimport { defineConfig } from \"vite\";\nimport revite from \"revite/plugin\";\n\nexport default defineConfig({\n  plugins: [\n    revite({\n      root: \"/src/config\",\n      use: process.env.TARGET_CONFIG as string,\n    }),\n  ],\n});\n```\n\nmain.ts\n\n```ts\nimport { revite } from \"revite\";\nimport config from \"@revite/config\";\n\nrevite.bootstrap(config);\n```\n\nThen start the application with:\n\n```shell\nenv TARGET_CONFIG=prod yarn dev\n```\n\n`config/prod` directory will be loaded\n\n## Service Providers\n\n- Service providers are designed to link contracts to the services.\n- Also, they can be used to bootstrap any code that you need.\n\n```ts\nimport {\n  BootContext,\n  BeforeBootContext,\n  RegisterContext,\n  ServiceProvider,\n} from \"revite\";\nimport { AuthServiceContract } from \"/~/services/auth\";\nimport { UiServiceContract } from \"/~/services/ui\";\n\nexport class AuthServiceProvider extends ServiceProvider {\n  register(ctx: RegisterContext) {\n    const config: Service.Auth.Config = ctx.config(\"auth\");\n\n    ctx.bind(AuthServiceContract).to({\n      service: config.service,\n      reactive: true,\n      singleton: true,\n    });\n  }\n\n  async beforeBoot(ctx: BeforeBootContext) {\n    const uiService = await ctx.resolve(UiServiceContract);\n\n    await uiService.setFetchStatus();\n  }\n\n  async boot(ctx: BootContext) {\n    const authService = await ctx.resolve(AuthServiceContract);\n\n    return authService.fetchUser();\n  }\n}\n```\n\n`ServiceProvider.register`\n\nSynchronous method to register services, bind events, and configuration to them.\n\n```ts\nexport interface ResolveOptions {\n  loaded?: boolean;\n}\n\ninterface RegisterContext {\n  resolve<T extends AbstractConstructor>(\n    contract: T,\n    options?: ResolveOptions,\n  ): Promise<InstanceType<T>>;\n\n  resolveIfExist<T extends AbstractConstructor>(\n    contract: T,\n    options?: ResolveOptions,\n  ): Promise<InstanceType<T> | undefined>;\n\n  on(\n    event: EventConstructor,\n    listen: ListenerConstructor | ListenerConstructor[],\n  ): void;\n\n  config<T>(name: string): T;\n\n  bind<T extends AbstractConstructor>(contract: T): BindContext<T>;\n}\n```\n\n`ctx.bind` usage\n\n```ts\n// The service itself is a contract\nctx.bind(HomeState).to({\n  reactive: true,\n  singleton: true,\n  // The factory is used when service contain links to other\n  async factory({Service}) {\n    const dashboardService = await ctx.resolve(DashboardService)\n\n    return () => new Service({\n      dashboardService,\n    })\n  },\n})\n\nctx.bind(AuthServiceContract).to({\n  service: () => import('/~/services/auth/versions/AuthServiceV1')\n  reactive: true,\n})\n```\n\n`ServiceProvider.beforeBoot`\n\nAsynchronous method to inject any code to other services before providers start booting. For example, we want to inject\nroutes to RouterService before it starts routing.\n\n```ts\ninterface BeforeBootContext {\n  resolve<T extends AbstractConstructor>(\n    contract: T,\n    options?: ResolveOptions,\n  ): Promise<InstanceType<T>>;\n\n  resolveIfExist<T extends AbstractConstructor>(\n    contract: T,\n    options?: ResolveOptions,\n  ): Promise<InstanceType<T> | undefined>;\n\n  config<T>(name: string): T;\n}\n```\n\n`ServiceProvider.boot`\n\nAsynchronous method to call any code after all providers will be registered and preloaded.\n\n```ts\ninterface BootContext {\n  resolve<T extends AbstractConstructor>(\n    contract: T,\n    options?: ResolveOptions,\n  ): Promise<InstanceType<T>>;\n\n  resolveIfExist<T extends AbstractConstructor>(\n    contract: T,\n    options?: ResolveOptions,\n  ): Promise<InstanceType<T> | undefined>;\n}\n```\n\n## Services\n\n- Services should be extended from contracts.\n- There are situations when the service itself does not contain any connections and can act as a contract.\n\n```ts\nimport {NotesServiceContract} from '../'\n\nexport class MockNotesService extends NotesServiceContract {\n...\n}\n```\n\n## Events and Listeners\n\n```ts\nimport { Event } from \"revite\";\n\nexport class NoteCreatedEvent extends Event {\n  constructor(public note: Service.Notes.Note) {\n    super();\n  }\n}\n```\n\n```ts\nimport { Listener, revite } from \"revite\";\nimport { NoteCreatedEvent } from \"/~/events/NoteCreatedEvent\";\nimport { NotifyServiceContract } from \"/~/services/notify\";\n\nexport class NoteCreatedNotify extends Listener {\n  async handle(event: NoteCreatedEvent) {\n    const notifyService = await revite.resolve(NotifyServiceContract);\n\n    notifyService.show({\n      title: \"Note created\",\n      type: \"success\",\n      text: \"ID \" + event.note.id,\n    });\n  }\n}\n\nexport class NoteCreatedNotifyWithError extends Listener {\n  async handle(event: NoteCreatedEvent) {\n    const notifyService = await revite.resolve(NotifyServiceContract);\n\n    notifyService.show({\n      title: \"Note created\",\n      type: \"success\",\n      text: \"ID \" + event.note.id,\n    });\n  }\n\n  handleError(event: NoteCreatedEvent, error: unknown) {\n    // handle error\n  }\n}\n```\n\n```ts\nimport { RegisterContext, ServiceProvider } from \"revite\";\nimport { NoteCreatedEvent } from \"/~/events/NoteCreatedEvent\";\nimport { NoteCreatedNotify } from \"/~/listeners/NoteCreatedNotify\";\n\nexport class EventServiceProvider extends ServiceProvider {\n  register(ctx: RegisterContext) {\n    ctx.on(NoteCreatedEvent, [\n      NoteCreatedNotify,\n      (event: NoteCreatedEvent) => {\n        // use event\n      },\n      () => import(\"/~/events/NoteCreatedEvent\"),\n    ]);\n\n    /**\n     * Sequential execution of listeners.\n     * If some of listeners will throw an error the next execution will be stopped\n     */\n    ctx.on(NoteCreatedEvent, [NoteCreatedNotify], {\n      sequential: true,\n      onError(event: NoteCreatedEvent, error) {\n        // use error\n        // use event\n      },\n    });\n\n    /**\n     * Listeners will be executed one time in 500 ms\n     */\n    ctx.on(NoteCreatedEvent, [NoteCreatedNotify], {\n      wait: 500,\n    });\n  }\n}\n```\n\n# Packages\n\n```ts\nimport { Package } from \"revite\";\n\nexport class ViewsPackage extends Package {\n  providers = [\n    import(\"/~/views/home/VueHomeViewProvider\"),\n    import(\"/~/views/terms/vue/TermsViewProvider\"),\n    import(\"/~/views/notes/VueNotesViewProvider\"),\n    import(\"/~/views/report/VueReportViewProvider\"),\n  ];\n}\n```\n\n# Extensions\n\nExtensions will be loaded only when service requested.\n\n```ts\nimport { defineConfig } from \"revite\";\n\nexport default defineConfig({\n  config: {\n    dashboard: {\n      extend: [() => import(\"/~/providers/ImageWidgetProvider\")],\n    } as Service.Dashboard.Config,\n  },\n});\n```\n\nThe `extend` method called with resolved service as argument.\n\n```ts\nimport { Extension, revite } from \"revite\";\nimport { DashboardService } from \"/~/services/dashboard\";\nimport { NotesView } from \"/~/views/notes/NotesView\";\n\nexport class ImageWidgetProvider extends Extension {\n  async extend(service: DashboardService) {\n    const notesView = await revite.resolve(NotesView);\n\n    service.registerLink({\n      route: notesView.getRootRoute(),\n      title: \"Extended image\",\n      description:\n        \"Doloribus dolores nostrum quia qui natus officia quod et dolorem. Sit repellendus qui ut at blanditiis et quo et molestiae.\",\n      icon: {\n        name: \"pencil\",\n        class: \"text-green-500 bg-green-50\",\n      },\n      order: 100,\n    });\n  }\n}\n```\n\n# Boot scenarios\n\n```ts\nimport { defineConfig } from \"revite\";\n\nexport default defineConfig({\n  preload: [\n    import(\"/~/services/auth/AuthServiceProvider\"),\n    /**\n     * this provider will load next scenario\n     */\n    import(\"/~/providers/BootstrapProvider\"),\n  ],\n  providers: [\n    import(\"/~/services/ui/UiServiceProvider\"),\n    import(\"/~/services/notify/NotifyServiceProvider\"),\n  ],\n  next: {\n    authorized: () => ({\n      preload: [\n        import(\"/~/services/router/RouterServiceProvider\"),\n        import(\"/~/services/render/RenderServiceProvider\"),\n      ],\n      packages: [import(\"/~/packages/ViewsPackage\")],\n      providers: [\n        import(\"/~/services/dashboard/DashboardServiceProvider\"),\n        import(\"/~/providers/EventServiceProvider\"),\n        import(\"/~/services/notes/NotesServiceProvider\"),\n      ],\n    }),\n    unauthorized: () => ({\n      preload: [\n        import(\"/~/services/router/RouterServiceProvider\"),\n        import(\"/~/services/render/RenderServiceProvider\"),\n      ],\n      providers: [\n        import(\"/~/services/dashboard/DashboardServiceProvider\"),\n        import(\"/~/views/home/VueHomeViewProvider\"),\n        import(\"/~/views/report/VueReportViewProvider\"),\n      ],\n    }),\n  },\n  config: {\n    router: {\n      service: () => import(\"/~/services/router/versions/VueRouterService\"),\n    } as Service.Router.Config,\n    render: {\n      service: () => import(\"/~/services/render/versions/vue/VueRenderService\"),\n    } as Service.Render.Config,\n    notes: {\n      service: () => import(\"/~/services/notes/versions/MockNotesService\"),\n    } as Service.Notes.Config,\n    auth: {\n      service: () => import(\"/~/services/auth/versions/MockLoggedAuthService\"),\n    } as Service.Auth.Config,\n  },\n});\n```\n\n```ts\nimport { revite, ServiceProvider } from \"revite\";\nimport { AuthServiceContract } from \"/~/services/auth\";\n\nexport class BootstrapProvider extends ServiceProvider {\n  async boot(ctx) {\n    const authService = await ctx.resolve(AuthServiceContract);\n\n    if (authService.isLoggedIn) {\n      return revite.next(\"authorized\");\n    }\n\n    return revite.next(\"unauthorized\");\n  }\n}\n```\n\n# Built-in contracts\n\nThese contracts are parts of Revite and can be configured in the main section.\n\n## LoggerServiceContract\n\n- Default service uses console.log.\n- The logger level can be configured.\n- See [LoggerServiceContract](./src/contracts/LoggerServiceContract.ts)\n\n```ts\nimport { defineConfig } from \"revite\";\nimport { CustomLoggerService } from \"/~/services/logger\";\n\nexport default defineConfig({\n  logger: {\n    service: CustomLoggerService,\n    level: \"debug\", // 'info' | 'warn' | 'error'\n  },\n});\n```\n\n## ReactivityServiceContract\n\n- Optional service.\n- See [ReactivityServiceContract](./src/contracts/ReactivityServiceContract.ts)\n\n```ts\nimport { defineConfig } from \"revite\";\nimport { VueReactivityService } from \"revite/services/VueReactivityService\";\n\nexport default defineConfig({\n  reactivity: {\n    service: VueReactivityService,\n  },\n});\n```\n","readmeFilename":"README.md"}