UNPKG

1.28 kBJavaScriptView Raw
1import babel from 'rollup-plugin-babel';
2import nodeResolve from 'rollup-plugin-node-resolve';
3import { terser } from 'rollup-plugin-terser';
4import pkg from './package.json';
5
6const getBabelOptions = ({ useESModules }) => ({
7 exclude: /node_modules/,
8 runtimeHelpers: true,
9 plugins: [
10 ['@babel/transform-runtime', { useESModules }]
11 ]
12});
13
14const input = './src/index.js';
15const name = 'i18nextXHRBackend'
16// check relative and absolute paths for windows and unix
17const external = id => !id.startsWith('.') && !id.startsWith('/') && !id.includes(':');
18
19export 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]