1 | import babel from 'rollup-plugin-babel';
|
2 | import nodeResolve from 'rollup-plugin-node-resolve';
|
3 | import { terser } from 'rollup-plugin-terser';
|
4 | import pkg from './package.json';
|
5 |
|
6 | const getBabelOptions = ({ useESModules }) => ({
|
7 | exclude: /node_modules/,
|
8 | runtimeHelpers: true,
|
9 | plugins: [
|
10 | ['@babel/transform-runtime', { useESModules }]
|
11 | ]
|
12 | });
|
13 |
|
14 | const input = './src/index.js';
|
15 | const name = 'i18nextXHRBackend'
|
16 |
|
17 | const external = id => !id.startsWith('.') && !id.startsWith('/') && !id.includes(':');
|
18 |
|
19 | export default [
|
20 | {
|
21 | input,
|
22 | output: { format: 'cjs', file: pkg.main },
|
23 | external,
|
24 | plugins: [
|
25 | babel(getBabelOptions({ useESModules: false }))
|
26 | ]
|
27 | },
|
28 |
|
29 | {
|
30 | input,
|
31 | output: { format: 'esm', file: pkg.module },
|
32 | external,
|
33 | plugins: [
|
34 | babel(getBabelOptions({ useESModules: true }))
|
35 | ]
|
36 | },
|
37 |
|
38 | {
|
39 | input,
|
40 | output: { format: 'umd', name, file: `dist/umd/${name}.js` },
|
41 | plugins: [
|
42 | babel(getBabelOptions({ useESModules: true })),
|
43 | nodeResolve()
|
44 | ],
|
45 | },
|
46 | {
|
47 | input,
|
48 | output: { format: 'umd', name, file: `dist/umd/${name}.min.js` },
|
49 | plugins: [
|
50 | babel(getBabelOptions({ useESModules: true })),
|
51 | nodeResolve(),
|
52 | terser()
|
53 | ],
|
54 | }
|
55 | ]
|