From 74646f9ff05085b4fdf072418e0f86437b5ada0a Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 6 Dec 2022 12:16:23 +0000 Subject: [PATCH 1/3] fix: normalize nitro plugins to file urls on windows --- src/options.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/options.ts b/src/options.ts index 46820a709d..be6c2df4b2 100644 --- a/src/options.ts +++ b/src/options.ts @@ -1,4 +1,5 @@ -import { resolve, join } from 'pathe' +import { pathToFileURL } from 'node:url' +import { resolve, join, isAbsolute } from 'pathe' import { loadConfig } from 'c12' import { klona } from 'klona/full' import { camelCase } from 'scule' @@ -6,7 +7,7 @@ import { defu } from 'defu' import { resolveModuleExportNames, resolvePath as resolveModule } from 'mlly' // import escapeRE from 'escape-string-regexp' import { withLeadingSlash, withoutTrailingSlash, withTrailingSlash } from 'ufo' -import { isTest, isDebug } from 'std-env' +import { isTest, isDebug, isWindows } from 'std-env' import { findWorkspaceDir } from 'pkg-types' import { resolvePath, detectTarget } from './utils' import type { NitroConfig, NitroOptions, NitroRouteConfig, NitroRouteRules } from './types' @@ -259,8 +260,13 @@ export async function loadOptions (configOverrides: NitroConfig = {}): Promise resolvePath(p, options)) - + options.plugins = options.plugins.map((p) => { + const path = resolvePath(p, options) + if (isWindows && options.dev && isAbsolute(path)) { + return pathToFileURL(path).href + } + return path + }) return options } From a85cbc42890dfa47c29dba4264a523f61767862c Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 6 Dec 2022 12:19:06 +0000 Subject: [PATCH 2/3] style: add back newline --- src/options.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/options.ts b/src/options.ts index be6c2df4b2..57fa7d870a 100644 --- a/src/options.ts +++ b/src/options.ts @@ -267,6 +267,7 @@ export async function loadOptions (configOverrides: NitroConfig = {}): Promise Date: Tue, 6 Dec 2022 13:09:35 +0000 Subject: [PATCH 3/3] refactor: use file urls on all platforms in dev mode --- src/options.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/options.ts b/src/options.ts index 57fa7d870a..cd966e4674 100644 --- a/src/options.ts +++ b/src/options.ts @@ -7,7 +7,7 @@ import { defu } from 'defu' import { resolveModuleExportNames, resolvePath as resolveModule } from 'mlly' // import escapeRE from 'escape-string-regexp' import { withLeadingSlash, withoutTrailingSlash, withTrailingSlash } from 'ufo' -import { isTest, isDebug, isWindows } from 'std-env' +import { isTest, isDebug } from 'std-env' import { findWorkspaceDir } from 'pkg-types' import { resolvePath, detectTarget } from './utils' import type { NitroConfig, NitroOptions, NitroRouteConfig, NitroRouteRules } from './types' @@ -262,7 +262,7 @@ export async function loadOptions (configOverrides: NitroConfig = {}): Promise { const path = resolvePath(p, options) - if (isWindows && options.dev && isAbsolute(path)) { + if (options.dev && isAbsolute(path)) { return pathToFileURL(path).href } return path