ES Modules, but as a non-breaking change #194
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
My hope is that this represents a baby-step towards #150 that might be easier to merge, since it's not a breaking change. All of the files remain in-place, but the main module (
index.js
) also has an ES Modules version.The effect this has is more visible when bundled via Webpack or Rollup, but here's the raw size improvement just looking at minified versions of master VS this PR:
I know this seems like a small value! But for a module downloaded 3M times per month, that's quite a few bytes over the wire. It also helps ensure
classnames
gets concatenated effectively by Webpack and Rollup, which makes the module more likely to be moved into shared code chunks that avoid duplication./cc @JedWatson @Andarist