|
1 | | -import babel from 'rollup-plugin-babel'; |
2 | | -import commonjs from '@rollup/plugin-commonjs'; |
3 | | -import resolve from '@rollup/plugin-node-resolve'; |
4 | | -import external from 'rollup-plugin-peer-deps-external'; |
5 | | -import { terser } from 'rollup-plugin-terser'; |
6 | | -import postcss from 'rollup-plugin-postcss'; |
7 | | -import postcssImport from 'postcss-import'; |
8 | | -import postcssUrl from 'postcss-url'; |
9 | | -import typescript from 'rollup-plugin-typescript'; |
| 1 | +import postcssImport from "postcss-import"; |
| 2 | +import postcssUrl from "postcss-url"; |
| 3 | +import babel from "rollup-plugin-babel"; |
| 4 | +import copy from "rollup-plugin-copy"; |
10 | 5 | import filesize from "rollup-plugin-filesize"; |
11 | | -import copy from 'rollup-plugin-copy' |
| 6 | +import external from "rollup-plugin-peer-deps-external"; |
| 7 | +import postcss from "rollup-plugin-postcss"; |
| 8 | +import { terser } from "rollup-plugin-terser"; |
| 9 | +import typescript from "rollup-plugin-typescript"; |
12 | 10 |
|
| 11 | +import commonjs from "@rollup/plugin-commonjs"; |
| 12 | +import resolve from "@rollup/plugin-node-resolve"; |
| 13 | + |
| 14 | +import { getInputFiles } from "./rollup.input"; |
| 15 | + |
| 16 | +// import pkg from './package.json'; |
| 17 | + |
| 18 | +const commonConfig = { |
| 19 | + plugins: [ |
| 20 | + commonjs(), |
| 21 | + postcss({ |
| 22 | + plugins: [ postcssImport(), postcssUrl({ url: 'inline' }) ], |
| 23 | + extract: true, |
| 24 | + extract: 'index.css', |
| 25 | + extensions: [ '.css' ] |
| 26 | + }), |
| 27 | + typescript(), |
| 28 | + babel({ |
| 29 | + exclude: 'node_modules/**', |
| 30 | + presets: [ '@babel/preset-typescript', '@babel/preset-react' ], |
| 31 | + plugins: [ |
| 32 | + '@babel/plugin-proposal-class-properties', |
| 33 | + '@babel/plugin-proposal-private-methods' |
| 34 | + ] |
| 35 | + }), |
| 36 | + external(), |
| 37 | + resolve(), |
| 38 | + terser(), |
| 39 | + filesize(), |
| 40 | + copy({ |
| 41 | + targets: [ |
| 42 | + { src: 'src/types', dest: 'dist' } |
| 43 | + ] |
| 44 | + }) |
| 45 | + ], |
| 46 | + external: [ 'react', 'react-dom', 'classnames', 'react-lazyload' ] |
| 47 | + |
| 48 | +}; |
13 | 49 |
|
14 | 50 | export default [ |
15 | 51 | { |
16 | 52 | input: './src/index.ts', |
17 | 53 | output: [ |
18 | 54 | { |
19 | | - file: 'dist/index.js', |
| 55 | + dir: 'dist/cjs', |
20 | 56 | format: 'cjs' |
21 | | - }, |
22 | | - { |
23 | | - file: 'dist/index.es.js', |
24 | | - format: 'es', |
25 | | - exports: 'named' |
26 | 57 | } |
27 | 58 | ], |
28 | | - plugins: [ |
29 | | - commonjs(), |
30 | | - postcss({ |
31 | | - plugins: [postcssImport(), postcssUrl({ url: 'inline' })], |
32 | | - extract: true, |
33 | | - extensions: [".css"], |
34 | | - }), |
35 | | - typescript(), |
36 | | - babel({ |
37 | | - exclude: 'node_modules/**', |
38 | | - presets: ['@babel/preset-typescript', '@babel/preset-react'], |
39 | | - plugins: [ |
40 | | - '@babel/plugin-proposal-class-properties', |
41 | | - '@babel/plugin-proposal-private-methods', |
42 | | - ] |
43 | | - }), |
44 | | - external(), |
45 | | - resolve(), |
46 | | - terser(), |
47 | | - filesize(), |
48 | | - copy({ |
49 | | - targets: [ |
50 | | - { src: 'src/types', dest: 'dist' } |
51 | | - ] |
52 | | - }) |
| 59 | + ...commonConfig |
| 60 | + }, |
| 61 | + { |
| 62 | + input: getInputFiles(), |
| 63 | + output: [ |
| 64 | + { |
| 65 | + dir: 'dist/esm', |
| 66 | + format: 'es' |
| 67 | + } |
53 | 68 | ], |
54 | | - external: ['react', 'react-dom', 'classnames', 'react-lazyload'] |
| 69 | + ...commonConfig |
55 | 70 | } |
56 | 71 | ]; |
0 commit comments