# CommonJS

CommonJS is a stable module system and the original way to package JavaScript code for Node.js.

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

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

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

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

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

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