QuickJS, the Next Generation: a mighty JavaScript engine
0536b42693
- add `js_snprintf`, `js_printf`... to handle extra conversions: - support for wxx length modifier - support for `%b` and `%B` - `%oa` and `%#oa` to convert `JSAtom` values - `%ps` to convert `JSString` values - add `dbuf_vprintf_fun` replaceable `dbuf_printf` handler - change `JS_DumpString` to `JS_FormatString` to convert `JSSAtom` to quoted strings - change `JS_AtomGetStrRT` to `JS_FormatAtom` to convert `JSAtom` to strings - change `JS_AtomGetStr` to return direct string pointer for builtin atoms - remove `print_atom` - use custom conversions for trace messages and error messages - add support for `%b`, `%B` and `w` length modifier in `std.printf` - remove error handlers: `JS_ThrowTypeErrorAtom` and `JS_ThrowSyntaxErrorAtom` - add `is_lower_ascii()` and `to_lower_ascii()` - add floating point conversions and wide string conversions - unbreak compilation: prevent name collision on pow10 - minimize `vsnprintf` calls in `dbuf_vprintf_default` |
||
---|---|---|
.github/workflows | ||
doc | ||
examples | ||
gen | ||
test262@c1281dba45 | ||
tests | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
cutils.c | ||
cutils.h | ||
dirent_compat.h | ||
getopt_compat.h | ||
libbf.c | ||
libbf.h | ||
libregexp-opcode.h | ||
libregexp.c | ||
libregexp.h | ||
libunicode-table.h | ||
libunicode.c | ||
libunicode.h | ||
LICENSE | ||
list.h | ||
Makefile | ||
qjs.c | ||
qjsc.c | ||
quickjs-atom.h | ||
quickjs-c-atomics.h | ||
quickjs-libc.c | ||
quickjs-libc.h | ||
quickjs-opcode.h | ||
quickjs-printf.c | ||
quickjs-printf.h | ||
quickjs.c | ||
quickjs.h | ||
README.md | ||
repl.js | ||
run-test262.c | ||
test262-fast.conf | ||
test262.conf | ||
test262_errors.txt | ||
unicode_download.sh | ||
unicode_gen.c | ||
unicode_gen_def.h | ||
v8-tweak.js | ||
v8.js | ||
v8.sh | ||
v8.txt |
⚡️ QuickJS - A mighty JavaScript engine
Friendly QuickJS fork focused on reigniting the project.
Overview
In October 2023 @bnoordhuis and @saghul decided to fork the QuickJS project with the aim of reigniting it. They reached out to the original authors (@bellard and @chqrlie) about their intentions.
As of December 2023 the initial goal was somewhat accomplished. @bellard resumed working on the project and both parties have been pulling patches from each other since.
As of early 2024 both projects agree the proper path forward involves merging both projects and combining the efforts. While that may take a while, since both projects diverged in certain areas, there is willingness to go in this direction from both sides.