SourceMapConsumer.fromSourceMap ignores its sourceMapUrl argument

Aberta Para iniciantes
#544 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 5 dias

@sebxt já está trabalhando nisso.

Desde 20/10/2026.

  • #545 de @sebxt — aberto
  • #549 de @user-Param — aberto
  • #553 de @user-Param — aberto

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
78/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
javascript
Domínio
devtools

Direção de pesquisa

Comece em BasicSourceMapConsumer.fromSourceMap, na implementação do consumidor de source maps, e compare a chamada do construtor com a assinatura documentada. Passe o argumento URL e verifique os testes existentes para fromSourceMap e a resolução de fontes. O trabalho estará concluído quando a reprodução resolver src/a.js para http://example.com/maps/src/a.js, correspondendo ao resultado do construtor.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
JavaScript
Estrelas
3.7k
Forks
392
Merge médio
4d 18h
PRs com merge (30d)
1

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de mozilla/source-map

Todas as issues de mozilla/source-map

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.