File: rollup.config.js

package info (click to toggle)
node-esquery 1.4.2~ds-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 372 kB
  • sloc: javascript: 2,041; makefile: 28; sh: 1
file content (64 lines) | stat: -rw-r--r-- 1,917 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//import { terser } from 'rollup-plugin-terser';

const { nodeResolve } = require('@rollup/plugin-node-resolve');
const commonjs = require('@rollup/plugin-commonjs');
const json = require('@rollup/plugin-json');

//import babel from 'rollup-plugin-babel';
const packageJson = require('./package.json');

/**
 * @external RollupConfig
 * @type {PlainObject}
 * @see {@link https://rollupjs.org/guide/en#big-list-of-options}
 */

/**
 * @param {PlainObject} [config= {}]
 * @param {boolean} [config.minifying=false]
 * @param {string} [config.format='umd']
 * @param {boolean} [config.lite=false]
 * @returns {external:RollupConfig}
 */
function getRollupObject ({ minifying = false, format = 'umd', lite = false } = {}) {
    const nonMinified = {
        input: 'esquery.js',
        output: {
            format,
            sourcemap: minifying,
            file: [
                'dist/esquery',
                lite ? '.lite' : '',
                format === 'umd' ? '' : `.${format}`,
                minifying ? '.min' : '',
                '.js'
            ].join(''),
            name: 'esquery',
            globals: {
                estraverse: 'estraverse'
            }
        },
        plugins: [
            json(),
            nodeResolve(),
            commonjs(),
            //babel()
        ]
    };
    if (lite) {
        nonMinified.external = Object.keys(packageJson.dependencies);
    }
    //if (minifying) {
    //    nonMinified.plugins.push(terser());
    //}
    return nonMinified;
}

module.exports = [
    //getRollupObject({ minifying: true, format: 'umd' }),
    getRollupObject({ minifying: false, format: 'umd' }),
    //getRollupObject({ minifying: true, format: 'esm' }),
    getRollupObject({ minifying: false, format: 'esm' }),
    //getRollupObject({ minifying: true, format: 'umd', lite: true }),
    getRollupObject({ minifying: false, format: 'umd', lite: true })
];