1
0
Fork 0
freesewing/packages/components/rollup.config.js
2019-05-28 07:44:07 +02:00

40 lines
1.2 KiB
JavaScript

import babel from "rollup-plugin-babel";
import resolve from "rollup-plugin-node-resolve";
import json from "rollup-plugin-json";
import minify from "rollup-plugin-babel-minify";
import peerDepsExternal from "rollup-plugin-peer-deps-external";
import { name, version, description, author, license } from "./package.json";
import components from "./src/index.js";
const createConfig = (component, module) => {
return {
input: `./src/${component === "index" ? "" : component + "/"}index.js`,
output: {
file: `./${component}/index` + (module ? ".mjs" : ".js"),
format: module ? "es" : "cjs",
sourcemap: true
},
plugins: [
peerDepsExternal(),
resolve({ modulesOnly: true }),
json(),
babel({
exclude: "node_modules/**",
plugins: ["@babel/plugin-proposal-object-rest-spread"]
}),
minify({
comments: false,
sourceMap: true,
banner: `/**\n * ${name}/${component} | v${version}\n * ${description}\n * (c) ${new Date().getFullYear()} ${author}\n * @license ${license}\n */`
})
]
};
};
const config = [];
for (let component of components) {
config.push(createConfig(component, false));
config.push(createConfig(component, true));
}
export default config;