bigbite / macy.js

http://macyjs.com/
MIT License
1.3k stars 156 forks source link

Create es-module bundle #43

Open timrosskamp opened 6 years ago

timrosskamp commented 6 years ago

Hi,

I recently used macy.js in a project and I have to say I really like it.

In that project I was using rollup.js to bundle all my scripts together. Rollup.js works best when everything is exported in the new standardised es-module pattern. Otherwise you always get some unnecessary overhead in your bundle.

That's why I created this pull request where I updated the version of rollup, to be able to use the newest configuration options. Then I created a separate bundle called dist/macy.es.js with is then declared in the package.json via the fields module and jsnext:main. That way modern module bundlers like rollup an webpack are able to use this specific bundle instead and can optimise the final bundle better.

This doesn't touch the original dist/macy.js and gives a benefit for every rollup/webpack user. I tested it in my project and everything was working fine.

What do you guys think?