./lang/quickjs, Quick JavaScript interpreter

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 20240113, Package name: quickjs-20240113, Maintainer: pkgsrc-users

QuickJS is a small and embeddable Javascript engine. It supports the
ES2020 specification including modules, asynchronous generators and
proxies.

It optionally supports mathematical extensions such as big integers
(BigInt), big floating point numbers (BigFloat) and operator
overloading.

Main Features:
* Small and easily embeddable: just a few C files, no external
dependency, 190 KiB of x86 code for a simple hello world program.
* 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.
* Almost complete ES2020 support including modules, asynchronous
generators and full Annex B support (legacy web compatibility).
* Passes 100% of the ECMAScript Test Suite.
* Can compile Javascript sources to executables with no external dependency.
* Garbage collection using reference counting (to reduce memory
usage and have deterministic behavior) with cycle removal.
* Mathematical extensions: BigInt, BigFloat, operator overloading,
bigint mode, math mode.
* Command line interpreter with contextual colorization implemented
in Javascript.
* Small built-in standard library with C library wrappers.


Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 747.852 KB

Version history: (Expand)


CVS history: (Expand)


   2025-02-07 13:36:24 by Masatake Daimon | Files touched by this commit (6) | Package updated
Log message:
lang/quickjs: update to 2024-01-13

2024-01-13:

- top-level-await support in modules
- allow 'await' in the REPL
- added Array.prototype.{with,toReversed,toSpliced,toSorted} and
TypedArray.prototype.{with,toReversed,toSorted}
- added String.prototype.isWellFormed and String.prototype.toWellFormed
- added Object.groupBy and Map.groupBy
- added Promise.withResolvers
- class static block
- 'in' operator support for private fields
- optional chaining fixes
- added RegExp 'd' flag
- fixed RegExp zero length match logic
- fixed RegExp case insensitive flag
- added os.getpid() and os.now()
- added cosmopolitan build
- misc bug fixes

2023-12-09:

- added Object.hasOwn, {String|Array|TypedArray}.prototype.at,
  {Array|TypedArray}.prototype.findLast{Index}
- BigInt support is enabled even if CONFIG_BIGNUM disabled
- updated to Unicode 15.0.0
- misc bug fixes
   2025-02-07 13:20:39 by Masatake Daimon | Files touched by this commit (5)
Log message:
lang/quickjs: Install libquickjs.a in the standard path

It installs the library in ${PREFIX}/lib/quickjs/ by default, which makes
its users hard to find it. Let's just move it to ${PREFIX}/lib to make our
lives easier.

quickjs didn't have buildlink3.mk until very recently so it should be safe
to move it now.
   2025-02-04 09:16:42 by Masatake Daimon | Files touched by this commit (1)
Log message:
lang/quickjs: Add buildlink3.mk

quickjs is an embeddable js interpreter and installs a library. So it makes \ 
sense to have a buildlink3.mk
   2024-02-21 11:54:36 by Nia Alarie | Files touched by this commit (1)
Log message:
quickjs: Requires c11 atomics support
   2023-03-07 15:38:03 by Havard Eidnes | Files touched by this commit (3)
Log message:
quickjs: make it build on macppc again, or more generally...

on non-CONFIG_BIGNUM platforms.
Bump PKGREVISION.
   2022-03-22 00:00:33 by Roland Illig | Files touched by this commit (2)
Log message:
lang/quickjs: import DESCR from wip/quickjs
   2022-01-30 11:55:03 by Havard Eidnes | Files touched by this commit (8) | Package updated
Log message:
lang/quickjs: update to 2021-03-27 version.

Pkgsrc changes:
 * adjust patches and checksums as needed
 * Update request from PR#56675 should be fulfilled by this;
   thanks to Kimihiro Nonaka

Upstream changes:

2021-03-27:

- faster Array.prototype.push and Array.prototype.unshift
- added JS_UpdateStackTop()
- fixed Windows console
- misc bug fixes

2020-11-08:

- improved function parameter initializers
- added std.setenv(), std.unsetenv() and std.getenviron()
- added JS_EvalThis()
- misc bug fixes

2020-09-06:

- added logical assignment operators
- added IsHTMLDDA support
- faster for-of loops
- os.Worker now takes a module filename as parameter
- qjsc: added -D option to compile dynamically loaded modules or workers
- misc bug fixes

2020-07-05:

- modified JS_GetPrototype() to return a live value
- REPL: support unicode characters larger than 16 bits
- added os.Worker
- improved object serialization
- added std.parseExtJSON
- misc bug fixes
   2021-12-13 14:14:32 by Nia Alarie | Files touched by this commit (1)
Log message:
quickjs: fix PLIST on Darwin