Skip to content

Release/15.0.1#456

Merged
Gudahtt merged 4 commits into
v15.xfrom
release/15.0.1
Jul 20, 2026
Merged

Release/15.0.1#456
Gudahtt merged 4 commits into
v15.xfrom
release/15.0.1

Conversation

@Gudahtt

@Gudahtt Gudahtt commented Jul 20, 2026

Copy link
Copy Markdown
Member

This is a release candidate for v15.0.1, a backport release for v15.x


Note

Low Risk
Packaging-only change with no lint rule or runtime logic edits; risk is limited to module resolution behavior for consumers on 15.0.0.

Overview
v15.0.1 is a patch backport across all @metamask/eslint-config* workspace packages (root and eight published configs).

The functional change is in each package’s exports map: the entry point no longer uses an import-only nested condition. types and default now sit directly on ".", so Node can resolve the published index.mjs for consumers that load the package from CommonJS (e.g. legacy eslint.config.js or tooling that requires the config), addressing #453.

Versions move 15.0.0 → 15.0.1; changelogs record the fix under [15.0.1] [BACKPORT] with updated compare links. No ESLint rule or source config changes are in this diff.

Reviewed by Cursor Bugbot for commit a3ad788. Bugbot is set up for automated code reviews on this repo. Configure here.

Gudahtt added 4 commits July 20, 2026 14:29
The `exports` field in each of our ESLint config packages used an
`import` condition with no `require` or `default` condition alongside
it, which broke compatbility with CommonJS. The condition has been
removed.

This has no impact on ESM modules, but it allows import from CommonJS
modules.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Packaging-only `exports` map change with identical entry file paths;
low risk aside from verifying CJS and ESM consumers still resolve types
and the main entry.
> 
> **Overview**
> Fixes **CommonJS consumers** (e.g.
`require('@metamask/eslint-config')` or CJS ESLint configs) that could
not resolve these packages because `package.json` `exports["."]` only
defined an **`import`** condition.
> 
> Across all eight published config packages (`base`, `browser`,
`commonjs`, `jest`, `mocha`, `nodejs`, `typescript`, `vitest`), the
export map is flattened so **`types`** and **`default`** sit directly
under `"."` instead of under `import`. Resolution still points at the
same `./src/index.mjs` and `./src/index.d.mts` files; **ESM `import`
behavior is unchanged**, while **`default`** can be used when the
resolver does not apply the `import` condition.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
00f5812. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Changelogs have been updated for #453 (I forgot to update them in the
PR).

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Changelog-only follow-up with no behavioral or dependency changes.
>
> **Overview**
> Adds **Unreleased** changelog entries across the monorepo packages
(`base`, `browser`, `commonjs`, `jest`, `mocha`, `nodejs`, `typescript`,
`vitest`) for the fix shipped in
[#453](#453): **Allow
import from CommonJS**.
>
> `packages/base` gets a new **Fixed** section under `[Unreleased]`; the
other packages add the same bullet under **Fixed**.
`packages/typescript` appends the entry to its existing **Fixed**
section rather than creating a new one.
>
> No runtime or config code changes—documentation only, catching up
release notes that were omitted when #453 merged.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
27b5540. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
@Gudahtt
Gudahtt marked this pull request as ready for review July 20, 2026 17:17
@Gudahtt
Gudahtt requested a review from a team as a code owner July 20, 2026 17:17

@mcmire mcmire left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@Gudahtt
Gudahtt merged commit b01a16b into v15.x Jul 20, 2026
26 checks passed
@Gudahtt
Gudahtt deleted the release/15.0.1 branch July 20, 2026 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants