-
Notifications
You must be signed in to change notification settings - Fork 1
/
rollup.config.js
54 lines (48 loc) · 1.85 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 livereload from 'rollup-plugin-livereload';
import resolve from 'rollup-plugin-node-resolve';
import svelte from 'rollup-plugin-svelte';
import {terser} from 'rollup-plugin-terser';
import replace from '@rollup/plugin-replace';
const production = !process.env.ROLLUP_WATCH;
import apiConfig from './dppm_api_config.json';
export default {
input: 'src/main.js',
output:
{sourcemap: true, format: 'iife', name: 'app', file: 'public/bundle.js'},
plugins:
[
svelte({
// enable run-time checks when not in production
dev: !production,
// we'll extract any component CSS out into
// a separate file better for performance
css: css => {
css.write('public/bundle.css');
}
}),
replace(Object.keys(apiConfig).reduce((n, k) => (n[k] = JSON.stringify(apiConfig[k]), n), {})),
// If you have external dependencies installed from
// npm, you'll most likely need these plugins. In
// some cases you'll need additional configuration
// consult the documentation for details:
// https://github.com/rollup/rollup-plugin-commonjs
resolve({
browser: true,
dedupe: importee =>
importee === 'svelte' || importee.startsWith('svelte/')
}),
commonjs(),
// Watch the `public` directory and refresh the
// browser on changes when not in production
!production && livereload('public'),
// If we're building for production (npm run build
// instead of npm run dev), minify
production && terser()
],
watch: {clearScreen: false},
// Throw error on warning in production
onwarn: warning => {
if (production && !/A11y:/.test(warning.message)) { throw new Error(warning.message); }
}
};