1 | const path = require('path');
|
2 | const node = require('rollup-plugin-node-resolve');
|
3 | const packageJson = require('./package.json');
|
4 | const typescript = require('rollup-plugin-typescript2');
|
5 |
|
6 | const banner = ['/**',
|
7 | ` * ${ packageJson.name } - ${ packageJson.description }` +
|
8 | ` * @version v${ packageJson.version }`,
|
9 | ` * @link ${ packageJson.homepage }`,
|
10 | `' * @license ${ packageJson.license }`,
|
11 | ' */',
|
12 | ''].join('\n');
|
13 |
|
14 | const builds = {
|
15 | 'community-cjs-dev': {
|
16 | entry: path.resolve(__dirname, './src/main.ts'),
|
17 | dest: path.resolve(__dirname, './dist/ag-grid-community.cjs.js'),
|
18 | format: 'cjs',
|
19 | env: 'development',
|
20 | banner
|
21 | },
|
22 | 'community-cjs-prod': {
|
23 | entry: path.resolve(__dirname, './src/main.ts'),
|
24 | dest: path.resolve(__dirname, './dist/ag-grid-community.cjs.min.js'),
|
25 | format: 'cjs',
|
26 | env: 'production',
|
27 | banner
|
28 | }
|
29 | };
|
30 |
|
31 | function genConfig(name) {
|
32 | const opts = builds[name];
|
33 | const config = {
|
34 | input: opts.entry,
|
35 | plugins: [
|
36 | node(),
|
37 | typescript({
|
38 | tsconfig: "tsconfig.es6.json"
|
39 | })
|
40 | ].concat(opts.plugins || []),
|
41 | output: {
|
42 | file: opts.dest,
|
43 | format: opts.format,
|
44 | banner: opts.banner,
|
45 | name: opts.moduleName
|
46 | },
|
47 | onwarn: (msg, warn) => {
|
48 | if (msg.code === 'THIS_IS_UNDEFINED') return;
|
49 | if (!/Circular/.test(msg)) {
|
50 | warn(msg)
|
51 | }
|
52 | }
|
53 | };
|
54 |
|
55 | Object.defineProperty(config, '_name', {
|
56 | enumerable: false,
|
57 | value: name
|
58 | });
|
59 |
|
60 | return config
|
61 | }
|
62 |
|
63 | exports.getBuild = genConfig;
|
64 | exports.getAllBuilds = () => Object.keys(builds).map(genConfig);
|