# CommonJS

Published articles for CommonJS.

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

## Jotai 3.0 Ships as a Modernized, ESM-Only Package That Drops Legacy Builds and Deprecated APIs

DevFeed: [Jotai 3.0 Ships as a Modernized, ESM-Only Package That Drops Legacy Builds and Deprecated APIs](<https://devfeed.tech/articles/jotai-3-0-ships-as-a-modernized-esm-only-package-that-drops-legacy-builds-and-deprecated-apis-17394.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/jotai-3-released/>)

Author: Daniel Curtis

Published: 2026-09-14T06:46:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [React](<https://devfeed.tech/topics/react.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Zustand](<https://devfeed.tech/topics/zustand.md>)

Tags: [commonjs](<https://devfeed.tech/tags/commonjs.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [development](<https://devfeed.tech/tags/development.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jotai-3-released](<https://devfeed.tech/tags/jotai-3-released.md>), [news](<https://devfeed.tech/tags/news.md>), [react](<https://devfeed.tech/tags/react.md>), [releases](<https://devfeed.tech/tags/releases.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

Jotai 3.0.0 is a stable, ESM-only release for React that removes CommonJS, UMD, and SystemJS builds, drops older Node, React, and TypeScript support, targets ES2020, and removes several deprecated APIs. Most migrations are described as mechanical, with replacements and import changes documented in the migration guide. Larger feature changes, including concurrent-safe atoms and external-store syncing, are deferred to later versions.

### Source excerpt

Jotai, an atomic state management library for React, has released version 3.0.0, now exclusively using ES modules. It maintains backward compatibility but removes some deprecated APIs. Migration is straightforward for most users. This version emphasizes a leaner core with improvements while deferring significant feature changes for future updates. By Daniel Curtis

## Node-ipc compromised: Credential stealer targets package with 500k+ weekly downloads

DevFeed: [Node-ipc compromised: Credential stealer targets package with 500k+ weekly downloads](<https://devfeed.tech/articles/node-ipc-compromised-credential-stealer-targets-package-with-500k-weekly-downloads-13188.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/node-ipc-compromised-credential-stealer-targets-package-with-500k-weekly-downloads>)

Published: 2026-05-14T00:00:00Z

Content type: news

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [Malware](<https://devfeed.tech/topics/malware.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [Security](<https://devfeed.tech/topics/security.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [ssh](<https://devfeed.tech/topics/ssh.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [API keys](<https://devfeed.tech/topics/api-keys.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [Terraform](<https://devfeed.tech/topics/terraform.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api-keys](<https://devfeed.tech/tags/api-keys.md>), [chainguard-libraries](<https://devfeed.tech/tags/chainguard-libraries.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [claude](<https://devfeed.tech/tags/claude.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [dns](<https://devfeed.tech/tags/dns.md>), [github](<https://devfeed.tech/tags/github.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [malware](<https://devfeed.tech/tags/malware.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [node](<https://devfeed.tech/tags/node.md>), [node-ipc](<https://devfeed.tech/tags/node-ipc.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [node-malware](<https://devfeed.tech/tags/node-malware.md>), [node-worm](<https://devfeed.tech/tags/node-worm.md>), [npm](<https://devfeed.tech/tags/npm.md>), [npm-malware](<https://devfeed.tech/tags/npm-malware.md>), [payload](<https://devfeed.tech/tags/payload.md>), [security](<https://devfeed.tech/tags/security.md>), [sha-256](<https://devfeed.tech/tags/sha-256.md>), [shai-hulud](<https://devfeed.tech/tags/shai-hulud.md>), [ssh](<https://devfeed.tech/tags/ssh.md>), [terraform](<https://devfeed.tech/tags/terraform.md>)

### AI overview

Three malicious versions of the node-ipc npm package harvested and exfiltrated credentials from cloud providers, SSH, Kubernetes, CI/CD, version-control tools, and AI APIs. The article reports that Chainguard customers were not affected.

### Source excerpt

Malicious node-ipc packages stole cloud, SSH, Kubernetes, and AI keys. Chainguard customers stayed protected through source-built libraries.

## Node.js 20.19.0 (LTS)

DevFeed: [Node.js 20.19.0 (LTS)](<https://devfeed.tech/articles/node-js-20-19-0-lts-2721.md>)

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

Published: 2025-03-13T13:18:23Z

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>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [releases](<https://devfeed.tech/topics/releases.md>)

Tags: [commonjs](<https://devfeed.tech/tags/commonjs.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [github](<https://devfeed.tech/tags/github.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>)

### AI overview

Node.js 20.19.0 is a special LTS minor release that backports native ES module loading through require() to the Node.js 20 line without requiring the experimental flag. The release also enables module syntax detection by default and includes updates to root certificates and worker messaging.

### 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.

## Importing a frontend Javascript library without a build system

DevFeed: [Importing a frontend Javascript library without a build system](<https://devfeed.tech/articles/importing-a-frontend-javascript-library-without-a-build-system-21113.md>)

Original publisher: [Read original article](<https://jvns.ca/blog/2024/11/18/how-to-import-a-javascript-library/>)

Author: Julia Evans

Published: 2024-11-18T09:35:42Z

Content type: tutorial

Language: en

Sources: [Julia Evans](<https://devfeed.tech/sources/julia-evans.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Library](<https://devfeed.tech/topics/library.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [npm](<https://devfeed.tech/topics/npm.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Code](<https://devfeed.tech/topics/code.md>), [Script](<https://devfeed.tech/topics/script.md>), [cdnjs](<https://devfeed.tech/topics/cdnjs.md>)

Tags: [3](<https://devfeed.tech/tags/3.md>), [amd](<https://devfeed.tech/tags/amd.md>), [browser](<https://devfeed.tech/tags/browser.md>), [cdn](<https://devfeed.tech/tags/cdn.md>), [code](<https://devfeed.tech/tags/code.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [library](<https://devfeed.tech/tags/library.md>), [npm](<https://devfeed.tech/tags/npm.md>)

### AI overview

A practical guide to importing JavaScript libraries in frontend code without a build system. It explains the differences among classic global-variable files, ES modules, and CommonJS modules, and describes how to identify and use the formats a library provides through its NPM build and CDN distribution.

### Source excerpt

I like writing Javascript without a build system and for the millionth time yesterday I ran into a problem where I needed to figure out how to import a Javascript library in my code without using a build system, and it took FOREVER to figure out how to import it because the library's setup instructions assume that you're using a build system. Luckily at this point I've mostly learned how to navigate this situation and either successfully use the library or decide it's too difficult and switch to a different library, so here's the guide I wish I had to importing Javascript libraries years ago. I'm only going to talk about using Javacript libraries on the frontend, and only about how to use them in a no-build-system setup. In this post I'm going to talk about: the three main types of Javascript files a library might provide (ES Modules, the "classic" global variable kind, and CommonJS) how to figure out which types of files a Javascript library includes in its build ways to import each type of file in your code the three kinds of Javascript files There are 3 basic types of Javascript files a library can provide: the "classic" type of file that defines a global variable. This is the kind of file that you can just <script src> and it'll Just Work. Great if you can get it but not always available an ES module (which may or may not depend on other files, we'll get to that) a "CommonJS" module. This is for Node, you can't use it in a browser at all without using a build system. I'm not sure if there's a better name for the "classic" type but I'm just going to call it "classic". Also there's a type called "AMD" but I'm not sure how relevant it is in 2024. Now that we know the 3 types of files, let's talk about how to figure out which of these the library actually provides! where to find the files: the NPM build Every Javascript library has a build which it uploads to NPM. You might be thinking (like I did originally) - Julia! The whole POINT is that we're not using Node to

## 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.

## Node.js 20.10.0 (LTS)

DevFeed: [Node.js 20.10.0 (LTS)](<https://devfeed.tech/articles/node-js-20-10-0-lts-2704.md>)

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

Published: 2023-11-22T15:28:11Z

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>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [V8](<https://devfeed.tech/topics/v8.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [wasm](<https://devfeed.tech/topics/wasm.md>)

Tags: [cache](<https://devfeed.tech/tags/cache.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [developers](<https://devfeed.tech/tags/developers.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [lts](<https://devfeed.tech/tags/lts.md>), [node](<https://devfeed.tech/tags/node.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [wasm](<https://devfeed.tech/tags/wasm.md>)

### AI overview

Node.js 20.10.0 is an LTS release that adds flags for selecting or detecting ES modules, improves write durability, introduces a standardized global, and restores V8 compilation-cache performance for affected workloads.

### 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 21.0.0 (Current)

DevFeed: [Node.js 21.0.0 (Current)](<https://devfeed.tech/articles/node-js-21-0-0-current-2743.md>)

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

Published: 2023-10-17T16:17:55Z

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>), [V8](<https://devfeed.tech/topics/v8.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [Visual Studio](<https://devfeed.tech/topics/visual-studio.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>)

Tags: [commonjs](<https://devfeed.tech/tags/commonjs.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [js](<https://devfeed.tech/tags/js.md>), [macos](<https://devfeed.tech/tags/macos.md>), [node](<https://devfeed.tech/tags/node.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [release](<https://devfeed.tech/tags/release.md>), [visual-studio](<https://devfeed.tech/tags/visual-studio.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

Node.js 21.0.0 is a Current release featuring V8 JavaScript engine 11.8, stable fetch and Web Streams, an experimental flag for changing ambiguous module interpretation, test runner updates, a WebSocket client, and other runtime and build changes.

### 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 21 is now available!

DevFeed: [Node.js 21 is now available!](<https://devfeed.tech/articles/node-js-21-is-now-available-2432.md>)

Original publisher: [Read original article](<https://nodejs.org/en/blog/announcements/v21-release-announce>)

Published: 2023-10-17T15:45:00Z

Content type: article

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>), [releases](<https://devfeed.tech/topics/releases.md>), [V8](<https://devfeed.tech/topics/v8.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>)

Tags: [commonjs](<https://devfeed.tech/tags/commonjs.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [lts](<https://devfeed.tech/tags/lts.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [releases](<https://devfeed.tech/tags/releases.md>), [v8](<https://devfeed.tech/tags/v8.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

The article announces Node.js 21, which updates the V8 JavaScript engine to version 11.8, makes selected features stable, adds an experimental flag for changing module defaults, introduces a built-in WebSocket client, and expands the test runner with glob expression support. Node.js 21 becomes the Current release line while Node.js 20 moves toward long-term support.

### 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.

## 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

## Keen: a minimal npm package boilerplate using TypeScript and esbuild

DevFeed: [Keen: a minimal npm package boilerplate using TypeScript and esbuild](<https://devfeed.tech/articles/introducing-keen-37291.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/introducing-keen-npm-package-boilerplate/>)

Author: Stanko

Published: 2022-06-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [npm packages](<https://devfeed.tech/topics/npm-packages.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>)

Tags: [boilerplate](<https://devfeed.tech/tags/boilerplate.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [npm-packages](<https://devfeed.tech/tags/npm-packages.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

Keen is a minimal, opinionated npm package boilerplate that uses esbuild and TypeScript to provide local development, a demo page, ESM and CommonJS builds, and type definitions with two dependencies.

### Source excerpt

As someone who maintains a couple of npm packages, I got frustrated by all of the notifications about security issues in my dev dependencies. In 99.99% I wasn't even using the vulnerable code, and usually it would be buried deep in the dependency tree. Therefore, I decided to revisit and simplify my workflow. These were the main things I wanted to have: Use TypeScript and generate type definitions Generate both ESM and CJS modules Reduce the number of dev dependencies Have an easy way to develop and deploy a demo page Less dependencies makes maintenance easier and code is less prone to the security issues. Keen # So without further ado I present you keen, my npm package boilerplate. It does all of the things mentioned above with only two dependencies, esbuild and typescript. These are all of the keen dependencies. esbuild handles local development and builds a demo page. TypeScript takes care of building ESM and CJS modules as well as type definitions. Disclaimer # Keen is minimal and opinionated on purpose, and it might not fit your workflow. If you want something more robust and don't mind having more dependencies, check tools like tsup or unbuild. ESM and CJS modules # It helps your users to have both types of modules available. The main blocker is that you can't use ESM packages in CJS. That's why I have two builds which are using different TypeScript configurations. Both config files extend tsconfig-base.json and they just define the appropriate module type and transpile target: { "extends": "./tsconfig-base.json", "compilerOptions": { "module": "ES2020", "outDir": "dist/esm", "target": "ES2015" } } Show tsconfig-esm.jsonHide tsconfig-esm.json { "extends": "./tsconfig-base.json", "compilerOptions": { "module": "commonjs", "outDir": "dist/cjs", "target": "ES2015" } } Show tsconfig-cjs.jsonHide tsconfig-cjs.json I won't go into more details, but there are a couple of other things I had to setup. The code I ended up using is heavily based on these two articles. If

## Node.js 14.2.0 (Current)

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

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

Published: 2020-05-05T18:30:07Z

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>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [servers](<https://devfeed.tech/topics/servers.md>), [Web](<https://devfeed.tech/topics/web.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [V8](<https://devfeed.tech/topics/v8.md>)

Tags: [command-line](<https://devfeed.tech/tags/command-line.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [http](<https://devfeed.tech/tags/http.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>), [servers](<https://devfeed.tech/tags/servers.md>), [v8](<https://devfeed.tech/tags/v8.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

Node.js 14.2.0 is a current release that adds an experimental API for tracking and verifying function call counts, configurable Console constructor group indentation, a worker stack-size resource limit option, and a build flag for treating warnings as errors. It also includes updates and fixes across crypto, HTTP, modules, V8, and other components.

### 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.

## 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

## Empire Node 2016

DevFeed: [Empire Node 2016](<https://devfeed.tech/articles/empire-node-2016-32300.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/empire-node-2016/>)

Author: Jack Tarantino

Published: 2016-11-08T22:57:34Z

Content type: article

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [code style](<https://devfeed.tech/topics/code-style.md>), [ESLint](<https://devfeed.tech/topics/eslint.md>), [React](<https://devfeed.tech/topics/react.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [MongoDB](<https://devfeed.tech/topics/mongodb.md>), [Promise](<https://devfeed.tech/topics/promise.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [middleware](<https://devfeed.tech/topics/middleware.md>)

Tags: [callback](<https://devfeed.tech/tags/callback.md>), [code](<https://devfeed.tech/tags/code.md>), [code-style](<https://devfeed.tech/tags/code-style.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [empire-node](<https://devfeed.tech/tags/empire-node.md>), [eslint](<https://devfeed.tech/tags/eslint.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [modules](<https://devfeed.tech/tags/modules.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [new-york-city](<https://devfeed.tech/tags/new-york-city.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [react](<https://devfeed.tech/tags/react.md>), [redux](<https://devfeed.tech/tags/redux.md>)

### AI overview

Notes from Empire Node 2016 cover talks about HyperTerm and its React and Redux plugin architecture, ESLint rules and coding practices, and MongoDB, along with other programming topics.

### Source excerpt

Yesterday I had the good fortune to attend Empire Node at The National Museum of the American Indian, courtesy of InRhythm. A good time was had by all and we got to see some great talks! There was programmable music, smart ways to get into code style linting and, of

## How to export a JavaScript module to multiple formats

DevFeed: [How to export a JavaScript module to multiple formats](<https://devfeed.tech/articles/how-to-export-a-javascript-module-to-multiple-formats-27938.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2015-12-17-export-multiple-javascript-module-formats/>)

Author: Tom Bartel

Published: 2015-12-17T00:00:00Z

Content type: tutorial

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Webpack](<https://devfeed.tech/topics/webpack.md>), [Library](<https://devfeed.tech/topics/library.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [modules](<https://devfeed.tech/topics/modules.md>), [es6](<https://devfeed.tech/topics/es6.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [build](<https://devfeed.tech/tags/build.md>), [code](<https://devfeed.tech/tags/code.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [es6](<https://devfeed.tech/tags/es6.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [webpack](<https://devfeed.tech/tags/webpack.md>)

### AI overview

This tutorial explains how to use webpack to publish a JavaScript library in multiple module formats, including CommonJS, AMD, ES6, global-variable, and UMD formats. It covers the libraryTarget configuration and using multiple compiler runs for different build targets.

### Source excerpt

When publishing a JavaScript library, we usually want to make it available to as many people as possible to maximize the library's usefulness and adoption. In that respect, it can be helpful to users to have the library available in their preferred module format - CommonJS, AMD, ES6, etc.

## 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.

## ES6 Module Transpiler -- Tomorrow's JavaScript module syntax today

DevFeed: [ES6 Module Transpiler -- Tomorrow's JavaScript module syntax today](<https://devfeed.tech/articles/es6-module-transpiler-tomorrow-s-javascript-module-syntax-today-15630.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/es6-module-transpiler-tomorrows-javascript-module-syntax-today>)

Author: Square Engineering

Published: 2013-02-15T17:02:00Z

Content type: tutorial

Language: en

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

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Code](<https://devfeed.tech/topics/code.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [amd](<https://devfeed.tech/tags/amd.md>), [applications](<https://devfeed.tech/tags/applications.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [es6](<https://devfeed.tech/tags/es6.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [import](<https://devfeed.tech/tags/import.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [module](<https://devfeed.tech/tags/module.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>)

### AI overview

The article explains how Square's ES6 Module Transpiler lets developers write JavaScript with the draft ES6 module syntax and compile it for existing runtimes. It discusses interoperability with CommonJS, AMD, global namespaces, and CoffeeScript.

### Source excerpt

Using the draft ES6 module syntax in today's frameworks and applications.

## Building The Next SoundCloud

DevFeed: [Building The Next SoundCloud](<https://devfeed.tech/articles/building-the-next-soundcloud-2006.md>)

Original publisher: [Read original article](<https://developers.soundcloud.com/blog//building-the-next-soundcloud>)

Published: 2012-06-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [SoundCloud Backstage Blog](<https://devfeed.tech/sources/soundcloud-backstage-blog.md>)

Topics: [Single-page application (SPA)](<https://devfeed.tech/topics/spa.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Backbone.js](<https://devfeed.tech/topics/backbonejs.md>), [Handlebars](<https://devfeed.tech/topics/handlebars.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [javascript](<https://devfeed.tech/tags/javascript.md>)

### AI overview

SoundCloud's front-end team describes the architecture of the Next SoundCloud beta, a JavaScript single-page application designed for continuous playback and fast navigation. The article covers browser-side rendering from the public API, Backbone.js, Handlebars templates, and modular code using CommonJS-style modules converted to AMD for the browser.

### Source excerpt

This article is also available in: Serbo-Croatian: Pravljenje novog SoundCloud Armenian: SoundCloud (ձայնամպ) ծրագրավորողների համար The...