{"id":19449139,"url":"https://github.com/lafkpages/fast-asar","last_synced_at":"2026-04-19T15:31:10.836Z","repository":{"id":200160194,"uuid":"702006550","full_name":"lafkpages/fast-asar","owner":"lafkpages","description":"A faster implementation of Electron's ASAR archive format.","archived":false,"fork":false,"pushed_at":"2023-10-30T18:06:28.000Z","size":216,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T09:18:29.464Z","etag":null,"topics":["asar","electron","fast"],"latest_commit_sha":null,"homepage":"https://lafkpages.github.io/fast-asar/","language":"TypeScript","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/lafkpages.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-08T08:12:41.000Z","updated_at":"2023-11-09T18:22:11.000Z","dependencies_parsed_at":"2023-10-26T09:33:55.427Z","dependency_job_id":"5b8a81ce-78f5-4b69-9a1b-fbc977d2d0d0","html_url":"https://github.com/lafkpages/fast-asar","commit_stats":null,"previous_names":["lafkpages/fast-asar"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/lafkpages/fast-asar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lafkpages%2Ffast-asar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lafkpages%2Ffast-asar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lafkpages%2Ffast-asar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lafkpages%2Ffast-asar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lafkpages","download_url":"https://codeload.github.com/lafkpages/fast-asar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lafkpages%2Ffast-asar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32011901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["asar","electron","fast"],"created_at":"2024-11-10T16:30:12.148Z","updated_at":"2026-04-19T15:31:10.813Z","avatar_url":"https://github.com/lafkpages.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fast-asar\n\nA faster implementation of Electron's ASAR archive format.\n\nThis is both a library and a CLI tool.\n\n## Installation\n\nYou can install `fast-asar` from NPM (or your preferred package manager):\n\n```sh\nnpm install fast-asar\n```\n\n## Usage\n\n### CLI\n\nYou can use the CLI tool to extract and create ASAR archives.\n\n```sh\nnpx fast-asar help\n```\n\n### Library\n\nThe library exports an `Asar` class, which can be used to read and write ASAR archives.\n\nFor example, to extract an ASAR archive to a directory:\n\n```ts\nimport { Asar } from \"fast-asar\";\nimport { readFile } from \"fs/promises\";\n\nconst asarBytes = await readFile(\"./app.asar\");\n\nconst asar = new Asar(asarBytes);\n\nawait asar.extract(\"./app-extracted\");\n```\n\nFor more information, see the [API documentation](https://lafkpages.github.io/fast-asar/).\n\n## Compatibility\n\nThis library can be run with [Node.js](https://nodejs.org) and [Bun](https://bun.sh).\n\nBrowser support is planned.\n\n## Benchmarks\n\nThe following benchmarks were run with [hyperfine](https://github.com/sharkdp/hyperfine) on a 2016 MacBook Pro with a 2.9 GHz Quad-Core Intel Core i7 processor and 16 GB of RAM.\n\n### Extract files\n\nThis benchmark extracts all files in the Replit Desktop app's `app.asar` file.\n\n| Command                                                                  |     Mean [ms] | Min [ms] | Max [ms] |    Relative |\n| :----------------------------------------------------------------------- | ------------: | -------: | -------: | ----------: |\n| `./node_modules/.bin/asar extract test/ignore/app.asar test/ignore/app1` |  670.0 ± 52.6 |    614.6 |    739.4 | 1.54 ± 0.41 |\n| `bun ./src/cli/index.ts extract test/ignore/app.asar test/ignore/app2`   | 435.1 ± 110.9 |    373.7 |    632.3 |        1.00 |\n\nSummary: `fast-asar` is 1.54 ± 0.41 times faster than `@electron/asar`.\n\nTo run this benchmark yourself, run `bun run benchmark:extract`.\n\n### Pack directories\n\nThis benchmark packs the `src` directory into an ASAR archive at `test/ignore/src.asar`.\n\n| Command                                                  |    Mean [ms] | Min [ms] | Max [ms] |    Relative |\n| :------------------------------------------------------- | -----------: | -------: | -------: | ----------: |\n| `./node_modules/.bin/asar pack src test/ignore/src.asar` | 154.7 ± 45.3 |    123.4 |    231.7 | 1.93 ± 0.57 |\n| `bun ./src/cli/index.ts pack src test/ignore/src.asar`   |   80.0 ± 3.1 |     77.6 |     85.4 |        1.00 |\n\nSummary: `fast-asar` is 1.93 ± 0.57 times faster than `@electron/asar`.\n\nTo run this benchmark yourself, run `bun run benchmark:pack`.\n\n### List files\n\nThis benchmark lists all files in the Replit Desktop app's `app.asar` file.\n\n| Command                                              |    Mean [ms] | Min [ms] | Max [ms] |    Relative |\n| :--------------------------------------------------- | -----------: | -------: | -------: | ----------: |\n| `./node_modules/.bin/asar list test/ignore/app.asar` | 136.0 ± 31.3 |    117.5 |    191.5 | 1.28 ± 0.30 |\n| `bun ./src/cli/index.ts list test/ignore/app.asar`   |  106.0 ± 5.9 |    101.3 |    116.2 |        1.00 |\n\nSummary: `fast-asar` is 1.28 ± 0.30 times faster than `@electron/asar`.\n\nTo run this benchmark yourself, run `bun run benchmark:list`.\n\n## Contributing\n\n### Running tests\n\nFor the tests, you must have the Replit Desktop app's `app.asar` file in the `test/ignore` directory.\nYou can get this file by installing the Replit Desktop app and copying the `app.asar` file from the installation directory.\n\nThen, to run all tests:\n\n```sh\nbun pretest\nbun test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flafkpages%2Ffast-asar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flafkpages%2Ffast-asar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flafkpages%2Ffast-asar/lists"}