Compare commits

...
Author SHA1 Message Date
Chris Tate 07de14b686 fix(image,react-pdf): resolve Buffer/stream type errors breaking build
@resvg/resvg-js's asPng() and @react-pdf/renderer's renderToBuffer()
return Node Buffer, which no longer satisfies the declared Uint8Array
return types under the current @types/node/TypeScript resolution,
failing dts builds (and therefore the release workflow's build step).
Wrap the Buffers in zero-copy Uint8Array views.

renderToStream() was declared as returning a web ReadableStream, but
@react-pdf/renderer's renderToStream() actually resolves to a
NodeJS.ReadableStream; declare what it really returns.
2026-07-01 18:53:18 -05:00
2 changed files with 5 additions and 3 deletions
+2 -1
View File
@@ -206,5 +206,6 @@ export async function renderToPng(
const resvg = new Resvg(svg);
const pngData = resvg.render();
return pngData.asPng();
const png = pngData.asPng();
return new Uint8Array(png.buffer, png.byteOffset, png.byteLength);
}
+3 -2
View File
@@ -153,7 +153,8 @@ export async function renderToBuffer(
options?: RenderOptions,
): Promise<Uint8Array> {
const document = buildDocument(spec, options);
return pdfRenderToBuffer(document as any);
const buffer = await pdfRenderToBuffer(document as any);
return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
}
/**
@@ -162,7 +163,7 @@ export async function renderToBuffer(
export async function renderToStream(
spec: Spec,
options?: RenderOptions,
): Promise<ReadableStream> {
): Promise<NodeJS.ReadableStream> {
const document = buildDocument(spec, options);
return pdfRenderToStream(document as any);
}