Extension resolution assumes JS/TS candidates; a .vue/.svelte sibling can still diverge from the bundler
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript, vite
- Área
- testing-qa, tooling
Línea de trabajo
Start by locating resolveFileAtPath and the code that reads project configuration; the issue does not name file paths or tests. Check how resolve.extensions is parsed and how candidate paths are selected, then run the relevant resolver tests. Done means a base with a matching non-JS extension such as .vue or .svelte is treated as ambiguous and disclosed rather than attributed to a JS/TS candidate.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Follow-up to #226.
What is wrong
resolveFileAtPath discloses when more than one JS/TS candidate file exists, which closes the common false-coverage case. But it only probes JS/TS suffixes (.mjs .js .mts .ts .jsx .tsx and index variants). If a project's resolve.extensions includes a non-JS framework extension (for example .vue or .svelte) and both Widget.vue and Widget.tsx exist, Vite may load Widget.vue while usabl sees a single JS candidate (Widget.tsx) and attributes it.
Why it matters
Low in practice for usabl's current React/PatternFly domain: the mis-picked .tsx would be a file the bundler does not render, so no real barrier is missed, and usabl scans .tsx/.jsx UI files anyway. Tracked so it is not forgotten if usabl targets multi-framework apps.
Fix
Parse the project's resolve.extensions and treat a base with any extra candidate (including non-JS) as ambiguous, disclosing rather than picking a JS/TS file.
- Lenguaje dominante
- TypeScript
- Estrellas
- 0
- Forks
- 0
- Merge medio
- 2 h 48 min
- PR fusionados (30 d)
- 8
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin 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 usabl-dev/usabl
-
area: engine bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
-
Stop hook allows a stop on an unknown verdict, and the self-check prints IDLE for a null verdictAbiertoarea: assistants bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
area: engine bug security
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Overlay: browser context failures are counted per plugin, not per browser, and close is not sharedAbiertoarea: overlay bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
-
area: engine enhancement performance
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Todos los issues de usabl-dev/usabl
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
braintrustdata/braintrust-sdk-javascript#2659 ·
Los mantenedores suelen responder en 1 día
-
body-parser 2.3.0 in the published ai-dial-chat-bff image is vulnerable (CVE-2026-111181, HIGH)Posiblemente ocupada @illya-havsiyevych la tomó hoy. Abiertobug
Dificultad 1/5 1-3 horas Aptitud para principiantes 87/100
epam/ai-dial-chat#9566 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
はさみアイコンを修正するAbiertobug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
-
resource.reload() while params is in error switches the resource to 'idle' instead of retryingAbiertoarea: core
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día