modules
proposal-top-level-await
modules | proposal-top-level-await | |
---|---|---|
3 | 13 | |
412 | 1,005 | |
- | - | |
0.0 | 7.0 | |
about 1 year ago | almost 3 years ago | |
HTML | ||
MIT License | 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.
modules
-
ECMAScript modules. Going beyond the ordinary
If you want to read more about plans of Node.js team related to loaders, check nodejs/modules#351 issue.
-
The TypeScript compiler is now implemented internally with modules
It is complicated but most user anger should be directed to node.js module group[1]. TS is forced to follow node.js standard.
[1] https://github.com/nodejs/modules/issues/323
-
Configuring CommonJS & ES Modules for Node.js
There was a bug in Node.js v13.0–13.6 where packageJson.exports["."] had to be an array with verbose config options as the first item (as an object) and the “default” as the second item (as a string). See nodejs/modules#446.
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?
curriculum - The open curriculum for learning web development
esbuild - An extremely fast bundler for the web
sucrase - Super-fast alternative to Babel for when you can target modern JS runtimes
Rollup - Next-generation ES module bundler
rust-async-bench - The cost of Rust async/await
regexp-match-indices - Polyfill for the RegExp Match Indices proposal
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.
zx - A tool for writing better scripts
nodejs-module-config-examples - A collection of Node.js module configurations for interoperability between CJS and ESM
proposal-regexp-match-indices - ECMAScript RegExp Match Indices
proposal-nullish-coalescing - Nullish coalescing proposal x ?? y
web-libusb