ulid / javascript

Universally Unique Lexicographically Sortable Identifier
MIT License
3.04k stars 107 forks source link

Add rollup PURE marker to improve treeshaking #75

Open PavloKovalov opened 4 years ago

PavloKovalov commented 4 years ago

In order to improve treeshanking when building with rollup I've added /*#__PURE__*/ marker.

Main idea is to avoid line export const ulid = factory(); in final bundle. When imported it's been parsed and factory-method raises exception "secure crypto unusable, insecure Math.random not allowed" in some environment, such as my graalvm , which doesn't have any crypto builtins or limited in loading 'crypto' package.

That's how the bundles looks like:

Bundle before with export const ulid = factory()

Bundle after without call factory()

PavloKovalov commented 4 years ago

🆙 @alizain please, review