@ge-ge/highlight
Version:
50 lines (48 loc) • 1.18 kB
JavaScript
import filesize from 'rollup-plugin-filesize';
import babel from '@rollup/plugin-babel';
import resolve from '@rollup/plugin-node-resolve';
import { terser } from 'rollup-plugin-terser';
import commonjs from '@rollup/plugin-commonjs';
import eslint from '@rollup/plugin-eslint';
import pkg from './package.json';
const isProd = process.env.NODE_ENV === 'production';
const extensions = ['.js', '.jsx', '.ts', '.tsx'];
const name = 'Highlight';
const input = 'src/highlight.ts';
const commonConf = (() => {
return {
plugins: [
eslint({ include: ['src/**/*.js', 'src/**/*.ts'] }),
resolve({ extensions }),
commonjs(),
filesize(),
babel({
extensions,
babelHelpers: 'runtime',
exclude: ['node_modules/**', /core-js/, /corejs3/],
}),
isProd && terser(),
],
};
})();
export default [
{
input,
output: {
file: pkg.main,
format: 'iife',
name,
},
plugins: commonConf.plugins,
},
{
input,
output: {
file: pkg.module,
format: 'es',
name,
},
plugins: commonConf.plugins,
external: (id) => id.includes('@babel/runtime-corejs3'),
},
];