-
-
Notifications
You must be signed in to change notification settings - Fork 3k
chore: move main linting to oxlint (@miodec) #7144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Continuous integration check(s) failed. Please review the failing check's logs and make the necessary changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR migrates the project's main linting infrastructure from ESLint to oxlint for improved performance, achieving approximately 3x faster type-aware linting. ESLint is retained solely for linting JSON files in the frontend until oxlint adds native support.
Key Changes:
- Migrated to oxlint 1.33.0 with oxlint-tsgolint 0.9.0 for type-aware linting
- Consolidated type checking into the lint step using
--type-checkflag to eliminate duplicate TypeScript parsing - Removed the standalone
@monkeytype/eslint-configpackage - Split oxlint configuration into modular files for better maintainability
- Added
lint-fastscript for quick linting without type information - Updated all disable comments from eslint-disable to oxlint-disable syntax
- Fixed previously hidden type issues exposed by comprehensive type checking
Reviewed changes
Copilot reviewed 111 out of 112 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| turbo.json | Added lint-fast task configuration |
| pnpm-lock.yaml | Updated dependencies: removed eslint from root/backend/packages, added oxlint 1.33.0 and oxlint-tsgolint, upgraded frontend eslint to 9.39.1 |
| package.json | Updated root lint scripts to use lint-fast variants, removed eslint dependency |
| packages/oxlint-config/* | Split configuration into modular files (enabled.jsonc, disabled.jsonc, ts-enabled.jsonc, etc.) and added custom plugin support |
| packages/eslint-config/* | Removed entire package as it's no longer needed |
| frontend/* | Migrated to new eslint.config.js for JSON-only linting, updated disable comments, fixed type issues |
| backend/* | Updated lint scripts, migrated disable comments, fixed type issues in DAL and controllers |
| .github/workflows/monkey-ci.yml | Added lint-fast step before full lint for faster feedback |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Continuous integration check(s) failed. Please review the failing check's logs and make the necessary changes. |
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
this improves performance by removing a duplicated typescript parse task (instead of parsing for linting then again for type checking, it parses once for both)
lint-fastnpm script to get some fast fail behavior. it simply lints with no type information__testingusage outside of tests runs outside the main linting job until performance is improvedwaiting oxc-project/tsgolint#494
seeing around 3x improvement in type aware linting