[Bug]: Web build fails when the checkout path contains a space (fonts-cjk alias keeps %20)

Abierto Apto para principiantes
#29,587 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@Umais-Adeed ya está trabajando en esto.

Desde el 4/11/2026.

  • #30666 de @Umais-Adeed — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
82/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
nodejs, typescript
Área
build-system

Línea de trabajo

La ruta incorrecta proviene del alias @betteroffice/fonts-cjk en apps/web/vite.config.ts, que construye su ruta con new URL(...).pathname. Reproduce clonando en un directorio cuyo nombre contenga un espacio y luego ejecutando vp build en apps/web. La solución reportada es envolver la URL en fileURLToPath de node:url. Terminado cuando la compilación tenga éxito desde la ruta con espacios y siga teniendo éxito desde una ruta normal.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Before submitting
  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.
Area

Build, CI, or release tooling

Steps to reproduce
  1. Clone the repo into a directory whose path contains a space, e.g. ~/Local Sites/t3code.
  2. pnpm install --frozen-lockfile --filter=@t3tools/web...
  3. cd apps/web && vp build
Expected behavior

The web app builds, as it does from a path without spaces.

Actual behavior

The build fails while bundling the office file viewers' worker:

[plugin vite:worker-import-meta-url] …/apps/web/src/components/files/office/WordDocument.tsx
[UNLOADABLE_DEPENDENCY] Could not load ../../../../Local%20Sites/t3code/apps/web/src/components/files/office/fonts-cjk.ts
  ╭─[ ../../node_modules/.pnpm/@[email protected]/node_modules/@betteroffice/fonts/dist/index.js:574:26 ]
574 │     return (await import("@betteroffice/fonts-cjk")).CJK_FONT_ASSET_URLS;
    │                          ╰── No such file or directory (os error 2)

(The same error for Presentation.tsx.)

Cause: apps/web/vite.config.ts resolves the alias with new URL("./src/components/files/office/fonts-cjk.ts", import.meta.url).pathname. URL.pathname is percent-encoded, so a space becomes %20 and the aliased path does not exist. fileURLToPath decodes it:

import * as NodeURL from "node:url";
// …
"@betteroffice/fonts-cjk": NodeURL.fileURLToPath(
  new URL("./src/components/files/office/fonts-cjk.ts", import.meta.url),
),

With that change the build succeeds from the same path.

Impact

Minor bug or occasional failure

Version or commit

v0.1.5 and v0.1.6; still present on main at 84537c4dd9 (2026-11-02).

Environment

macOS 26.7.1 (arm64), Node 26.12.0, pnpm 12.14.0, vite-plus 1.4.0.

Workaround

Build from a path without spaces, or apply the fileURLToPath change above.

Lenguaje dominante
TypeScript
Estrellas
24.8k
Forks
6.4k
Merge medio
13 h 48 min
PR fusionados (30 d)
208

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de pingdotgg/t3code

Todos los issues de pingdotgg/t3code

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.