Skip to content

chore: migrate to oxlint for simplicity and performance - #250

Merged
ava-silver merged 3 commits into
prodfrom
ava.silver/chore/migrate-to-oxlint-for-simplicity-and-performance
Apr 16, 2026
Merged

ava-silver merged 3 commits into
prodfrom
ava.silver/chore/migrate-to-oxlint-for-simplicity-and-performance

Conversation

@ava-silver

@ava-silver ava-silver commented Apr 16, 2026 •

Copy link
Copy Markdown
Contributor

What does this PR do?

Replaces ESLint with oxlint for linting, and runs Prettier directly instead of through eslint-plugin-prettier.

Changes:

  • Added .oxlintrc.json with correctness + suspicious categories, matching the previous ESLint rule set
  • Updated package.json scripts: lint now runs oxlint && prettier --check ., format runs oxlint --fix && prettier --write .
  • Removed lint-yaml / format-yaml scripts (only ~4 YAML files, Prettier handles formatting)
  • Simplified .pre-commit-config.yaml to a single hook covering ts/js/yaml
  • Expanded .prettierignore to cover the same ignores ESLint had
  • Deleted eslint.config.mjs and eslint.config.yaml.mjs
  • Removed 8 ESLint-related dependencies, added oxlint (single dep)

Motivation

ESLint is heavyweight for the minimal config we use (recommended presets + a few rules off). oxlint covers the same rules, runs in ~5ms (vs seconds), and ships as a single binary with no plugin ecosystem to manage. Decoupling Prettier from ESLint is also the recommended approach.

Testing Guidelines

  • yarn lint passes clean
  • yarn format runs without errors
  • Pre-commit hook works with the updated config

Additional Notes

  • Prettier reformatted 5 files (cdk.context.json, cdk.json, tsconfig.json, README.md, feature_request_template.md) that weren't previously in ESLint's scope
  • Three oxlint rules not in the original ESLint config were disabled to maintain parity: no-shadow, unicorn/require-module-specifiers, unicorn/consistent-function-scoping

ava-silver commented Apr 16, 2026 •

Copy link
Copy Markdown
Contributor Author

@ava-silver
ava-silver force-pushed the ava.silver/chore/migrate-to-oxlint-for-simplicity-and-performance branch from 73a6c9c to d6c76e1 Compare April 16, 2026 15:03
@ava-silver
ava-silver marked this pull request as ready for review April 16, 2026 15:10
@ava-silver
ava-silver requested a review from a team as a code owner April 16, 2026 15:10
@ava-silver
ava-silver requested a review from avangelillo April 16, 2026 15:10
@ava-silver
ava-silver force-pushed the ava.silver/chore/migrate-to-oxlint-for-simplicity-and-performance branch from d6c76e1 to de73d96 Compare April 16, 2026 16:29
@ava-silver
ava-silver force-pushed the ava.silver/chore/dependency-cleanup branch 2 times, most recently from 604912f to df3a14a Compare April 16, 2026 19:25
@ava-silver
ava-silver force-pushed the ava.silver/chore/migrate-to-oxlint-for-simplicity-and-performance branch 2 times, most recently from 0fa796c to 605c94f Compare April 16, 2026 19:53
@ava-silver
ava-silver changed the base branch from ava.silver/chore/dependency-cleanup to graphite-base/250 April 16, 2026 21:09
@ava-silver
ava-silver force-pushed the ava.silver/chore/migrate-to-oxlint-for-simplicity-and-performance branch from 605c94f to c28dd6d Compare April 16, 2026 21:09
@ava-silver
ava-silver changed the base branch from graphite-base/250 to prod April 16, 2026 21:09
@ava-silver
ava-silver merged commit 5213bba into prod Apr 16, 2026
8 checks passed
dd-octo-sts-26fcfa Bot pushed a commit that referenced this pull request Apr 16, 2026
* chore: migrate to oxlint for simplicity and performance

* keep lint yaml for compat

* trigger ci
@avangelillo avangelillo mentioned this pull request Apr 29, 2026
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