qjs-modules
txiki.js
qjs-modules | txiki.js | |
---|---|---|
4 | 8 | |
39 | 2,337 | |
- | - | |
9.5 | 9.1 | |
5 days ago | 6 days ago | |
C | C | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
qjs-modules
-
Question about JS (and high-level languages in general)
This is one example webserver-c, more examples rsenn/qjs-modules.
-
How to compile serveTls for import into QuickJS?
Create and import shared objects, see https://github.com/rsenn/qjs-modules.
-
How to import prompt()?
Technically you can create a C shared object and import that shared object into QuickJS, see https://github.com/rsenn/qjs-modules, also https://github.com/second-state/wasmedge-quickjs.
-
[AskJS] QuickJS executable vs. Node.js and Deno executable: Not not use QuickJS?
Re "packages" QuickJS provides a means to write C source code and import the module https://github.com/rsenn/qjs-modules.
txiki.js
-
A list of JavaScript engines, runtimes, interpreters
txiki.js
-
JavaScript Standard Input/Output: Unspecified
// https://github.com/denoland/deno/discussions/17236#discussioncomment-4566134 // https://github.com/saghul/txiki.js/blob/master/src/js/core/tjs/eval-stdin.js async function readFullAsync(length, buffer = new Uint8Array(65536)) { const data = []; while (data.length < length) { const input = await open("/dev/stdin"); let { bytesRead } = await input.read({ buffer }); await input.close(); if (bytesRead === 0) { break; } data.push(...buffer.subarray(0, bytesRead)); } return new Uint8Array(data); }
- Node.js fetch() vs. Deno fetch(): Implementation details...
-
How to compile serveTls for import into QuickJS?
I've only dabbled with the shared libraries once, with the help of the owner of the lnked repository. I wound up solving the issue adjusting the code I was working on https://github.com/saghul/txiki.js/issues/294.
-
C++ to C string concatenation
I have written the same code in C++ https://github.com/guest271314/captureSystemAudio/blob/master/native_messaging/capture_system_audio/capture_system_audio.cpp, Python https://github.com/guest271314/captureSystemAudio/blob/master/native_messaging/capture_system_audio/capture_system_audio.py, and QuickJS (C source code) https://github.com/saghul/txiki.js/issues/294. QuickJS is the only implementation that winds up clipping the end of real-time audio capture.
-
QuickJS JavaScript Engine – Fabrice Bellard
QuickJS is awesome, simple to use and very easy to integrate.
Over the past few years I slowly built a small JS runtime using QuickJS as the engine and libuv as the platform layer, amongst other things, in case anyone wants to take a look: https://github.com/saghul/txiki.js
- GitHub - saghul/txiki.js: The tiny JavaScript runtime built with QuickJS, libuv
- GitHub - saghul/txiki.js: The tiny JavaScript runtime built with QuickJS, libuv and ❤️
What are some alternatives?
webserver-c - A simple HTTP webserver written in C.
v8go - Execute JavaScript from Go
wasmedge-quickjs - A high-performance, secure, extensible, and OCI-complaint JavaScript runtime for WasmEdge.
engine262 - An implementation of ECMA-262 in JavaScript
captureSystemAudio - Capture system audio ("What-U-Hear")
javascript-algorithms - 📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
manual - Deprecated - find these resources on docs.deno.com instead
AudioWorkletStream - fetch() => ReadableStream => AudioWorklet
proposal-common-minimum-api
rayjs - Javascript bindings for raylib in a single ~3mb executable