|
1 | 1 | import { Bitmap, Format, JimpClass, Edge } from "@jimp/types"; |
2 | 2 | import { cssColorToHex, scan, scanIterator } from "@jimp/utils"; |
3 | | -import fileType from "file-type/core.js"; |
4 | 3 | import { to } from "await-to-js"; |
5 | 4 | import { existsSync, readFile, writeFile } from "@jimp/file-ops"; |
6 | 5 | import mime from "mime/lite.js"; |
@@ -29,6 +28,15 @@ function bufferFromArrayBuffer(arrayBuffer: ArrayBuffer) { |
29 | 28 | return buffer; |
30 | 29 | } |
31 | 30 |
|
| 31 | +async function detectFileTypeFromBuffer(buffer: Buffer | ArrayBuffer) { |
| 32 | + const { fileTypeFromBuffer } = await import("file-type"); |
| 33 | + return fileTypeFromBuffer( |
| 34 | + buffer instanceof ArrayBuffer |
| 35 | + ? buffer |
| 36 | + : new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength) |
| 37 | + ); |
| 38 | +} |
| 39 | + |
32 | 40 | export { getExifOrientation } from "./utils/image-bitmap.js"; |
33 | 41 | export { composite } from "./utils/composite.js"; |
34 | 42 | export * from "./utils/constants.js"; |
@@ -334,7 +342,7 @@ export function createJimp< |
334 | 342 | const actualBuffer = |
335 | 343 | buffer instanceof ArrayBuffer ? bufferFromArrayBuffer(buffer) : buffer; |
336 | 344 |
|
337 | | - const mime = await fileType.fromBuffer(actualBuffer); |
| 345 | + const mime = await detectFileTypeFromBuffer(actualBuffer); |
338 | 346 |
|
339 | 347 | if (!mime || !mime.mime) { |
340 | 348 | throw new Error("Could not find MIME for Buffer"); |
|
0 commit comments