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

Patches #30

Merged
merged 26 commits into from Dec 25, 2015
Merged

Patches #30

merged 26 commits into from Dec 25, 2015

Conversation

Rich-Harris
Copy link
Owner

Follow-up to #26. This is a complete rethink of how magic-string works – rather than progressively overwriting a string with new content, and keeping track of mappings between the original and the result, this version accumulates edits non-destructively.

This allows us to loosen some of the restrictions on where edits (and slices) can be made, and paves the way for new functionality such as that sought in #26 and (possibly) #14. It may also be more performant.

Breaking changes: magicString.locate(...) and magicString.locateOrigin(...) are deprecated. These methods were used internally but are now no longer needed – if an external consumer of the library is using those methods it's probably for a bad reason (such as magic-string not having other methods that are necessary). Having said that, if it turns out they do have valid uses, we could reimplement them.

  • compare performance characteristics of this versus current version
  • update docs
  • test out with other libraries that use magic-string, to ensure they continue to work
  • some of the code is a bit woolly – try and tidy it up

Rich-Harris added a commit that referenced this pull request Dec 25, 2015
@Rich-Harris Rich-Harris merged commit 27404ac into master Dec 25, 2015
@Rich-Harris Rich-Harris deleted the patches branch December 25, 2015 00:42
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.

None yet

1 participant