Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inherit child segments when parent contains only a line marker #120

Closed
wants to merge 12 commits into from

Conversation

jridgewell
Copy link
Collaborator

Imagine you edit a file and generate only a source map for the lines you've edited. Currently, this causes the remapped sourcemap to largely be blank. From the parent-most sourcemap, we find every segment, then find the associated segment in the child map, so on. Because you didn't record the segments for this edited map, we couldn't find the locations in the child map.

The new behavior is to detect "line markers", eg those created by magic-string by default. Line markers are the only segment on a line, and match [0, SOURCE, LINE, 0] (with the first 0 being the "output column", and the last 0 being the "source column"). Both SOURCE and LINE can be any number, SOURCE being the child sourcemap that this line was created from, and LINE being the line in that source.

So our hypothetical edit map can now inherit a full sourcemap, even though they're only including segments for the edited lines.

More context available at #116.

Fixes #116.

@jridgewell jridgewell closed this Nov 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Empty source map causes sources to be unset
1 participant