From 2b7077ca705a60216586ef49850c69364431adca Mon Sep 17 00:00:00 2001
From: Cory McWilliams QuickJS is a small and embeddable Javascript engine. It supports the
-ES2020 specification
+ QuickJS is a small and embeddable Javascript engine. It supports most of the
+ES2023 specification
1
including modules, asynchronous generators, proxies and BigInt.
You can type Note: On some OSes atomic operations are not available or need a
+specific library. If you get related errors, you should either add
+ The ES2020 specification is almost fully supported including the Annex
+ The ES2023 specification is almost fully supported including the Annex
B (legacy web compatibility) and the Unicode related features.
The following features are not supported yet:
@@ -411,6 +416,10 @@ B (legacy web compatibility) and the Unicode related features.
Boolean (default = false). If true, error backtraces do not list the
stack frames below the evalScript.
Boolean (default = false). If true, Return the current process ID.
+ Sleep during Asynchronouse sleep during Return a timestamp in milliseconds with more precision than
+ Call the function A specific regular expression engine was developed. It is both small
-and efficient and supports all the ES2020 features including the
+and efficient and supports all the ES2023 features including the
Unicode properties. As the Javascript compiler, it directly generates
bytecode without a parse tree.
-
1 Introduction
-
make
.
make install
as root if you wish to install the binaries and support files to
/usr/local
(this is not necessary to use QuickJS).
-latomics
in the Makefile LIBS
variable or disable
+CONFIG_ATOMICS
in quickjs.c.
+2.2 Quick start
@@ -400,10 +405,10 @@ about 100 seconds).
3.1 Language support
-
-3.1.1 ES2020 support
+
+3.1.1 ES2023 support
-
@@ -511,6 +520,10 @@ optional properties:
async
await
is accepted in the
+ script and a promise is returned.
+ getpid()
waitpid(pid, options)
waitpid
Unix system call. Return the array [ret,
@@ -995,6 +1012,19 @@ write_fd]
or null in case of error.
delay_ms
milliseconds.
sleepAsync(delay_ms)
delay_ms
milliseconds. Returns a promise. Example:
+await os.sleepAsync(500);
+
now()
Date.now()
. The time origin is unspecified and is normally not
+impacted by system clock adjustments.
+setTimeout(func, delay)
func
after delay
ms. Return a handle
to the timer.
@@ -1310,7 +1340,7 @@ stack holds the Javascript parameters and local variables.
4.4 RegExp
Infinite recursions coming from quantifiers with empty terms are -avoided. -
The full regexp library weights about 15 KiB (x86 code), excluding the Unicode library.
@@ -1359,11 +1386,11 @@ Bellard and Charlie Gordon.https://github.com/tc39/test262
https://tc39.github.io/ecma262/
+The old
ES5.1 tests can be extracted with 9`VU&7DFYVt3yA3nElov
zt{r3+@^b)#EU`?X$D^f@OcE74BmMofDAs?HmjZb_HSfraD@fZHkU?_t#J2=7tJ|1=
zC~4zX?Wyo<<;5gwUYh_s$OWa%Yu0^_d)5NP_$y~h&9Mf8GRGOJcXm9|Vzy?b6pJ;6
zbL%BJi4%3EOU7&10Xt >nn46hql39_K$U
zgb5Bp$tx{>5^&bd#boctbJc@N=nrCfsYscL>@bRVf>z_aMbG)X@NM}l-U;PNvp&tw
zo}fYcNA~W^I>b0a;WRz_dNg^XwFjQsPo^0RI%si=={#yeGF7c>74HJgit clone --single-branch
diff --git a/deps/quickjs/doc/quickjs.pdf b/deps/quickjs/doc/quickjs.pdf
index 30ba6ad4de1d480c9ca66b571650e4011ea0bc67..2338d7a723de6ba18542ac3797ea7da27576c70a 100644
GIT binary patch
delta 69934
zcmZs>Q;;sevaQ>;ZQHhO+csyLf7`Zg+qP}bwr$P3_P+PrI1lTs>Y*MgA|uC_BgbMQ
zOm!|y!w?iOd-5P8Rr3{;3>W}w+
7``Od$HQ
zJOMbb^T8Y#{i53m5R;EVw}Py9$zq!c9>3`3Ybd#_cb}29>>^qdfC1!P!YyoNjm};l
zzn#VVDiIT~m_EqOYE>XWP7+>WEi9;IS^VHCbVumKM8-{-c$4xVH;I)G(ekd^!sO)L
zK+5eJY((x+J*Uv7Mj|Q)v1K!YxU!s0*#Q}g3HZ+>mF#_dfd+JnV3e8E81wiL*t2K(
zJvL({To4_0S6iwN{(8JN1OI@4eH3}FkXjk%&<3f`9Uc$)j}L}^{gZh$wLP?r3{{c>
zj-xGO!QcELe2>Gs$|LJ9luz9(Czo;2DHpGjPJKKYpg0N#b=G;Zz+LVG%#sx869AC9
zI<{LxopoJIFq>hZGWVlo-go@dXJcsyD1KC`DJgdMN78}fMpi&$x&g9{dl3_ZKnc%e
z*)u@H@$wI7E{b~N$*AiOE8PgEXLYQ{JX#d%^ncfkq-7*DcFxrM%@pXg(q@&SO`eJx
zd}s~|dTfGN?(j0Ox)FD_LiD+bwE<>0GRiz2yamphZti;czC
zPP#g3?$y3{JTzdAVE-oiPD+{R9_c8`#Xg&^C{kJQ4X3W~n=DOxD*Gh29C!YRT5Jfx
zx(G?!(-G%;_TA!nLNrO$@_RJS)3jp$(Om;&j58l}N9DBNd5)cMHc!W8`=l?;JiPsy
zil}~2dk!Qg;`x8@@&48Ofuu^qc&`Ex;_J8S6iQ?HP02O$@J~KpS@t9$#BGyi5E`5q
zs^d_*ki1mNSke5z?=I)cMxC$rlj;sl_tgmjX(80_sbffNsUPt_B>zlkup=LYW;`P8
za*ELxu2hPXPY5=@*QP^d{AK-IY-iuD%yBKh_qM54nBRXUgVk+1O9@4?HLKi>k}cM6BBmt)uCj5vul?TcO$s!WSS*8ZQ(XzSJdCRF;+sw$a{|8s
z