quickjspp
download-esm
quickjspp | download-esm | |
---|---|---|
3 | 1 | |
- | 83 | |
- | - | |
- | 5.1 | |
- | 10 months ago | |
Python | ||
- | Apache License 2.0 |
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.
quickjspp
-
LuaX: A Lua Dialect with JSX
JSX is useful not just for advanced string interpolation but for representing/generation of tree alike structures / literals in PL. JSX is not only about HTML but XML too.
I don't know how JSX is made in LuaX but in my QuickJS fork [1] JSX allows to generate as tree literals as procedure calls (JSX(tag,props,kids)) that can be used for various purposes - DOM population, VDOM generation, HTML/XML string composition, etc.
And being embedded into a compiler JSX a) prevents common mistakes like non-closed tags and b) effective internalization ( translation happens at compile time once ).
[1] JSX implementation for QuickJS : https://gitlab.com/c-smile/quickjspp/-/blob/master/quickjs-j...
-
JavaScript import maps are now supported cross-browser
In Sciter I did just that - JSX is an integral part of JS compiler - patched version of QuickJS : https://gitlab.com/c-smile/quickjspp/-/blob/master/quickjs-j...
So in Sciter this works out of the box:
-
The miracle of Smalltalk’s become: (2009)
Only when code tries to access props/methods of the loaded object it gets fetched from disk, its __proto__ is set to particular class, etc.
More on this architecture: https://gitlab.com/sciter-engine/sciter-js-sdk/-/blob/main/d...
Patched QuickJS with storage support is here: https://gitlab.com/c-smile/quickjspp - it uses DyBase of Konstantin Knizhnik as a storage.
download-esm
-
JavaScript import maps are now supported cross-browser
This downloads the ESM version of Observable Plot from the jsDelivr CDN, figures out its dependencies, downloads them as well (40 files total!) and rewrites their imports to be local, not CDN paths.
More details here: https://simonwillison.net/2023/May/2/download-esm/
I'm not considering adding import maps support: https://github.com/simonw/download-esm/issues/4
What are some alternatives?
compression-dictionary-transport
sciter-js-sdk
webappsec-subresource-integrity - WebAppSec Subresource Integrity
esbuild - An extremely fast bundler for the web
JSLint - JSLint, The JavaScript Code Quality and Coverage Tool
import-maps - How to control the behavior of JavaScript imports
lit - Lit is a simple library for building fast, lightweight web components.
esm.sh - A fast, smart, & global CDN for modern(es2015+) web development.