r-util-js/packages/common/vite.config.ts

60 lines
1.6 KiB
TypeScript
Raw Normal View History

2026-04-20 17:54:26 +08:00
import { resolve } from "node:path";
import { fileURLToPath } from "node:url";
import { defineConfig } from "vite";
import dts from "vite-plugin-dts";
2026-03-16 17:58:57 +08:00
2026-04-20 17:54:26 +08:00
const __dirname = fileURLToPath(new URL(".", import.meta.url));
2026-03-16 17:58:57 +08:00
2026-05-28 11:30:35 +08:00
const sharedOutput = {
preserveModules: true,
preserveModulesRoot: resolve(__dirname, "src"),
assetFileNames: "assets/[name]-[hash][extname]",
exports: "named",
} as const;
2026-03-16 17:58:57 +08:00
export default defineConfig({
build: {
lib: {
2026-05-28 11:30:35 +08:00
entry: {
index: resolve(__dirname, "src/index.ts"),
"input-rule/index": resolve(__dirname, "src/input-rule/index.ts"),
"knock-test/index": resolve(__dirname, "src/knock-test/index.ts"),
"permission/index": resolve(__dirname, "src/permission/index.ts"),
"printer/index": resolve(__dirname, "src/printer/index.ts"),
"time/index": resolve(__dirname, "src/time/index.ts"),
"timer/index": resolve(__dirname, "src/timer/index.ts"),
"ui/index": resolve(__dirname, "src/ui/index.ts"),
},
2026-03-16 17:58:57 +08:00
},
2026-05-28 11:30:35 +08:00
rolldownOptions: {
2026-04-20 17:54:26 +08:00
external: ["dayjs", "lodash-es", "text-encoding", "tslib"],
2026-05-28 11:30:35 +08:00
output: [
{
...sharedOutput,
format: "es",
entryFileNames: "[name].mjs",
chunkFileNames: "chunks/[name]-[hash].mjs",
},
{
...sharedOutput,
format: "cjs",
entryFileNames: "[name].cjs",
chunkFileNames: "chunks/[name]-[hash].cjs",
},
],
2026-03-16 17:58:57 +08:00
},
sourcemap: true,
},
resolve: {
alias: {
2026-04-20 17:54:26 +08:00
"@": resolve(__dirname, "src"),
2026-03-16 17:58:57 +08:00
},
},
plugins: [
dts({
2026-05-28 11:30:35 +08:00
include: ["src", "types"],
2026-04-20 17:54:26 +08:00
outDir: "dist",
2026-03-16 17:58:57 +08:00
}),
],
});