From 2be8aafd04c180de861010b263d551cdb049e7b6 Mon Sep 17 00:00:00 2001 From: Alexander Date: Fri, 22 Apr 2022 20:09:05 +0300 Subject: [PATCH] fix: wrap dynamic import in prerender to fix windows build failure (#134) --- src/prerender.ts | 4 +++- src/rollup/config.ts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/prerender.ts b/src/prerender.ts index ab0dd49f92..fc4a3ed91a 100644 --- a/src/prerender.ts +++ b/src/prerender.ts @@ -1,3 +1,4 @@ +import { pathToFileURL } from 'url' import { resolve, join } from 'pathe' import { parseURL } from 'ufo' import chalk from 'chalk' @@ -26,7 +27,8 @@ export async function prerender (nitro: Nitro) { await build(nitroRenderer) // Import renderer entry - const { localFetch } = await import(resolve(nitroRenderer.options.output.serverDir, 'index.mjs')) + const serverEntrypoint = resolve(nitroRenderer.options.output.serverDir, 'index.mjs') + const { localFetch } = await import(pathToFileURL(serverEntrypoint).href) // Start prerendering const generatedRoutes = new Set() diff --git a/src/rollup/config.ts b/src/rollup/config.ts index 21ea92761c..c72b68bb6b 100644 --- a/src/rollup/config.ts +++ b/src/rollup/config.ts @@ -227,7 +227,7 @@ export const plugins = [ // https://github.com/rollup/plugins/tree/master/packages/alias let buildDir = nitro.options.buildDir // Windows (native) dynamic imports should be file:// urr - if (isWindows && (nitro.options.externals.trace === false)) { + if (isWindows && (nitro.options.externals?.trace === false)) { buildDir = pathToFileURL(buildDir).href } rollupConfig.plugins.push(alias({