rollup.config.js (61 lines of code) (raw):

import typescript from '@rollup/plugin-typescript'; import { babel } from '@rollup/plugin-babel'; import * as path from 'path'; import pkg from './package.json'; import dts from 'rollup-plugin-dts'; import { terser } from 'rollup-plugin-terser'; export default [ { input: pkg.source, output: [ { format: 'umd', file: pkg.browser, name: 'agr-engine', sourcemap: true, }, { format: 'umd', file: pkg.browserMin, name: 'agr-engine', sourcemap: true, plugins: [terser()], }, { format: 'es', file: pkg.module, sourcemap: true, }, { format: 'es', file: pkg.moduleMin, sourcemap: true, plugins: [terser()], }, { format: 'cjs', file: pkg.main, sourcemap: true, }, { format: 'cjs', file: pkg.mainMin, sourcemap: true, plugins: [terser()], }, ], plugins: [ typescript(), babel({ babelHelpers: 'bundled', configFile: path.resolve(__dirname, 'babel.config.js'), }), ], external: [...Object.keys(pkg.peerDependencies || {})], }, //Bundle types definition into single file { input: 'dist/lib/index.d.ts', output: [{ file: pkg.types, format: 'es' }], plugins: [dts()], }, ];