Skip to content

Commit 540b803

Browse files
authored
added a commonjs es5 bundle (#118)
1 parent 9213d99 commit 540b803

File tree

1 file changed

+97
-69
lines changed

1 file changed

+97
-69
lines changed

rollup.config.js

Lines changed: 97 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,115 @@
11
import resolve from 'rollup-plugin-node-resolve';
22
import babel from 'rollup-plugin-babel';
3-
import commonJS from "rollup-plugin-commonjs";
4-
import postcss from "rollup-plugin-postcss";
5-
import { terser } from "rollup-plugin-terser";
3+
import commonJS from 'rollup-plugin-commonjs';
4+
import postcss from 'rollup-plugin-postcss';
5+
import { terser } from 'rollup-plugin-terser';
66
import json from 'rollup-plugin-json';
77

8-
const extensions = [".js", ".ts"];
8+
const extensions = ['.js', '.ts'];
99

1010
const commonPlugins = [
11-
json(),
12-
commonJS(),
13-
resolve({ module: true, jsnext: true, extensions }),
14-
postcss(),
15-
terser({ keep_classnames: true, keep_fnames: true })
11+
json(),
12+
commonJS(),
13+
resolve({ module: true, jsnext: true, extensions }),
14+
postcss(),
15+
terser({ keep_classnames: true, keep_fnames: true })
1616
];
1717

1818
const babelPlugins = [
19-
[
20-
"@babel/plugin-proposal-decorators",
21-
{ decoratorsBeforeExport: true, legacy: false }
22-
],
23-
"@babel/proposal-class-properties",
24-
"@babel/proposal-object-rest-spread"
19+
['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true, legacy: false }],
20+
'@babel/proposal-class-properties',
21+
'@babel/proposal-object-rest-spread'
2522
];
2623

2724
const babelInclude = [
28-
"src/**/*",
29-
"node_modules/lit-element/**/*",
30-
"node_modules/lit-html/**/*",
31-
"node_modules/@microsoft/microsoft-graph-client/lib/es/**/*",
32-
"node_modules/msal/lib-es6/**/*"
25+
'src/**/*',
26+
'node_modules/lit-element/**/*',
27+
'node_modules/lit-html/**/*',
28+
'node_modules/@microsoft/microsoft-graph-client/lib/es/**/*',
29+
'node_modules/msal/lib-es6/**/*'
3330
];
3431

3532
const es6Bundle = {
36-
input: ['src/bundle/index.es6.ts'],
37-
output: {
38-
dir: 'dist/bundle',
39-
entryFileNames: 'mgt.es6.js',
40-
format: 'iife',
41-
name: 'mgt',
42-
sourcemap: false
43-
},
44-
plugins: [
45-
babel({
46-
extensions,
47-
presets: [
48-
[
49-
"@babel/preset-env", {
50-
"targets": ">25%"
51-
}
52-
], "@babel/typescript"
53-
],
54-
plugins: babelPlugins,
55-
include: babelInclude,
56-
}),
57-
...commonPlugins
58-
]
59-
}
33+
input: ['src/bundle/index.es6.ts'],
34+
output: {
35+
dir: 'dist/bundle',
36+
entryFileNames: 'mgt.es6.js',
37+
format: 'iife',
38+
name: 'mgt',
39+
sourcemap: false
40+
},
41+
plugins: [
42+
babel({
43+
extensions,
44+
presets: [
45+
[
46+
'@babel/preset-env',
47+
{
48+
targets: '>25%'
49+
}
50+
],
51+
'@babel/typescript'
52+
],
53+
plugins: babelPlugins,
54+
include: babelInclude
55+
}),
56+
...commonPlugins
57+
]
58+
};
6059

6160
const es5Bundle = {
62-
input: ['src/bundle/index.es5.ts'],
63-
output: {
64-
dir: 'dist/bundle',
65-
entryFileNames: 'mgt.es5.js',
66-
format: 'iife',
67-
name: 'mgt',
68-
sourcemap: false
69-
},
70-
plugins: [
71-
babel({
72-
extensions,
73-
presets: [
74-
[
75-
"@babel/preset-env", {
76-
"targets": "last 2 versions"
77-
}
78-
], "@babel/typescript"
79-
],
80-
plugins: babelPlugins,
81-
include: babelInclude,
82-
}),
83-
...commonPlugins
84-
]
85-
}
61+
input: ['src/bundle/index.es5.ts'],
62+
output: {
63+
dir: 'dist/bundle',
64+
entryFileNames: 'mgt.es5.js',
65+
format: 'iife',
66+
name: 'mgt',
67+
sourcemap: false
68+
},
69+
plugins: [
70+
babel({
71+
extensions,
72+
presets: [
73+
[
74+
'@babel/preset-env',
75+
{
76+
targets: 'last 2 versions'
77+
}
78+
],
79+
'@babel/typescript'
80+
],
81+
plugins: babelPlugins,
82+
include: babelInclude
83+
}),
84+
...commonPlugins
85+
]
86+
};
8687

87-
export default [es6Bundle, es5Bundle];
88+
const cjsBundle = {
89+
input: ['src/bundle/index.es5.ts'],
90+
output: {
91+
dir: 'dist/commonjs',
92+
entryFileNames: 'index.js',
93+
format: 'cjs',
94+
sourcemap: true
95+
},
96+
plugins: [
97+
babel({
98+
extensions,
99+
presets: [
100+
[
101+
'@babel/preset-env',
102+
{
103+
targets: 'last 2 versions'
104+
}
105+
],
106+
'@babel/typescript'
107+
],
108+
plugins: babelPlugins,
109+
include: babelInclude
110+
}),
111+
...commonPlugins
112+
]
113+
};
114+
115+
export default [es6Bundle, es5Bundle, cjsBundle];

0 commit comments

Comments
 (0)