hardBackend

What is the package.json "exports" field and conditional exports?

404 views
01

Understand the problem

Controlling a package's public entry points and per-environment resolution.

nodejsesmpackagingexports
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Dual ESM/CJS package with types
{
  "name": "pkg",
  "exports": {
    ".": {
      "types":   "./dist/index.d.ts",
      "import":  "./dist/index.mjs",
      "require": "./dist/index.cjs",
      "default": "./dist/index.mjs"
    },
    "./package.json": "./package.json"
  }
}
// require('pkg/src/secret.js') now fails — internals are hidden.
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.