Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Type import invalid path in build

Abierto
#647 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
typescript
Área
build-system

Línea de trabajo

Comienza reproduciendo el build con src/runtime/server/utils/foo.ts importando Foo desde src/types.ts; después, inspecciona la declaración generada en dist. Compara la ruta ../../../types.js emitida con la ruta .mts esperada y verifica que TypeScript reconozca Foo sin el workaround rollup:done.

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

Descripción

Description

Types imported from parent folders have incorrect import paths and do not get recognized by TS due to the incorrect .js extension

Expected Behavior

Type import paths should end with .mts

Reproduction

https://codesandbox.io/p/devbox/l8c85t?file=%2Fdist%2Fruntime%2Futils%2Ffoo.d.ts%3A3%2C1

See the build output in dist. Type Foo imported from src/types.ts in the file src/runtime/server/utils/foo.ts using this import statement import type { Foo } from "../../../types";, got transformed to ../../../types.js which does not have a declaration file, and produces incorrect type.

Workaround

This is how I currently work around this issue.

import fs from 'node:fs'
import path from 'node:path'
export default defineBuildConfig({
  hooks: {
    'rollup:done': function (ctx) {
      const dts = path.resolve(ctx.options.outDir, 'types.d.mts')
      if (fs.existsSync(dts))
        fs.cpSync(dts, path.resolve(ctx.options.outDir, 'types.d.ts'))
    },
  },
})

Related Issue

#308 seems relevant, but I don't know how it's fixed for them

Lenguaje dominante
TypeScript
Estrellas
277
Forks
36
Merge medio
4 d 19 h
PR fusionados (30 d)
3

Preparar el entorno

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 nuxt/module-builder

Todos los issues de nuxt/module-builder

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.