mirror of
https://github.com/nestjs/nest.git
synced 2026-02-21 23:11:44 +00:00
fix(common): convert absolute paths to urls for esm loading
Uses pathToFileURL to convert file system paths to proper URLs before passing to the ESM loader, ensuring cross-platform compatibility. Fixes #16179
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { pathToFileURL } from 'url';
|
||||
import { Logger } from '../../services/logger.service';
|
||||
import { FileValidatorContext } from './file-validator-context.interface';
|
||||
import { FileValidator } from './file-validator.interface';
|
||||
@@ -123,14 +124,15 @@ export class FileTypeValidator extends FileValidator<
|
||||
}
|
||||
|
||||
try {
|
||||
let fileTypePath: string;
|
||||
let fileTypeModule: string;
|
||||
try {
|
||||
fileTypePath = require.resolve('file-type');
|
||||
const resolvedPath = require.resolve('file-type');
|
||||
fileTypeModule = pathToFileURL(resolvedPath).href;
|
||||
} catch {
|
||||
fileTypePath = 'file-type';
|
||||
fileTypeModule = 'file-type';
|
||||
}
|
||||
const { fileTypeFromBuffer } =
|
||||
await loadEsm<typeof import('file-type')>(fileTypePath);
|
||||
await loadEsm<typeof import('file-type')>(fileTypeModule);
|
||||
const fileType = await fileTypeFromBuffer(file.buffer);
|
||||
|
||||
if (fileType) {
|
||||
|
||||
Reference in New Issue
Block a user