proposal-top-level-await
Rollup
proposal-top-level-await | Rollup | |
---|---|---|
13 | 69 | |
1,005 | 24,811 | |
- | 0.3% | |
7.0 | 9.5 | |
almost 3 years ago | about 13 hours ago | |
HTML | JavaScript | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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-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?
Rollup
-
Rolldown
Doesn't Rollup already use quite a bit of rust[0]? It's actually why I had to abandon it for a project, where they didn't offer binaries for our build platform and I needed to bundle, like 2 ES6 javascript libraries so I just grabbed esbuild instead.
[0] https://github.com/rollup/rollup/tree/master/rust
-
Build a Vite 5 backend integration with Flask
Unlike Webpack, the Vite DevServer only compiles files when they are requested. It leverages ES module imports, which allow JS files to import other files without needing to bundle them together during development. When one file changes, only that file needs to be re-compiled, and the rest can remain unchanged. Project files are compiled with Rollup.js. Third-party dependencies in node_modules are pre-compiled using the ultra-fast esbuild bundler for maximum speed, and they are cached until the dependency version changes. Vite also provides a client script for hot module reloading.
-
Vite 5.0 is out
Read the full breaking changes in Rollup’s release notes for build-related changes in build.rollupOptions.
-
11 Ways to Optimize Your Website
Besides Webpack, there are many other popular web bundlers available, such as Parcel, Esbuild, Rollup, and more. They all have their own unique features and strengths, and you should make your decision based on the needs and requirements of your specific project. Please refer to their official websites for details.
-
How to rewrite classes using closures in JavaScript
The optimization points are very valid and good to keep in mind, no?
See for example:
https://github.com/rollup/rollup/issues/349
The missing minification of identifiers and properties of the Vue instance in general were always bugging me in Vue 2, even when not using the class keyword.
This is a very valid consideration IMO.
-
Bun vs Node.js: Everything you need to know
In the Node.js ecosystem, bundling is typically handled by third-party tools rather than Node.js itself. Some of the most popular bundlers in the Node.js world include Webpack, Rollup, and Parcel, offering features like code splitting, tree shaking, and hot module replacement.
-
My opinionated JavaScript package template repository - zero config, start immediately
📦 Rollup for bundling
-
How To Secure Your JavaScript Applications
Bundling: Webpack, Parcel, Rollup
-
5 Different Tools to Bundle Node.js Apps
Rollup is another popular JavaScript module bundler focusing on high performance. It excels at tree-shaking and uses ES module syntax to generate more performant bundles than traditional module bundlers. In addition to JavaScript, Rollup supports bundling CSS and JSON as well. Rollup has more than 12 million weekly NPM downloads.
-
How to build and publish React TypeScript NPM packages with Vite
Vite (read as vit) is actually a combination of two great frontend tools - an immensely fast development server and a build command for shipping heavily optimized static assets using Rollup. Many developers have encountered the process of setting up a project using Create React App. While CRA can be useful for beginners due to its simplicity and abstraction of configuration, it has some drawbacks that outweigh its benefits, particularly its tendency to be bloated. Don't get me wrong, Vite is opinionated as well, but it's highly extensible through its Plugin API.
What are some alternatives?
esbuild - An extremely fast bundler for the web
rust-async-bench - The cost of Rust async/await
vite - Next generation frontend tooling. It's fast!
regexp-match-indices - Polyfill for the RegExp Match Indices proposal
tsup - The simplest and fastest way to bundle your TypeScript libraries.
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
gulp - A toolkit to automate & enhance your workflow
nodejs-module-config-examples - A collection of Node.js module configurations for interoperability between CJS and ESM
Snowpack - ESM-powered frontend build tool. Instant, lightweight, unbundled development. ✌️ [Moved to: https://github.com/FredKSchott/snowpack]