plain-migration

Simple migrator for JavaScript objects using semantic version.

Usage no npm install needed!

<script type="module">
  import plainMigration from 'https://cdn.skypack.dev/plain-migration';
</script>

README

plain-migration

Simple migrator for JavaScript objects using semantic version.

Installation

npm install --save plain-migration

Usage


const migration1 = {
    TO_VERSION: '1.1.0',
    up(data) {
        let copy = Object.assign({}, data);

        copy.name = data.name.replace(/just/i, 'Better');
        copy.version = this.TO_VERSION;
        return copy;
    }
};

const migration2 = {
    TO_VERSION: '1.4.0',
    up(data) {
        let copy = Object.assign({}, data);

        copy.name = data.name.replace(/better/i, 'Awesome');
        copy.version = this.TO_VERSION;
        return copy;
    }
};

const migrate = migrateFactory('>=1.4.0', [migration1, migration2]);
migrate('1.0.0', {version: '1.0.0', name: 'Just Name'});