Migrate linting & formatting from ESLint + Prettier to Oxc (oxlint + oxfmt) - #144
Merged
HugoPerard merged 7 commits intoJul 1, 2026
Conversation
…r and eslint config files
…to use the new linters
|
🚀 Expo preview is ready!
|
…on recommendations, and the githubaction command to adapt them to the new linter
Atama-Heitekava
marked this pull request as ready for review
June 17, 2026 13:12
HugoPerard
approved these changes
Jul 1, 2026
HugoPerard
deleted the
feature/minor-expo-update-and-migration-for-oxlint-and-oxfmt
branch
July 1, 2026 11:13
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR replaces the ESLint + Prettier toolchain with the Rust-based Oxc tools:
oxlintfor linting andoxfmtfor formatting.Most source-file changes here are not hand-written: they're the automatic reformatting (Tailwind class reordering + import sorting) applied by running the new tools across the codebase.
The update of expo to v56.0.12 has been proposed, but some security check have been canceled on verified packages.
Changes
Tooling configuration
.oxlintrc.json: replaceseslint.config.js. Enablesreact,react-hooks,unicorn,typescript,nodeplugins, re-adds the prior JS plugins viajsPlugins, and ports the previous rules (unused-vars^_ignore, kebab-case filenames with Icon/Logo exceptions, import-sort groups,no-process-envinsrc/app/**, Storybook rules on*.stories.*)..oxfmtrc.json: replaces.prettierrc.cjs. Same style (width 80, 2-space tabs, single quotes,es5trailing commas, always arrow parens) and Tailwind sorting viasortTailwindcss.eslint.config.js,.prettierrc.cjs,.prettierignore: replaced by the Oxc configs.Scripts & dependencies (
package.json)lint:eslintwithlint:oxlint(oxlint --fix .), add aformatscript (oxfmt);lintstill runslint:*in parallel.gen:iconsto format withoxfmt; drop theprettyPrettier script.oxlint+oxfmt.@tanstack/eslint-plugin-querymoved todevDependencies.Git hooks (
lefthook.yml)pre-commitnow runsoxfmtthenoxlint --fixon staged files (bothstage_fixed: true);pre-pushstill runs fulllint.CI (
.github/workflows/code-quality.yml)oxlint --deny-warnings .instead ofpnpm run lint:eslint.Editor (
.vscode/extensions.json)oxc.oxc-vscode, drop the ESLint/Prettier recommendations.Source reformatting
src/**and.rnstorybook/storybook.requires.ts: Tailwind class reordering and import sorting. No behavior changes.Expo update
Notes
prettier-plugin-tailwindcss(e.g.border border-border→border-border ... border), expected given the different sorter.oxc.oxc-vscodeand can remove the unused ESLint/Prettier editor extensions.