# ECMAScript

ECMAScript is a general-purpose, cross-platform, vendor-neutral programming language standardized by Ecma International, including its syntax, semantics, and libraries.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Modernizing the Command Line: Heroku CLI v11

DevFeed: [Modernizing the Command Line: Heroku CLI v11](<https://devfeed.tech/articles/modernizing-the-command-line-heroku-cli-v11-26469.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/modernizing-the-command-line-heroku-cli-v11/>)

Author: Eric Black

Published: 2026-03-19T22:29:49Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [modules](<https://devfeed.tech/topics/modules.md>), [migration](<https://devfeed.tech/topics/migration.md>), [maintenance](<https://devfeed.tech/topics/maintenance.md>), [Usability](<https://devfeed.tech/topics/usability.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [migration](<https://devfeed.tech/tags/migration.md>), [modules](<https://devfeed.tech/tags/modules.md>), [monorepo](<https://devfeed.tech/tags/monorepo.md>), [news](<https://devfeed.tech/tags/news.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [performance](<https://devfeed.tech/tags/performance.md>), [release](<https://devfeed.tech/tags/release.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [usability](<https://devfeed.tech/tags/usability.md>)

### AI overview

Heroku CLI v11 is available with a migration to ECMAScript Modules and oclif v4. The release also changes the build system from Yarn to npm, removes the monorepo structure, improves command execution and manifest caching, and adds semantic colors and theme support.

### Source excerpt

Heroku CLI v11 is now available. This release represents the most significant architectural overhaul in years, completing our migration to ECMAScript Modules (ESM) and oclif v4. This modernization brings faster performance, a new semantic color system, and aligns the CLI with modern JavaScript standards. While v11 introduces breaking changes to legacy namespaces, the benefits are [...] The post Modernizing the Command Line: Heroku CLI v11 appeared first on Heroku.

## Announcing TypeScript 5.9 RC

DevFeed: [Announcing TypeScript 5.9 RC](<https://devfeed.tech/articles/announcing-typescript-5-9-rc-2916.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-rc/>)

Author: Daniel Rosenwasser

Published: 2025-07-25T16:53:10Z

Content type: article

Language: en

Sources: [TypeScript](<https://devfeed.tech/sources/typescript.md>)

Topics: [TypeScript](<https://devfeed.tech/topics/typescript.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [npm](<https://devfeed.tech/topics/npm.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [developers](<https://devfeed.tech/tags/developers.md>), [features](<https://devfeed.tech/tags/features.md>), [npm](<https://devfeed.tech/tags/npm.md>), [release](<https://devfeed.tech/tags/release.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

This article announces the Release Candidate of TypeScript 5.9. It describes changes to the generated tsconfig configuration and introduces support for ECMAScript deferred module evaluation through import defer.

### Source excerpt

Today we are excited to announce the Release Candidate (RC) of TypeScript 5.9! To get started using the Release Candidate, you can get it through npm with the following command: npm install -D typescript@rc Let's take a look at what's new in TypeScript 5.9! Minimal and Updated tsc --init Support for import defer Support for [...] The post Announcing TypeScript 5.9 RC appeared first on TypeScript.

## Announcing TypeScript 5.9 Beta

DevFeed: [Announcing TypeScript 5.9 Beta](<https://devfeed.tech/articles/announcing-typescript-5-9-beta-2915.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-beta/>)

Author: Daniel Rosenwasser

Published: 2025-07-08T17:38:54Z

Content type: release

Language: en

Sources: [TypeScript](<https://devfeed.tech/sources/typescript.md>)

Topics: [TypeScript](<https://devfeed.tech/topics/typescript.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [features](<https://devfeed.tech/tags/features.md>), [npm](<https://devfeed.tech/tags/npm.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

The article announces the TypeScript 5.9 Beta and explains how to install it through npm. It highlights a more minimal and prescriptive default generated configuration, support for deferred module evaluation, and support for --module node20.

### Source excerpt

Today we are excited to announce the availability of TypeScript 5.9 Beta. To get started using the beta, you can get it through npm with the following command: npm install -D typescript@beta Let's take a look at what's new in TypeScript 5.9! Minimal and Updated tsc --init Support for import defer Support for --module node20 [...] The post Announcing TypeScript 5.9 Beta appeared first on TypeScript.

## Node.js 24.2.0 (Current)

DevFeed: [Node.js 24.2.0 (Current)](<https://devfeed.tech/articles/node-js-24-2-0-current-2823.md>)

Original publisher: [Read original article](<https://nodejs.org/en/blog/release/v24.2.0>)

Published: 2025-06-09T21:51:26Z

Content type: release

Language: en

Sources: [Node.js Blog](<https://devfeed.tech/sources/node-js-blog.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [process](<https://devfeed.tech/tags/process.md>), [release](<https://devfeed.tech/tags/release.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

Node.js 24.2.0 is a Current release that removes priority signaling support from nghttp2, adds a Boolean value for detecting the entry-point module, and includes multiple minor enhancements across HTTP/2, filesystem streams, diagnostics, configuration, permissions, testing, benchmarking, builds, and worker threads.

### Source excerpt

Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

## Deno 2.0 Is Here, and It's Scaly

DevFeed: [Deno 2.0 Is Here, and It's Scaly](<https://devfeed.tech/articles/deno-2-0-is-here-and-it-s-scaly-5185.md>)

Original publisher: [Read original article](<https://neon.com/blog/deno-2-0-is-here-and-its-scaly>)

Author: Andrew Tate

Published: 2024-10-15T16:00:19Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [Deno](<https://devfeed.tech/topics/deno.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [npm](<https://devfeed.tech/topics/npm.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [community](<https://devfeed.tech/tags/community.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [developers](<https://devfeed.tech/tags/developers.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [portable](<https://devfeed.tech/tags/portable.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

The article introduces Deno 2.0 and explains how its direct Node.js and npm compatibility can reduce the cost of adopting Deno. It contrasts Deno's simpler dependency model, based on URL imports with fetched and cached dependencies, against Node.js projects using npm and package.json. The article highlights cleaner project structures, portability, version locking, and dependency integrity checks.

### Source excerpt

Deno is now six years old. Built by Node.js creator Ryan Dahl to address what he saw as the mistakes of Node, the motivation behind Deno was simple. Node.js was too complex, too insecure, and had drifted away from JavaScript in how it worked. Deno would align with ECMAScript and...

## Node.js 20.17.0 (LTS)

DevFeed: [Node.js 20.17.0 (LTS)](<https://devfeed.tech/articles/node-js-20-17-0-lts-2716.md>)

Original publisher: [Read original article](<https://nodejs.org/en/blog/release/v20.17.0>)

Published: 2024-08-21T17:40:21Z

Content type: release

Language: en

Sources: [Node.js Blog](<https://devfeed.tech/sources/node-js-blog.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [servers](<https://devfeed.tech/topics/servers.md>)

Tags: [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [lts](<https://devfeed.tech/tags/lts.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Node.js 20.17.0 is an LTS release that adds support for synchronous ECMAScript module graphs under a flag, along with glob-pattern path testing and a stream-pair capability analogous to a network connection.

### Source excerpt

Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

## Node.js 22.1.0 (Current)

DevFeed: [Node.js 22.1.0 (Current)](<https://devfeed.tech/articles/node-js-22-1-0-current-2757.md>)

Original publisher: [Read original article](<https://nodejs.org/en/blog/release/v22.1.0>)

Published: 2024-05-02T14:35:52Z

Content type: release

Language: en

Sources: [Node.js Blog](<https://devfeed.tech/sources/node-js-blog.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [V8](<https://devfeed.tech/topics/v8.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>)

Tags: [caching](<https://devfeed.tech/tags/caching.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [performance](<https://devfeed.tech/tags/performance.md>), [speed](<https://devfeed.tech/tags/speed.md>)

### AI overview

Node.js 22.1.0 introduces optional automatic on-disk V8 code caching for CommonJS and ECMAScript Modules. The cache can speed up subsequent module-graph loads, although the first load may be slower and coverage precision may be reduced when cached code is deserialized.

### Source excerpt

Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

## Building an npm package compatible with ESM and CJS in 2024

DevFeed: [Building an npm package compatible with ESM and CJS in 2024](<https://devfeed.tech/articles/building-an-npm-package-compatible-with-esm-and-cjs-in-2024-7854.md>)

Original publisher: [Read original article](<https://snyk.io/blog/building-npm-package-compatible-with-esm-and-cjs-2024/>)

Author: Liran Tal

Published: 2024-04-18T17:00:00Z

Content type: article

Language: en

Sources: [Blog RSS Feed | Snyk](<https://devfeed.tech/sources/blog-rss-feed-snyk.md>)

Topics: [npm](<https://devfeed.tech/topics/npm.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Code](<https://devfeed.tech/topics/code.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [awareness](<https://devfeed.tech/tags/awareness.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [blog](<https://devfeed.tech/tags/blog.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [developer](<https://devfeed.tech/tags/developer.md>), [devrel](<https://devfeed.tech/tags/devrel.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [github](<https://devfeed.tech/tags/github.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [javascript-packages](<https://devfeed.tech/tags/javascript-packages.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-security](<https://devfeed.tech/tags/open-source-security.md>), [snyk-open-source](<https://devfeed.tech/tags/snyk-open-source.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

This article explains how to publish npm packages that support both ECMAScript Modules (ESM) and CommonJS (CJS). It discusses package manifest fields, entry-point resolution, TypeScript integration, and practical compatibility considerations, with code examples and a referenced GitHub repository.

### Source excerpt

Publishing JavaScript packages that are compatible with both ECMAScript Modules (ESM) and CommonJS (CJS) is a critical skill for developers who aim to integrate wide-ranging libraries. This write-up focuses on practical approaches and best practices for maintaining ESM and CJS support.

## Leveraging Bun on Vultr: A superior Node.js alternative

DevFeed: [Leveraging Bun on Vultr: A superior Node.js alternative](<https://devfeed.tech/articles/leveraging-bun-on-vultr-a-superior-node-js-alternative-4092.md>)

Original publisher: [Read original article](<https://developer.mozilla.org/en-US/blog/leveraging-bun-on-vultr-a-superior-node-js-alternative/>)

Author: vultr

Published: 2024-01-17T00:00:00Z

Content type: article

Language: en

Sources: [MDN Blog](<https://devfeed.tech/sources/mdn-blog.md>)

Topics: [Bun](<https://devfeed.tech/topics/bun.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [bun](<https://devfeed.tech/tags/bun.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [memory](<https://devfeed.tech/tags/memory.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [speed](<https://devfeed.tech/tags/speed.md>)

### AI overview

This guide presents Bun as a fast, all-in-one JavaScript runtime and drop-in replacement for Node.js. It covers Bun's package manager, bundler, test runner, built-in APIs, ECMAScript module and CommonJS compatibility, and Node.js compatibility. It also explains differences between Bun's JavaScriptCore engine and the V8 engine used by Node.js and Deno, then demonstrates running a Bun application on a Vultr Cloud Compute server.

### Source excerpt

This guide explains Bun functionalities as a runtime package manager and a bundler. It also explains the benefits of built-in Bun APIs and how to use Bun's Vultr marketplace application.

## MDN doc updates: CSS selectors & media queries, WebGPU & WebTransport APIs, Progressive web apps

DevFeed: [MDN doc updates: CSS selectors & media queries, WebGPU & WebTransport APIs, Progressive web apps](<https://devfeed.tech/articles/mdn-doc-updates-css-selectors-media-queries-webgpu-webtransport-apis-progressive-web-apps-4099.md>)

Original publisher: [Read original article](<https://developer.mozilla.org/en-US/blog/mdn-docs-june-2023/>)

Author: dipika-bhattacharya

Published: 2023-06-13T00:00:00Z

Content type: article

Language: en

Sources: [MDN Blog](<https://devfeed.tech/sources/mdn-blog.md>)

Topics: [Web Development](<https://devfeed.tech/topics/web-development.md>), [selectors](<https://devfeed.tech/topics/selectors.md>), [Media Queries](<https://devfeed.tech/topics/media-queries.md>), [Web platform](<https://devfeed.tech/topics/web-platform.md>), [webgpu](<https://devfeed.tech/topics/webgpu.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [css](<https://devfeed.tech/tags/css.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [media](<https://devfeed.tech/tags/media.md>), [selectors](<https://devfeed.tech/tags/selectors.md>), [web](<https://devfeed.tech/tags/web.md>), [webgpu](<https://devfeed.tech/tags/webgpu.md>)

### AI overview

MDN highlights documentation updates covering CSS selector syntax, expanded CSS media-query support, WebGPU and WebTransport APIs, ECMAScript modules, and progressive web apps. The article also notes browser-specific support, including new or experimental features in Firefox and Safari.

### Source excerpt

Discover CSS :lang(), experimental media queries, manipulating graphics with WebGPU, client-server communication with WebTransport, ECMAScript module support, and more.

## Ladybird: A new cross-platform browser project

DevFeed: [Ladybird: A new cross-platform browser project](<https://devfeed.tech/articles/ladybird-a-new-cross-platform-browser-project-38358.md>)

Original publisher: [Read original article](<https://awesomekling.github.io/Ladybird-a-new-cross-platform-browser-project/>)

Author: Andreas Kling

Published: 2022-09-12T00:00:00Z

Content type: article

Language: en

Sources: [Andreas Kling](<https://devfeed.tech/sources/andreas-kling.md>)

Topics: [browser](<https://devfeed.tech/topics/browser.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Web](<https://devfeed.tech/topics/web.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Document Object Model (DOM)](<https://devfeed.tech/topics/dom.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Qt](<https://devfeed.tech/topics/qt.md>), [Graphics](<https://devfeed.tech/topics/graphics.md>), [SVG](<https://devfeed.tech/topics/svg.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [css](<https://devfeed.tech/tags/css.md>), [gui](<https://devfeed.tech/tags/gui.md>), [html](<https://devfeed.tech/tags/html.md>), [ladybird](<https://devfeed.tech/tags/ladybird.md>), [serenityos](<https://devfeed.tech/tags/serenityos.md>), [svg](<https://devfeed.tech/tags/svg.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

The post introduces Ladybird, a cross-platform browser built from the SerenityOS LibWeb and LibJS engines. It explains the project's origins, its shift from a SerenityOS browser engine toward a broader cross-platform browser, and its C++ architecture using Qt, HTML, DOM, CSS, SVG, ECMAScript, graphics, and image-format components.

### Source excerpt

This post describes the Ladybird browser, based on the LibWeb and LibJS engines from SerenityOS.

## Exporting Node Modules in 2022

DevFeed: [Exporting Node Modules in 2022](<https://devfeed.tech/articles/exporting-node-modules-in-2022-26220.md>)

Original publisher: [Read original article](<https://medium.com/groupon-eng/exporting-node-modules-in-2022-e8fd97f0f5a9?source=rss----5c13a88f9872---4>)

Author: David Bushong

Published: 2022-09-01T20:01:47Z

Content type: tutorial

Language: en

Sources: [Groupon Engineering -- Medium](<https://devfeed.tech/sources/groupon-engineering-medium.md>)

Topics: [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [npm](<https://devfeed.tech/topics/npm.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>), [import](<https://devfeed.tech/topics/import.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [import](<https://devfeed.tech/tags/import.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node](<https://devfeed.tech/tags/node.md>), [npm](<https://devfeed.tech/tags/npm.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

This tutorial explains CommonJS and native ES Module exports in Node.js, including how modules can be imported across module systems. It also compares the output of Babel, Webpack, and TypeScript with native Node.js module behavior, highlighting compatibility concerns and TypeScript's non-standard export syntax.

### Source excerpt

Groupon maintains literally hundreds of NPM modules, both open source and internal. Many of these are consumed by our custom NodeJS-based middleware web layer we call "The Interaction Tier" (itself a topic for another post someday). As folks write new modules, a common question is "what's the best way to export things from our published modules to maximize compatibility?" -- and that is the topic of this post. First, some background and history: Flavors of exported modulesCommonJS in Node In the beginning, there was CommonJS: Here are 3 sample files with exports: // export1.js - exporting individual properties w/ CommonJS 'use strict';function foo() { } exports.foo = foo; exports.bar = 42;// export2.js - exporting a single object w/ CommonJS 'use strict';function baz() { } const garply = 88; module.exports = { baz }; // dynamically (conditionally!) exported! if (Math.random() > 0.5) module.exports.garply = garply;// export3.js - exporting a bare function w/ CommonJS 'use strict';function quux() { } module.exports = quux;// sometimes there are extra properties added to the bare function quux.yadda = 42; Those CommonJS exports can be imported either into other CommonJS files or into ES Module (more on that below) files: // import.js - importing CommonJS modules into a CJS file 'use strict';const { foo, bar } = require('./export1'); const { baz, garply } = require('./export2'); if (Math.random > 0.9) { // can also dynamically decide when to import const quux = require('./export3'); // can poke into properties tacked onto functions const { yadda } = require('./export3'); }// import.mjs - importing CommonJS modules into an ESM file // node is willing to turn exported objects into named exports import { foo, bar } from './export1.js'; import { baz, garply } from './export2.js'; import quux from './export3.js'; // cannot access added property "yadda" directly; hence: const { yadda } = quux; You can read more elsewhere, but the key features are: The module files are synchron

## Node.js 12.17.0 (LTS)

DevFeed: [Node.js 12.17.0 (LTS)](<https://devfeed.tech/articles/node-js-12-17-0-lts-2482.md>)

Original publisher: [Read original article](<https://nodejs.org/en/blog/release/v12.17.0>)

Published: 2020-05-26T14:04:17Z

Content type: release

Language: en

Sources: [Node.js Blog](<https://devfeed.tech/sources/node-js-blog.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>), [HTTP](<https://devfeed.tech/topics/http.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [lts](<https://devfeed.tech/tags/lts.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [server](<https://devfeed.tech/tags/server.md>), [web-apps](<https://devfeed.tech/tags/web-apps.md>)

### AI overview

Node.js 12.17.0 is an LTS release that removes the flag previously required to use ECMAScript modules. The ESM implementation remains experimental, with runtime warnings and compatibility differences from transpilation workflows. The release also introduces an experimental Async Hooks API for preserving context across asynchronous operations, with use cases including logging, user identification, performance tracking, and error tracking.

### Source excerpt

Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

## Node.js 14.0.0 (Current)

DevFeed: [Node.js 14.0.0 (Current)](<https://devfeed.tech/articles/node-js-14-0-0-current-2535.md>)

Original publisher: [Read original article](<https://nodejs.org/en/blog/release/v14.0.0>)

Published: 2020-04-22T10:20:16Z

Content type: release

Language: en

Sources: [Node.js Blog](<https://devfeed.tech/sources/node-js-blog.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [V8](<https://devfeed.tech/topics/v8.md>), [Web](<https://devfeed.tech/topics/web.md>)

Tags: [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [eol](<https://devfeed.tech/tags/eol.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [release](<https://devfeed.tech/tags/release.md>), [v8](<https://devfeed.tech/tags/v8.md>), [wasm](<https://devfeed.tech/tags/wasm.md>)

### AI overview

Node.js 14.0.0 is a current release introducing semver-major changes, deprecations, removals, and updates to cryptography, filesystem handling, HTTP, operating-system APIs, streams, WebAssembly checks, and V8 ArrayBuffer support. It also removes the experimental-modules warning while keeping the ECMAScript Modules implementation experimental.

### Source excerpt

Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

## New runtime configuration options with Cloud Functions for Firebase

DevFeed: [New runtime configuration options with Cloud Functions for Firebase](<https://devfeed.tech/articles/new-runtime-configuration-options-with-cloud-functions-for-firebase-16278.md>)

Original publisher: [Read original article](<https://firebase.blog/posts/2018/08/cloud-functions-for-firebase-config-node-8-timeout-memory-region>)

Author: Doug Stevenson

Published: 2018-08-13T00:00:00Z

Content type: release

Language: en

Sources: [Firebase Blog](<https://devfeed.tech/sources/firebase-blog.md>)

Topics: [Cloud Functions](<https://devfeed.tech/topics/cloud-functions.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Firebase CLI](<https://devfeed.tech/topics/firebase-cli.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [async/await](<https://devfeed.tech/topics/async-await.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [V8](<https://devfeed.tech/topics/v8.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [JSON](<https://devfeed.tech/topics/json.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [await](<https://devfeed.tech/tags/await.md>), [cloud-functions](<https://devfeed.tech/tags/cloud-functions.md>), [cloud-next](<https://devfeed.tech/tags/cloud-next.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [firebase-cli](<https://devfeed.tech/tags/firebase-cli.md>), [json](<https://devfeed.tech/tags/json.md>), [launch](<https://devfeed.tech/tags/launch.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

This Firebase team article describes new Cloud Functions for Firebase configuration options announced at Cloud Next 2018. It covers the beta Node.js 8 runtime, required Firebase CLI and firebase-functions versions, ECMAScript 2017 async/await support, TypeScript configuration, and per-function region, memory, and timeout settings.

### Source excerpt

News, tutorials, and updates from the Firebase team.

## Angular Modules vs ES6 Modules

DevFeed: [Angular Modules vs ES6 Modules](<https://devfeed.tech/articles/angular-modules-vs-es6-modules-21313.md>)

Original publisher: [Read original article](<https://juri.dev/blog/2017/03/angular-modules-vs-es6-modules/>)

Published: 2017-03-08T00:00:00Z

Content type: tutorial

Language: en

Sources: [Juri Strumpflohner](<https://devfeed.tech/sources/juri-strumpflohner.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [modules](<https://devfeed.tech/topics/modules.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Development](<https://devfeed.tech/topics/development.md>), [front-end-development](<https://devfeed.tech/topics/front-end-development.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [components](<https://devfeed.tech/tags/components.md>), [development](<https://devfeed.tech/tags/development.md>), [es6](<https://devfeed.tech/tags/es6.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [module](<https://devfeed.tech/tags/module.md>), [modules](<https://devfeed.tech/tags/modules.md>)

### AI overview

This tutorial explains that Angular Modules and ES6 Modules are different concepts. It describes ES6 Modules as a standard way to define imports and exports, and Angular Modules as logical groupings of Angular artifacts and their dependencies within an application.

### Source excerpt

Lorem ipsum dolor sit amet

## From ASM.JS to WebAssembly

DevFeed: [From ASM.JS to WebAssembly](<https://devfeed.tech/articles/from-asm-js-to-webassembly-37577.md>)

Original publisher: [Read original article](<https://brendaneich.com/2015/06/from-asm-js-to-webassembly/>)

Author: Brendan Eich

Published: 2015-06-17T09:04:55Z

Content type: release

Language: en

Sources: [Brendan Eich](<https://devfeed.tech/sources/brendan-eich.md>)

Topics: [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [compilers](<https://devfeed.tech/topics/compilers.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [Assembly](<https://devfeed.tech/topics/assembly.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [assembly](<https://devfeed.tech/tags/assembly.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [compilers](<https://devfeed.tech/tags/compilers.md>), [js](<https://devfeed.tech/tags/js.md>), [mozilla](<https://devfeed.tech/tags/mozilla.md>), [uncategorized](<https://devfeed.tech/tags/uncategorized.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

The article announces that cross-browser work has begun on WebAssembly, a new binary syntax and intermediate representation for safe Web code. Initially co-expressive with asm.js, WebAssembly is intended to become a common object-level format for multiple source-level programming languages while retaining JavaScript-based polyfilling during the transition.

### Source excerpt

tl;dr I'm burying the lede with context and catch-up material first, so impatient or already-clued-in readers should skip to below the videos for today's big news. Or just read Luke Wagner's blog post right now. My Fluent 2015 "ECMAScript Harmony: Rise of the Compilers" talk given on April 21st: Jeremy Ashkenas picked up this ball ... Continue reading "From ASM.JS to WebAssembly"

## JavaScript is evolving

DevFeed: [JavaScript is evolving](<https://devfeed.tech/articles/javascript-is-evolving-31991.md>)

Original publisher: [Read original article](<https://tech.finn.no2015/02/26/javascript-is-evolving/>)

Author: Tor Arne Kvaløy

Published: 2015-02-26T09:23:01Z

Content type: tutorial

Language: en

Sources: [Finn.no](<https://devfeed.tech/sources/finn-no.md>)

Topics: [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [polyfill](<https://devfeed.tech/topics/polyfill.md>), [Babel](<https://devfeed.tech/topics/babel.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [browsers](<https://devfeed.tech/topics/browsers.md>)

Tags: [babel](<https://devfeed.tech/tags/babel.md>), [browser](<https://devfeed.tech/tags/browser.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [feature](<https://devfeed.tech/tags/feature.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [polyfill](<https://devfeed.tech/tags/polyfill.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

This tutorial explains how ECMAScript 6 improves JavaScript with methods such as includes and find, new syntax such as arrow functions and scoped variables, and class support. It also describes using polyfills for older browsers and Babel to transpile newer syntax to ECMAScript 5.

### Source excerpt

As a die-hard java-developer for several years I was quite annoyed by the fact that Java as a language lagged several years behind C#. (E.g. Java got lambdas last year, 6 years after C#, so standards are nice for compatibility, but tends to be slow to evolve.) Polyfill Now, as a frontend-developer and getting to know JavaScript, I have realized that JavaScript is lagging even further behind. Take for example the everyday case of checking if a string contains another string: "hello world".indexOf("hello") > -1 //=> true This is awkward and you know it, however JavaScript is evolving. The next version ECMAScript 6 is in its final phase, and will have, among several features, the following method: "hello world".includes("hello") //=> true Another new nice feature is for finding the first item in an array. It used to be written like this: for(int i = 0; i < array.length; i++){ if(array[i].something === something){ return array[i]; } } And now it can be written like: array.find(it => it.something === something); ECMAScript 6 is feature complete, and is started to be supported by modern browser like Chrome, Firefox and Internet Explorer 11. As for older browsers, great polyfills like core-js come to our rescue. Transpile While polyfills extend current objects with new methods, ECMAScript 6 also contains new language syntax. Let's look at the arrow function (also known as fat arrow): ["one", "two", "three"].map(v => v + "!") Older browser will not understand "=>" (for a long time!), so this code has to be transpiled to ECMAScript 5: ["one", "two", "three"].map(function (v) { return v + "!"; }); There are some great transcompilation tools out there, and the one we have used is Babel. You can even play around with it here. Scoped variables JavaScript will also get scoped variables (let and const): const hello = "Hello" if(true) { const hello = "Inner scoped hello" } This will transpile to: var hello = "Hello"; if (true) { var _hello = "Inner scoped hello"; } Classes And fina

## Anders Hejlsberg Tech Talk on Typescript

DevFeed: [Anders Hejlsberg Tech Talk on Typescript](<https://devfeed.tech/articles/anders-hejlsberg-tech-talk-on-typescript-15501.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/anders-hejlsberg-tech-talk-on-typescript>)

Author: Square Engineering

Published: 2014-11-21T17:08:00Z

Content type: article

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [TypeScript](<https://devfeed.tech/topics/typescript.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [engineering](<https://devfeed.tech/tags/engineering.md>), [event](<https://devfeed.tech/tags/event.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [talk](<https://devfeed.tech/tags/talk.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

Square hosted a tech talk by Anders Hejlsberg about TypeScript. The article describes TypeScript as a strict superset of JavaScript with optional static typing and object-oriented constructs, aligned with ECMAScript 6 and available as open source under the Apache license.

### Source excerpt

A Square hosted event

## Getting Started with ES6 Modules

DevFeed: [Getting Started with ES6 Modules](<https://devfeed.tech/articles/getting-started-with-es6-modules-40627.md>)

Original publisher: [Read original article](<https://eviltrout.com/blog/2014-05-03-getting-started-with-es6/>)

Published: 2014-05-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [Robin Ward](<https://devfeed.tech/sources/robin-ward.md>)

Topics: [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [modules](<https://devfeed.tech/topics/modules.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>)

Tags: [browser](<https://devfeed.tech/tags/browser.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [es6](<https://devfeed.tech/tags/es6.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [modules](<https://devfeed.tech/tags/modules.md>), [node-js](<https://devfeed.tech/tags/node-js.md>)

### AI overview

This tutorial introduces ES6 modules, explaining how they provide standardized JavaScript module syntax after the competing AMD and CommonJS approaches. It demonstrates exporting and using a class across files and explains that transpilers can make ES6 modules usable in browsers before native support is available.

### Source excerpt

Javascript is a fantastic example of how something, despite having visible warts and very poor design, can dominate the tech landscape. Nobody uses Javascript because it's a beautiful language; they use it because it's ubiquitous. Its warts are now well understood and most have workarounds. An amazing omission in Javascript's design is the lack of a built-in module system. As more projects used Javascript and shared more code, the need for a robust module system became necessary. Two contenders sprung up, Asynchronous Module Definition (AMD) and CommonJS (CJS). The former is much more popular with browser applications and the latter is much more popular with server applications written in node.js.

## Getting started with Ember App Kit

DevFeed: [Getting started with Ember App Kit](<https://devfeed.tech/articles/getting-started-with-ember-app-kit-20369.md>)

Original publisher: [Read original article](<https://blog.sensible.io/2014/03/07/getting-started-with-ember-app-kit.html>)

Author: sensible.io team

Published: 2014-03-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Sensible](<https://devfeed.tech/sources/sensible.md>)

Topics: [Ember](<https://devfeed.tech/topics/ember.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [ECMAScript](<https://devfeed.tech/topics/ecmascript.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [component](<https://devfeed.tech/tags/component.md>), [es6](<https://devfeed.tech/tags/es6.md>), [getting-started](<https://devfeed.tech/tags/getting-started.md>), [git](<https://devfeed.tech/tags/git.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [install](<https://devfeed.tech/tags/install.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [modules](<https://devfeed.tech/tags/modules.md>), [npm](<https://devfeed.tech/tags/npm.md>), [port](<https://devfeed.tech/tags/port.md>), [svg](<https://devfeed.tech/tags/svg.md>), [web-browser](<https://devfeed.tech/tags/web-browser.md>)

### AI overview

A tutorial for building a simple Ember.js app that logs daily water intake using Ember App Kit. It covers creating a project, installing Grunt, Bower, and Loom, starting a development server, generating routes and controllers, and building a bottle component with an SVG-based water-level display.

### Source excerpt

In the following tutorial we'll create a simple Ember.js app for logging your water intake. Besides learning the basics of Ember.js, you will also learn how to use Ember App Kit. You can see the final application right below: Link to Demo About Ember App Kit EAK is the basic building block of your app. It helps you to rapidly start the development with features such as the ES6 module transpiler, automatic reloading, the Grunt task runner, the Bower package manager... EAK uses ECMAScript 6 Modules, which means you can keep your namespace clean and only import objects you need to the current scope. Thanks to es6-module-transpiler you can use the current ES6 module syntax and it will be automatically compiled into today's JavaScript. Creating a project Create your project by cloning EAK ➤ git clone git@github.com:stefanpenner/ember-app-kit.git waterize ➤ cd waterize Optionally you can get rid of the Git history and start fresh ➤ rm -rf .git ➤ git init Install required node binaries This only needs to be done once. Install Grunt, Bower and Loom (if you want to use generate command to easily generate controllers/models etc.). ➤ npm install -g grunt-cli bower loom Starting a development server Install the required node packages and start the server ➤ npm install ➤ grunt server Finally open our project in the web browser (port defaults to 8000). open http://localhost:8000 Generating basic routes and controllers We'll use day controller for storing our water intake per that day. Now let's generate an object controller with Loom In Ember.js, controllers allow you to decorate your models with display logic. In general, your models will have properties that are saved to the server, while controllers will have properties that your app does not need to save to the server. Ember.js guide - Controllers ➤ generate controller day Select o since we want an object controller, then generate a route for the controller When your application starts, the router is responsible for displaying