forked from apache/flagon-useralejs
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathrollup.config.js
89 lines (86 loc) · 3.73 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import json from '@rollup/plugin-json';
import nodeResolve from "@rollup/plugin-node-resolve";
import terser from "@rollup/plugin-terser";
import commonjs from "@rollup/plugin-commonjs";
import license from 'rollup-plugin-license'
import copy from 'rollup-plugin-copy'
import {version} from './package.json';
const srcWebExtensionDir = 'src/UserALEWebExtension/'
const buildWebExtensionDir = 'build/UserALEWebExtension/'
const {babel: rollupBabel} = require('@rollup/plugin-babel');
const banner = 'Licensed to the Apache Software Foundation (ASF) under one or more\n' +
'contributor license agreements. See the NOTICE file distributed with\n' +
'this work for additional information regarding copyright ownership.\n' +
'The ASF licenses this file to You under the Apache License, Version 2.0\n' +
'(the "License"); you may not use this file except in compliance with\n' +
'the License. You may obtain a copy of the License at\n' +
'\n' +
'http://www.apache.org/licenses/LICENSE-2.0\n' +
'\n' +
'Unless required by applicable law or agreed to in writing, software\n' +
'distributed under the License is distributed on an "AS IS" BASIS,\n' +
'WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n' +
'See the License for the specific language governing permissions and\n' +
'limitations under the License.' +
'\n@preserved'
export default [
{
input: 'src/main.js',
output: [
{
format: 'umd',
file: `build/userale-${version}.js`,
name: 'userale',
}, {
format: 'umd',
file: `build/userale-${version}.min.js`,
name: 'userale',
plugins: [terser()]
}
],
plugins: [license({banner}), json(), nodeResolve(), commonjs({include: /node_modules/}),
rollupBabel({
babelHelpers: "runtime",
exclude: /node_modules/,
plugins: ["@babel/plugin-transform-block-scoping"]
})]
},
...['content.js', 'background.js', 'options.js'].map(fileName => ({
input: srcWebExtensionDir + fileName,
output: {
format: 'esm',
file: buildWebExtensionDir + fileName,
name: 'user-ale-ext-content',
},
plugins: [copy({
targets: [
{src: srcWebExtensionDir + 'icons/**/*.*', dest: buildWebExtensionDir + 'icons'},
{src: srcWebExtensionDir + 'manifest.json', dest: buildWebExtensionDir},
{src: srcWebExtensionDir + 'optionsPage.html', dest: buildWebExtensionDir}
],
copyOnce: true
}), json(), nodeResolve(), commonjs({include: /node_modules/}),
rollupBabel({
babelHelpers: "runtime",
exclude: /node_modules/,
plugins: ["@babel/plugin-transform-block-scoping"]
})
]
}))
];