canirequire

canirequire › CommonJS › dunder-proto

Is dunder-proto ESM-only? Can you require() it?

If available, the `Object.prototype.__proto__` accessor and mutator, call-bound

Last verified Sep 9, 2026 against dunder-proto@1.0.1. Markdown · JSON

CommonJS CommonJS, subpaths only — require("dunder-proto/…") works, require("dunder-proto") does not

dunder-proto exposes only subpaths in its exports map, for example "dunder-proto/get"; there is no root entry, so require("dunder-proto") and import "dunder-proto" both throw ERR_PACKAGE_PATH_NOT_EXPORTED. The subpaths are CommonJS: require("dunder-proto/get") works everywhere, and import "dunder-proto/get" works through Node's CommonJS interop.

What to do

  1. Load subpaths, never the bare name: const dunderProto = require("dunder-proto/get"). require("dunder-proto") throws ERR_PACKAGE_PATH_NOT_EXPORTED.
  2. From ES modules use the default import: import dunderProto from "dunder-proto/get"; then destructure. Named imports only work when Node.js can statically detect the exports.
  3. TypeScript: no types are available for dunder-proto; declare the module yourself if you need them.
Latest
1.0.1 (Dec 17, 2024)
Module format
CommonJS
Last CommonJS version
1.0.1
TypeScript types
None
Node engines
>= 0.4
Weekly downloads
94.0M
License
MIT

Does dunder-proto@1.0.1 actually load? Runtime test results

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

Runtimerequire("dunder-proto")import "dunder-proto"
Node.js 18✗ failsERR_PACKAGE_PATH_NOT_EXPORTED✗ failsERR_PACKAGE_PATH_NOT_EXPORTED
Node.js 20✗ failsERR_PACKAGE_PATH_NOT_EXPORTED✗ failsERR_PACKAGE_PATH_NOT_EXPORTED
Node.js 22✗ failsERR_PACKAGE_PATH_NOT_EXPORTED✗ failsERR_PACKAGE_PATH_NOT_EXPORTED
Node.js 24✗ failsERR_PACKAGE_PATH_NOT_EXPORTED✗ failsERR_PACKAGE_PATH_NOT_EXPORTED
Node.js 26✗ failsERR_PACKAGE_PATH_NOT_EXPORTED✗ failsERR_PACKAGE_PATH_NOT_EXPORTED
Bun 1.4.0✗ failsError✗ failsError

A failing require() on a CommonJS package usually means the package needs a browser/DOM global, a peer dependency, or a native binary that is not available in a bare Node.js process.

How to import dunder-proto

ES modules (import)

import dunderProto from "dunder-proto/get";

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 dunderProto = require("dunder-proto/get");

Module format by version

Derived from the type, main and exports fields of every stable release on npm, corrected where a runtime test of that version contradicted them (2 versions; the newest 2 shown).

VersionsFormatFirst published
1.0.0 – 1.0.1CommonJSDec 6, 2024

Frequently asked

Is dunder-proto ESM-only?

dunder-proto@1.0.1 is a CommonJS package, reachable only through subpaths. dunder-proto exposes only subpaths in its exports map, for example "dunder-proto/get"; there is no root entry, so require("dunder-proto") and import "dunder-proto" both throw ERR_PACKAGE_PATH_NOT_EXPORTED. The subpaths are CommonJS: require("dunder-proto/get") works everywhere, and import "dunder-proto/get" works through Node's CommonJS interop.

Can I require dunder-proto?

Only by subpath. require("dunder-proto") throws ERR_PACKAGE_PATH_NOT_EXPORTED because the exports map has no root entry; require("dunder-proto/get") works.

Can I import dunder-proto with ES module syntax?

Yes. import dunderProto from "dunder-proto/get" 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 dunder-proto work in Bun?

Importing dunder-proto failed in Bun 1.4.0 on Sep 9, 2026: error: Cannot find package 'dunder-proto' from '/Users/boat/Projects/top-seo/data/probe-work/dunder-proto/imp.mjs'

Does dunder-proto ship TypeScript types?

No. dunder-proto ships no type declarations and there is no @types package for it.

Links

Other commonjs packages

Similar popularity