{"_id":"@banana-universe/plugin-mongoose","_rev":"2-a6adfc655793cb2fd45aaf310f713e01","name":"@banana-universe/plugin-mongoose","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@banana-universe/plugin-mongoose","version":"0.1.0","author":{"name":"Surya Prakash Manne"},"license":"MIT","_id":"@banana-universe/plugin-mongoose@0.1.0","maintainers":[{"name":"sprakas","email":"suryaprakash.manne1@gmail.com"}],"homepage":"https://github.com/surya-manne/banana-universe#readme","bugs":{"url":"https://github.com/surya-manne/banana-universe/issues"},"dist":{"shasum":"351495c7b52c43d3d9109d695a19cd88f3989132","tarball":"https://registry.npmjs.org/@banana-universe/plugin-mongoose/-/plugin-mongoose-0.1.0.tgz","fileCount":11,"integrity":"sha512-gZwfaGpdeq4Efh0EKH69Io3aDatxnXCNyMOZ9PA+qSPRW+p0+urP1Z/HbfEPKVaVA3ExYwhe/gHKgWHJFHGHNA==","signatures":[{"sig":"MEYCIQCpJIL68QHRyna34q9a9LPmDCKxFIT464SCqrvDFmHTAwIhAK/TRXqE25qXv0xZx6hn5dFw5qG4H6QBvQJHludv/W8M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15308},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","development":"./src/index.ts"},"./package.json":"./package.json"},"gitHead":"48e7f9557b6be3c8be7a0cab2b5953a731e3bed4","_npmUser":{"name":"sprakas","email":"suryaprakash.manne1@gmail.com"},"repository":{"url":"git+https://github.com/surya-manne/banana-universe.git","type":"git"},"_npmVersion":"11.6.2","description":"Mongoose plugin for BananaJS — Connection registration, @Transactional (sessions), and Repository adapter.","directories":{},"_nodeVersion":"25.2.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"express":"^4.21.2","mongoose":"^8.9.0","reflect-metadata":"^0.2.2","@banana-universe/ddd":"*","@banana-universe/bananajs":"*"},"peerDependencies":{"mongoose":">=8.0.0","@banana-universe/ddd":">=0.1.0","@banana-universe/bananajs":">=0.6.0"},"peerDependenciesMeta":{"mongoose":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/plugin-mongoose_0.1.0_1776801241663_0.8856428115902844","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@banana-universe/plugin-mongoose","version":"0.1.1","description":"Mongoose plugin for BananaJS — Connection registration, @Transactional (sessions), and Repository adapter.","author":{"name":"Surya Prakash Manne"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/surya-manne/banana-universe.git"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{"./package.json":"./package.json",".":{"development":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"peerDependencies":{"@banana-universe/bananajs":">=0.6.0","@banana-universe/ddd":">=0.1.0","mongoose":">=8.0.0"},"peerDependenciesMeta":{"mongoose":{"optional":false}},"devDependencies":{"@banana-universe/bananajs":"0.6.1","@banana-universe/ddd":"0.1.1","express":"^4.21.2","mongoose":"^8.9.0","reflect-metadata":"^0.2.2"},"publishConfig":{"access":"public"},"homepage":"https://surya-manne.github.io/banana-universe/","gitHead":"4d8b7890043fef8e65e43486b7c3611e6e8085cf","_id":"@banana-universe/plugin-mongoose@0.1.1","bugs":{"url":"https://github.com/surya-manne/banana-universe/issues"},"_nodeVersion":"25.2.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-V4FzldXGUhZ7Vh/uSdiVGJ/SThUe+hFFApiYwaHN86v5FjjOB3YB5Ji+hOHj6BKwt6nv0oORfCTDcQPi+QufiA==","shasum":"78e8efe5d7b4d01bc377c8fab54011da398789ff","tarball":"https://registry.npmjs.org/@banana-universe/plugin-mongoose/-/plugin-mongoose-0.1.1.tgz","fileCount":11,"unpackedSize":16100,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCIalHsSjvv94aB7r6VUOr+6wKABEfHc76s3pz+OqXz9gIgJ/g3AFxEY6/ugFyO8YRJqjTal3ICf2aEefkplPezHyE="}]},"_npmUser":{"name":"sprakas","email":"suryaprakash.manne1@gmail.com"},"directories":{},"maintainers":[{"name":"sprakas","email":"suryaprakash.manne1@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/plugin-mongoose_0.1.1_1776804223947_0.9361015766539269"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-21T19:54:01.562Z","modified":"2026-04-21T20:43:44.216Z","0.1.0":"2026-04-21T19:54:01.809Z","0.1.1":"2026-04-21T20:43:44.097Z"},"bugs":{"url":"https://github.com/surya-manne/banana-universe/issues"},"author":{"name":"Surya Prakash Manne"},"license":"MIT","homepage":"https://surya-manne.github.io/banana-universe/","repository":{"type":"git","url":"git+https://github.com/surya-manne/banana-universe.git"},"description":"Mongoose plugin for BananaJS — Connection registration, @Transactional (sessions), and Repository adapter.","maintainers":[{"name":"sprakas","email":"suryaprakash.manne1@gmail.com"}],"readme":"# @banana-universe/plugin-mongoose\n\nMongoose integration plugin for BananaJS with session-based transaction support.\n\n## Homepage\n\nhttps://surya-manne.github.io/banana-universe/\n\n## Installation\n\n```bash\nnpm install @banana-universe/plugin-mongoose mongoose reflect-metadata\n```\n\n## Core API Surface\n\n- `MongoosePlugin(connection)`\n- `Transactional()`\n- `MongooseTransactionContext`\n\n## Minimal Working Setup\n\n```ts\nimport mongoose from 'mongoose';\nimport { BananaApp } from '@banana-universe/bananajs';\nimport { MongoosePlugin } from '@banana-universe/plugin-mongoose';\n\nconst connection = await mongoose.createConnection('mongodb://127.0.0.1:27017/banana').asPromise();\n\nawait BananaApp.create({\n  controllers: [],\n  plugins: [MongoosePlugin(connection)],\n});\n```\n\n## Transactional Method Example\n\n```ts\nimport { Transactional, MongooseTransactionContext } from '@banana-universe/plugin-mongoose';\n\nclass InventoryService {\n  @Transactional()\n  async reserve() {\n    const session = MongooseTransactionContext.getSession();\n    // pass { session } to model operations\n  }\n}\n```\n\n## Documentation\n\n- Project docs: https://surya-manne.github.io/banana-universe/\n\n## License\n\nMIT\n","readmeFilename":"README.md"}