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

Wire up source maps from transpiled modules to the bundle source map #1011

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

prantlf
Copy link

@prantlf prantlf commented Jan 3, 2022

Attempts to fix #470.

If a single module source contains an inline source map, this source map will be wired up to the source map of the output bundle, so that the original source code will be available for debugging. Works for both optimisation settings - none and uglify2.

  • Depend on source-map-url to detect and remove a source map.
  • Depend on source-map -resolve to extract and decode a source map.
  • Ensure a semicolon at the end of a single module in front of the inline source map.
  • If a plugin transpiles a script, do not add the transpiled script with the name
    ! to the source maps; add the original source under the original name.
  • Remove the code sections enclosed by excluding pragmas before the single module is
    appended to the output bundle to ensure proper offset for the line shifts.
  • Do not wrap single modules with extra leading and trailing line breaks. Put an extra
    line break between a pair of single modules when appending the to the output bundle.
  • If a single module contains an inline source map, apply it to the offsetting source
    map, when appending the module to the output bundle.

…e map

* Depend on source-map-url to detect and remove a source map.
* Depend on source-map -resolve to extract and decode a source map.
* Ensure a semicolon at the end of a single module in front of the inline source map.
* If a plugin transpiles a script, do not add the transpiled script with the name
  <path>!<plugin> to the source maps; add the original source under the original name.
* Remove the code sections enclosed by excluding pragmas before the single module is
  appended to the output bundle to ensure proper offset for the line shifts.
* Do not wrap single modules with extra leading and trailing line breaks. Put an extra
  line break between a pair of single modules when appending the to the output bundle.
* If a single module contains an inline source map, apply it to the offsetting source
  map, when appending the module to the output bundle.
Use one code for wiring up source maps from uglified and not uglified
modules.
* Use an absolute path instead of a path relative to baseUrl. The source map package understands the relative paths relative to the process current directory.
* The name of the synchronous file-reading method in r.js file system facade is readFile.
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.

Wire up source maps from transpiled languages
1 participant