aboutsummaryrefslogtreecommitdiff
path: root/packages/icons-react/rollup.config.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/icons-react/rollup.config.js')
-rw-r--r--packages/icons-react/rollup.config.js119
1 files changed, 119 insertions, 0 deletions
diff --git a/packages/icons-react/rollup.config.js b/packages/icons-react/rollup.config.js
new file mode 100644
index 00000000..3e733de5
--- /dev/null
+++ b/packages/icons-react/rollup.config.js
@@ -0,0 +1,119 @@
+import resolve from "@rollup/plugin-node-resolve";
+import commonjs from "@rollup/plugin-commonjs";
+import filesize from "rollup-plugin-filesize";
+import babel from "@rollup/plugin-babel";
+import external from "rollup-plugin-peer-deps-external";
+import { terser } from "rollup-plugin-terser";
+import { uglify } from "rollup-plugin-uglify";
+import pkg from "./../../package.json";
+
+const input = "icons-react/index.js";
+
+const minifyExtension = (pathToFile) => pathToFile.replace(/\.js$/, ".min.js");
+
+const plugins = [
+ babel({
+ exclude: "node_modules/**",
+ }),
+ external(),
+ resolve(),
+ commonjs(),
+ filesize(),
+];
+
+const minCjsPlugins = [
+ babel({
+ exclude: "node_modules/**",
+ }),
+ external(),
+ resolve(),
+ commonjs(),
+ uglify(),
+ filesize(),
+];
+
+const minUmdEsmPlugins = [
+ babel({
+ exclude: "node_modules/**",
+ }),
+ external(),
+ resolve(),
+ commonjs(),
+ terser(),
+ filesize(),
+];
+
+export default [
+ // CommonJS (for Node)
+ {
+ input,
+ output: {
+ file: pkg.main,
+ format: "cjs",
+ sourcemap: true,
+ },
+ plugins,
+ },
+ // CommonJS (for Node) minified
+ {
+ input,
+ output: {
+ file: minifyExtension(pkg.main),
+ format: "cjs",
+ sourcemap: true,
+ },
+ plugins: minCjsPlugins,
+ },
+ // UMD (for browser)
+ {
+ input,
+ output: {
+ file: pkg['umd:main'],
+ format: "umd",
+ sourcemap: true,
+ name: "tablerIcons",
+ globals: {
+ react: "React",
+ "react-dom": "ReactDOM",
+ },
+ },
+ plugins,
+ },
+ // UMD (for browser) minified
+ {
+ input,
+ output: {
+ file: minifyExtension(pkg['umd:main']),
+ format: "umd",
+ sourcemap: true,
+ name: "tablerIcons",
+ globals: {
+ react: "React",
+ "react-dom": "ReactDOM",
+ },
+ },
+ plugins: minUmdEsmPlugins,
+ },
+ // ESM (for bundlers)
+ {
+ input,
+ output: {
+ file: pkg.module,
+ format: "es",
+ sourcemap: true,
+ exports: "named",
+ },
+ plugins,
+ },
+ // ESM (for bundlers) minified
+ {
+ input,
+ output: {
+ file: minifyExtension(pkg.module),
+ format: "es",
+ sourcemap: true,
+ exports: "named",
+ },
+ plugins: minUmdEsmPlugins,
+ },
+];