Files
rrweb/packages/rrweb-snapshot/rollup.config.js

77 lines
1.3 KiB
JavaScript

import typescript from 'rollup-plugin-typescript2';
import { terser } from 'rollup-plugin-terser';
import pkg from './package.json';
function toMinPath(path) {
return path.replace(/\.js$/, '.min.js');
}
let configs = [
// ES module - for building rrweb
{
input: './src/index.ts',
plugins: [typescript()],
output: [
{
format: 'esm',
file: pkg.module,
},
],
},
];
let extra_configs = [
// browser
{
input: './src/index.ts',
plugins: [typescript()],
output: [
{
name: 'rrwebSnapshot',
format: 'iife',
file: pkg.unpkg,
},
],
},
{
input: './src/index.ts',
plugins: [typescript(), terser()],
output: [
{
name: 'rrwebSnapshot',
format: 'iife',
file: toMinPath(pkg.unpkg),
sourcemap: true,
},
],
},
// CommonJS
{
input: './src/index.ts',
plugins: [typescript()],
output: [
{
format: 'cjs',
file: pkg.main,
},
],
},
// ES module (packed)
{
input: './src/index.ts',
plugins: [typescript(), terser()],
output: [
{
format: 'esm',
file: toMinPath(pkg.module),
sourcemap: true,
},
],
},
];
if (!process.env.ES_ONLY) {
configs.push(...extra_configs);
}
export default configs;