irisrad-ui
Version:
UI elements developered for IRIS R&D Group Inc
97 lines (92 loc) • 2.12 kB
JavaScript
import babel from "@rollup/plugin-babel"; // convert es6 to es 5
import resolve from "@rollup/plugin-node-resolve";
import external from "rollup-plugin-peer-deps-external"; // handle any used external libs properly
import postcss from "rollup-plugin-postcss"; // make the css file loaded properly
import { terser } from "rollup-plugin-terser"; // minimize the sizes of prouction files
import image from "@rollup/plugin-image"; // image plugin
import path from "path";
const rollupPlugins = [
babel({
exclude: "node_modules/**",
presets: ["@babel/preset-react"],
}),
external(),
resolve({
alias: {
react: path.resolve("./node_modules/react"),
},
}),
postcss({
plugins: [],
minimize: true,
}),
// terser(),
image(),
];
const externals = {
react: "react",
"react-dom": "react-dom",
};
// const folders = [
// "irisHeader",
// "irisButton",
// "irisModal",
// // "irisIconButtons",
// "irisGrid",
// "irisMenu",
// "irisDrawer",
// "irisSideNav",
// "irisInput",
// ];
const folders = [
"irisButton",
"irisDrawer",
"irisDropDownMenu",
"irisGrid",
"irisHeader",
"irisInput",
"irisMenu",
"irisModal",
"irisMUIcon",
"irisMultiSelect",
"irisSelect",
"irisSideNav",
"irisGroupedSelect",
];
const dirs = folders.map((f) => {
return {
input: `./src/components/${f}/index.js`, // where exports all custom components
output: [
{
file: `dist/${f}/index.js`,
format: "cjs",
},
{
file: `dist/${f}/index.es.js`,
format: "es",
exports: "named",
},
],
external: externals,
plugins: rollupPlugins,
};
});
export default [
{
input: "./src/index.js", // where exports all custom components
output: [
{
file: "dist/index.js",
format: "cjs",
},
{
file: "dist/index.es.js",
format: "es",
exports: "named",
},
],
external: externals,
plugins: rollupPlugins,
},
...dirs,
];