-
Notifications
You must be signed in to change notification settings - Fork 70
/
Copy pathrollup.config.js
48 lines (44 loc) · 1.07 KB
/
rollup.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import autoprefixer from 'autoprefixer'
import babel from '@rollup/plugin-babel'
import postcss from 'rollup-plugin-postcss'
import resolve from '@rollup/plugin-node-resolve'
import commonjs from '@rollup/plugin-commonjs'
import { terser } from 'rollup-plugin-terser'
const helpers = {
package: require('./package.json'),
isProduction: () => {
return process.env.MODE === 'production'
},
minifyInProduction: () => {
return helpers.isProduction() && terser()
},
libName: (name) => (
name.replace(/@.*\//, '').split('-').map(word =>
word.charAt(0).toUpperCase() + word.slice(1)
).join('')
)
}
export default {
input: 'src/scripts/vidage.js',
plugins: [
postcss({
extract: true,
extensions: ['.scss'],
minimize: helpers.isProduction(),
plugins: [
autoprefixer()
]
}),
babel({ babelHelpers: 'runtime' }),
resolve(),
commonjs(),
helpers.minifyInProduction()
],
output: [
{
file: helpers.package.main,
format: 'umd',
name: helpers.libName(helpers.package.name)
}
]
}