- 
                Notifications
    You must be signed in to change notification settings 
- Fork 472
Bugfixes for source maps #2216
Bugfixes for source maps #2216
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI, this is a decent resource beyond the spec https://github.com/mozilla/source-map
        
          
                src/parser.cpp
              
                Outdated
          
        
      | { | ||
| lex< static_value >(); | ||
| Token str(lexed); | ||
| // static valuse always have trailing white- | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
valuse -> values
        
          
                src/ast.cpp
              
                Outdated
          
        
      | // keep old parser state | ||
| s->pstate(pstate()); | ||
| // append new tail | ||
| s->append(ctx, ss); | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indent
e7a3b7e    to
    8e80295      
    Compare
  
    | thx @nschonni. Fixed the formatting and typo! | 
8e80295    to
    2137f8c      
    Compare
  
    7f51e3f    to
    51ff53f      
    Compare
  
    | Thank you @mgreter. Please try to keep PRs focused. This PR is address 4 different issues of differing merit. I would prefer not merge the makefile change. The existing order is obvious and self documenting. | 
| Hmm, f8d9dec saves me 1 minute compile time. But whatever ... | 
| I understand as a power user this is of benefit to us. My reasoning is 
 Given the opportunity I'd prefer to optimise for making life easier for new contributors. | 
| @xzyfer the order is not really important as long as all files are listed. If a file is missing it will fail in CI as functions will be missing in the executable. I don't see any danger at all here! | 
| And it was as unclear where to add files before as it is now. The order is now even a bit more logic as I grouped the related stuff together where possible. I just needed to move the bigger files more to the top, so I don't end up with one as the last compile unit. | 
| Currently they're listed alphabetically so it is no brainer where a new file belongs in the list. I'm happy to comprise. Maintain alphabetical ordering, but move the problematic large files to the top, preferably with a comment for why it's out of order. | 
This should give slightly faster build times when compiling in parallel with many threads. bigger files (in terms of compile time) tend to go to the top, so they don't end up as the last compile unit when compiling in parallel. But we also want to mix them a little too avoid heavy RAM usage peaks. Other than that the order is arbitrary.
- Fixes parent selector mappings - Fixes media block/query mappings - Fixes variable assignment mappings - Fixes range over binary expressions - Don't include semicolon for statics
51ff53f    to
    de83d30      
    Compare
  
    | I'm ok with adding a comment, but the order is the best as it is now. It is a compromise between having the biggest compile units on top without generating a too heavy memory peak (it's distributed more evenly). | 
| This is good. Thank you. | 
Fixes #2204
Replaces #2208
I have already deployed the changes to my source map inspector!
Parent selector mappings
SourceMap Inspector (click [inspect] and use keyboard arrows to navigate)
Media Block expressions
SourceMap Inspector (click [inspect] and use keyboard arrows to navigate)
Binary expressions
SourceMap Inspector (click [inspect] and use keyboard arrows to navigate)
Static values
SourceMap Inspector (click [inspect] and use keyboard arrows to navigate)
Variables (last assignment)
SourceMap Inspector (click [inspect] and use keyboard arrows to navigate)