forked from melonjs/melonJS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rollup.config.js
51 lines (46 loc) · 1.38 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
import babel from 'rollup-plugin-babel';
import multiEntry from "rollup-plugin-multi-entry";
import replace from 'rollup-plugin-replace';
import bundleSize from 'rollup-plugin-bundle-size';
import commonjs from 'rollup-plugin-commonjs';
import resolve from 'rollup-plugin-node-resolve';
const pkg = require('./package.json');
// credit/license information
const license = [
`/*!`,
` * ${pkg.description} - v${pkg.version}`,
` * http://www.melonjs.org`,
` * ${pkg.name} is licensed under the MIT License.`,
` * http://www.opensource.org/licenses/mit-license`,
` * @copyright (C) 2011 - ${(new Date()).getFullYear()} ${pkg.author.name}`,
` */`,
].join('\n');
export default {
input: require('./sourceFiles.json'),
plugins: [
resolve({
mainFields: ['module', 'main'],
browser: false,
preferBuiltins: false
}),
commonjs({
include: 'node_modules/**',
sourceMap: false
}),
multiEntry(),
replace({
'__VERSION__': pkg.version,
//'/this\._super\(\s*([\w\.]+)\s*,\s*"(\w+)"\s*(,\s*)?/g' : '$1.prototype.$2.apply(this$3',
delimiters: ['', '']
}),
babel({
exclude: 'node_modules/**'
}),
bundleSize()
],
output: {
file: 'build/melonjs.js',
banner: license,
format: 'iife'
}
};