| import terser from "@rollup/plugin-terser"; |
| import resolve from "@rollup/plugin-node-resolve"; |
| import commonjs from "@rollup/plugin-commonjs"; |
| import babel from "@rollup/plugin-babel"; |
| import css from "rollup-plugin-import-css"; |
| import copy from "rollup-plugin-copy"; |
| |
| // `npm run build` -> `production` is true |
| // `npm run dev` -> `production` is false |
| const production = !process.env.ROLLUP_WATCH; |
| |
| export default { |
| input: "src/index.js", |
| output: [ |
| { |
| file: "dist/app.js", |
| format: "iife", |
| sourcemap: true, |
| }, |
| ], |
| plugins: [ |
| css({ |
| minify: true, |
| }), |
| babel({ |
| babelrc: false, |
| presets: [ |
| ["@babel/preset-env", { targets: "defaults" }], |
| ["@babel/preset-react", { runtime: "automatic" }], |
| ], |
| plugins: [ |
| [ |
| "@babel/plugin-transform-react-jsx", |
| { |
| pragma: "h", |
| pragmaFrag: "Fragment", |
| }, |
| ], |
| ], |
| }), |
| resolve({ |
| jsnext: true, |
| main: true, |
| browser: true, |
| }), |
| commonjs(), |
| copy({ |
| targets: [{ src: "public/index.html", dest: "dist/" }], |
| }), |
| production && terser(), |
| ], |
| }; |