New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feat] Adds support for large assets (> 100 MB) #3194
Conversation
@lukastaegert I had to fix an additional problem(?) after running all tests. In line Line 867 in d9c0a66
the format is directly added to the hash. Typescript however assumes that it can still be Seeing many other lines which simply cast it to Line 1154 in d9c0a66
I assume the the format being |
Codecov Report
@@ Coverage Diff @@
## master #3194 +/- ##
==========================================
+ Coverage 90.19% 90.19% +<.01%
==========================================
Files 165 167 +2
Lines 5905 5907 +2
Branches 1797 1797
==========================================
+ Hits 5326 5328 +2
Misses 350 350
Partials 229 229
Continue to review full report at Codecov.
|
There seems to be a problem with After fixing the issue with
I am not sure what changed in V8 or For now, NodeJS builds are stil capable to support large asset files by using the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice, thanks a lot! Only one minor thing I would change.
Changed it to a paramter-less function :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, that was quick! Thanks a lot!
This PR contains:
Are tests included?
I didn't add any new tests, but expect the existing ones to be sufficient.
Breaking Changes?
List any relevant issue numbers:
Description
Replaces
hash.js
withcrypto
(for NodeJS builds) andasmcrypto.js
for browser builds to support assets with >100 MB.After some benchmarks (see linked issue),
crypto
was chosen for NodeJS builds due to its (currently) superior performance.asmcrypto.js
was then chosen instead of the Web Crypto API, as the digest function inside SubtleCrypto is async, while most of rollup is synchronous. Rewriting rollup for this seemed to be an overkill.