proposal-type-annotations
proposal-top-level-await
Our great sponsors
proposal-type-annotations | proposal-top-level-await | |
---|---|---|
101 | 13 | |
4,081 | 1,005 | |
2.1% | - | |
4.7 | 7.0 | |
about 1 month ago | almost 3 years ago | |
JavaScript | HTML | |
- | 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.
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!
-
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.
-
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?
proposal-top-level-await
-
Unveiling Breakthroughs Found In The State Of JS 2022 Survey
For more info about this feature, you can refer to the official proposal repo.
-
Write program in assembly, decompile to TypeScript, convert to JavaScript, run in Node
This one is Stage 4 (complete)
-
Open Source Adventures: Episode 29: Using D3 with old school tooling to visualize Russian Tank Losses
But browsers don't support top-level await yet. So we need to put it all inside as async function.
-
Configuring CommonJS & ES Modules for Node.js
Note that ESM is not “backwards” compatible with CJS: a CJS module cannot require() an ES Module; it is possible to use a dynamic import (await import()), but this is likely not what consumers expect (and, unlike ESM, CJS does not support Top-Level Await).
-
ES2022 Preview: 10 Exciting JavaScript Language Features From 2021
top-level await feature for ES modules
-
How to save fetch JSON result to global variable?
That said, ES2022 does introduce a top-level await that works in the top level scope, but only in modules, not global scope. So if in a module this could work:
-
Node v14.8+: Top Level Async Await
With the latest node version(s) (v14.8+), we should be able to rewrite the above code to something like this. proposal-top-level-await
-
What is a practical example of using a Promise? These Youtube tutorials are bogus
Now a days, you'll likely mostly use async/await. The few cases where you'll need the Promise API (then()'s etc.) is when you're outside of an async function. With the new top-level await feature coming to modules, you wouldn't even need it outside of async functions in module code which will make its usage even less common.
-
Basic import question
The await is in top level. The top level await proposal is in stage 3. Currently, the browser support is also not good enough but should work in latest version of the google chrome browser.
-
Rust's async isn't f#@king colored!
There is a proposal for top-level await in JS. I'm guessing this would effectively kinda do the same thing? Or am I wrong there?
What are some alternatives?
astexplorer - A web tool to explore the ASTs generated by various parsers.
esbuild - An extremely fast bundler for the web
rescript-compiler - The compiler for ReScript.
Rollup - Next-generation ES module bundler
Scala.js - Scala.js, the Scala to JavaScript compiler
rust-async-bench - The cost of Rust async/await
Carp - A statically typed lisp, without a GC, for real-time applications.
regexp-match-indices - Polyfill for the RegExp Match Indices proposal
d2-playground - An online runner to play, learn, and create with D2, the modern diagram scripting language that turns text to diagrams.
zx - A tool for writing better scripts
proposal-record-tuple - ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!
webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.