-
Notifications
You must be signed in to change notification settings - Fork 40
/
rollup.config.js
61 lines (57 loc) · 1.19 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
import commonjs from '@rollup/plugin-commonjs'
import resolve from '@rollup/plugin-node-resolve'
import riot from 'rollup-plugin-riot'
import { resolve as nodeResolve } from 'node:path'
import virtual from '@rollup/plugin-virtual'
const standaloneExternal = [
nodeResolve('./src/components/route-hoc.riot'),
nodeResolve('./src/components/router-hoc.riot'),
]
const defaultOptions = {
input: 'src/index.js',
plugins: [resolve(), commonjs(), riot()],
external: ['riot'],
}
const standalonePlugins = [
virtual(
standaloneExternal.reduce(
(acc, path) => ({ ...acc, [path]: 'export default {}' }),
{},
),
),
...defaultOptions.plugins,
]
export default [
{
...defaultOptions,
output: {
format: 'esm',
file: 'index.js',
},
},
{
...defaultOptions,
output: {
format: 'umd',
name: 'route',
file: 'index.umd.js',
},
},
{
...defaultOptions,
plugins: standalonePlugins,
output: {
format: 'esm',
file: 'index.standalone.js',
},
},
{
...defaultOptions,
plugins: standalonePlugins,
output: {
format: 'umd',
name: 'route',
file: 'index.standalone.umd.js',
},
},
]