diff --git a/packages/build/src/utilities/build-manifest-async.ts b/packages/build/src/utilities/build-manifest-async.ts index 2f8015e7a..16c71a37a 100644 --- a/packages/build/src/utilities/build-manifest-async.ts +++ b/packages/build/src/utilities/build-manifest-async.ts @@ -1,6 +1,8 @@ /* eslint-disable sort-keys-fix/sort-keys-fix */ import { resolve } from 'node:path' +import { platform } from 'node:os' +import { pathToFileURL } from 'node:url' import { Config, @@ -22,6 +24,8 @@ import { globby } from 'globby' import { importFresh } from './import-fresh.js' +const isWindows = platform() === 'win32' + export async function buildManifestAsync(options: { config: Config minify: boolean @@ -209,12 +213,15 @@ function createManifestNetworkAccess( async function overrideManifestAsync( manifest: Manifest ): Promise> { - const filePaths = await globby(constants.build.manifestConfigGlobPattern, { + let filePaths = await globby(constants.build.manifestConfigGlobPattern, { absolute: true }) if (filePaths.length === 0) { return manifest } + if (isWindows) { + filePaths = filePaths.map(p => pathToFileURL(p).href) + } const { default: overrideManifest } = await importFresh(filePaths[0]) return overrideManifest(manifest) }