@it-corp/vpbank-spotlight
Version:
Command center components for react and VPbank components
60 lines (55 loc) • 1.6 kB
text/typescript
import { nodeResolve } from "@rollup/plugin-node-resolve";
import replace from "@rollup/plugin-replace";
import { generateScopedName } from "hash-css-selector";
import { RollupOptions } from "rollup";
import banner from "rollup-plugin-banner2";
import esbuild from "rollup-plugin-esbuild";
import postcss from "rollup-plugin-postcss";
import { ROLLUP_EXCLUDE_USE_CLIENT } from "./rollup-exclude-use-client";
import { ROLLUP_EXTERNALS } from "./rollup-externals";
import packageJson from "../../package.json";
export async function createPackageConfig(): Promise<RollupOptions> {
const plugins = [
nodeResolve({ extensions: [".ts", ".tsx", ".js", ".jsx"] }),
esbuild({
sourceMap: false,
tsconfig: "./tsconfig.json",
}),
// alias({ entries: aliasEntries }),
replace({ preventAssignment: true }),
postcss({
extract: true,
modules: { generateScopedName },
}),
banner((chunk) => {
if (!ROLLUP_EXCLUDE_USE_CLIENT.includes(chunk.fileName)) {
return "'use client';\n";
}
return undefined;
}),
];
return {
input: "src/index.ts",
output: [
{
// file: packageJson.module,
format: "es",
entryFileNames: "[name].mjs",
dir: "esm",
preserveModules: true,
sourcemap: true,
},
{
// file: packageJson.main,
format: "cjs",
entryFileNames: "[name].cjs",
dir: "cjs",
preserveModules: true,
sourcemap: true,
interop: "auto",
},
],
external: ROLLUP_EXTERNALS,
plugins,
};
}