quickjspp
proposal-type-annotations
quickjspp | proposal-type-annotations | |
---|---|---|
3 | 101 | |
- | 4,108 | |
- | 0.4% | |
- | 4.7 | |
- | 3 months ago | |
JavaScript | ||
- | - |
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.
proposal-type-annotations
-
Bun 1.1
That proposal is not fully compatible with Typescript: https://github.com/tc39/proposal-type-annotations?tab=readme...
-
Go 1.22 Release Notes
They held a meeting a few months ago so it's alive but probably still years away.
https://github.com/tc39/proposal-type-annotations/issues/184
-
[AskJS] Kicking a dead horse - TS vs JS
I particularly like this thread in the TC39 types proposal. TypeScript IS a development trojan horse and locks you into the Microsoft Way of being a JS developer.
- Strong static typing, a hill I'm willing to die on...
-
HTML First – Six principles for building simple, maintainable, web software
Edit: There is a proposal to extend JavaScript with type annotations, which would allow ("a reasonably large subset") of TypeScript to run directly in the browser. Yay!
https://github.com/tc39/proposal-type-annotations
-
Building React Components Using Unions in TypeScript
More importantly, TypeScript typically commits to build things into itself when the proposal in JavaScript reaches Stage 3. The pattern matching proposal in JavaScript is Stage 1, but depends on many other proposals as well that may or may not need to be at Stage 3 as well for it to work. This particular proposal is interested on pattern matching on JavaScript Objects and other primitives, just like Python does with it’s native primitives. These are also dynamic types which helps in some areas, but makes it harder than others. Additionally, the JavaScript type annotations proposal needs to possibly account for this. So it’s going to be awhile. Like many years.
-
Show HN: Conway's Game of Life in TypeScript's type system
this is exactly what I want from the _Types as Comments_ proposal[0] as I think it's the only way that types can feasibly become part of the language. It's hard to imagine how all of the concepts TS introduces via special syntax can be covered otherwise.
[0] https://tc39.es/proposal-type-annotations
-
Why Htmx Does Not Have a Build Step
Crossing my fingers that the proposal for allowing (browser-ignored) type annotations in javascript progresses: https://tc39.es/proposal-type-annotations/
Between that, HTTP2/3 and ES modules many of the downsides for building apps with no compile step are almost completely mitigated.
-
TypeScript Without Transpilation
JSDoc can get you pretty far, but it can be clumsy sometimes. There’s a [TC39 proposal](https://github.com/tc39/proposal-type-annotations) to allow types to live in JS code and be treated as comments (similar with Python types today)
- Do you think typescript will ever have native support on brosers? Or we will have only the JS type annotations?
What are some alternatives?
compression-dictionary-transport
astexplorer - A web tool to explore the ASTs generated by various parsers.
sciter-js-sdk
Scala.js - Scala.js, the Scala to JavaScript compiler
webappsec-subresource-integrity - WebAppSec Subresource Integrity
rescript-compiler - The compiler for ReScript.
download-esm - Download ESM modules from npm and jsdelivr
Carp - A statically typed lisp, without a GC, for real-time applications.
esbuild - An extremely fast bundler for the web
d2-playground - An online runner to play, learn, and create with D2, the modern diagram scripting language that turns text to diagrams.
JSLint - JSLint, The JavaScript Code Quality and Coverage Tool
proposal-record-tuple - ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!