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
|
const inject = require('@rollup/plugin-inject');
const json = require('@rollup/plugin-json');
const { nodeResolve } = require('@rollup/plugin-node-resolve');
const replace = require('@rollup/plugin-replace');
const glob = require('glob');
const commonjs = require('@rollup/plugin-commonjs');
const { babel } = require('@rollup/plugin-babel');
const importResolver = require('rollup-plugin-import-resolver');
const svg = require('rollup-plugin-svg');
const vue = require('rollup-plugin-vue');
function mapDirectory(file) {
return file.replace('content/', 'public/');
}
module.exports = glob.sync('content/frontend/**/*.js').map((file) => ({
input: file,
output: {
file: mapDirectory(file),
format: 'iife',
name: file,
},
plugins: [
nodeResolve({ browser: true, preferBuiltins: false }),
commonjs(),
vue(),
svg(),
inject({
exclude: 'node_modules/**',
}),
babel({
exclude: 'node_modules/**',
babelHelpers: 'bundled',
}),
json(),
importResolver({
alias: {
vue: './node_modules/vue/dist/vue.esm.browser.min.js',
},
}),
replace({
preventAssignment: true,
'process.env.NODE_ENV': JSON.stringify('production'),
}),
],
}));
|