Files
suaveplan/packages/devtools/docs/pdf/vite.config.ts
2026-05-27 23:29:53 +01:00

79 lines
3.1 KiB
TypeScript

import { defineConfig } from "vite";
import dts from "vite-plugin-dts";
export default defineConfig({
root: __dirname,
cacheDir: "../../../../node_modules/.vite/packages/pdf",
plugins: [
dts({
entryRoot: "src",
tsconfigPath: "./tsconfig.lib.json",
insertTypesEntry: true,
}),
],
build: {
outDir: "./dist",
emptyOutDir: true,
reportCompressedSize: true,
sourcemap: true,
lib: {
entry: {
index: "src/index.ts",
"error-codes/error-codes": "src/error-codes/error-codes.ts",
"schemas/schemas": "src/schemas/schemas.ts",
"telemetry/telemetry": "src/telemetry/telemetry.ts",
"units/units": "src/units/units.ts",
"colors/colors": "src/colors/colors.ts",
"pdf-writer/pdf-writer": "src/pdf-writer/pdf-writer.ts",
"content-stream/content-stream":
"src/content-stream/content-stream.ts",
"text-element/text-element":
"src/text-element/text-element.ts",
"table-element/table-element":
"src/table-element/table-element.ts",
"image-element/image-element":
"src/image-element/image-element.ts",
"divider-element/divider-element":
"src/divider-element/divider-element.ts",
"style-resolver/style-resolver":
"src/style-resolver/style-resolver.ts",
"layout-engine/layout-engine":
"src/layout-engine/layout-engine.ts",
"document-builder/document-builder":
"src/document-builder/document-builder.ts",
"renderer/renderer": "src/renderer/renderer.ts",
"render-pipeline/render-pipeline":
"src/render-pipeline/render-pipeline.ts",
"image-registry/image-registry":
"src/image-registry/image-registry.ts",
"types/index": "src/types/index.ts",
"templates/receipt-template/receipt-template":
"src/templates/receipt-template/receipt-template.ts",
"templates/report-template/report-template":
"src/templates/report-template/report-template.ts",
"templates/invoice-template/invoice-template":
"src/templates/invoice-template/invoice-template.ts",
},
formats: ["es"],
},
rollupOptions: {
treeshake: true,
output: {
preserveModules: true,
preserveModulesRoot: "src",
entryFileNames: "[name].js",
},
external: [
"@opentelemetry/api",
"@suaveplan/error",
"@suaveplan/opentelemetry",
"@suaveplan/types",
"pngjs",
"tslib",
"zod",
/^node:/,
],
},
},
});