Skip to content

build: switch Makefiles and pre-commit to flat config (gh54 part VII) - #10973

Merged
kgryte merged 1 commit into
developfrom
philipp/gh54-switch-to-flat-config
Oct 29, 2026
Merged

kgryte merged 1 commit into
developfrom
philipp/gh54-switch-to-flat-config

Conversation

@Planeshifter

@Planeshifter Planeshifter commented Mar 15, 2026 •

Copy link
Copy Markdown
Member

Progresses stdlib-js/metr-issue-tracker#54.

Description

What is the purpose of this pull request?

This pull request:

  • Switches Makefiles and pre-commit hook from legacy .eslintrc.* config to flat config autodiscovery
  • Removes ESLINT_USE_FLAT_CONFIG=false, --ignore-path, --config, and per-target config variables from JS and TS eslint.mk.
  • Removes per-directory tsconfig.json copy mechanism from TS eslint.mk (flat config's TS block handles this).
  • Removes legacy config path variables from the pre-commit hook.
  • ESLint now autodiscovers eslint.config.cjs and applies rules based on file patterns.

Related Issues

Does this pull request have any related issues?

This pull request has the following related issues:

Questions

Any questions for reviewers of this pull request?

No.

Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

Stacked on #10972.

Checklist

Please ensure the following tasks are completed before submitting this pull request.

AI Assistance

When authoring the changes proposed in this PR, did you use any kind of AI assistance?

  • Yes
  • No

If you answered "yes" above, how did you use AI assistance?

  • Code generation (e.g., when writing an implementation or fixing a bug)
  • Test/benchmark generation
  • Documentation (including examples)
  • Research and understanding

Disclosure

This PR was written primarily by Claude Code.


@stdlib-js/reviewers

@Planeshifter Planeshifter changed the title build: switch Makefiles and pre-commit to flat config build: switch Makefiles and pre-commit to flat config (gh54 part VII) Mar 15, 2026
@Planeshifter
Planeshifter force-pushed the philipp/gh54-switch-to-flat-config branch from c3dab8a to c6bab92 Compare March 15, 2026 18:08
@Planeshifter Planeshifter added the METR Pull request associated with the METR project. label Mar 18, 2026
@Planeshifter
Planeshifter force-pushed the philipp/gh54-switch-to-flat-config branch from c6bab92 to 3bdcf70 Compare August 20, 2026 05:57
@Planeshifter
Planeshifter force-pushed the philipp/gh54-switch-to-flat-config branch from 3bdcf70 to 9610469 Compare August 20, 2026 06:11
@Planeshifter
Planeshifter force-pushed the philipp/gh54-switch-to-flat-config branch from 9610469 to 92735cb Compare August 20, 2026 06:25
@kgryte
kgryte force-pushed the philipp/gh54-switch-to-flat-config branch from 92735cb to bcb201a Compare August 21, 2026 10:06
@kgryte
kgryte force-pushed the philipp/gh54-switch-to-flat-config branch from bcb201a to 86526e2 Compare August 21, 2026 10:14
@Planeshifter
Planeshifter force-pushed the philipp/gh54-switch-to-flat-config branch from 86526e2 to 00d646f Compare August 25, 2026 03:49
@kgryte
kgryte force-pushed the philipp/gh54-switch-to-flat-config branch from 00d646f to a1f1006 Compare August 26, 2026 01:17
@Planeshifter
Planeshifter marked this pull request as ready for review October 28, 2026 06:16
@Planeshifter
Planeshifter requested a review from a team October 28, 2026 06:16
@stdlib-bot stdlib-bot added the Needs Review A pull request which needs code review. label Oct 28, 2026
@Planeshifter
Planeshifter force-pushed the philipp/gh54-switch-to-flat-config branch from a1f1006 to fee88c9 Compare October 28, 2026 06:24
Base automatically changed from philipp/gh54-eslint-v9 to develop October 29, 2026 02:02
Update build tooling to use ESLint flat config (`eslint.config.js`)
instead of legacy `.eslintrc.*` files:

- Remove `ESLINT_USE_FLAT_CONFIG=false` from JS eslint.mk
- Remove `--ignore-path`, `--config`, and per-target config variables
  from both JS and TS eslint.mk (flat config autodiscovery handles
  all of this via `eslint.config.js`)
- Remove per-directory tsconfig.json copy mechanism from TS eslint.mk
  (the flat config's TS block points to the root tsconfig.json)
- Remove legacy config path variables from pre-commit hook

ESLint now autodiscovers `eslint.config.js` at the repo root and
applies the correct rules based on file patterns (benchmarks, tests,
examples, TypeScript) defined in the flat config.

Ref: stdlib-js/metr-issue-tracker#54
@kgryte
kgryte force-pushed the philipp/gh54-switch-to-flat-config branch from fee88c9 to 16a17ea Compare October 29, 2026 02:02

@kgryte kgryte left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

These changes seem a bit magical given that ESLint now supposedly does auto-discovery. We can go ahead and merge, but we should pay special attention to whether our linting retains parity with previous behavior, @Planeshifter.

@kgryte
kgryte merged commit 5f80772 into develop Oct 29, 2026
12 checks passed
@stdlib-bot stdlib-bot removed the Needs Review A pull request which needs code review. label Oct 29, 2026
kgryte pushed a commit that referenced this pull request Oct 30, 2026
PR-URL: #16378 (review)
Reviewed-by: Athan Reines <kgryte@gmail.com>
Ref: #10973
kgryte pushed a commit that referenced this pull request Oct 31, 2026
PR-URL: #16393
Reviewed-by: Athan Reines <kgryte@gmail.com>
Ref: #10973
kgryte pushed a commit that referenced this pull request Oct 31, 2026
PR-URL: #16394
Reviewed-by: Athan Reines <kgryte@gmail.com>
Ref: #10973
kgryte pushed a commit that referenced this pull request Oct 31, 2026
PR-URL: #16396
Reviewed-by: Athan Reines <kgryte@gmail.com>
Ref: #10973
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

METR Pull request associated with the METR project.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants