mjs
txiki.js
Our great sponsors
mjs | txiki.js | |
---|---|---|
4 | 8 | |
1,816 | 2,331 | |
0.8% | - | |
0.0 | 8.9 | |
4 months ago | 6 days ago | |
C | C | |
GNU General Public License v3.0 or later | 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.
mjs
-
A list of JavaScript engines, runtimes, interpreters
mjs
-
TypeScript is the Only Programming Language you Need: TypeScript Everywhere
I hear you loud and clear.
-
Elk: A low footprint JavaScript engine for embedded systems
This implementation is nuts. A decent chunk (but still very small subset) of ES5 in under 1400 lines of very readable C code. It includes a mark-and-sweep GC and an FFI.
It doesn't have an AST or a bytecode VM. It just interprets directly off of source code.
Take a look: https://github.com/cesanta/elk/blob/master/elk.c.
This implementation really sets a new bar for me in terms of compact-but-readable language implementations.
Separately, this isn't even Cesanta's only embedded JavaScript implementation. They also have: https://github.com/cesanta/mjs. This implementation is a bit more complete and is much bigger.
-
What is your programming stack, as well encryption with ESP32?
In the past I've programmed with ESP8266 with Mongoose OS using mJS - https://github.com/cesanta/mjs but it has on 1.5K GitHub stars and I assume there are other alternative as well for Python language
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?
quickjs - Public repository of the QuickJS Javascript Engine.
v8go - Execute JavaScript from Go
elk - A low footprint JavaScript engine for embedded systems
engine262 - An implementation of ECMA-262 in JavaScript
elk - A nimble Mastodon web client
javascript-algorithms - 📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
Home - :house: The landing page for .NET nanoFramework repositories.
AudioWorkletStream - fetch() => ReadableStream => AudioWorklet
zephyr - Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
proposal-common-minimum-api
ts2c - Convert Javascript/TypeScript to C
rayjs - Javascript bindings for raylib in a single ~3mb executable