-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrollup.config.js
65 lines (63 loc) · 1.46 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
55
56
57
58
59
60
61
62
63
64
65
const babel = require('rollup-plugin-babel');
const resolve = require('@rollup/plugin-node-resolve');
const commonjs = require('@rollup/plugin-commonjs');
const replace = require('@rollup/plugin-replace');
const copy = require('rollup-plugin-copy');
const env = process.env.NODE_ENV;
module.exports = [
{
external: [
'history/browser',
'query-string',
'react',
'react-dom',
'rxjs',
'rxjs/operators',
'svelte',
],
input: {
index: 'src/core/index.js',
react: 'src/react/index.js',
rx: 'src/rx/index.js',
},
output: [
{
chunkFileNames: 'chunk-[hash].js',
dir: 'cjs',
format: 'cjs',
},
{
chunkFileNames: 'chunk-[hash].js',
dir: 'esm',
format: 'esm',
},
],
plugins: [
copy({
targets: [
{
src: [
'src/svelte/index.js',
'src/svelte/store.js',
'src/svelte/Link.svelte',
'src/svelte/Route.svelte',
],
dest: ['cjs/svelte', 'esm/svelte'],
},
],
}),
babel({
exclude: 'node_modules/**',
presets: ['@babel/env', '@babel/preset-react'],
}),
resolve({
preferBuiltins: false,
extensions: ['.mjs', '.js', '.jsx', '.json', '.node'],
}),
replace({
'process.env.NODE_ENV': JSON.stringify(env),
}),
commonjs(),
],
},
];