Mirror: CSS prefixing helpers in less than 1KB 馃寛
1import commonjs from '@rollup/plugin-commonjs';
2import nodeResolve from '@rollup/plugin-node-resolve';
3import buble from '@rollup/plugin-buble';
4import babel from 'rollup-plugin-babel';
5import { terser } from 'rollup-plugin-terser';
6import filesize from 'rollup-plugin-filesize';
7
8
9const terserMinified = terser({
10 sourcemap: false,
11 warnings: true,
12 ecma: 5,
13 ie8: false,
14 toplevel: true,
15 compress: {
16 keep_infinity: true,
17 pure_getters: true,
18 passes: 10
19 },
20 output: {
21 comments: false
22 }
23});
24
25const plugins = [
26 nodeResolve({
27 mainFields: ['module', 'jsnext', 'main'],
28 browser: true
29 }),
30 commonjs({
31 ignoreGlobal: true,
32 include: /\/node_modules\//,
33 }),
34 buble({
35 transforms: {
36 unicodeRegExp: false,
37 dangerousForOf: true,
38 dangerousTaggedTemplateString: true
39 },
40 objectAssign: 'Object.assign',
41 exclude: 'node_modules/**'
42 }),
43 babel({
44 babelrc: false,
45 exclude: 'node_modules/**',
46 presets: [],
47 plugins: [
48 'babel-plugin-codegen'
49 ]
50 }),
51 terserMinified,
52];
53
54export default {
55 input: './src/index.js',
56 external: () => true,
57 treeshake: { propertyReadSideEffects: false },
58 plugins,
59 output: [
60 {
61 sourcemap: false,
62 legacy: true,
63 freeze: false,
64 esModule: false,
65 file: `./dist/tiny-css-prefixer.js`,
66 format: 'cjs',
67 },
68 {
69 sourcemap: false,
70 legacy: true,
71 freeze: false,
72 esModule: false,
73 file: `./dist/tiny-css-prefixer.es.js`,
74 format: 'esm',
75 plugins: [
76 filesize()
77 ]
78 },
79 ],
80};