SourceMapConsumer.fromSourceMap ignores its sourceMapUrl argument

Aperta Adatta ai principianti
#544 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 5 giorni

@sebxt ci sta già lavorando.

Dal 20/10/2026.

  • #545 di @sebxt — aperta
  • #549 di @user-Param — aperta
  • #553 di @user-Param — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
78/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
javascript
Ambito
devtools

Direzione di ricerca

Inizia da BasicSourceMapConsumer.fromSourceMap nell’implementazione del consumer delle source map e confronta la chiamata al costruttore con la firma documentata. Passa l’argomento URL e controlla i test esistenti per fromSourceMap e la risoluzione delle sorgenti. Il lavoro è completato quando la riproduzione risolve src/a.js in http://example.com/maps/src/a.js, in linea con il risultato del costruttore.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

SourceMapConsumer.fromSourceMap(generator, sourceMapUrl) is typed and documented to accept the URL the source map lives at, but the URL is dropped, so sources are never resolved against it. Passing the same map through the constructor with the same URL gives a different result.

Repro:

const { SourceMapConsumer, SourceMapGenerator } = require("source-map");

const g = new SourceMapGenerator({ file: "out.js" });
g.addMapping({ generated: { line: 1, column: 0 }, original: { line: 1, column: 0 }, source: "src/a.js" });

const url = "http://example.com/maps/out.js.map";
(await SourceMapConsumer.fromSourceMap(g, url)).sources;
// actual:   [ 'src/a.js' ]
(await new SourceMapConsumer(g.toString(), url)).sources;
// [ 'http://example.com/maps/src/a.js' ]

Expected: both return [ 'http://example.com/maps/src/a.js' ].

Root cause: BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL) calls new BasicSourceMapConsumer(aSourceMap.toString()) without forwarding aSourceMapURL.

Lingua principale
JavaScript
Stelle
3.7k
Fork
392
Merge medio
4g 18h
PR unite (30g)
1

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di mozilla/source-map

Tutte le issue di mozilla/source-map

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.