1import commonjs from 'rollup-plugin-commonjs';
2import nodeResolve from 'rollup-plugin-node-resolve';
3import buble from 'rollup-plugin-buble';
4import { terser } from 'rollup-plugin-terser';
5import prettier from 'rollup-plugin-prettier';
6
7const plugins = [
8 nodeResolve({
9 mainFields: ['module', 'jsnext', 'main'],
10 browser: true
11 }),
12 commonjs({
13 include: /\/node_modules\//
14 }),
15 buble({
16 transforms: {
17 dangerousForOf: true,
18 dangerousTaggedTemplateString: true
19 },
20 objectAssign: 'Object.assign'
21 }),
22 terser({
23 warnings: true,
24 ecma: 5,
25 keep_fnames: true,
26 ie8: false,
27 compress: {
28 pure_getters: true,
29 toplevel: true,
30 booleans_as_integers: false,
31 keep_fnames: true,
32 keep_fargs: true,
33 if_return: false,
34 ie8: false,
35 sequences: false,
36 loops: false,
37 conditionals: false,
38 join_vars: false
39 },
40 mangle: false,
41 output: {
42 beautify: true,
43 braces: true,
44 indent_level: 2
45 }
46 }),
47 prettier({
48 parser: 'babel',
49 singleQuote: true,
50 printWidth: 100
51 })
52];
53
54const config = {
55 input: './src/index.js',
56 external: () => false,
57 plugins,
58 treeshake: {
59 propertyReadSideEffects: false
60 },
61 output: [
62 {
63 legacy: true,
64 freeze: false,
65 esModule: false,
66 file: './dist/wonka.js',
67 format: 'cjs'
68 },
69 {
70 legacy: true,
71 freeze: false,
72 esModule: false,
73 file: './dist/wonka.es.js',
74 format: 'esm'
75 }
76 ]
77};
78
79export default config;