loro/loro-js/rollup.config.mjs

38 lines
745 B
JavaScript
Raw Normal View History

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",
},
}),
]);