Skip to content

Build to ES module / enable tree shaking #110

Open
@egasimus

Description

@egasimus

The current dist/browser.js is a monolithic minified CJS bundle.

It is my understanding that this format is only preferable if including SecretJS through a <script> tag -- but when using most forms of frontend build systems (Webpack, etc.) it prevents dead code elimination, considerably inflating the final bundle downloaded by the browser. In my case, [email protected] (and the similarly packaged [email protected]) account for nearly half the total bundle size - and we use just a few methods from the the bank and compute APIs...

I suggest it would be beneficial if the browser field in package.json pointed to an unminified and/or sourcemapped ESM build instead. That way the library users could do their own optimization.

Screenshot from 2022-10-11 03-05-39

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions