mirror of
https://github.com/lucide-icons/lucide.git
synced 2026-11-14 13:58:21 +00:00
38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
const babel = require('@rollup/plugin-babel').default;
|
|||
|
|
const bundleSize = require('@atomico/rollup-plugin-sizes');
|
||
|
|
const compiler = require('@ampproject/rollup-plugin-closure-compiler');
|
||
|
|
const { terser } = require('rollup-plugin-terser');
|
||
|
|
const visualizer = require('rollup-plugin-visualizer');
|
||
|
|
const license = require('rollup-plugin-license');
|
||
|
|
const replace = require('rollup-plugin-replace');
|
||
|
|
const resolve = require('rollup-plugin-node-resolve');
|
||
|
|
const commonJS = require('rollup-plugin-commonjs');
|
||
|
|
|
||
|
|
const plugins = (pkg, minify) =>
|
||
|
|
[
|
||
|
|
replace({
|
||
|
|
'icons = {}': 'icons = allIcons',
|
||
|
|
delimiters: ['', ''],
|
||
|
|
}),
|
||
|
|
babel({
|
||
|
|
babelHelpers: 'bundled',
|
||
|
|
}),
|
||
|
|
// The two minifiers together seem to procude a smaller bundle 🤷♂️
|
||
|
|
minify && compiler(),
|
||
|
|
minify && terser(),
|
||
|
|
license({
|
||
|
|
banner: `${pkg.name} v${pkg.version} - ${pkg.license}`,
|
||
|
|
}),
|
||
|
|
bundleSize(),
|
||
|
|
resolve(),
|
||
|
|
commonJS({
|
||
|
|
include: 'node_modules/**',
|
||
|
|
}),
|
||
|
|
visualizer({
|
||
|
|
sourcemap: true,
|
||
|
|
filename: `stats/${pkg.name}${minify ? '-min' : ''}.html`,
|
||
|
|
}),
|
||
|
|
].filter(Boolean);
|
||
|
|
|
||
|
|
module.exports = plugins;
|