|
| 1 | +'use strict' |
| 2 | + |
| 3 | +// Setup |
| 4 | +const fs = require('fs') |
| 5 | +const pkg = require('./package.json') |
| 6 | +const semver = require('semver') |
| 7 | +const rollup = require('rollup').rollup |
| 8 | +const rollBabel = require('rollup-plugin-babel') |
| 9 | +const entry = 'tiny-params.js' |
| 10 | +const dest = 'index.js' |
| 11 | +const destEs6 = 'module.js' |
| 12 | +const git = require('simple-git')(__dirname) |
| 13 | +const babelOpts = { |
| 14 | + presets: [['es2015', {modules: false}]], |
| 15 | + plugins: ['external-helpers'], |
| 16 | + babelrc: false |
| 17 | +} |
| 18 | +const plugins = [rollBabel(babelOpts)] |
| 19 | +const toAdd = ['package.json', dest, destEs6] |
| 20 | + |
| 21 | +// Main |
| 22 | +pkg.version = semver.inc(pkg.version, 'patch') |
| 23 | +fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2), 'utf8') |
| 24 | +let cjsRollup = () => rollup({entry}) |
| 25 | +let cjsBundle = (b) => b.write({format: 'cjs', dest}) |
| 26 | +let rollCjs = () => cjsRollup().then(cjsBundle) |
| 27 | +let es6Rollup = () => rollup({entry, plugins}) |
| 28 | +let es6Bundle = (b) => b.write({format: 'es', dest: destEs6}) |
| 29 | +let rollEs6 = () => es6Rollup().then(es6Bundle) |
| 30 | +let gitAdd = () => new Promise((resolve, reject) => { |
| 31 | + git.add(toAdd, (err) => err ? reject(err) : resolve()) |
| 32 | +}) |
| 33 | + |
| 34 | +rollCjs().then(rollEs6).then(gitAdd).catch(console.error) |
0 commit comments