Nuxt `navigateTo()` never produces a `navigates` edge: the Vue resolver claims it first
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 90/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- nuxtjs, typescript
- Ambito
- developer-experience, tooling
Direzione di ricerca
Inizia con src/resolution/frameworks/vue.ts e src/resolution/frameworks/vue-router.ts, quindi verifica la risoluzione tramite src/resolution/index.ts. Aggiungi o aggiorna un test di regressione per l’indicizzazione Nuxt accanto a __tests__/vue-router.test.ts per coprire navigateTo() in una pagina e nel middleware delle route. Fatto significa che entrambe le chiamate producono archi navigates senza modificare il comportamento esistente di router.push.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Version: codegraph 1.6.2 (bundled runtime, Linux x64), also reproduced on main at baf1906
Project: Nuxt 4 apps (srcDir: app/) in a pnpm monorepo, file-based routes under app/pages/
What happens
The README lists Nuxt's navigateTo among the navigation calls that become navigates edges, but no navigateTo call ever does. router.push in the same project is linked fine.
Minimal repro (3 files, package.json depends on nuxt and vue):
<!-- pages/index.vue -->
<script setup lang="ts">
await navigateTo('/target');
</script>
<template><div /></template>
<!-- pages/push.vue -->
<script setup lang="ts">
const router = useRouter();
function go() { router.push('/target'); }
</script>
<template><button @click="go" /></template>
<!-- pages/target.vue -->
<template><div /></template>
After codegraph init:
pages/push.vue→navigates→/target(resolvervue-router)pages/index.vue→calls→index, i.e. the page itself (resolvervue), and nonavigatesedge
Route middleware is affected the same way: navigateTo('/login') in middleware/auth.global.ts produces no edge.
Cause
src/resolution/frameworks/vue.ts:36:navigateTois inNUXT_AUTO_IMPORTS.vue.ts:127(Pattern 2) resolves any auto-import to the calling node (targetNodeId: ref.fromNodeId) with confidence 1.0.src/resolution/frameworks/index.ts:60-64:vueResolveris registered beforevueRouterResolver.src/resolution/index.ts:1450: the first framework result with confidence >= 0.9 ends the loop, so thenavigateTohandling invue-router.ts:303is never reached.
__tests__/vue-router.test.ts:94 only checks vueNavVerb('navigateTo'), not an indexed Nuxt project, which is why this went unnoticed.
Fix tested
Removing the 'navigateTo' line from NUXT_AUTO_IMPORTS in vue.ts:
| before | after | |
|---|---|---|
| minimal repro | 1 navigates edge (push) |
2 (push + navigateTo) |
| two real Nuxt 4 apps (~60 pages) | 55 navigates edges |
94 (+39 navigateTo, middleware included) |
vue-options-api, vuex-dispatch-synthesizer, vue-resolver-language, vue-store-extraction, vue-template-calls and vue-router test files still pass (41 tests). Reordering the resolvers would likely work too, but the one-line removal is the smallest change.
Expected
navigateTo('/x') produces a navigates edge to the /x route, like router.push('/x'), including from route middleware.
Related
#2473 (another Nuxt auto-import gap in .vue files, about project composables rather than navigateTo).
- Lingua principale
- C
- Stelle
- 73.2k
- Fork
- 4.7k
- Merge medio
- 2h 16m
- PR unite (30g)
- 423
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di colbymchenry/codegraph
-
Windows: bundled Node v24.16.0 can abort at exit (nodejs/node#56645); please bundle Node >= 24.20.0Forse già presa @Ancienttwo l’ha presa 3 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
colbymchenry/codegraph#2617 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Invalid regular expression: /\boperator++\s*(?:<[^<>()]*>)?\s*\(/: Nothing to repeat (v1.6.2)Aperta
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 72/100
colbymchenry/codegraph#2482 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
codegraph ui - does not workAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
colbymchenry/codegraph#1900 · 2 commenti · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
colbymchenry/codegraph#1700 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
colbymchenry/codegraph#1535 · 2 commenti · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di colbymchenry/codegraph
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
EchoTools/nevr-runtime#698 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
FujiNetWIFI/fujinet-firmware#2079 ·
I maintainer di solito rispondono entro 1 giorno
-
bug Official Image release/25.12 Supported Device target/kirkwood
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
area/archive bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
DarkFlippers/qUnleashed#374 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
VirusTotal/yara#2255 ·