canirequire

canirequireCommonJS › object.assign

Is object.assign ESM-only? Can you require() it?

ES6 spec-compliant Object.assign shim. From https://github.com/es-shims/es6-shim

Last verified Sep 9, 2026 against object.assign@4.1.7. JSON

CommonJS CommonJS — require() works on every Node.js version

object.assign ships CommonJS only. require("object.assign") works everywhere. import "object.assign" also works because Node.js and Bun can import CommonJS from ES modules, but only the default export is guaranteed; named imports depend on Node's static analysis of the module.

Latest
4.1.7 (Dec 18, 2024)
Module format
CommonJS
Last CommonJS version
4.1.7
TypeScript types
@types/object.assign
Node engines
>= 0.4
Weekly downloads
85.9M
License
MIT

Does object.assign@4.1.7 actually load? Runtime test results

Installed and executed on Sep 9, 2026 with require("object.assign") from a CommonJS file and import "object.assign" from an ES module.

Runtimerequire("object.assign")import "object.assign"
Node.js 18✓ works✓ works
Node.js 20✓ works✓ works
Node.js 22✓ works✓ works
Node.js 24✓ works✓ works
Node.js 26✓ works✓ works
Bun 1.4✓ works✓ works

How to import object.assign

ES modules (import)

import objectAssign from "object.assign";

Named imports from a CommonJS package only work when Node.js can statically detect them. If a named import fails, use the default import and destructure.

CommonJS (require)

const objectAssign = require("object.assign");

Module format by version

Derived from the type, main and exports fields of every stable release on npm (33 versions; the newest 33 shown).

VersionsFormatFirst published
0.1.0 – 4.1.7CommonJSMar 14, 2014

Frequently asked

Is object.assign ESM-only?

object.assign@4.1.7 is a CommonJS package. object.assign ships CommonJS only. require("object.assign") works everywhere. import "object.assign" also works because Node.js and Bun can import CommonJS from ES modules, but only the default export is guaranteed; named imports depend on Node's static analysis of the module.

Can I import object.assign with ES module syntax?

Yes. import objectAssign from "object.assign" works in Node.js and Bun because they support importing CommonJS modules. Named imports work only when Node.js can statically detect the exports.

Does object.assign work in Bun?

Yes. import "object.assign" loaded successfully in Bun 1.4 on Sep 9, 2026.

Does object.assign ship TypeScript types?

Not bundled. Install the community types with "npm install -D @types/object.assign".

Links

Other commonjs packages

Similar popularity