rollup-plugin-bundleutils

A set of functions commonly used after tree shaking

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
rollup-plugin-bundleutils
2.0.16 months ago7 years agoMinified + gzip package size for rollup-plugin-bundleutils in KB

Readme

rollup-plugin-bundleutils
!NPM Packagenpmnpm-url !DeepScandeepscandeepscan-url
A set of functions commonly used after tree shaking.

Install

npm i -D rollup-plugin-bundleutils

# or

yarn add -D rollup-plugin-bundleutils

Usage

// rollup.config.js
import { timestamp, regex, babel, terser } from 'rollup-plugin-bundleutils';

export default {
    // ...
    plugins: [
        regex([
            [/^import\s.*[\r\n]+/gm, '']
        ]),
        babel({
            compact: false,
            plugins: ['@babel/plugin-proposal-class-properties']
        }),
        terser({
            output: {
                preamble: `// ${timestamp()}`
            }
        })
    ]
};

Exports

timestamp

import { timestamp } from 'rollup-plugin-bundleutils';

console.log(timestamp()); // 2017-09-19 4:55pm

regex

JavaScript String replace after tree shaking. Expects an Array of regexp|substr, newSubstr|function pairs.
// rollup.config.js
import { regex } from 'rollup-plugin-bundleutils';

export default {
    input: 'src/main.js',
    output: {
        file: 'public/bundle.js',
        format: 'es'
    },
    plugins: [
        regex([
            [/^[\r\n]+export\s.*/gm, '']
        ])
    ]
};

babel

Transpile bundle after tree shaking.
// rollup.config.js
import { babel } from 'rollup-plugin-bundleutils';

export default {
    input: 'src/main.js',
    output: {
        file: 'public/bundle.js',
        format: 'iife'
    },
    plugins: [
        babel({
            // Default
            presets: [
                ['@babel/preset-env', { modules: false }]
            ]
        })
    ]
};

terser uglify|minify

Minify bundle after tree shaking.
// rollup.config.js
import { terser } from 'rollup-plugin-bundleutils';

export default {
    input: 'src/main.js',
    output: {
        file: 'public/bundle.js',
        format: 'iife'
    },
    plugins: [
        terser()
    ]
};

Changelog

License

MIT