Split e-invoice exports into a separate server-only subpath
@e-invoice-eu/core pulls in Node-only dependencies (tmp/tmp-promise, for a LibreOffice conversion path this package never actually takes) that broke Next.js's client bundle the moment renderInvoiceEInvoice() was re-exported from the main "." entry — that entry is reachable from a Client Component (email-templates.ts's Live Preview import chain), so the bundler tried pulling e-invoice-eu/core in client-side too. New "@einfach-produktiv/invoicing/einvoice" subpath (package.json "exports" map + src/einvoice/index.ts) holds only the e-invoice generation functions — server-only code (API routes, Server Components, Payload job handlers) imports from there instead. The main "." entry keeps everything already browser-safe (computeTaxBreakdown, formatters, InvoiceDocument for Live Preview's <PDFViewer>, the plain PDF renderers). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,16 @@
|
||||
"type": "module",
|
||||
"main": "./src/index.ts",
|
||||
"types": "./src/index.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./src/index.ts",
|
||||
"default": "./src/index.ts"
|
||||
},
|
||||
"./einvoice": {
|
||||
"types": "./src/einvoice/index.ts",
|
||||
"default": "./src/einvoice/index.ts"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"typecheck": "tsc --noEmit",
|
||||
"test": "vitest run",
|
||||
|
||||
Reference in New Issue
Block a user