Files
rrweb/rollup.config.js
2026-04-01 12:00:00 +08:00

50 lines
1.5 KiB
JavaScript

import svelte from 'rollup-plugin-svelte';
import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import { terser } from 'rollup-plugin-terser';
import postcss from 'rollup-plugin-postcss';
import pkg from './package.json';
const production = !process.env.ROLLUP_WATCH;
export default [
{ file: pkg.module, format: 'es' },
{ file: pkg.main, format: 'cjs' },
{ file: pkg.unpkg, format: 'iife', name: 'rrwebPlayer' },
{ file: 'public/bundle.js', format: 'iife', name: 'rrwebPlayer' },
].map(output => ({
input: 'src/Player.html',
output,
plugins: [
svelte({
cascade: false,
// opt in to v3 behaviour today
skipIntroByDefault: true,
nestedTransitions: true,
// enable run-time checks when not in production
dev: !production,
// we'll extract any component CSS out into
// a separate file — better for performance
css: css => {
css.write('dist/style.css');
css.write('public/bundle.css');
},
}),
// If you have external dependencies installed from
// npm, you'll most likely need these plugins. In
// some cases you'll need additional configuration —
// consult the documentation for details:
// https://github.com/rollup/rollup-plugin-commonjs
resolve(),
commonjs(),
postcss(),
// If we're building for production (npm run build
// instead of npm run dev), minify
production && terser(),
],
}));