dedupe output options

pull/8504/head
gtmnayan 3 years ago
parent 73d81b1ec7
commit da40e71f10

@ -42,24 +42,30 @@ export default [
index: "src/runtime/index.ts", index: "src/runtime/index.ts",
ssr: "src/runtime/ssr.ts", ssr: "src/runtime/ssr.ts",
}, },
output: ["esm", "cjs"].map((format) => { output: ["esm", "cjs"].map(
const ext = format === "esm" ? "mjs" : "cjs"; /** @returns {import('rollup').OutputOptions} */
return { (format) => {
entryFileNames: (entry) => { const ext = format === "esm" ? "mjs" : "cjs";
if (entry.isEntry) { return {
if (entry.name === "index") return `index.${ext}`; entryFileNames: (entry) => {
else if (entry.name === "ssr") return `ssr.${ext}`; if (entry.isEntry) {
if (entry.name === "index") return `index.${ext}`;
else if (entry.name === "ssr") return `ssr.${ext}`;
return `${entry.name}/index.${ext}`; return `${entry.name}/index.${ext}`;
} }
}, },
manualChunks: (id) => {
if (id.endsWith("internal/index.ts")) return "internal"; manualChunks: (id) => {
}, if (id.endsWith("internal/index.ts")) {
format, return "internal";
dir: ".", }
}; },
}), format,
dir: ".",
};
}
),
plugins: [ plugins: [
replace({ replace({
preventAssignment: true, preventAssignment: true,
@ -67,19 +73,19 @@ export default [
__VERSION__: pkg.version, __VERSION__: pkg.version,
}, },
}), }),
,
ts_plugin, ts_plugin,
{ {
writeBundle(_options, bundle) { writeBundle(_options, bundle) {
for (const [_, entry] of Object.entries(bundle)) { for (const [_, entry] of Object.entries(bundle)) {
const dir = entry.name; const dir = entry.name;
if (!entry.isEntry || !runtime_entrypoints[dir]) continue; if (!entry.isEntry || !runtime_entrypoints[dir]) continue;
if (dir === "internal") { if (dir === "internal") {
const mod = bundle[`internal/index.mjs`]; const mod = bundle[`internal/index.mjs`];
if (mod) { if (mod) {
fs.writeFileSync( fs.writeFileSync(
"src/compiler/compile/internal_exports.ts", "src/compiler/compile/internal_exports.ts",
`// This file is automatically generated` + `// This file is automatically generated\n` +
`export default new Set(${JSON.stringify(mod.exports)});` `export default new Set(${JSON.stringify(mod.exports)});`
); );
} }
@ -89,7 +95,7 @@ export default [
`${dir}/package.json`, `${dir}/package.json`,
JSON.stringify( JSON.stringify(
{ {
main: "./index", main: "./index.cjs",
module: "./index.mjs", module: "./index.mjs",
types: "./index.d.ts", types: "./index.d.ts",
}, },

Loading…
Cancel
Save