1 | import pkg from './package.json'
|
2 | import resolve from '@rollup/plugin-node-resolve'
|
3 | import commonjs from '@rollup/plugin-commonjs'
|
4 | import babel from '@rollup/plugin-babel'
|
5 | import json from '@rollup/plugin-json'
|
6 | import {
|
7 | terser
|
8 | } from 'rollup-plugin-terser'
|
9 | import replace from '@rollup/plugin-replace'
|
10 |
|
11 |
|
12 | function replaceStrings (isBrowser = true) {
|
13 | const isNode = !isBrowser
|
14 |
|
15 | return {
|
16 | preventAssignment: true,
|
17 | 'process.browser': isBrowser.toString(),
|
18 | 'process.node': isNode.toString()
|
19 | }
|
20 | }
|
21 |
|
22 | export default [{
|
23 | input: 'src/index.js',
|
24 | output: [{
|
25 | file: pkg.main,
|
26 | format: 'cjs',
|
27 | sourcemap: true,
|
28 | exports: 'named'
|
29 | }],
|
30 | external: [
|
31 | ...Object.keys(pkg.dependencies || {})
|
32 | ],
|
33 | plugins: [
|
34 | replace(replaceStrings(false)),
|
35 | resolve({
|
36 | preferBuiltins: true
|
37 | }),
|
38 | commonjs(),
|
39 | json()
|
40 | ]
|
41 | }, {
|
42 | input: 'src/index.js',
|
43 | output: [{
|
44 | file: pkg.module,
|
45 | format: 'es',
|
46 | sourcemap: true
|
47 | }],
|
48 | external: [
|
49 | ...Object.keys(pkg.dependencies || {})
|
50 | ],
|
51 | plugins: [
|
52 | replace(replaceStrings(true)),
|
53 | resolve(),
|
54 | commonjs(),
|
55 | json()
|
56 | ]
|
57 | }, {
|
58 | input: 'src/index.js',
|
59 | output: [{
|
60 | file: 'lib/index.umd.js',
|
61 | format: 'umd',
|
62 | name: 'CSREST',
|
63 | exports: 'named',
|
64 | sourcemap: true,
|
65 | globals: {
|
66 | axios: 'axios'
|
67 | }
|
68 | }],
|
69 | external: ['axios'],
|
70 | plugins: [
|
71 | replace(replaceStrings(true)),
|
72 | resolve({
|
73 | browser: true
|
74 | }),
|
75 | commonjs(),
|
76 | json(),
|
77 | babel({
|
78 | babelHelpers: 'bundled'
|
79 | })
|
80 |
|
81 | ]
|
82 | }, {
|
83 | input: 'src/index.js',
|
84 | output: [{
|
85 | file: pkg.unpkg,
|
86 | format: 'umd',
|
87 | name: 'CSREST',
|
88 | exports: 'named',
|
89 | sourcemap: true,
|
90 | globals: {
|
91 | axios: 'axios'
|
92 | }
|
93 | }],
|
94 | external: ['axios'],
|
95 | plugins: [
|
96 | replace(replaceStrings(true)),
|
97 | resolve({
|
98 | browser: true
|
99 | }),
|
100 | commonjs(),
|
101 | json(),
|
102 | babel({
|
103 | babelHelpers: 'bundled'
|
104 | }),
|
105 | terser()
|
106 | ]
|
107 | }]
|