{"id":21899072,"url":"https://github.com/johnsonlee/quickjs","last_synced_at":"2025-03-22T05:25:40.325Z","repository":{"id":150860993,"uuid":"197075034","full_name":"johnsonlee/quickjs","owner":"johnsonlee","description":"QuickJS is a small and embeddable Javascript engine","archived":false,"fork":false,"pushed_at":"2019-07-15T21:41:40.000Z","size":886,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-27T06:15:01.885Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://johnsonlee.github.io/quickjs/quickjs.html","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/johnsonlee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-07-15T21:29:03.000Z","updated_at":"2019-12-19T12:21:05.000Z","dependencies_parsed_at":"2023-06-25T22:34:01.915Z","dependency_job_id":null,"html_url":"https://github.com/johnsonlee/quickjs","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonlee%2Fquickjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonlee%2Fquickjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonlee%2Fquickjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnsonlee%2Fquickjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnsonlee","download_url":"https://codeload.github.com/johnsonlee/quickjs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244911399,"owners_count":20530612,"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":[],"created_at":"2024-11-28T14:37:22.156Z","updated_at":"2025-03-22T05:25:40.308Z","avatar_url":"https://github.com/johnsonlee.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QuickJS Javascript Engine\n\n## News\n\n- 2019-07-09:\n  First public release\n\n## Introduction\n\nQuickJS is a small and embeddable Javascript engine. It supports the ES2019 specification including modules, asynchronous generators and proxies.\nIt optionally supports mathematical extensions such as big integers (BigInt), big floating point numbers (BigFloat) and operator overloading.\n\n## Main Features:\n\n- Small and easily embeddable: just a few C files, no external dependency, 190 KiB of x86 code for a simple hello world program.\n- Fast interpreter with very low startup time: runs the 56000 tests of the ECMAScript Test Suite in about 100 seconds on a single core of a desktop PC. The complete life cycle of a runtime instance completes in less than 300 microseconds.\n- Almost complete ES2019 support including modules, asynchronous generators and full Annex B support (legacy web compatibility).\n- Passes 100% of the ECMAScript Test Suite.\n- Can compile Javascript sources to executables with no external dependency.\n- Garbage collection using reference counting (to reduce memory usage and have deterministic behavior) with cycle removal.\n- Mathematical extensions: BigInt, BigFloat, operator overloading, bigint mode, math mode.\n- Command line interpreter with contextual colorization implemented in Javascript.\n- Small built-in standard library with C library wrappers.\n\n## [Benchmark](https://bellard.org/quickjs/bench.html)\n\n## Online Demo\n\nAn online demonstration of the QuickJS engine with its mathematical extensions is available at numcalc.com. It was compiled from C to WASM/asm.js with Emscripten.\n\n## Documentation\n\nQuickJS documentation: HTML version, PDF version.\nSpecification of the JS Bignum Extensions: HTML version, PDF version.\n\n## Sub-projects\n\nQuickJS embeds the following C libraries which can be used in other projects:\n- libregexp: small and fast regexp library fully compliant with the Javascript ES 2019 specification.\n- libunicode: small unicode library supporting case conversion, unicode normalization, unicode script queries, unicode general category queries and all unicode binary properties.\n- libbf: small library implementing arbitrary precision IEEE 754 floating point operations and transcendental functions with exact rounding. It is maintained as a separate project.\n\n## Links\n\nQuickJS Development mailing list\n\n## Licensing\n\nQuickJS is released under the MIT license.\nUnless otherwise specified, the QuickJS sources are copyright Fabrice Bellard and Charlie Gordon.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnsonlee%2Fquickjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnsonlee%2Fquickjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnsonlee%2Fquickjs/lists"}