Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

`toStringWithSourceMap` behaves incorrectly if `SourceNode`s source is `null` or is an empty string

Abierto
#444 7 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
javascript
Área
devtools

Línea de trabajo

El punto de entrada es SourceNode.toStringWithSourceMap; primero reproduce los casos de null y empty-string del fragmento del issue y sigue cómo cada fuente llega a la generación de mappings. Se considera terminado cuando ambas entradas tienen un comportamiento intencionado y coherente, sin perder mappings silenciosamente ni fallar más adelante con un error de invalid-mapping.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

When source set to null, mapping does not generated.
When source set to empty string there is an error during mapping calculation (not during SourceNode creation as expected if empty string is forbidden).

This code snippet demonstrates both problems: https://runkit.com/embed/47lduu6k2173

Source code of the snippet:

let SourceNode = require('source-map').SourceNode;

function test(source) {
  let node = new SourceNode(
    null,
    null,
    source,
    [
      'prefix',
      new SourceNode(1, 0, source, 'code'),
      'suffix',
    ]
  );
  let { code, map } = node.toStringWithSourceMap();
  console.log(map.toJSON(), code);
}
// {version: 3, sources: ["source"], names: [], mappings: "MAAA,I"}
test("source");// OK
// {version: 3, sources: [], names: [], mappings: ""}
test(null);    // Empty mapping
// Error: Invalid mapping: {"generated":{"line":1,"column":6},"source":"","original":{"line":1,"column":0},"name":null}
test("");      // Error
Lenguaje dominante
JavaScript
Estrellas
3.7k
Forks
370
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de mozilla/source-map

Todos los issues de mozilla/source-map

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.