canirequire

canirequireDual (CommonJS + ESM) › mobx

Is mobx ESM-only? Can you require() it?

Simple, scalable state management.

Last verified Sep 9, 2026 against mobx@7.0.3. JSON

Dual (CommonJS + ESM) Dual package — both require() and import work

mobx publishes both a CommonJS entry and a native ESM entry (ESM added in 7.0.0). require("mobx") and import "mobx" both work on every supported Node.js version and in Bun.

Latest
7.0.3 (Aug 19, 2026)
Module format
Dual (CommonJS + ESM)
Last CommonJS version
7.0.3
Native ESM since
7.0.0
TypeScript types
Bundled
Node engines
not declared
Weekly downloads
3.3M
License
MIT

Does mobx@7.0.3 actually load? Runtime test results

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

Runtimerequire("mobx")import "mobx"
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 mobx

ES modules (import)

import mobx from "mobx";

CommonJS (require)

const mobx = require("mobx");

Module format by version

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

VersionsFormatFirst published
7.0.0 – 7.0.3Dual (CommonJS + ESM)Jul 30, 2026
6.1.3 – 6.16.1CommonJSJan 29, 2021

Frequently asked

Is mobx ESM-only?

mobx@7.0.3 ships CommonJS and ESM builds. mobx publishes both a CommonJS entry and a native ESM entry (ESM added in 7.0.0). require("mobx") and import "mobx" both work on every supported Node.js version and in Bun.

Can I require mobx?

Yes. mobx ships a CommonJS entry, so require("mobx") works on every Node.js version, alongside the native ESM entry for import.

Does mobx work in Bun?

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

Does mobx ship TypeScript types?

Yes. mobx bundles its own type declarations; no @types package is needed.

Links

Other dual (commonjs + esm) packages

Similar popularity