{"_id":"js-migrations","_rev":"44-b6dd41170cea8ca07e3190ebafecddde","name":"js-migrations","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"name":"js-migrations","version":"0.0.1","keywords":["javascript","migration"],"author":{"name":"Gareth Bowen","email":"gareth@bowenwebdesign.co.nz"},"license":"MIT","_id":"js-migrations@0.0.1","maintainers":[{"name":"garethbowen","email":"gareth@bowenwebdesign.co.nz"}],"homepage":"https://github.com/garethbowen/js-migrations","bugs":{"url":"https://github.com/garethbowen/js-migrations/issues"},"dist":{"shasum":"6f8f919a9f53cbcb38473127366ad032ca4b8926","tarball":"https://registry.npmjs.org/js-migrations/-/js-migrations-0.0.1.tgz","integrity":"sha512-b3GCEaQQ4JVuDvCDycDp6j/W2G/LHwTbVC3NOyFevgYVFhRynmWPEuM89LCfESJZJon1M3X+pnMhmN3kiuSlRQ==","signatures":[{"sig":"MEUCIGkZjWsinRgfsIo8Hulg536el05RsrQRVuGB43gOrKJJAiEAyNjFOJFcNNffR5mOxbg04HTd2MT17639uKKMizcxNk8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./js-migrations/migration","_from":"js-migrations/","scripts":{"test":"nodeunit test/migrate.js"},"_npmUser":{"name":"garethbowen","email":"gareth@bowenwebdesign.co.nz"},"repository":{"url":"http://github.com/garethbowen/js-migrations.git","type":"git"},"_npmVersion":"1.4.3","description":"Migrate a JavaScript object","directories":{},"dependencies":{"async":"","semver":""},"devDependencies":{"nodeunit":""}},"1.0.0":{"name":"js-migrations","version":"1.0.0","keywords":["javascript","migration"],"author":{"name":"Gareth Bowen","email":"gareth@bowenwebdesign.co.nz"},"license":"MIT","_id":"js-migrations@1.0.0","maintainers":[{"name":"garethbowen","email":"gareth@bowenwebdesign.co.nz"}],"homepage":"https://github.com/medic/js-migrations","bugs":{"url":"https://github.com/medic/js-migrations/issues"},"dist":{"shasum":"d62d79c63751f00f87fa3f5ccac15451aa70abc1","tarball":"https://registry.npmjs.org/js-migrations/-/js-migrations-1.0.0.tgz","integrity":"sha512-yjmBQngLUdSkKb2X4qc2qKzEcBqv1m70Z9P4mjLpnKh8etFZzPL1c3+ChpLikDlBt6xulWIu0uQrPzeg01ir9g==","signatures":[{"sig":"MEUCIQCX8lOi+nvPFSW+NfTLkpXSg4vMDBfKCvBBX0zpt//H0QIgX8SlcjawI+3rZtqYLPHvQXjxRyepPPnxLO7iHgvsJBE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2woTCRA9TVsSAnZWagAAzD4P/RERzUi+0HXf54FDHlBq\n3McDXZNih9h1xOtvNGTyPzrZThACrbKpK+jd2rKVeUmdVvRhVxYakpfL/FTD\nf31Ao/Mif3gZEl9gJkw7cXTktqvdJHxEm34gJG7FsmrA53BKmKDjJSd33I3+\nOCwChguY5MsercOsT/A618tNZJRUi3+aiyrPtQw+QzfS3rxhxlcu0gUbEh0o\nVJfcThWKs2ZuYvdWqhuZwd4bEBsEYMOMTwhy8wqJMjEENY+bB1AIA83LyIBt\na4C8mHuOZTVHDgpZR9E2vK9eSHh+xCT4RrdoLBSnwNM2nx8gf24OQBbyOorC\nbH3QzZnkejFCvQ5Fnph6KriaUdSpYDmjk0ECg83E2yh2o0rxUZdqPg5q3kaZ\n+drMkfrNVmLd+aMC3QIdOh0MPjjL7gOtq3sElOxXjuchAOTH9qZFjW/0ugNZ\nmc+WvdUnzb/Ld0AEq91TSoCQ/dIdzfSqtez7jfdBp2Ls5/88fEjBh2gPZa9u\nUrNLWcmmDd4rroZmHANKjAoLg3rmC94MZXkfF6lv2igHZc4jfi44uAi8uRUF\nn2de5CZcxNth2JIFqSDyQYMw/Dia/74bFdk43C3iKDEoZzNyXQsAtZxNyg/f\nvbgFOHazr4izBC+Ssy5pZfCwrOnAaU3ep3V/V2dQLKu0tOQcbRgSKWnWqERh\n8VpC\r\n=OEOR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./js-migrations","_from":".","scripts":{"test":"nodeunit test/migrate.js"},"_npmUser":{"name":"garethbowen","email":"gareth@bowenwebdesign.co.nz"},"repository":{"url":"http://github.com/medic/js-migrations.git","type":"git"},"_npmVersion":"1.4.3","description":"Migrate a JavaScript object","directories":{},"dependencies":{"async":"","semver":""},"devDependencies":{"nodeunit":""}}},"time":{"created":"2014-05-20T02:53:29.816Z","modified":"2026-09-25T12:45:16.062Z","0.0.1":"2014-05-20T02:53:29.816Z","1.0.0":"2014-05-21T22:12:24.842Z"},"bugs":{"url":"https://github.com/medic/js-migrations/issues"},"author":{"name":"Gareth Bowen","email":"gareth@bowenwebdesign.co.nz"},"license":"MIT","homepage":"https://github.com/medic/js-migrations","keywords":["javascript","migration"],"repository":{"url":"http://github.com/medic/js-migrations.git","type":"git"},"description":"Migrate a JavaScript object","maintainers":[{"email":"kennsippell@gmail.com","name":"kennsippell"},{"email":"dev@medicmobile.org","name":"medic-ci"},{"email":"inromualdo@gmail.com","name":"inromualdo"},{"email":"derick.lungaho@gmail.com","name":"derickl"},{"email":"blajandra@gmail.com","name":"andrablaj"},{"email":"sugatbajracharya49@gmail.com","name":"sugat009"},{"email":"gareth@bowenwebdesign.co.nz","name":"garethbowen"}],"readme":"JavaScript Migrations\n=====================\n\nInstallation\n-------------------\n\n`npm install js-migrations` or [kanso](http://kan.so/packages/details/js-migrations)\n\nDefining Migrations\n-------------------\n\nA migration is an object with a `version` and one or both of `up` and `down` functions, which migrate up to, or down from this version respectively. For example:\n\n```\nvar myMigration = {\n  version: '1.2.5',\n  up: function(obj, callback) {\n    var num = parseInt(obj.a);\n    if (isNaN(num)) {\n      return { error: 'a is not a number' };\n    } else {\n      obj.a = num\n      return { error: false, result: obj };\n    }\n  },\n  down: function(obj, callback) {\n    obj.a = obj.a + '';\n    return { error: false, result: obj };\n  }\n};\n```\n\nVersion should be unique between migrations or there will be no way to tell which set of migrations have been run.\n\nRunning Migrations\n------------------\n\n```\nvar migration = require('js-migrations');\nvar migrated = migration.migrate(\n  { a: '42' },\n  [ myMigration ],\n  { from: '1.1.5', to: '2.1.3' }\n);\nif (migrated.err) throw migrated.err;\nvar obj = migrated.result;\n```\n\nIf `from` or `to` is omitted above there will be no lower or upper limit respectively. If both are omitted all migrations will be run. If `from` is greater than `to` then the down migrations are run.\n\nAll versions must follow the [semver](http://semver.org/) format.\n\nBuild Status\n------------\n\n[![Build Status](https://travis-ci.org/medic/js-migrations.png?branch=master)](https://travis-ci.org/medic/js-migrations)","readmeFilename":"README.md","users":{"garethbowen":true}}