diff --git a/packages/vinxi/lib/build.js b/packages/vinxi/lib/build.js index ebf46aa9..039ee880 100644 --- a/packages/vinxi/lib/build.js +++ b/packages/vinxi/lib/build.js @@ -8,8 +8,7 @@ import { } from "h3"; import { createRequire } from "module"; import { build, copyPublicAssets, createNitro } from "nitropack"; -import { join } from "path"; -import { relative } from "pathe"; +import { join, relative } from "pathe"; import { writeFileSync } from "node:fs"; @@ -34,7 +33,7 @@ const require = createRequire(import.meta.url); */ export async function createBuild(app, buildConfig) { const { existsSync, promises: fsPromises, readFileSync } = await import("fs"); - const { join } = await import("path"); + const { join } = await import("pathe"); const { fileURLToPath } = await import("url"); for (const router of app.config.routers) { if (existsSync(router.outDir)) { @@ -102,7 +101,7 @@ export async function createBuild(app, buildConfig) { ? "virtual:#vinxi/handler" : relative(app.config.root, router.handler) ].file, - ).replace(/\\/g, "\\\\"); + ); return [ { @@ -543,7 +542,7 @@ function handerBuild() { "Invalid router", ); const { builtinModules } = await import("module"); - const { join } = await import("path"); + const { join } = await import("pathe"); const input = await getEntries(inlineConfig.router); return { build: { @@ -582,7 +581,7 @@ function browserBuild() { inlineConfig.router && inlineConfig.router.mode !== "static", "Invalid router", ); - const { join } = await import("path"); + const { join } = await import("pathe"); return { build: { rollupOptions: { diff --git a/packages/vinxi/lib/fs-router.js b/packages/vinxi/lib/fs-router.js index 65883a4d..6f064201 100644 --- a/packages/vinxi/lib/fs-router.js +++ b/packages/vinxi/lib/fs-router.js @@ -5,7 +5,7 @@ import fg from "fast-glob"; import fs from "fs"; import micromatch from "micromatch"; import os from "os"; -import { join } from "path"; +import { posix } from "path"; import { pathToRegexp } from "path-to-regexp"; export { pathToRegexp }; @@ -76,13 +76,10 @@ export class BaseFileSystemRouter extends EventTarget { } glob() { - if (os.platform() === "win32") { - return fg.convertPathToPattern(this.config.dir + "//**//*"); - } else { - return ( - join(this.config.dir, "**/*") + `.{${this.config.extensions.join(",")}}` - ); - } + return posix.join( + fg.convertPathToPattern(this.config.dir), + "**/*" + ) + `.{${this.config.extensions.join(",")}}`; } /** diff --git a/packages/vinxi/lib/manifest/collect-styles.js b/packages/vinxi/lib/manifest/collect-styles.js index 323fe1a4..abd270eb 100644 --- a/packages/vinxi/lib/manifest/collect-styles.js +++ b/packages/vinxi/lib/manifest/collect-styles.js @@ -1,7 +1,7 @@ "use strict"; import { isBuiltin } from "node:module"; -import { join, resolve } from "node:path"; +import { join, resolve } from "pathe"; async function getViteModuleNode(vite, file, ssr) { if (file.startsWith("node:") || isBuiltin(file)) { @@ -19,7 +19,7 @@ async function getViteModuleNode(vite, file, ssr) { const id = resolvedId.id; - const normalizedPath = resolve(id).replace(/\\/g, "/"); + const normalizedPath = resolve(id); try { let node = await vite.moduleGraph.getModuleById(normalizedPath); diff --git a/packages/vinxi/lib/manifest/dev-server-manifest.js b/packages/vinxi/lib/manifest/dev-server-manifest.js index 311aa5e2..64932228 100644 --- a/packages/vinxi/lib/manifest/dev-server-manifest.js +++ b/packages/vinxi/lib/manifest/dev-server-manifest.js @@ -51,7 +51,7 @@ export function createDevManifest(app) { } else { return { output: { - path: absolutePath, + path: join(router.base, "@fs", absolutePath), }, }; } @@ -173,7 +173,7 @@ export function createDevManifest(app) { ]; }, output: { - path: absolutePath, + path: join(router.base, "@fs", absolutePath), }, }; } diff --git a/packages/vinxi/lib/plugins/fs-watcher.js b/packages/vinxi/lib/plugins/fs-watcher.js index dfe79877..02bda42b 100644 --- a/packages/vinxi/lib/plugins/fs-watcher.js +++ b/packages/vinxi/lib/plugins/fs-watcher.js @@ -1,4 +1,5 @@ import { fileURLToPath } from "node:url"; +import { normalize } from "pathe"; /** * @@ -43,7 +44,7 @@ export const fileSystemWatcher = () => { config.router.internals.routes.addEventListener("reload", () => { const { moduleGraph } = server; const mods = moduleGraph.getModulesByFile( - fileURLToPath(new URL("../routes.js", import.meta.url)), + normalize(fileURLToPath(new URL("../routes.js", import.meta.url))), ); if (mods) { const seen = new Set(); diff --git a/packages/vinxi/lib/plugins/routes.js b/packages/vinxi/lib/plugins/routes.js index 639c2650..3a4d236b 100644 --- a/packages/vinxi/lib/plugins/routes.js +++ b/packages/vinxi/lib/plugins/routes.js @@ -1,4 +1,4 @@ -import { relative } from "node:path"; +import { relative } from "pathe"; import { fileURLToPath } from "node:url"; /** diff --git a/packages/vinxi/lib/router-dev-plugins.js b/packages/vinxi/lib/router-dev-plugins.js index d8f4e95a..4c46581d 100644 --- a/packages/vinxi/lib/router-dev-plugins.js +++ b/packages/vinxi/lib/router-dev-plugins.js @@ -1,4 +1,4 @@ -import { join } from "node:path"; +import { join } from "pathe"; import { devEntries } from "./dev-server.js"; import invariant from "./invariant.js";