Relative JS imports with a query string (`./foo.js?v=123`) are not resolved
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
- 76/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, python, typescript
Direzione di ricerca
Leggi extractors/resolution.py intorno a _resolve_js_module_path (righe 855–856) e confrontane la gestione con quella di extractors/markdown.py intorno alla riga 289. Verifica come vengono risolti gli specificatori relativi JavaScript e TypeScript con stringhe di query o frammenti, quindi esegui i test di risoluzione pertinenti. Il lavoro è completato quando ./foo.js?v=123 viene risolto in ./foo.js senza creare un nodo fantasma; l’issue non indica un file di test specifico.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Version: graphify 0.9.93 (graphifyy), extract --code-only, GRAPHIFY_BACKEND=none
Description
ES module imports that include a cache-busting query string are not resolved to the target file:
import { foo } from './lib/foo.js?v=134';
Instead of an imports_from edge to lib/foo.js, graphify creates a phantom node (e.g. ref_foo_js_v_134) and the real file gets no inbound edge. Symbol imports and cross-file calls are lost as well, since they depend on the module resolving.
Impact (real project, 93 JS files)
- Phantom
_v_nodes: 96 → 0 after stripping the suffix - Inbound imports_from edges for the most-used module: 0 → 29
- Symbol imports: 30 → 413
- About 400 cross-file
callsedges recovered
Root cause
extractors/resolution.py, lines 855-856 (_resolve_js_module_path): relative specifiers are resolved with start_dir / raw without stripping the ?query / #fragment part. The Markdown extractor already strips it (extractors/markdown.py:289), so applying the same normalization to relative JS/TS specifiers should fix it.
Also present on v8 (default branch) as of 0a8cd4e1e342235fe53e881fb5d591bf0460071f (resolution.py lines 868-869).
Current workaround
Copy the tree to a temp dir, strip the suffix with sed -E 's/(\.js)\?v=[0-9]+/\1/g', and extract from the copy.
Expected behavior
./foo.js?v=123 resolves to ./foo.js, as browsers and bundlers do for module resolution.
Related: #2849 lists one ../styles.css?url import under "Resource-query import is unresolved". It looks like the same root cause.
- Lingua principale
- Python
- Stelle
- 124k
- Fork
- 11.9k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
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 Graphify-Labs/graphify
-
Cache the claude backend system prompt via Anthropic prompt cachingForse già presa @Jvxoq l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Graphify-Labs/graphify#4835 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
extract --out <dir>: semantic cache never saved, docs missing from manifest (relative source_file resolved against --out)Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Graphify-Labs/graphify#4831 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 75/100
Graphify-Labs/graphify#4829 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
hooks: last-resort `python3` probe launches the Microsoft Store redirector on Windows (visible console flash, exit 9009)Forse già presa @Deepjyoti-Sarmah l’ha presa 10 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Graphify-Labs/graphify#4563 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
GRAPHIFY_DISABLE_THINKING is ignored by the claude backend, so thinking eats max_tokens and extraction truncatesForse già presa @bercedev l’ha presa 11 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
Graphify-Labs/graphify#4546 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Graphify-Labs/graphify
Issue simili
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
awslabs/visual-asset-management-system#937 ·
I maintainer di solito rispondono entro 1 giorno
-
Admin member of a research group cannot see the HX2 allocation until they've been added to itAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
follow-up
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 2 giorni