Explorateur de source maps

Collez le JSON de la source map puis cherchez une position du code généré. Le résultat indique le fichier, la ligne et la colonne d’origine.

Fonctionne localement dans votre navigateur
Tout dans cet outil est traité dans ce navigateur. KivTools ne télécharge pas, ne stocke pas et n’appelle aucune API tierce avec votre entrée.
Carte source JSONCollez une source map v3 standard. Recherchez une ligne et une colonne générées sans téléverser les fichiers sources.
Sources
Rechercher

Comment rechercher une position générée dans une source map

Collez une source map de version 3 puis lancez Analyser localement. La chaîne mappings est décodée en base64 VLQ dans la page : rien n’est téléchargé, le fichier généré n’est pas nécessaire et la source map ne quitte pas le navigateur.

Le rapport affiche version, file, sourceRoot, le nombre de sources, de names et de mappings décodés, une tuile par compteur et une ligne par fichier source avec la taille du sourcesContent intégré.

  1. Collez la source map dans le champ JSON de source map ou chargez un exemple : une map de cinq segments pour src/index.ts, avec un fichier intégré et le nom « answer ».
  2. Cliquez sur Analyser localement. Le bouton d’exemple analyse directement l’échantillon.
  3. Vérifiez les trois tuiles : combien de sources et de noms la map déclare, et combien de mappings la chaîne VLQ décode.
  4. Saisissez une ligne générée (à partir de 1) et une colonne générée (à partir de 0) puis cliquez sur Rechercher : le résultat donne le fichier d’origine, sa ligne, sa colonne et le nom quand le segment en porte un.
  5. Parcourez le tableau Sources : une ligne par fichier, la colonne Contenu donne la taille du texte intégré en octets ou « non intégré » sans sourcesContent. Copier place le JSON du rapport dans le presse-papiers.

Ce que le rapport compte et ce que la recherche renvoie

Ce que les mappings décodent

Chaque ligne de la chaîne mappings est une liste de segments base64 VLQ séparés par des virgules, et les valeurs d’un segment sont des deltas : la colonne générée repart à zéro à chaque ligne, alors que la source, la ligne, la colonne d’origine et le nom s’accumulent sur tout le fichier.

Un segment qui ne porte que la colonne générée n’a pas de position d’origine : il avance la colonne et n’entre pas dans le compteur. Le reste est affiché tel quel, le nombre du rapport correspond donc aux segments qui portent réellement une position.

Ce que renvoie la recherche

La recherche retient la correspondance dont la colonne générée est la plus grande sans dépasser la colonne saisie, sur la ligne saisie. C’est le segment que les outils de développement du navigateur utiliseraient pour cette position.

Les lignes commencent à 1 et les colonnes à 0, comme dans la console du navigateur et dans la chaîne mappings elle-même. Si la ligne n’a aucun segment à cette colonne ou avant, l’outil le dit au lieu de chercher sur une ligne voisine.

Limites

L’explorateur lit uniquement le texte de la source map. Il ne télécharge ni le fichier généré ni les fichiers d’origine, ne vérifie pas que la map correspond à un build et ne reconstruit pas de fichier à partir de sourcesContent : il affiche les chaînes intégrées dans la map.

Les index maps (avec sections) ne sont pas décodées : collez l’une des cartes de section. sourceRoot est affiché mais n’est pas préfixé aux lignes, et une map dont les mappings sont vides ou dont le VLQ est malformé est signalée plutôt que réparée.

Outils récents :