[PR #6468] [MERGED] lint: move last remaining native eslint rules to oxlint (create new alternatives) #13604

Closed
opened 2026-04-10 21:58:52 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/6468
Author: @MatissJanis
Created: 12/21/2025
Status: Merged
Merged: 1/5/2026
Merged by: @MatissJanis

Base: masterHead: matiss/lint-custom-rules


📝 Commits (5)

  • 6f8c739 lint: clean up unnecessary config and disables
  • a7f1952 fix: update package import path in browser preload script
  • c191fb5 lint: create custom ESLint rules for rules not in oxlint
  • 7a6411a refactor: enhance prefer-const rule to track variable reassignments by scope
  • a39528d Merge branch 'master' into matiss/lint-custom-rules

📊 Changes

17 files changed (+1162 additions, -57 deletions)

View changed files

📝 .github/actions/ai-generated-release-notes/generate-summary.js (+1 -1)
📝 .github/actions/check-migrations.js (+6 -5)
📝 .oxlintrc.json (+10 -0)
📝 eslint.config.mjs (+1 -42)
📝 packages/desktop-client/src/components/Modals.tsx (+2 -4)
📝 packages/desktop-client/src/components/common/Link.tsx (+0 -1)
📝 packages/desktop-client/src/notes/NotesTagFormatter.tsx (+2 -4)
📝 packages/eslint-plugin-actual/lib/index.js (+4 -0)
packages/eslint-plugin-actual/lib/rules/__tests__/no-anchor-tag.test.js (+96 -0)
packages/eslint-plugin-actual/lib/rules/__tests__/no-react-default-import.test.js (+103 -0)
packages/eslint-plugin-actual/lib/rules/__tests__/object-shorthand-properties.test.js (+166 -0)
packages/eslint-plugin-actual/lib/rules/__tests__/prefer-const.test.js (+162 -0)
packages/eslint-plugin-actual/lib/rules/no-anchor-tag.js (+57 -0)
packages/eslint-plugin-actual/lib/rules/no-react-default-import.js (+86 -0)
packages/eslint-plugin-actual/lib/rules/object-shorthand-properties.js (+92 -0)
packages/eslint-plugin-actual/lib/rules/prefer-const.js (+368 -0)
upcoming-release-notes/6468.md (+6 -0)

📄 Description

Note: the eslint rules are pure vibe code. I did a quick self-review there, but did not go in-depth much. IMO this is relatively safe as eslint rules are really isolated from the rest of the product.

Summary by CodeRabbit

  • New Features

    • Added four new ESLint rules to enforce object-shorthand, prefer-const, no-anchor-tag, and no-react-default-import.
  • Refactor

    • Cleaned up lint configurations and simplified React imports in a few components.
  • Tests

    • Added comprehensive tests validating the new linting rules.
  • Chores

    • Updated lint configs and release notes metadata for maintenance.

✏️ Tip: You can customize this high-level summary in your review settings.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/6468 **Author:** [@MatissJanis](https://github.com/MatissJanis) **Created:** 12/21/2025 **Status:** ✅ Merged **Merged:** 1/5/2026 **Merged by:** [@MatissJanis](https://github.com/MatissJanis) **Base:** `master` ← **Head:** `matiss/lint-custom-rules` --- ### 📝 Commits (5) - [`6f8c739`](https://github.com/actualbudget/actual/commit/6f8c739c5dd1a7b9142c3ac442cf09c4997c27eb) lint: clean up unnecessary config and disables - [`a7f1952`](https://github.com/actualbudget/actual/commit/a7f195286b406fda6b75472149e9eaacb2894098) fix: update package import path in browser preload script - [`c191fb5`](https://github.com/actualbudget/actual/commit/c191fb5e2ae4788c589a623ab3374d2b8c73498b) lint: create custom ESLint rules for rules not in oxlint - [`7a6411a`](https://github.com/actualbudget/actual/commit/7a6411a01e7967796080853bd93fd65ed872672b) refactor: enhance prefer-const rule to track variable reassignments by scope - [`a39528d`](https://github.com/actualbudget/actual/commit/a39528d9de70f64c03c5f5fc249bc63231698634) Merge branch 'master' into matiss/lint-custom-rules ### 📊 Changes **17 files changed** (+1162 additions, -57 deletions) <details> <summary>View changed files</summary> 📝 `.github/actions/ai-generated-release-notes/generate-summary.js` (+1 -1) 📝 `.github/actions/check-migrations.js` (+6 -5) 📝 `.oxlintrc.json` (+10 -0) 📝 `eslint.config.mjs` (+1 -42) 📝 `packages/desktop-client/src/components/Modals.tsx` (+2 -4) 📝 `packages/desktop-client/src/components/common/Link.tsx` (+0 -1) 📝 `packages/desktop-client/src/notes/NotesTagFormatter.tsx` (+2 -4) 📝 `packages/eslint-plugin-actual/lib/index.js` (+4 -0) ➕ `packages/eslint-plugin-actual/lib/rules/__tests__/no-anchor-tag.test.js` (+96 -0) ➕ `packages/eslint-plugin-actual/lib/rules/__tests__/no-react-default-import.test.js` (+103 -0) ➕ `packages/eslint-plugin-actual/lib/rules/__tests__/object-shorthand-properties.test.js` (+166 -0) ➕ `packages/eslint-plugin-actual/lib/rules/__tests__/prefer-const.test.js` (+162 -0) ➕ `packages/eslint-plugin-actual/lib/rules/no-anchor-tag.js` (+57 -0) ➕ `packages/eslint-plugin-actual/lib/rules/no-react-default-import.js` (+86 -0) ➕ `packages/eslint-plugin-actual/lib/rules/object-shorthand-properties.js` (+92 -0) ➕ `packages/eslint-plugin-actual/lib/rules/prefer-const.js` (+368 -0) ➕ `upcoming-release-notes/6468.md` (+6 -0) </details> ### 📄 Description **Note:** the eslint rules are pure vibe code. I did a quick self-review there, but did not go in-depth much. IMO this is relatively safe as eslint rules are really isolated from the rest of the product. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added four new ESLint rules to enforce object-shorthand, prefer-const, no-anchor-tag, and no-react-default-import. * **Refactor** * Cleaned up lint configurations and simplified React imports in a few components. * **Tests** * Added comprehensive tests validating the new linting rules. * **Chores** * Updated lint configs and release notes metadata for maintenance. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-10 21:58:52 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#13604