loro/loro-js/rollup.config.mjs
2023-03-24 10:08:11 +08:00

37 lines
745 B
JavaScript

import { defineConfig } from "rollup";
import dts from "rollup-plugin-dts";
import esbuild from "rollup-plugin-esbuild";
import packageJson from "./package.json" assert { type: "json" };
const name = packageJson.main.replace(/\.js$/, "");
const bundle = (config) => ({
...config,
input: "src/index.ts",
external: (id) => !/^[./]/.test(id),
});
export default defineConfig([
bundle({
plugins: [esbuild()],
output: [
{
file: `${name}.js`,
format: "cjs",
sourcemap: true,
},
{
file: `${name}.mjs`,
format: "es",
sourcemap: true,
},
],
}),
bundle({
plugins: [dts()],
output: {
file: `${name}.d.ts`,
format: "es",
},
}),
]);