{"_id":"@asar-studio/nestjs-event-sourcing","_rev":"16-855d0d6d232125066fd7dc458bf6b2ff","name":"@asar-studio/nestjs-event-sourcing","dist-tags":{"latest":"3.1.0"},"versions":{"1.0.10":{"name":"@asar-studio/nestjs-event-sourcing","version":"1.0.10","_id":"@asar-studio/nestjs-event-sourcing@1.0.10","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"a211d2804199a264942bac12d247cd0fcf9f7c6e","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-1.0.10.tgz","fileCount":93,"integrity":"sha512-hZp5EncuyqTBW571KRdVeJ2rWXKtiBeAEZuF8lQ5c1FZLUoZgCZHowHXjWZOJd0f4vXC1pIUkKUi6N67QeBEjQ==","signatures":[{"sig":"MEUCIC1VaF02eqCoYqFKuIDFKIxyrwUn3xdiQLYQFC/2YR33AiEA1MHD0xsn+kkVYdJO/loHJRdOMAFdnluLwReLjJz2/Yg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274238},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"b163f57de92bc1cd038ab64eadf59404d5b7e78e","private":false,"scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@gitlab.asar.studio:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"url":"^0.11.3","rxjs":"^7.8.0","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.5.0","tolerance":"^1.0.0","typescript":"^5.0.0","@nestjs/core":"^10.0.0","@nestjs/cqrs":"^10.0.0","@nestjs/common":"^10.0.0","reflect-metadata":"^0.1.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.4","ts-jest":"^29.1.2","supertest":"^6.3.4","@types/jest":"^29.5.12","@types/node":"^20.11.26","@nestjs/testing":"^10.3.3","@nestjs/mongoose":"^10.0.4","semantic-release":"^23.0.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.0","mongodb-memory-server":"^9.1.7","@nestjs/platform-express":"^10.3.3","@semantic-release/gitlab":"^13.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_1.0.10_1741168305041_0.46855008839324475","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@asar-studio/nestjs-event-sourcing","version":"1.0.9","_id":"@asar-studio/nestjs-event-sourcing@1.0.9","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"df3445c8a5f1e4f841f03355c78d929afd461a1c","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-1.0.9.tgz","fileCount":138,"integrity":"sha512-RdjagYaL7PEhfJXjFBxc4YDMMtPsvmeSzh1GdsRuB/lJCKyRizVh+iRfHZ+j/KyAJO91IVFMzGuD9GqD5HW/PQ==","signatures":[{"sig":"MEUCIANUF0MpvZE7ee/Oppo/4yZZq2/3SpIsRdJ3zKKJenhRAiEAgmZtE5BE2sTxYsEJtsi6RGsyYum9vUyZMLaOLE8OOE0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":335231},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"754d1959d68c536ea6a73ab104a3d236b0ddf143","scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@gitlab.asar.studio:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"url":"^0.11.3","rxjs":"^7.8.0","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.5.0","tolerance":"^1.0.0","typescript":"^5.0.0","@nestjs/core":"^10.0.0","@nestjs/cqrs":"^10.0.0","@nestjs/common":"^10.0.0","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.4","ts-jest":"^29.1.2","supertest":"^6.3.4","@types/jest":"^29.5.12","@types/node":"^20.11.26","@nestjs/testing":"^10.3.3","@nestjs/mongoose":"^10.0.4","semantic-release":"^23.0.0","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.0","mongodb-memory-server":"^9.1.7","@nestjs/platform-express":"^10.3.3","@semantic-release/gitlab":"^13.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_1.0.9_1741168332356_0.2424304364814085","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@asar-studio/nestjs-event-sourcing","version":"1.0.0","_id":"@asar-studio/nestjs-event-sourcing@1.0.0","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"13d45b054e8a3007611d27dd52bc949b01eb5cae","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-1.0.0.tgz","fileCount":93,"integrity":"sha512-kvJY5nCtXy1Ws3zW28qLG3WjLEZAFA6URZB1UEgFcbnaEmYtriBC1MO4W4SrUJ1+4SeZ84zZXC30lvnil+ucPw==","signatures":[{"sig":"MEYCIQDsYuPr/AgF0m8aZ/7xb0c1o8tK7i4IxyI7D37woKtifAIhAPPCXoli2B9H6NHglSsa3Gb0Rk86O9gZkOV1qhjMHUNl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220081},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"3e33fc65af56cf09178604d3af7a0810cc0db83e","private":false,"scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@gitlab.asar.studio:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"url":"^0.11.3","rxjs":"^7.8.0","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.5.0","tolerance":"^1.0.0","typescript":"^5.0.0","@nestjs/core":"^10.0.0","@nestjs/cqrs":"^10.0.0","@nestjs/common":"^10.0.0","reflect-metadata":"^0.1.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"debug":"^4.3.4","@types/node":"^20.11.26","semantic-release":"^23.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.3","@semantic-release/gitlab":"^13.0.3","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_1.0.0_1741168463606_0.5859379927122008","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@asar-studio/nestjs-event-sourcing","version":"1.0.1","_id":"@asar-studio/nestjs-event-sourcing@1.0.1","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"4448e06038da5f56665a4adbb2aa4cb0aa33a0b2","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-1.0.1.tgz","fileCount":51,"integrity":"sha512-MwdlkXCu5T0ERkMsFSrS1PAgOhaD7sSTd5DBaHAbiiubDRGxvwVwqKL0X52MTU1YPwLo8xkTLvXr0AYqAWGuJw==","signatures":[{"sig":"MEUCIQCyDqa3mRe76yJB7pUY92loiETwzDzsYB4EqhsFBMmCoQIgIKUXySeqTVvqKXQfBwm05qsuuhpl1slPQB/e0D6aUfI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201554},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"6e805aa68e728776698613e1f34ed5e36b891998","scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@gitlab.asar.studio:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"url":"^0.11.3","rxjs":"^7.8.0","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.5.0","tolerance":"^1.0.0","typescript":"^5.0.0","@nestjs/core":"^10.0.0","@nestjs/cqrs":"^10.0.0","@nestjs/common":"^10.0.0","reflect-metadata":"^0.1.13"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.4","ts-jest":"^29.1.2","supertest":"^6.3.4","@types/jest":"^29.5.12","@types/node":"^20.11.26","@nestjs/testing":"^10.3.3","@nestjs/mongoose":"^10.0.4","semantic-release":"^23.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.3","mongodb-memory-server":"^9.1.7","@nestjs/platform-express":"^10.3.3","@semantic-release/gitlab":"^13.0.3","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_1.0.1_1741168516326_0.3908782077224622","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@asar-studio/nestjs-event-sourcing","version":"1.0.2","_id":"@asar-studio/nestjs-event-sourcing@1.0.2","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"202d4e8a1c6f196edfb62e89767215158933078c","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-1.0.2.tgz","fileCount":126,"integrity":"sha512-yV0vKeqjRQ/k6Eva8al2rh52d+OIB0+eJJPCwx5GWjj70NTYRjOwZY9wnsDcTrnNRH+T0lVyaX2WIE3DqBwQdg==","signatures":[{"sig":"MEQCIHwv1a6ymj++A+oUXhE8kvCwGKGxcbcXYRQXI2Hra7JvAiALQBzD49dbnKENylaUqpsUcqC6u/qPDSCbJi1C/zpwrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303795},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"b4e326ae7f2340c98a00747b281f846c3293b984","private":false,"scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@gitlab.asar.studio:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"url":"^0.11.3","rxjs":"^7.8.0","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.5.0","tolerance":"^1.0.0","typescript":"^5.0.0","@nestjs/core":"^10.0.0","@nestjs/cqrs":"^10.0.0","@nestjs/common":"^10.0.0","reflect-metadata":"^0.1.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.4","ts-jest":"^29.1.2","supertest":"^6.3.4","@types/jest":"^29.5.12","@types/node":"^20.11.26","@nestjs/testing":"^10.3.3","@nestjs/mongoose":"^10.0.4","semantic-release":"^23.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.3","mongodb-memory-server":"^9.1.7","@nestjs/platform-express":"^10.3.3","@semantic-release/gitlab":"^13.0.3","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_1.0.2_1741168537715_0.7290213183651051","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@asar-studio/nestjs-event-sourcing","version":"1.0.3","_id":"@asar-studio/nestjs-event-sourcing@1.0.3","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"741c211b4de6eff5ac95310e47807d9f20224334","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-1.0.3.tgz","fileCount":126,"integrity":"sha512-KVBKSLQgd1jYM0zZpjBFmaF1cBrfOcfAq0XPbDWC0gm7JTm+oI5sHCsrJCw9Id/qr/xtgVWwF217y3VEDFwS7Q==","signatures":[{"sig":"MEYCIQDZtDTkrs5EpGcp8Ks+FYDrAmIwuaQBZOhs4JswSYAidwIhAOA1LBFHEWjH8Q2TpHPBrKszk1I2yCaleCmOMA6zlXtA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303881},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"5b830744d880750f27f4e4a200e0294f8a534e36","private":false,"scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@gitlab.asar.studio:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"url":"^0.11.3","rxjs":"^7.8.0","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.5.0","tolerance":"^1.0.0","typescript":"^5.0.0","@nestjs/core":"^10.0.0","@nestjs/cqrs":"^10.0.0","@nestjs/common":"^10.0.0","reflect-metadata":"^0.1.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.4","ts-jest":"^29.1.2","supertest":"^6.3.4","@types/jest":"^29.5.12","@types/node":"^20.11.26","@nestjs/testing":"^10.3.3","@nestjs/mongoose":"^10.0.4","semantic-release":"^23.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.3","mongodb-memory-server":"^9.1.7","@nestjs/platform-express":"^10.3.3","@semantic-release/gitlab":"^13.0.3","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_1.0.3_1741168811306_0.3069450736521879","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@asar-studio/nestjs-event-sourcing","version":"1.0.4","_id":"@asar-studio/nestjs-event-sourcing@1.0.4","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"3fb5fd06ea0bafce028f4a3c8dc4a75953758717","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-1.0.4.tgz","fileCount":126,"integrity":"sha512-m5WkroXRkxA2DuZtY3jra2dllRw77xYwpNV1RCPPS+PPw8HEW1/oyGW+FYRJLD7HUYtSUYuyIzwMv8XoDaWHXg==","signatures":[{"sig":"MEUCIQDBMyUjiYCrA5Y1RzlqMWM2bg/0llI27v3hS4we9YZPZQIgIO7G5ntdU/il/7mA/R6Jwej0AoONiPnocqIrBlKfVXc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303881},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"be35a74c382188a3681f9aece3df98cf33b73646","private":false,"scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@gitlab.asar.studio:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"url":"^0.11.3","rxjs":"^7.8.0","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.5.0","tolerance":"^1.0.0","typescript":"^5.0.0","@nestjs/core":"^10.0.0","@nestjs/cqrs":"^10.0.0","@nestjs/common":"^10.0.0","reflect-metadata":"^0.1.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.4","ts-jest":"^29.1.2","supertest":"^6.3.4","@types/jest":"^29.5.12","@types/node":"^20.11.26","@nestjs/testing":"^10.3.3","@nestjs/mongoose":"^10.0.4","semantic-release":"^23.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.3","mongodb-memory-server":"^9.1.7","@nestjs/platform-express":"^10.3.3","@semantic-release/gitlab":"^13.0.3","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_1.0.4_1741168931482_0.1464724586505599","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@asar-studio/nestjs-event-sourcing","version":"1.0.5","_id":"@asar-studio/nestjs-event-sourcing@1.0.5","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"a87361e458837a14303bc21ee3b632080548601a","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-1.0.5.tgz","fileCount":93,"integrity":"sha512-H0EN19VhMo5Y94JfJu024iE1fXVGn0A0y4YMfcb5opxNnQJ25USUbcZAZQeDeWEKCXbmYzZjGZNEaTATPWFiSg==","signatures":[{"sig":"MEUCIQDmlUOSALiaxaezCzqUKCIj6Rzjg/pZN8lcb3hk7xSvZQIgchf1I4YRE9vitidaRKJbAn74D/KYDYV+Qh/9AeptOy0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272127},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"cfec02ba7e323384b8eb4a5a15cbca8f2bf7971a","private":false,"scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@gitlab.asar.studio:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"url":"^0.11.3","rxjs":"^7.8.0","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.5.0","tolerance":"^1.0.0","typescript":"^5.0.0","@nestjs/core":"^10.0.0","@nestjs/cqrs":"^10.0.0","@nestjs/common":"^10.0.0","reflect-metadata":"^0.1.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.4","ts-jest":"^29.1.2","supertest":"^6.3.4","@types/jest":"^29.5.12","@types/node":"^20.11.26","@nestjs/testing":"^10.3.3","@nestjs/mongoose":"^10.0.4","semantic-release":"^23.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.3","mongodb-memory-server":"^9.1.7","@nestjs/platform-express":"^10.3.3","@semantic-release/gitlab":"^13.0.3","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_1.0.5_1741169002613_0.05523489697778561","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@asar-studio/nestjs-event-sourcing","version":"1.0.6","_id":"@asar-studio/nestjs-event-sourcing@1.0.6","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"8edab1bd6cbe2dabb8ebec0295f53e5d1fa29d8b","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-1.0.6.tgz","fileCount":93,"integrity":"sha512-x2IukzNpq1ynDBO8eCZJmSClYdStZCSwB6dkTj2z/2ZqpfyRBDUj6ALv700w+1AzTlc/lcJcvdzYoDNxIy+Ywg==","signatures":[{"sig":"MEYCIQCcqIUQhGcfEYwIzvUZ4+SE7Yl18wwTo5maC0amb4D/LAIhAPfNFx78WD97hoNEZycg4G2u3PtrMz7Ld+SjtDN3qlwy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274290},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"1ff6a3c23b72603c1eea718e0b8f9430c6d3c4e2","private":false,"scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@gitlab.asar.studio:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"url":"^0.11.3","rxjs":"^7.8.0","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.5.0","tolerance":"^1.0.0","typescript":"^5.0.0","@nestjs/core":"^10.0.0","@nestjs/cqrs":"^10.0.0","@nestjs/common":"^10.0.0","reflect-metadata":"^0.1.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.4","ts-jest":"^29.1.2","supertest":"^6.3.4","@types/jest":"^29.5.12","@types/node":"^20.11.26","@nestjs/testing":"^10.3.3","@nestjs/mongoose":"^10.0.4","semantic-release":"^23.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.3","mongodb-memory-server":"^9.1.7","@nestjs/platform-express":"^10.3.3","@semantic-release/gitlab":"^13.0.3","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_1.0.6_1741169087958_0.12072272373859927","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@asar-studio/nestjs-event-sourcing","version":"1.0.7","_id":"@asar-studio/nestjs-event-sourcing@1.0.7","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"56cf85708767a5d97316efdc9355542cbd39e647","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-1.0.7.tgz","fileCount":93,"integrity":"sha512-XPN/aVXvwuZxswWaIN8bMVX98rlqGWWm5ojNkpsDQC4kqJBvI/TseYTHdfTNZQX8wv7Cdcvow2duOSdjHWKOlw==","signatures":[{"sig":"MEUCIBJbULWczwSn0EbBXq9RS0UrXN4GuS+alKH0sD2508/KAiEA4mpePe/SQi3tfr5IRuZfny2zfnnoCc9r60vraBnmloA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274327},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"39ee57f8470b9f57a6b1abdb72e4d958dc36a92a","private":false,"scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@gitlab.asar.studio:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"url":"^0.11.3","rxjs":"^7.8.0","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.5.0","tolerance":"^1.0.0","typescript":"^5.0.0","@nestjs/core":"^10.0.0","@nestjs/cqrs":"^10.0.0","@nestjs/common":"^10.0.0","reflect-metadata":"^0.1.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.4","ts-jest":"^29.1.2","supertest":"^6.3.4","@types/jest":"^29.5.12","@types/node":"^20.11.26","@nestjs/testing":"^10.3.3","@nestjs/mongoose":"^10.0.4","semantic-release":"^23.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.3","mongodb-memory-server":"^9.1.7","@nestjs/platform-express":"^10.3.3","@semantic-release/gitlab":"^13.0.3","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_1.0.7_1741169159194_0.36344430043417675","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@asar-studio/nestjs-event-sourcing","version":"1.0.8","_id":"@asar-studio/nestjs-event-sourcing@1.0.8","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"698b9a6edd83950cd6e8403fb0466786e6c78963","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-1.0.8.tgz","fileCount":93,"integrity":"sha512-+Ux2Uox6Xtfrza1GOCLKUuXr5QSp/CndZJlu7vtWJBmcREbL9/HoAfYsbfpIEjhOgwBAAFuOkrpJX2QGiwudZQ==","signatures":[{"sig":"MEYCIQDhsuQnv29iwprrxVqBLHNt86Z5BD2VEFd5Gr7l2y/r7AIhAPRcSQ5EMYMiDIQyr9VNtOVObdoEPuAn6p+X5a8W42u/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274406},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"bedda93a2deb9b39bcb9dd38ce36dae2b48c41d1","private":false,"scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@gitlab.asar.studio:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"url":"^0.11.3","rxjs":"^7.8.0","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.5.0","tolerance":"^1.0.0","typescript":"^5.0.0","@nestjs/core":"^10.0.0","@nestjs/cqrs":"^10.0.0","@nestjs/common":"^10.0.0","reflect-metadata":"^0.1.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.4","ts-jest":"^29.1.2","supertest":"^6.3.4","@types/jest":"^29.5.12","@types/node":"^20.11.26","@nestjs/testing":"^10.3.3","@nestjs/mongoose":"^10.0.4","semantic-release":"^23.0.2","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^11.0.3","mongodb-memory-server":"^9.1.7","@nestjs/platform-express":"^10.3.3","@semantic-release/gitlab":"^13.0.3","@semantic-release/changelog":"^6.0.3","@semantic-release/commit-analyzer":"^9.0.2","@semantic-release/release-notes-generator":"^10.0.3"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_1.0.8_1741169337307_0.6698423978248693","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@asar-studio/nestjs-event-sourcing","version":"1.1.0","_id":"@asar-studio/nestjs-event-sourcing@1.1.0","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"693dbc180c65b8acf5ee5243df31780d48b5f648","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-1.1.0.tgz","fileCount":138,"integrity":"sha512-77mKQSoxRvlDEvCFMQBkpTfC+HBuZAZ6vzjH6XJ3Uhb+dwa7E2Cus4OgN7EDqPJ9p9HkIfVQgL0KjFmaf4tSyw==","signatures":[{"sig":"MEQCIHmv9pjlfCDVTeHqowu5AS0azD85jUtf+QJ0p6oa1LbrAiB4JMApbV3y0j4rs6keWugMpBuPQHcyKBMPG/djr8RDWg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":310016},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"22352f038fc06cb48dbb6843037e853a29279b00","scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@a-i-t.gitlab.yandexcloud.net:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.13.1","dependencies":{"rxjs":"^7.8.1","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.9.0","tolerance":"^1.0.0","typescript":"^5.6.2","@nestjs/core":"^10.0.0","@nestjs/cqrs":"^10.0.0","@nestjs/common":"^10.0.0","@nestjs/mongoose":"^10.0.0","reflect-metadata":"^0.2.2","@nestjs/platform-express":"^10.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.7","ts-jest":"^29.2.5","supertest":"^7.0.0","@types/jest":"^29.5.13","@types/node":"^22.7.2","@types/mongodb":"^4.0.6","@nestjs/testing":"^10.0.0","semantic-release":"^24.1.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","mongodb-memory-server":"^10.0.1","@semantic-release/gitlab":"^13.2.1"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_1.1.0_1748868304525_0.7065574720781316","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@asar-studio/nestjs-event-sourcing","version":"2.0.0","_id":"@asar-studio/nestjs-event-sourcing@2.0.0","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"2a9d416cddcb53068e01eea279b6629d4597862b","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-2.0.0.tgz","fileCount":138,"integrity":"sha512-MPOXjZsUx+IW7rFMXf6ZgiWyuZD39G59sE+pri7L+3pdovhPsz/Wt/WAxYIIjwSmD8/ag0xrdKDXP4DvT//Q3A==","signatures":[{"sig":"MEUCIDbKxMArtAkKYA05UA+LkakjIIhj/fOaUzs/susF+w6/AiEAgCqX/2fAPu3t5HcbyDdKmwSDLixqXwHv9KCckNj53Bc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":320445},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"22352f038fc06cb48dbb6843037e853a29279b00","scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"deprecated":"2.0.0 was published from a divergent code line; use >=3.0.0 (see MIGRATION.md)","repository":{"url":"git@a-i-t.gitlab.yandexcloud.net:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.16.0","dependencies":{"rxjs":"^7.8.1","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.9.0","tolerance":"^1.0.0","typescript":"^5.6.2","reflect-metadata":"^0.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.7","ts-jest":"^29.2.5","supertest":"^7.0.0","@types/jest":"^29.5.13","@types/node":"^22.7.2","@nestjs/core":"^11","@nestjs/cqrs":"^11","@nestjs/common":"^11","@types/mongodb":"^4.0.6","@nestjs/testing":"^11","@nestjs/mongoose":"^11","semantic-release":"^24.1.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","mongodb-memory-server":"^10.0.1","@nestjs/platform-express":"^11","@semantic-release/gitlab":"^13.2.1"},"peerDependencies":{"@nestjs/core":"^11","@nestjs/cqrs":"^11","@nestjs/common":"^11","@nestjs/mongoose":"^11","@nestjs/platform-express":"^11"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_2.0.0_1757341335258_0.26317125585294865","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@asar-studio/nestjs-event-sourcing","version":"3.0.0","_id":"@asar-studio/nestjs-event-sourcing@3.0.0","maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"dist":{"shasum":"5432385ce55e8c0b5d1cfcfeee24a67128f3432e","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-3.0.0.tgz","fileCount":170,"integrity":"sha512-XJ5xsF5TQ1mT+JKZl1RP1u6VxucXYY90ctJs8qPn7DEQ1zWbE6jc80rVtcSTYYii+ukF+DUtEIg3bdHBzH2mSQ==","signatures":[{"sig":"MEQCIBxD3FHacO0Nq2iVi3mXQlIwxTO7zcHfZRWRqb2H5FvlAiAIp3LEB4jk+KXnMs0udFb/c8NAYnE/cEVbQ0Aa/VYraA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":348869},"main":"./dist/index.js","engines":{"node":">=20.10.0"},"gitHead":"0302d4a58ac7187e63d914a601d445e49bf19ae8","scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","semantic-release":"semantic-release"},"typings":"./dist/index.d.ts","_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"repository":{"url":"git@a-i-t.gitlab.yandexcloud.net:asar-studio/packages/nestjs-event-sourcing.git","type":"git"},"_npmVersion":"11.5.1","directories":{},"_nodeVersion":"24.5.0","dependencies":{"rxjs":"^7.8.1","ulid":"^2.3.0","dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.9.0","tolerance":"^1.0.0","typescript":"^5.6.2","reflect-metadata":"^0.2.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","debug":"^4.3.7","ts-jest":"^29.2.5","supertest":"^7.0.0","@types/jest":"^29.5.13","@types/node":"^22.7.2","@nestjs/core":"^11","@nestjs/cqrs":"^11","@nestjs/common":"^11","@types/mongodb":"^4.0.6","@nestjs/testing":"^11","@nestjs/mongoose":"^11","semantic-release":"^24.1.1","@semantic-release/git":"^10.0.1","@semantic-release/npm":"^12.0.1","mongodb-memory-server":"^10.0.1","@nestjs/platform-express":"^11","@semantic-release/gitlab":"^13.2.1"},"peerDependencies":{"@nestjs/core":"^11","@nestjs/cqrs":"^11","@nestjs/common":"^11","@nestjs/mongoose":"^11","@nestjs/platform-express":"^11"},"_npmOperationalInternal":{"tmp":"tmp/nestjs-event-sourcing_3.0.0_1772531486413_0.3436741503453131","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@asar-studio/nestjs-event-sourcing","version":"3.1.0","description":"NestJS event sourcing module with projections, CQRS integration, and transactional multi-aggregate commits.","main":"./dist/index.js","typings":"./dist/index.d.ts","scripts":{"build":"rm -rf dist && tsc -p tsconfig.json","test:e2e":"jest --config ./test/jest-e2e.json --forceExit --detectOpenHandles","test:e2e:ci":"jest --config ./test/jest-e2e.json --runInBand --forceExit --detectOpenHandles","test:e2e:docker":"sh -c 'docker compose -f test/docker-compose.mongo-replset.yml up --build --abort-on-container-exit --exit-code-from e2e e2e; code=$?; docker compose -f test/docker-compose.mongo-replset.yml down -v --remove-orphans; exit $code'","semantic-release":"semantic-release"},"engines":{"node":">=20.10.0"},"repository":{"type":"git","url":"git@a-i-t.gitlab.yandexcloud.net:asar-studio/packages/nestjs-event-sourcing.git"},"keywords":["nestjs","event-sourcing","cqrs","mongodb","projection"],"dependencies":{"dotty":"^0.1.2","lodash":"^4.17.21","mongodb":"^6.9.0","reflect-metadata":"^0.2.2","rxjs":"^7.8.1","tolerance":"^1.0.0","typescript":"^5.6.2","ulid":"^2.3.0"},"peerDependencies":{"@nestjs/common":"^11","@nestjs/core":"^11","@nestjs/cqrs":"^11","@nestjs/mongoose":"^11","@nestjs/platform-express":"^11"},"devDependencies":{"@nestjs/common":"^11","@nestjs/core":"^11","@nestjs/cqrs":"^11","@nestjs/mongoose":"^11","@nestjs/platform-express":"^11","@nestjs/testing":"^11","@semantic-release/git":"^10.0.1","@semantic-release/gitlab":"^13.2.1","@semantic-release/npm":"^12.0.1","@types/jest":"^29.5.13","@types/mongodb":"^4.0.6","@types/node":"^22.7.2","debug":"^4.3.7","jest":"^29.7.0","mongodb-memory-server":"^10.0.1","semantic-release":"^24.1.1","supertest":"^7.0.0","ts-jest":"^29.2.5"},"_id":"@asar-studio/nestjs-event-sourcing@3.1.0","gitHead":"0fe73f5f38a48bba7d8d31d6d1c2f88c12665e0f","_nodeVersion":"24.5.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-eYUX1CSnUoECI9UsBLjHYAn7G+kWWbs8l9FPPKHhIuao+dVZpH79qYZ4XtU0MVqJdx1E892vzm8L4zZerFRGxg==","shasum":"efa33f96a3d53f97c19a28f905f1c3849101cee7","tarball":"https://registry.npmjs.org/@asar-studio/nestjs-event-sourcing/-/nestjs-event-sourcing-3.1.0.tgz","fileCount":185,"unpackedSize":409883,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCMZXwkKVuWZ070I4z8ELvZnqUxxZ3nhiUVNcwCozjrrgIhAOfP0Q3nMhlG3jVgoZBi9qP1nbf0prrSFW4N/GYhZSJm"}]},"_npmUser":{"name":"g.pogos","email":"g.pogos@ya.ru"},"directories":{},"maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nestjs-event-sourcing_3.1.0_1772628680855_0.055684768734532986"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-05T09:51:44.944Z","modified":"2026-03-04T12:51:21.139Z","1.0.10":"2025-03-05T09:51:45.284Z","1.0.9":"2025-03-05T09:52:12.538Z","1.0.0":"2025-03-05T09:54:23.799Z","1.0.1":"2025-03-05T09:55:16.540Z","1.0.2":"2025-03-05T09:55:37.893Z","1.0.3":"2025-03-05T10:00:11.701Z","1.0.4":"2025-03-05T10:02:11.753Z","1.0.5":"2025-03-05T10:03:22.774Z","1.0.6":"2025-03-05T10:04:48.160Z","1.0.7":"2025-03-05T10:05:59.417Z","1.0.8":"2025-03-05T10:08:57.542Z","1.1.0":"2025-06-02T12:45:04.719Z","2.0.0":"2025-09-08T14:22:15.443Z","3.0.0":"2026-03-03T09:51:26.611Z","3.1.0":"2026-03-04T12:51:21.023Z"},"repository":{"type":"git","url":"git@a-i-t.gitlab.yandexcloud.net:asar-studio/packages/nestjs-event-sourcing.git"},"maintainers":[{"name":"g.pogos","email":"g.pogos@ya.ru"}],"readme":"# @asar-studio/nestjs-event-sourcing\n\nNestJS event sourcing module with:\n\n- event store persistence in MongoDB\n- projection pipeline for materialized views\n- transactional multi-aggregate commits\n- optimistic concurrency protection\n- CQRS integration (`@nestjs/cqrs`)\n\n## Install\n\n```bash\nnpm i @asar-studio/nestjs-event-sourcing\n```\n\nPeer dependencies:\n\n- `@nestjs/common`\n- `@nestjs/core`\n- `@nestjs/cqrs`\n- `@nestjs/mongoose`\n- `@nestjs/platform-express`\n\n## Quick start\n\n### 1) Register event sourcing module\n\n```ts\nimport { Module } from \"@nestjs/common\";\nimport { EventSourcingModule } from \"@asar-studio/nestjs-event-sourcing\";\n\n@Module({\n  imports: [\n    EventSourcingModule.forRoot({\n      mongoURL: \"mongodb://mongo1:27017,mongo2:27017,mongo3:27017/es?replicaSet=rs0\",\n      connectOptions: {},\n      collectionsOptions: {\n        eventsCollectionName: \"event-store\",\n        snapshotsCollectionName: \"event-snapshots\",\n        transactionsCollectionName: \"event-transactions\",\n      },\n    }),\n    EventSourcingModule.forFeature(),\n  ],\n})\nexport class AppModule {}\n```\n\n### 2) Define a storable domain event\n\n```ts\nimport { StorableEvent } from \"@asar-studio/nestjs-event-sourcing\";\n\nexport class OrderPlacedEvent extends StorableEvent {\n  eventAggregate = \"order\";\n  eventVersion = 1;\n\n  constructor(\n    public readonly id: string,\n    public readonly customerId: string,\n    public readonly total: number,\n  ) {\n    super();\n  }\n}\n```\n\n### 3) Commit via aggregate root\n\n```ts\nimport { AggregateRoot } from \"@nestjs/cqrs\";\n\nexport class Order extends AggregateRoot {\n  constructor(public readonly id: string) {\n    super();\n  }\n\n  place(customerId: string, total: number) {\n    this.apply(new OrderPlacedEvent(this.id, customerId, total));\n  }\n}\n```\n\n```ts\nconst order = this.eventPublisher.mergeObjectContext(new Order(orderId));\norder.place(customerId, total);\norder.commit();\n```\n\n## Projections\n\nUse `@ProjectionHandler(...)` and `IProjection<TEvent>` to update MV collections:\n\n```ts\nimport { InjectModel } from \"@nestjs/mongoose\";\nimport { Model } from \"mongoose\";\nimport { IProjection, ProjectionHandler } from \"@asar-studio/nestjs-event-sourcing\";\n\n@ProjectionHandler(OrderPlacedEvent)\nexport class OrderProjection implements IProjection<OrderPlacedEvent> {\n  constructor(\n    @InjectModel(\"OrderView\")\n    private readonly orderViewModel: Model<any>,\n  ) {}\n\n  async handle(event: OrderPlacedEvent): Promise<void> {\n    await this.orderViewModel.updateOne(\n      { orderId: event.id },\n      {\n        $set: {\n          orderId: event.id,\n          customerId: event.customerId,\n          total: event.total,\n          status: \"PLACED\",\n        },\n      },\n      { upsert: true },\n    );\n  }\n}\n```\n\nMultiple projections for the same event are supported and executed in registration order.\n\n## Transactional multi-aggregate commit\n\nIf one command updates multiple aggregate roots, use `AggregateTransactionService`:\n\n```ts\nimport { AggregateTransactionService } from \"@asar-studio/nestjs-event-sourcing\";\n\nconstructor(private readonly aggregateTransactionService: AggregateTransactionService) {}\n\nawait this.aggregateTransactionService.commit([\n  orderAggregate,\n  paymentAggregate,\n  inventoryAggregate,\n]);\n```\n\nBehavior:\n\n- all event streams are committed in one DB transaction\n- if one stream fails, all streams are rolled back\n- events are published only after successful persistence\n\n## Concurrency behavior\n\nStale writes are rejected with:\n\n```text\nConcurrency conflict: aggregate revision already committed\n```\n\nUse this to implement retries or idempotent command responses.\n\n## Public API highlights\n\n- `EventSourcingModule`\n- `EventStore`\n- `StoreEventBus`\n- `StoreEventPublisher`\n- `AggregateRepository`\n- `AggregateTransactionService`\n- `ProjectionHandler`\n- `Projection`\n- `IProjection`\n- `StorableEvent`\n- `ReconstructViewDb`\n\n## Testing (production-like)\n\nRun e2e against a real dockerized MongoDB replica set:\n\n```bash\nnpm run test:e2e:docker\n```\n\nThis validates event-store writes and projection updates against real MV collections.\n\n## Migration\n\nSee `MIGRATION.md` for upgrade notes (`3.0.0` and `3.1.0`).\n","readmeFilename":"README.md","description":"NestJS event sourcing module with projections, CQRS integration, and transactional multi-aggregate commits.","keywords":["nestjs","event-sourcing","cqrs","mongodb","projection"]}