easyblockshq / easyblocks

The open-source visual builder framework.
https://easyblocks.io
GNU Affero General Public License v3.0
296 stars 40 forks source link

Defect: Complete crypto-js included into the bundle along with @easyblocks/core #67

Closed chudesno closed 1 month ago

chudesno commented 1 month ago

Description

Complete crypto-js included into the bundle along with @easyblocks/core

Commit 7b9836b304e885c1d4251deabc03105c9dad4035 forces a whole crypto-js lib to be included with @easyblocks/core. We bundle with rollup and it cannot tree-shake redundant code out of it. That adds quite a lot to the final bundle - 59KB GZip'ed.


In general crypto-js project is discontinued. Would it be possible to rely on browser crypto API instead?

chudesno commented 1 month ago

Okay, native crypto is async and may be not feasible in otherwise sync context. I would try using md5 instead.

r00dY commented 1 month ago

Hi @chudesno, you're right, it should be an easy fix. Should find some time today / tomorrow to push it.

r00dY commented 1 month ago

@chudesno actually I think that it should be tree-shakable, curious why it doesn't work. But also don't think it's worth debugging too much, I'll soon merge a PR with quite a big refactor (https://github.com/easyblockshq/easyblocks/pull/66) so I'll look into it in the process.

In the meantime, changed crypto-js to js-xxhash: https://github.com/easyblockshq/easyblocks/pull/69, it's 1.5KB, should be good for now.

Released in 1.0.10

chudesno commented 1 month ago

Looks awesome! Many thanks!