fix fileTypeFromFile bun bug

AuthorKonata <konata@posteo.jp>
Date
Commitc694957f91d1882ea9d152f575e69d8466a21f8a
Parent1ddf7e7
1 file changed, 4 insertions(+), 2 deletions(-)
▾Mserver/src/utils.ts
@@ -2,7 +2,7 @@ import { readFileSync, writeFileSync } from "node:fs";
import { readdir, stat } from "node:fs/promises";
import path from "node:path";
import { StatusMap } from "elysia";
import { fileTypeFromFile } from "file-type";
import { fileTypeFromBlob } from "file-type";
import { parseFile } from "music-metadata";
import type { FileListingWithStatus, Metadata } from "music-server-shared/types";
import tmp from "tmp";
@@ -211,7 +211,9 @@ export async function getPathInfo(filePath: string): Promise<PathInfo | ServerEr
}
let mimeType = fileTypeCache.get(filePath);
if (!mimeType) {
const type = await fileTypeFromFile(filePath);
//fileTypeFromFile does a runtime import("strtok3") that breaks inside bun-compiled binaries,
//fileTypeFromBlob uses the statically bundled strtok3/core instead
const type = await fileTypeFromBlob(Bun.file(filePath));
mimeType = type?.mime;
if (mimeType) {
fileTypeCache.set(filePath, mimeType);