79 lines
3.1 KiB
TypeScript
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:/,
|
|
],
|
|
},
|
|
},
|
|
});
|