Skip to content
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(node): implement zlib #1199

Merged
merged 4 commits into from
Feb 10, 2025
Merged

feat(node): implement zlib #1199

merged 4 commits into from
Feb 10, 2025

Conversation

sgammon
Copy link
Member

@sgammon sgammon commented Feb 5, 2025

Ready for review Powered by Pull Request Badge

Summary

Initial implementation of node:zlib; implementation for various bits and pieces of node:os.

PR Tree

In this PR

  • chore: version updates
    • fix: jpms attic
    • chore: update jpms-enabled guava
    • chore: update dokka
  • feat(node): finish os module
    • Implement getPriority
    • Implement setPriority
    • Implement process.userInfo
    • Implement os.constants
  • feat(node): implement zlib
    • ZlibOptions
    • createInflate / createDeflate
    • createGzip / createGunzip
    • createBrotliCompress / createBrotliDecompress
    • constants
    • gunzipSync
    • gzipSync
    • inflateSync
    • deflateSync
    • BrotliOptions
    • gunzip
    • gzip
    • inflate
    • deflate
    • brotliCompressSync
    • brotliDecompressSync
    • brotliCompress
    • brotliDecompress

@sgammon sgammon added feature Large PRs or issues with full-blown features 🚧 WIP Works-in-progress. Blocks merge lang:javascript Issues relating to JavaScript api:node Node API and stdlib labels Feb 5, 2025
@sgammon sgammon added this to the Release R7: Beta 1 milestone Feb 5, 2025
@sgammon sgammon self-assigned this Feb 5, 2025
@sgammon sgammon force-pushed the feat/zlib-os-surface branch 2 times, most recently from 0fb4496 to 81a82c5 Compare February 5, 2025 06:34
This was linked to issues Feb 5, 2025
@sgammon sgammon force-pushed the feat/zlib-os-surface branch from 81a82c5 to 5c7c32f Compare February 5, 2025 07:15
Copy link

codecov bot commented Feb 5, 2025

Codecov Report

Attention: Patch coverage is 59.67247% with 394 lines in your changes missing coverage. Please review.

Project coverage is 52.89%. Comparing base (1995e2b) to head (e468395).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...rc/main/kotlin/elide/runtime/node/zlib/NodeZlib.kt 74.83% 111 Missing and 5 partials ⚠️
...kotlin/elide/runtime/intrinsics/js/node/ZlibAPI.kt 48.93% 39 Missing and 9 partials ⚠️
...m/src/main/kotlin/elide/runtime/node/os/Signals.kt 0.00% 43 Missing ⚠️
...ide/runtime/intrinsics/js/node/zlib/ZlibOptions.kt 28.07% 29 Missing and 12 partials ⚠️
...runtime/intrinsics/js/node/zlib/AbstractOptions.kt 0.00% 38 Missing ⚠️
...ain/kotlin/elide/runtime/node/stream/NodeStream.kt 16.66% 25 Missing ⚠️
...e/runtime/intrinsics/js/node/zlib/BrotliOptions.kt 30.00% 20 Missing and 1 partial ⚠️
...ain/kotlin/elide/runtime/node/os/PosixConstants.kt 88.70% 12 Missing and 2 partials ⚠️
...ide/runtime/intrinsics/js/node/zlib/Compressors.kt 0.00% 12 Missing ⚠️
...otlin/elide/runtime/node/os/NodeOperatingSystem.kt 74.35% 5 Missing and 5 partials ⚠️
... and 7 more
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1199      +/-   ##
==========================================
+ Coverage   52.46%   52.89%   +0.43%     
==========================================
  Files         414      425      +11     
  Lines       16183    17142     +959     
  Branches     2930     3101     +171     
==========================================
+ Hits         8490     9068     +578     
- Misses       6710     7059     +349     
- Partials      983     1015      +32     
Flag Coverage Δ
jvm 52.89% <59.67%> (+0.43%) ⬆️
lib 52.89% <59.67%> (+0.43%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...e/runtime/intrinsics/js/node/OperatingSystemAPI.kt 66.66% <ø> (+33.33%) ⬆️
...untime/intrinsics/js/node/buffer/BufferInstance.kt 75.75% <ø> (ø)
...de/runtime/node/childProcess/ChildProcessNative.kt 37.50% <ø> (ø)
...lide/runtime/node/childProcess/NodeChildProcess.kt 65.47% <100.00%> (ø)
...in/elide/runtime/intrinsics/js/node/os/UserInfo.kt 27.27% <66.66%> (ø)
...ain/kotlin/dev/elide/cli/bridge/CliNativeBridge.kt 0.00% <0.00%> (ø)
...ain/kotlin/elide/runtime/node/fs/NodeFilesystem.kt 65.56% <0.00%> (-0.51%) ⬇️
.../src/main/kotlin/elide/runtime/node/os/Priority.kt 86.36% <86.36%> (ø)
...ain/kotlin/elide/runtime/node/os/Win32Constants.kt 0.00% <0.00%> (ø)
.../intrinsics/js/node/os/OperatingSystemConstants.kt 0.00% <0.00%> (ø)
... and 11 more

... and 3 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1995e2b...e468395. Read the comment docs.

@sgammon sgammon force-pushed the feat/zlib-os-surface branch from 5c7c32f to e4a5c41 Compare February 9, 2025 23:58
@sgammon sgammon marked this pull request as ready for review February 10, 2025 04:41
@sgammon sgammon removed the 🚧 WIP Works-in-progress. Blocks merge label Feb 10, 2025
- feat(node): implement `zlib` module
- test: add brotli test script
- fix: bytesequence support for fs
- fix: verification metadata for jpms repo
- chore: force brotli to load on native bin load
- chore: update `graalvm` api pins
- chore: update detekt baseline
- chore: update reachability configs
- chore: update to latest gvm tools plugin

Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
Signed-off-by: Sam Gammon <sam@elide.dev>
@sgammon sgammon force-pushed the feat/zlib-os-surface branch from d09bf33 to e468395 Compare February 10, 2025 06:40
@sgammon sgammon merged commit 40dfc07 into main Feb 10, 2025
22 checks passed
@sgammon sgammon deleted the feat/zlib-os-surface branch February 10, 2025 07:18
@sgammon sgammon mentioned this pull request Mar 11, 2025
40 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api:node Node API and stdlib feature Large PRs or issues with full-blown features lang:javascript Issues relating to JavaScript
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Node API: zlib Node API: os
1 participant