{"_id":"@coodex.ai/mongo-migrations","_rev":"6-443ffad8db5b661c54fc108605a3602e","name":"@coodex.ai/mongo-migrations","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.1":{"name":"@coodex.ai/mongo-migrations","version":"0.1.1","keywords":["mongodb","migrations","database","schema","migration","migrate"],"author":{"name":"Jadson Teixeira"},"license":"GPL-3.0","_id":"@coodex.ai/mongo-migrations@0.1.1","maintainers":[{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"}],"homepage":"https://github.com/Brains-Tech/mongo-migrations#readme","bugs":{"url":"https://github.com/Brains-Tech/mongo-migrations/issues"},"dist":{"shasum":"e9adf9a03786d6ccd2fdda34686276453d4db95c","tarball":"https://registry.npmjs.org/@coodex.ai/mongo-migrations/-/mongo-migrations-0.1.1.tgz","fileCount":15,"integrity":"sha512-UevazQjpTGZLN5nhWjxr0zxw7mvRFmr2qhqnPlBH3jzmMy3VxL6/E7vg8iaK8lTjTPYFvynk7wVFyiU6GQA3hg==","signatures":[{"sig":"MEYCIQC4ohTn4ZJCv/V+jNXSxeowsR6BmsrnmiR8vL4L8lKypAIhAOTsHkmqXPoU9pb9N09gxppB5cdEnKjQnTOsdY9lTCPa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45661},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"313171cbade9b58b79c6b8cb70b00f0c66dd915e","scripts":{"lint":"eslint src","test":"jest","build":"tsc","clean":"rm -rf dist","watch":"tsc --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"},"repository":{"url":"git+https://github.com/Brains-Tech/mongo-migrations.git","type":"git"},"_npmVersion":"10.9.4","description":"Tool to manage migrations in MongoDB","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mongodb":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.25.0","ts-jest":"^29.2.5","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/node":"^22.0.0","@typescript-eslint/parser":"^8.25.0","@typescript-eslint/eslint-plugin":"^8.25.0"},"_npmOperationalInternal":{"tmp":"tmp/mongo-migrations_0.1.1_1765482081920_0.5178074232330321","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@coodex.ai/mongo-migrations","version":"0.1.2","keywords":["mongodb","migrations","database","schema","migration","migrate"],"author":{"name":"Jadson Teixeira"},"license":"GPL-3.0","_id":"@coodex.ai/mongo-migrations@0.1.2","maintainers":[{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"}],"homepage":"https://github.com/Brains-Tech/mongo-migrations#readme","bugs":{"url":"https://github.com/Brains-Tech/mongo-migrations/issues"},"bin":{"create-migration":"dist/cli/create-migration.js"},"dist":{"shasum":"7ed4bf0cf9d40d783333333fa0ba171ff1c96c2a","tarball":"https://registry.npmjs.org/@coodex.ai/mongo-migrations/-/mongo-migrations-0.1.2.tgz","fileCount":19,"integrity":"sha512-qCoHhVK0ZSYwf61VO8UksjmmJFVys1pMH7mqiYZGY/QErw5YaP/ENutTbzy5dBoAKB5aT2ofnVrPTvblxwsESw==","signatures":[{"sig":"MEUCIDbKHHQoNS01Fs7IWKxdW9n5DOriCeMD5zpTPNg0TGqLAiEAtpOyPxwMvbMwAKgA6kTBUbVAJZ3AekWMq0NSLpX4Dys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54828},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"083ced5656479646d383139bb2f67e3ecf558499","scripts":{"lint":"eslint src","test":"jest","build":"tsc && node scripts/post-build.js","clean":"rm -rf dist","watch":"tsc --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"},"repository":{"url":"git+https://github.com/Brains-Tech/mongo-migrations.git","type":"git"},"_npmVersion":"10.9.4","description":"Tool to manage migrations in MongoDB","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mongodb":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.25.0","ts-jest":"^29.2.5","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/node":"^22.0.0","@typescript-eslint/parser":"^8.25.0","@typescript-eslint/eslint-plugin":"^8.25.0"},"_npmOperationalInternal":{"tmp":"tmp/mongo-migrations_0.1.2_1765482747573_0.24663545284124466","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@coodex.ai/mongo-migrations","version":"0.1.3","keywords":["mongodb","migrations","database","schema","migration","migrate"],"author":{"name":"Jadson Teixeira"},"license":"GPL-3.0","_id":"@coodex.ai/mongo-migrations@0.1.3","maintainers":[{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"}],"homepage":"https://github.com/Brains-Tech/mongo-migrations#readme","bugs":{"url":"https://github.com/Brains-Tech/mongo-migrations/issues"},"bin":{"up":"dist/cli/up.js","create-migration":"dist/cli/create-migration.js"},"dist":{"shasum":"897e7c907ef2345e63e9f16fa1b83f8136cd6ffd","tarball":"https://registry.npmjs.org/@coodex.ai/mongo-migrations/-/mongo-migrations-0.1.3.tgz","fileCount":23,"integrity":"sha512-6nasqc7Tho8u2mySWpFIlHCkDmFtwIJuxOtHeTgrZpF65zQzP5Nc2whRi01W+Hu8XjP9fmaYjqLNgnZOQXhsPg==","signatures":[{"sig":"MEUCIQDmA/AN0co2sA+Jco51dW4dvOin9mwfa5ZBEHFSGuTJOAIgEnTAhPAPkvlBD9nhHBeCoQwtRfcplB+BrZQBEXke+ug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68892},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"c5a2f705a0c3c1ae7dd48709cd8f2cbca1df2ded","scripts":{"lint":"eslint src","test":"jest","build":"tsc && node scripts/post-build.js","clean":"rm -rf dist","watch":"tsc --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"},"repository":{"url":"git+https://github.com/Brains-Tech/mongo-migrations.git","type":"git"},"_npmVersion":"10.9.4","description":"Tool to manage migrations in MongoDB","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mongodb":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.25.0","ts-jest":"^29.2.5","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/node":"^22.0.0","@typescript-eslint/parser":"^8.25.0","@typescript-eslint/eslint-plugin":"^8.25.0"},"_npmOperationalInternal":{"tmp":"tmp/mongo-migrations_0.1.3_1765483700861_0.41092718085562296","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@coodex.ai/mongo-migrations","version":"0.1.4","keywords":["mongodb","migrations","database","schema","migration","migrate"],"author":{"name":"Jadson Teixeira"},"license":"GPL-3.0","_id":"@coodex.ai/mongo-migrations@0.1.4","maintainers":[{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"}],"homepage":"https://github.com/Brains-Tech/mongo-migrations#readme","bugs":{"url":"https://github.com/Brains-Tech/mongo-migrations/issues"},"bin":{"mongo-migrations":"dist/cli/index.js"},"dist":{"shasum":"de555e89daf0efe3e8d375e4d312de3b236dcc2d","tarball":"https://registry.npmjs.org/@coodex.ai/mongo-migrations/-/mongo-migrations-0.1.4.tgz","fileCount":31,"integrity":"sha512-sf3NdiAtF/2HNm2Dc70jmVdQmNj4uEwdQfYgSWf2xzQ+Lp8KEUJlvhHo4FkX3CYC8n2LpE4EdTPgLuLKmTsdAg==","signatures":[{"sig":"MEYCIQDe1fr3ZbC5hRPtpVYsofxzN7JxKME2VERUmkjvK372hwIhAKIu2UmdtonKhaMQHNnxh9V1jll83/gRmBrR3gUnFPVF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78807},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"6f1327e165998e30f1a5c54bfe095505571b22a4","scripts":{"lint":"eslint src","test":"jest","build":"tsc && node scripts/post-build.js","clean":"rm -rf dist","watch":"tsc --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"},"repository":{"url":"git+https://github.com/Brains-Tech/mongo-migrations.git","type":"git"},"_npmVersion":"10.9.4","description":"Tool to manage migrations in MongoDB","directories":{},"_nodeVersion":"22.21.1","dependencies":{"dotenv":"^16.0.0","mongodb":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.25.0","ts-jest":"^29.2.5","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/node":"^22.0.0","@typescript-eslint/parser":"^8.25.0","@typescript-eslint/eslint-plugin":"^8.25.0"},"_npmOperationalInternal":{"tmp":"tmp/mongo-migrations_0.1.4_1765484524005_0.28987194318881304","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@coodex.ai/mongo-migrations","version":"0.1.5","keywords":["mongodb","migrations","database","schema","migration","migrate"],"author":{"name":"Jadson Teixeira"},"license":"GPL-3.0","_id":"@coodex.ai/mongo-migrations@0.1.5","maintainers":[{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"}],"homepage":"https://github.com/Brains-Tech/mongo-migrations#readme","bugs":{"url":"https://github.com/Brains-Tech/mongo-migrations/issues"},"bin":{"mongo-migrations":"dist/cli/index.js"},"dist":{"shasum":"1ca523302cd5ccb5c5439c758ef1f5667b22f564","tarball":"https://registry.npmjs.org/@coodex.ai/mongo-migrations/-/mongo-migrations-0.1.5.tgz","fileCount":31,"integrity":"sha512-VWV8QXJHewjgLO6BKjJjyEg4CgHlADY7fLF6ayS7drdldn1o7JPukekURA6T8n8ZnH3hcjMPHqaGe6aGBZ/3iA==","signatures":[{"sig":"MEUCIAyV3+aJ2GSpuUpvKSJ2EEfcUJqH9i//cdDiRoFULzNHAiEAt3JHIimVmwLELpfxClK8W8Oa1bMJozbIcLvq1XmTScY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78929},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"e0e1301da993345dd4c4f219dbe7d30a93426860","scripts":{"lint":"eslint src","test":"jest","build":"tsc && node scripts/post-build.js","clean":"rm -rf dist","watch":"tsc --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"},"repository":{"url":"git+https://github.com/Brains-Tech/mongo-migrations.git","type":"git"},"_npmVersion":"10.9.4","description":"Tool to manage migrations in MongoDB","directories":{},"_nodeVersion":"22.21.1","dependencies":{"dotenv":"^16.0.0","mongodb":"^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.25.0","ts-jest":"^29.2.5","typescript":"^5.9.2","@types/jest":"^29.5.14","@types/node":"^22.0.0","@typescript-eslint/parser":"^8.25.0","@typescript-eslint/eslint-plugin":"^8.25.0"},"_npmOperationalInternal":{"tmp":"tmp/mongo-migrations_0.1.5_1765485041297_0.8795731139252905","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@coodex.ai/mongo-migrations","version":"0.1.6","description":"Tool to manage migrations in MongoDB","main":"dist/index.js","types":"dist/index.d.ts","bin":{"mongo-migrations":"dist/cli/index.js"},"scripts":{"build":"tsc && node scripts/post-build.js","watch":"tsc --watch","prepublishOnly":"npm run build","test":"jest","format":"prettier --write \"src/**/*.ts\"","lint":"eslint src","clean":"rm -rf dist"},"keywords":["mongodb","migrations","database","schema","migration","migrate"],"author":{"name":"Jadson Teixeira"},"license":"GPL-3.0","repository":{"type":"git","url":"git+https://github.com/Brains-Tech/mongo-migrations.git"},"bugs":{"url":"https://github.com/Brains-Tech/mongo-migrations/issues"},"homepage":"https://github.com/Brains-Tech/mongo-migrations#readme","engines":{"node":">=22.0.0"},"dependencies":{"dotenv":"^16.0.0","mongodb":"^7.0.0"},"devDependencies":{"@types/jest":"^29.5.14","@types/node":"^22.0.0","@typescript-eslint/eslint-plugin":"^8.25.0","@typescript-eslint/parser":"^8.25.0","eslint":"^9.25.0","jest":"^29.7.0","prettier":"^3.7.4","ts-jest":"^29.2.5","typescript":"^5.9.2"},"_id":"@coodex.ai/mongo-migrations@0.1.6","gitHead":"83e3c49b13993bc04cd161bbec2921948bbe93ce","_nodeVersion":"22.21.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-GBnw79MxbdqGqLrH8dvQVP0rHjCDuT2nPAJWX7wVBymgYNNu7n7gj6S7rsG8N8OyHF3shNyg3FFDgTznRvfvhQ==","shasum":"7c158ea8f0fbb55232d2e385f4e04e548f3ffba1","tarball":"https://registry.npmjs.org/@coodex.ai/mongo-migrations/-/mongo-migrations-0.1.6.tgz","fileCount":31,"unpackedSize":79057,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCVQ95jmyLaOny+59mYZLhfDrg2tiQMOnmNQ/aE+dyKaAIhANYgXug8wm76gcLDXOIJ0qYLZjpj2AOaY8gXjTo1XqNd"}]},"_npmUser":{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"},"directories":{},"maintainers":[{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mongo-migrations_0.1.6_1766000901443_0.32922164697995426"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-11T19:41:21.839Z","modified":"2025-12-17T19:48:21.787Z","0.1.1":"2025-12-11T19:41:22.059Z","0.1.2":"2025-12-11T19:52:27.772Z","0.1.3":"2025-12-11T20:08:21.031Z","0.1.4":"2025-12-11T20:22:04.158Z","0.1.5":"2025-12-11T20:30:41.459Z","0.1.6":"2025-12-17T19:48:21.597Z"},"bugs":{"url":"https://github.com/Brains-Tech/mongo-migrations/issues"},"author":{"name":"Jadson Teixeira"},"license":"GPL-3.0","homepage":"https://github.com/Brains-Tech/mongo-migrations#readme","keywords":["mongodb","migrations","database","schema","migration","migrate"],"repository":{"type":"git","url":"git+https://github.com/Brains-Tech/mongo-migrations.git"},"description":"Tool to manage migrations in MongoDB","maintainers":[{"name":"jadson-coodex","email":"jadson.souza@coodex.ai"}],"readme":"# Mongo Migrations\r\n\r\nTool to manage migrations in MongoDB.\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @coodex.ai/mongo-migrations\r\n```\r\n\r\n## Creating Migrations\r\n\r\nCreate a new migration file using the CLI command:\r\n\r\n```bash\r\nnpx mongo-migrations create <migration-name>\r\n```\r\n\r\nOr if installed globally:\r\n\r\n```bash\r\nnpm install -g @coodex.ai/mongo-migrations\r\nmongo-migrations create add-user-indexes\r\n```\r\n\r\nThis will create a new migration file in the `src/migrations` directory (or the path specified by `MIGRATIONS_PATH` environment variable) with the following structure:\r\n\r\n```typescript\r\nimport { Db } from 'mongodb';\r\n\r\nexport async function up(db: Db): Promise<void> {\r\n  // Implement your migration here\r\n  // Example:\r\n  // await db.collection('users').createIndex({ email: 1 }, { unique: true });\r\n}\r\n\r\nexport async function down(db: Db): Promise<void> {\r\n  // Implement rollback here\r\n  // Example:\r\n  // await db.collection('users').dropIndex('email_1');\r\n}\r\n```\r\n\r\n## Usage\r\n\r\n```javascript\r\nconst { MigrationManager } = require('@coodex.ai/mongo-migrations');\r\n\r\n// Option 1: Using environment variables (MONGO_URI and DB_NAME)\r\nconst manager = new MigrationManager({\r\n  migrationsPath: './src/migrations'\r\n});\r\n\r\n// Option 2: Explicit configuration\r\nconst manager = new MigrationManager({\r\n  uri: 'mongodb://localhost:27017',\r\n  database: 'my-database',\r\n  migrationsPath: './src/migrations'\r\n});\r\n\r\n// Option 3: Mix of both (explicit config takes precedence)\r\nconst manager = new MigrationManager({\r\n  database: 'my-database', // explicit\r\n  // uri will use MONGO_URI from env\r\n  migrationsPath: './src/migrations'\r\n});\r\n\r\n// Run pending migrations\r\nawait manager.up();\r\n```\r\n\r\n### CLI Command\r\n\r\nYou can also run migrations using the CLI command. The CLI automatically loads variables from `.env` file:\r\n\r\n```bash\r\n# Option 1: Using .env file (recommended)\r\n# Create a .env file in your project root:\r\n# MONGO_URI=mongodb://localhost:27017\r\n# DB_NAME=my-database\r\n# MIGRATIONS_PATH=./src/migrations  # Optional\r\n\r\nnpx mongo-migrations up\r\n\r\n# Option 2: Using environment variables\r\nexport MONGO_URI=\"mongodb://localhost:27017\"\r\nexport DB_NAME=\"my-database\"\r\nexport MIGRATIONS_PATH=\"./src/migrations\"  # Optional, defaults to ./src/migrations\r\nnpx mongo-migrations up\r\n```\r\n\r\nOr if installed globally:\r\n\r\n```bash\r\nnpm install -g @coodex.ai/mongo-migrations\r\nmongo-migrations up\r\n```\r\n\r\n### Environment Variables\r\n\r\n- `MONGO_URI` - MongoDB connection string (required for CLI)\r\n- `DB_NAME` - Database name (required for CLI)\r\n- `MIGRATIONS_PATH` - Path to migrations directory (defaults to `./src/migrations`)\r\n\r\n## Development\r\n\r\n```bash\r\n# Install dependencies\r\nnpm install\r\n\r\n# Compile TypeScript\r\nnpm run build\r\n\r\n# Run tests\r\nnpm test\r\n\r\n# Watch mode for development\r\nnpm run watch\r\n```\r\n\r\n## Publishing\r\n\r\n```bash\r\n# Build before publishing\r\nnpm run build\r\n\r\n# Publish to npm\r\nnpm publish\r\n```\r\n\r\n## License\r\n\r\nGPL-3.0\r\n","readmeFilename":"README.md"}