Indexed source maps: lastColumn is not clamped to the next section when the section does not start on line 1
I maintainer di solito rispondono entro 5 giorni
@sebxt ci sta già lavorando.
Dal 18/10/2026.
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
Leggi IndexedSourceMapConsumer e verifica i confronti di generatedPositionFor, allGeneratedPositionsFor e eachMapping con la riga generata della sezione successiva. Riproduci il problema con la mappa a tre sezioni fornita, poi esegui i test pertinenti di source map. Il lavoro è completato quando tutte e tre le API limitano l’ultima colonna della sezione al confine della sezione successiva se la sezione inizia dopo la riga 1.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
After computeColumnSpans(), IndexedSourceMapConsumer is supposed to clamp a mapping's lastColumn (or lastGeneratedColumn) so it ends where the next section begins on the same generated line. This only works for the first section, or more precisely for sections whose offset line is 0. For any later section the clamp is skipped, and in some layouts it is applied to the wrong line.
Repro:
const { SourceMapConsumer } = require("source-map");
const section = source => ({ version: 3, sources: [source], names: [], mappings: "AAAA" });
const map = await new SourceMapConsumer({
version: 3,
sections: [
{ offset: { line: 0, column: 0 }, map: section("a.js") },
{ offset: { line: 2, column: 0 }, map: section("b.js") },
{ offset: { line: 2, column: 10 }, map: section("c.js") },
],
});
map.computeColumnSpans();
map.generatedPositionFor({ source: "b.js", line: 1, column: 0 });
// actual: { line: 3, column: 0, lastColumn: Infinity }
// expected: { line: 3, column: 0, lastColumn: 9 }
allGeneratedPositionsFor and eachMapping (lastGeneratedColumn) return the same wrong value.
Root cause: in generatedPositionFor, allGeneratedPositionsFor and eachMapping of IndexedSourceMapConsumer, the comparison line === nextSection.generatedOffset.generatedLine runs before lineShift is added, so a section relative line is compared with an absolute line from the next section's offset. It only lines up when lineShift is 0. Adding the shift before the comparison fixes it.
- Lingua principale
- JavaScript
- Stelle
- 3.7k
- Fork
- 392
- Merge medio
- 4g 18h
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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 mozilla/source-map
-
SourceMapConsumer.fromSourceMap ignores its sourceMapUrl argumentForse già presa @sebxt l’ha presa 17 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
mozilla/source-map#544 ·
I maintainer di solito rispondono entro 5 giorni
-
Indexed column spans ignore section line offsets when clipping at the next sectionForse già presa @NUAAwqy l’ha presa 24 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
mozilla/source-map#539 ·
I maintainer di solito rispondono entro 5 giorni
-
wasm-mappings fail to build with Rust 1.96+Forse già presa @MatrixNeoKozak l’ha presa 24 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
mozilla/source-map#530 ·
I maintainer di solito rispondono entro 5 giorni
-
Indexed source maps: allGeneratedPositionsFor only returns positions from the first section that contains the sourceForse già presa @RaphaelFakhri l’ha presa 2 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 30/100
mozilla/source-map#564 ·
I maintainer di solito rispondono entro 5 giorni
-
allow wasm to be bundledForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
mozilla/source-map#527 ·
I maintainer di solito rispondono entro 5 giorni
Tutte le issue di mozilla/source-map
Issue simili
-
chore
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
idean3885/claude-ops-agent#910 ·
I maintainer di solito rispondono entro 1 giorno
-
S: triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
oskarrough/agent-ide#29 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Add: Trinitas TV LogoApertacheck:passed logos:add
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
I maintainer di solito rispondono entro 4 giorni
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
WikiEducationFoundation/WikiEduDashboard#7258 ·
I maintainer di solito rispondono entro 1 giorno