Type import invalid path in build
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
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nuxt/module-builder
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
nuxt/module-builder#801 ·
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
nuxt/module-builder#764 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
nuxt/module-builder#754 ·
-
Conflict between folder structure in readme (src/runtime) and TypeScript config (src/module/runtime)Posiblemente ocupada @dword-design la tomó hace 137 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
nuxt/module-builder#749 ·
-
Tsdown/obuild migrationQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
nuxt/module-builder#726 · 1 comentario · 1 reacción ·
Todos los issues de nuxt/module-builder
Issues similares
-
"Contains" page watch never matches when its text has a trailing spacePosiblemente ocupada @RaphaelFakhri la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
CopilotKit/openmuse#184 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
bootstrap-vue-next/bootstrap-vue-next#3357 ·
Los mantenedores suelen responder en 1 día
-
[quality] tide.ts: six mutation survivors in the merge-queue gate, draft refusal, fork-403 workflow-file diagnosis and getPull's fork flag are unpinned by any testPosiblemente ocupada @hivecommons-hive la tomó hoy. Abiertoagent/quality needs-kind stage/040-covered-by-pr testing
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
cncf/prow-github-actions#517 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Unsampled pageload span is profiled when profileLifecycle is 'trace' (browser UI profiling)Posiblemente ocupada @Jxxunnn la tomó hoy. AbiertoBrowser Waiting for: Product Owner
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
getsentry/sentry-javascript#25497 · 1 comentario ·
Los mantenedores suelen responder en 1 día