{"id":15591383,"url":"https://github.com/szastupov/zipread","last_synced_at":"2025-04-28T10:47:16.110Z","repository":{"id":32198398,"uuid":"35772018","full_name":"szastupov/zipread","owner":"szastupov","description":"Fast and memory efficient ZIP reader for Node.js","archived":false,"fork":false,"pushed_at":"2016-11-23T09:17:53.000Z","size":45,"stargazers_count":12,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-18T15:16:42.558Z","etag":null,"topics":["node","zip","zipimport","zipread"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/szastupov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-17T15:46:59.000Z","updated_at":"2021-07-12T11:57:42.000Z","dependencies_parsed_at":"2022-07-26T04:18:42.528Z","dependency_job_id":null,"html_url":"https://github.com/szastupov/zipread","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szastupov%2Fzipread","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szastupov%2Fzipread/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szastupov%2Fzipread/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szastupov%2Fzipread/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/szastupov","download_url":"https://codeload.github.com/szastupov/zipread/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251298198,"owners_count":21566971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["node","zip","zipimport","zipread"],"created_at":"2024-10-02T23:41:09.466Z","updated_at":"2025-04-28T10:47:16.065Z","avatar_url":"https://github.com/szastupov.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"zipread\n=======\n\n[![NPM version][npm-image]][npm-link]\n[![Build status][travis-image]][travis-link]\n[![Build status][appveyor-image]][appveyor-link]\n\n**zipread** is a ZIP file reader designed for speed and memory efficiency. Unlike other modules, it doesn't read the whole file into memory and uses native ZLIB functions for decompression.\n\n```javascript\nvar zipread = require(\"zipread\");\nvar zip = zipread(\"file.zip\");\n\nvar contents = zip.readFileSync(\"some_file.txt\").toString();\n\n// Or for async version:\nzip.readFile(\"some_file.txt\", function (err, buf) {\n\tcontents = buf.toString();\n});\n\n```\n\nzipread/hooks\n-------------\n\n**zipread** also provides a set of **fs** hooks to require node modules directly from ZIP.\n\nCreate a modules archive:\n```shell\n$ (cd node_modules \u0026\u0026 zip -r ../mods.zip *)\n$ rm -r node_modules\n```\n\nRequire a module explicitly:\n```javascript\nrequire(\"zipread/hooks\"); // Install hooks\nrequire(\"./mods.zip/request\");\t// Load 'request' from mods.zip\n```\n\nOr implicitly by setting **NODE_PATH**:\n```shell\n$ NODE_PATH=./mods.zip node ./yourapp.js\n```\n\nIn this case, you still have to require the hook but the rest can be untouched:\n```javascript\nrequire(\"zipread/hooks\");\nrequire(\"request\");\n```\n\nA good use case for this would be shipping desktop applications. \nFor example, Windows doesn't like long paths and putting your huge node_modules\ndirectory into a single archive should solve this problem.\n\n\n[npm-image]: https://img.shields.io/npm/v/zipread.svg?style=flat\n[npm-link]: https://npmjs.org/package/zipread\n[travis-image]: https://img.shields.io/travis/szastupov/zipread.svg?style=flat\n[travis-link]: https://travis-ci.org/szastupov/zipread\n[appveyor-image]: https://img.shields.io/appveyor/ci/szastupov/zipread.svg?style=flat\n[appveyor-link]: https://ci.appveyor.com/project/szastupov/zipread","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszastupov%2Fzipread","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fszastupov%2Fzipread","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszastupov%2Fzipread/lists"}