updates/rollup.config.js
2020-05-20 19:11:06 +02:00

55 lines
1.2 KiB
JavaScript

const {unlinkSync} = require("fs");
const {writeSync} = require("tempy");
const {name} = require("./package.json");
const nullTemp = writeSync("export default null;", {extension: "mjs"});
const nullRouted = new Set([
"cacache",
"socks-proxy-agent",
"ssri",
"stripJsonComments",
"encoding",
]);
const fnTemp = writeSync("export default () => () => {};", {extension: "mjs"});
const fnRouted = new Set([
"depd",
"debug",
]);
module.exports = {
input: `${name}.js`,
output: {
file: name,
name,
format: "cjs",
},
plugins: [
require("rollup-plugin-hashbang")(),
require("@rollup/plugin-json")({
indent: "",
preferConst: true,
}),
require("@rollup/plugin-node-resolve").default({
customResolveOptions: {
packageFilter: pkg => {
if (nullRouted.has(pkg.name)) return {main: nullTemp, type: "module"};
if (fnRouted.has(pkg.name)) return {main: fnTemp, type: "module"};
return pkg;
},
}
}),
require("@rollup/plugin-commonjs")({
sourceMap: false,
}),
require("rollup-plugin-terser").terser({
output: {comments: false},
}),
],
};
process.on("exit", () => {
unlinkSync(nullTemp);
unlinkSync(fnTemp);
});