-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrollup.config.js
54 lines (42 loc) · 1.31 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
49
50
51
52
53
54
import commonjs from 'rollup-plugin-commonjs';
import resolve from 'rollup-plugin-node-resolve';
import babel from 'rollup-plugin-babel';
import pkg from './package.json';
const extensions = [
'.js', '.jsx', '.ts', '.tsx',
];
const variableName = pkg.name.replace('@', '').replace('-', '_').replace('/', '_');
const fileName = 'dist/' + variableName + '-' + pkg.version.split('.')[0]
export default {
input: './src/index.ts',
// Specify here external modules which you don't want to include in your bundle (for instance: 'lodash', 'moment' etc.)
// https://rollupjs.org/guide/en#external-e-external
external: [],
plugins: [
// Allows node_modules resolution
resolve({ extensions }),
// Allow bundling cjs modules. Rollup doesn't understand cjs
commonjs(),
// Compile TypeScript/JavaScript files
babel({ extensions, include: ['src/**/*'] }),
],
output: [{
file: fileName + '.umd.js',
format: 'cjs',
}, {
file: fileName + '.esm.js',
format: 'es',
}, {
file: fileName + '.js',
format: 'iife',
name: variableName,
// https://rollupjs.org/guide/en#output-globals-g-globals
globals: {},
}, {
file: 'dist/index.js',
format: 'iife',
name: variableName,
// https://rollupjs.org/guide/en#output-globals-g-globals
globals: {},
}],
};