René's URL Explorer Experiment


Title: Native zip support · Issue #45434 · nodejs/node · GitHub

Open Graph Title: Native zip support · Issue #45434 · nodejs/node

X Title: Native zip support · Issue #45434 · nodejs/node

Description: What is the problem this feature will solve? This issue is to test the water a little bit. Node supports zlib natively, which takes care of the compression / decompression aspect of sharing files, but it doesn’t include any primitive all...

Open Graph Description: What is the problem this feature will solve? This issue is to test the water a little bit. Node supports zlib natively, which takes care of the compression / decompression aspect of sharing files, ...

X Description: What is the problem this feature will solve? This issue is to test the water a little bit. Node supports zlib natively, which takes care of the compression / decompression aspect of sharing files, ...

Opengraph URL: https://github.com/nodejs/node/issues/45434

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Native zip support","articleBody":"### What is the problem this feature will solve?\r\n\r\nThis issue is to test the water a little bit.\r\n\r\nNode supports zlib natively, which takes care of the compression / decompression aspect of sharing files, but it doesn’t include any primitive allowing to manipulate file archives of any kind. It can be implemented in userland (and in a project of mine we’re doing this by compiling the [libzip](https://github.com/nih-at/libzip) to wasm), but it’s significantly slower (both in runtime, boot time, and size).\r\n\r\nBeing able to read file archives is especially useful when coupled with the ESM loaders, since it then becomes possible to implement loading modules straight from packaged vendors - a more performant alternative to bundled packages which doesn’t require to precompile the code and allows distributing it along with non-JS files.\r\n\r\n### What is the feature you are proposing to solve the problem?\r\n\r\nI’d like to investigate whether it’d make sense to implement a **basic** archive manipulation library in Node.js. This isn’t unheard of, multiple interpreters having similar capabilities, sometimes even supporting multiple formats:\r\n\r\n- PHP - https://www.php.net/manual/en/zip.examples.php\r\n- Python - https://docs.python.org/3/library/zipfile.html\r\n- Python (tar) - https://docs.python.org/3/library/tarfile.html\r\n- Perl - https://perldoc.perl.org/IO::Compress::Zip\r\n- Perl (tar) - https://perldoc.perl.org/Archive::Tar\r\n- Go - https://pkg.go.dev/archive/zip@go1.19.3\r\n- Go (tar) - https://pkg.go.dev/archive/tar@go1.19.3\r\n- Java - https://docs.oracle.com/javase/7/docs/api/java/util/zip/package-summary.html\r\n- C# - https://learn.microsoft.com/en-us/dotnet/standard/io/how-to-compress-and-extract-files\r\n\r\nThe API of this **basic** archive library would be to define, but generally we can assume some simple requirements:\r\n\r\n- Read an archive’s directory listing\r\n- Stat files from within an archive\r\n- Read a buffer from an archive\r\n- Add a file to an archive\r\n\r\nI’d be interested to explore an implementation myself.\r\n\r\n### What alternatives have you considered?\r\n\r\n_No response_\r\n\r\n@nodejs/zlib ","author":{"url":"https://github.com/arcanis","@type":"Person","name":"arcanis"},"datePublished":"2022-11-11T21:39:45Z","url":"https://github.com/nodejs/node/issues/45434"}

react-profiling0
react-import-mapreact,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf
route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:99206b0d-6683-19a9-f347-f1b1be3972f2
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id8F9C:254A2:831361:AED3B5:6AED28F9
html-safe-nonce20cc7f4df59e6497c37c4cbebddf227091e8d48993fd2f27d2f0fe35a93623fa
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4RjlDOjI1NEEyOjgzMTM2MTpBRUQzQjU6NkFFRDI4RjkiLCJ2aXNpdG9yX2lkIjoiODg5NjI2OTM2OTQ5NDgwODgyNSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacd6d51af6f0b2406a5502af9f617c096eb8e93af101e8e67d388582beecc1f001
hovercard-subject-tagissue:1446028061
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/nodejs/node/45434/issue_layout
twitter:imagehttps://opengraph.githubassets.com/0364a2d6feedf4a4ab3b5089286ccdb7dd034ec95b399eba7933876539ae7bc0/nodejs/node/issues/45434
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/0364a2d6feedf4a4ab3b5089286ccdb7dd034ec95b399eba7933876539ae7bc0/nodejs/node/issues/45434
og:image:altWhat is the problem this feature will solve? This issue is to test the water a little bit. Node supports zlib natively, which takes care of the compression / decompression aspect of sharing files, ...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamearcanis
hostnamegithub.com
expected-hostnamegithub.com
None9d95365dda0576efe9b71f45807595e396bd0ca9286fba5367a05048e6ddf8f2
turbo-cache-controlno-preview
go-importgithub.com/nodejs/node git https://github.com/nodejs/node.git
octolytics-dimension-user_id9950313
octolytics-dimension-user_loginnodejs
octolytics-dimension-repository_id27193779
octolytics-dimension-repository_nwonodejs/node
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id27193779
octolytics-dimension-repository_network_root_nwonodejs/node
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release98b41fa4b5635ceb45a4c54320fced73817ff290
ui-targetfull
theme-color#1e2327
color-schemelight dark
react-app-nameissues

Links:

Skip to contenthttps://github.com/nodejs/node/issues/45434#start-of-content
https://github.com/
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fissues%2F45434
GitHubRepository hosting, code review, and collaborationhttps://github.com/platform
CopilotAI coding agent for tasks, projects, and automated workhttps://github.com/features/copilot
ActionsCI/CD and automationhttps://github.com/features/actions
Code QualityQuality analysis, fixes, and enforcementhttps://github.com/features/code-quality
CodespacesCloud development environmentshttps://github.com/features/codespaces
Code SecurityVulnerability detection and remediationhttps://github.com/security/advanced-security/code-security
Secret ProtectionSecret scanning and leak preventionhttps://github.com/security/advanced-security/secret-protection
All Featureshttps://github.com/features
Documentationhttps://docs.github.com/en
Traininghttps://learn.github.com/skills
Certificationshttps://learn.github.com/credentials
Build with Copilothttps://github.com/features/ai
Customize Copilothttps://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview
Integrationshttps://github.com/marketplace
Trending reposhttps://github.com/trending
GitHub Sponsorshttps://github.com/open-source/sponsors
Developer articleshttps://github.com/resources/articles
ChangelogYour source for the latest features, improvements, and fixes across GitHub products, all in one place.https://github.blog/changelog/
Enterpriseshttps://github.com/enterprise
Teamhttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
See all industrieshttps://github.com/solutions/industry
Why GitHubhttps://github.com/why-github
Customer Storieshttps://github.com/customer-stories
Business insightshttps://github.com/solutions/executive-insights
Trust Centerhttps://github.com/trust-center
GitHub Advanced SecurityEnterprise-grade code securityhttps://github.com/security/advanced-security
Copilot for businessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Documentationhttps://docs.github.com/en
Resource centerhttps://github.com/resources
Bloghttps://github.blog/
Events & webinarshttps://github.com/resources/events
Community Forumhttps://github.com/orgs/community/discussions
Customer Storieshttps://github.com/customer-stories
Integrationshttps://github.com/marketplace
Customer supporthttps://help.github.com/
Traininghttps://learn.github.com/skills
GitHub Statushttps://www.githubstatus.com/
Abouthttps://github.com/about
Partnershttps://github.com/partners
Changeloghttps://github.blog/changelog/
GitHub UniverseThe event for developers, by developers — talks, workshops, and what’s next for GitHub.https://githubuniverse.com/
Pricinghttps://github.com/pricing
Sign inhttps://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fnodejs%2Fnode%2Fissues%2F45434
Sign uphttps://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=nodejs%2Fnode
Reloadhttps://github.com/nodejs/node/issues/45434
Reloadhttps://github.com/nodejs/node/issues/45434
Reloadhttps://github.com/nodejs/node/issues/45434
nodejshttps://github.com/nodejs
nodehttps://github.com/nodejs/node
Codehttps://github.com/nodejs/node
Issues657 (657)https://github.com/nodejs/node/issues
Pull requests666 (666)https://github.com/nodejs/node/pulls
Actionshttps://github.com/nodejs/node/actions
Projectshttps://github.com/nodejs/node/projects
Security and qualityhttps://github.com/nodejs/node/security
Insightshttps://github.com/nodejs/node/pulse
https://github.com/nodejs/node
New issuehttps://github.com/login?return_to=https://github.com/nodejs/node/issues/45434
New issuehttps://github.com/login?return_to=https://github.com/nodejs/node/issues/45434
Native zip supporthttps://github.com/nodejs/node/issues/45434#top
feature requestIssues requesting new Node.js features.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22feature%20request%22
never-staleIssues and PRs exempt from automated stale handling.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22never-stale%22
zlibIssues and PRs related to the zlib module and its compression dependencies.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22zlib%22
https://github.com/arcanis
arcanishttps://github.com/arcanis
on Nov 11, 2022https://github.com/nodejs/node/issues/45434#issue-1446028061
libziphttps://github.com/nih-at/libzip
https://www.php.net/manual/en/zip.examples.phphttps://www.php.net/manual/en/zip.examples.php
https://docs.python.org/3/library/zipfile.htmlhttps://docs.python.org/3/library/zipfile.html
https://docs.python.org/3/library/tarfile.htmlhttps://docs.python.org/3/library/tarfile.html
https://perldoc.perl.org/IO::Compress::Ziphttps://perldoc.perl.org/IO::Compress::Zip
https://perldoc.perl.org/Archive::Tarhttps://perldoc.perl.org/Archive::Tar
https://pkg.go.dev/archive/zip@go1.19.3https://pkg.go.dev/archive/zip@go1.19.3
https://pkg.go.dev/archive/tar@go1.19.3https://pkg.go.dev/archive/tar@go1.19.3
https://docs.oracle.com/javase/7/docs/api/java/util/zip/package-summary.htmlhttps://docs.oracle.com/javase/7/docs/api/java/util/zip/package-summary.html
https://learn.microsoft.com/en-us/dotnet/standard/io/how-to-compress-and-extract-fileshttps://learn.microsoft.com/en-us/dotnet/standard/io/how-to-compress-and-extract-files
Nexthttps://github.com/nodejs/node/issues/45434?timeline_page=1
arcanishttps://github.com/arcanis
feature requestIssues requesting new Node.js features.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22feature%20request%22
on Nov 11, 2022https://github.com/nodejs/node/issues/45434#event-7795131646
https://github.com/bnoordhuis
bnoordhuishttps://github.com/bnoordhuis
on Nov 12, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1312448729
https://github.com/arcanis
arcanishttps://github.com/arcanis
on Nov 12, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1312472626
libziphttps://libzip.org/documentation/zip_file_set_encryption.html#DESCRIPTION
https://github.com/GeoffreyBooth
GeoffreyBoothhttps://github.com/GeoffreyBooth
on Nov 22, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1324022135
GeoffreyBoothhttps://github.com/GeoffreyBooth
zlibIssues and PRs related to the zlib module and its compression dependencies.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22zlib%22
on Nov 22, 2022https://github.com/nodejs/node/issues/45434#event-7870227449
https://github.com/richajak
richajakhttps://github.com/richajak
on Nov 23, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1324787378
https://packages.debian.org/bullseye/ziphttps://github.com/nodejs/node/issues/url
https://exploringjs.com/nodejs-shell-scripting/ch_nodejs-child-process.html#synchronous-helper-functions-based-on-spawnasynchttps://github.com/nodejs/node/issues/url
https://github.com/MoLow
MoLowhttps://github.com/MoLow
on Nov 23, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1324849038
https://github.com/arcanis
arcanishttps://github.com/arcanis
on Nov 28, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1328387949
#45651https://github.com/nodejs/node/pull/45651
https://github.com/mscdex
mscdexhttps://github.com/mscdex
on Nov 28, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1328416312
https://github.com/arcanis
arcanishttps://github.com/arcanis
on Nov 28, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1328809932
recentlyhttps://security.snyk.io/vuln/SNYK-ORACLE8-NPM-2604415
reportedhttps://hackerone.com/bugs?report_id=730239
node-seahttps://github.com/arcanis/node-sea#node-sea
blocks the shutdownhttps://github.com/nodejs/node/issues/36616
https://github.com/tniessen
tniessenhttps://github.com/tniessen
on Nov 28, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1328926068
@mscdexhttps://github.com/mscdex
https://github.com/arcanis
arcanishttps://github.com/arcanis
on Nov 28, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1328948298
https://github.com/GeoffreyBooth
GeoffreyBoothhttps://github.com/GeoffreyBooth
on Nov 28, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1329885454
https://github.com/mscdex
mscdexhttps://github.com/mscdex
on Nov 29, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1329938823
https://github.com/mscdex
mscdexhttps://github.com/mscdex
on Nov 29, 2022https://github.com/nodejs/node/issues/45434#issuecomment-1329943544
https://github.com/apps/github-actions
github-actionshttps://github.com/apps/github-actions
on Dec 27, 2024https://github.com/nodejs/node/issues/45434#issuecomment-2563217252
GitHub Actionshttps://help.github.com/en/actions
never-stalehttps://github.com/nodejs/node/labels/never-stale
feature request management documenthttps://github.com/nodejs/node/blob/HEAD/doc/contributing/feature-request-management.md
github-actionshttps://github.com/apps/github-actions
staleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22stale%22
on Dec 27, 2024https://github.com/nodejs/node/issues/45434#event-15768990307
https://github.com/Neustradamus
Neustradamushttps://github.com/Neustradamus
on Dec 27, 2024https://github.com/nodejs/node/issues/45434#issuecomment-2563232969
GeoffreyBoothhttps://github.com/GeoffreyBooth
never-staleIssues and PRs exempt from automated stale handling.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22never-stale%22
staleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22stale%22
on Dec 27, 2024https://github.com/nodejs/node/issues/45434#event-15769805142
https://github.com/trivikr
trivikrhttps://github.com/trivikr
on May 4, 2025https://github.com/nodejs/node/issues/45434#issuecomment-2848977231
v23.8.0https://nodejs.org/en/blog/release/v23.8.0
https://github.com/zdm
zdmhttps://github.com/zdm
on May 4, 2025https://github.com/nodejs/node/issues/45434#issuecomment-2848978240
https://github.com/tniessen
tniessenhttps://github.com/tniessen
on May 4, 2025https://github.com/nodejs/node/issues/45434#issuecomment-2849092577
v23.8.0https://nodejs.org/en/blog/release/v23.8.0
#45434 (comment)https://github.com/nodejs/node/issues/45434#issuecomment-1331193990
https://github.com/silverwind
silverwindhttps://github.com/silverwind
on Aug 11, 2025https://github.com/nodejs/node/issues/45434#issuecomment-3175951950
https://github.com/jlarmstrongiv
jlarmstrongivhttps://github.com/jlarmstrongiv
on Nov 3, 2025https://github.com/nodejs/node/issues/45434#issuecomment-3478740572
https://www.npmjs.com/package/@zip.js/zip.jshttps://www.npmjs.com/package/@zip.js/zip.js
https://github.com/MrJithil
MrJithilhttps://github.com/MrJithil
on Jan 30, 2026https://github.com/nodejs/node/issues/45434#issuecomment-3822861680
https://github.com/trivikr
trivikrhttps://github.com/trivikr
on Jul 16, 2026https://github.com/nodejs/node/issues/45434#issuecomment-4988203420
#64339https://github.com/nodejs/node/pull/64339
https://github.com/jasnell
jasnellhttps://github.com/jasnell
on Sep 6, 2026https://github.com/nodejs/node/issues/45434#issuecomment-5560237799
jasnellhttps://github.com/jasnell
completedhttps://github.com/nodejs/node/issues?q=is%3Aissue%20state%3Aclosed%20archived%3Afalse%20reason%3Acompleted
on Sep 6, 2026https://github.com/nodejs/node/issues/45434#event-30644877511
https://github.com/Neustradamus
Neustradamushttps://github.com/Neustradamus
on Sep 23, 2026https://github.com/nodejs/node/issues/45434#issuecomment-5791295255
@pipobscurehttps://github.com/pipobscure
zlib: add ZIP archive support to zlib (ZipFile,ZipBuffer,ZipEntry) #64339https://github.com/nodejs/node/pull/64339
Sign up for freehttps://github.com/signup?return_to=https://github.com/nodejs/node/issues/45434
Sign in to commenthttps://github.com/login?return_to=https://github.com/nodejs/node/issues/45434
feature requestIssues requesting new Node.js features.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22feature%20request%22
never-staleIssues and PRs exempt from automated stale handling.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22never-stale%22
zlibIssues and PRs related to the zlib module and its compression dependencies.https://github.com/nodejs/node/issues?q=state%3Aopen%20label%3A%22zlib%22
Node.js feature requestshttps://github.com/orgs/nodejs/projects/4
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.