Skip to content

Conversation

@Fryuni
Copy link
Member

@Fryuni Fryuni commented Jan 14, 2026

Summary

This pull request updates the ESLint configuration files for both JavaScript and TypeScript, focusing on aligning rules with the latest stylistic plugin conventions, simplifying overrides, and disabling or modifying certain rules for better compatibility and maintainability. The most important changes are grouped below.

Stylistic Rules Migration and Consistency:

  • Migrated several core ESLint rules to their @stylistic equivalents, including comma-dangle, function-call-spacing, jsx-quotes, max-len, max-statements-per-line, no-mixed-operators, no-mixed-spaces-and-tabs, and no-tabs in src/configs/javascript.ts for improved consistency and future compatibility. [1] [2] [3] [4] [5] [6] [7] [8]
  • Simplified the @stylistic/comma-dangle rule configuration to a single string option.
  • Changed @stylistic/quote-props to quote numbers as property names as was previously achieved with the deprecated quote-props.

Rule Removal and Cleanup:

  • Removed several deprecated, redundant, or unnecessary rules from the base JavaScript config, such as no-native-reassign, no-return-await, no-negated-in-lhs, valid-jsdoc, require-jsdoc, and various Node-specific rules. [1] [2] [3] [4] [5] [6] [7]
  • Removed the override that disabled no-new-object for test files in both JavaScript and TypeScript configs, as the rule is no longer present in the base config. [1] [2]
  • Removed the @typescript-eslint/no-empty-interface rule from the TypeScript config as that prevented use of APIs relying on interface extensions.

TypeScript Rule Adjustments:

  • Disabled a set of @typescript-eslint rules related to unsafe operations and template expressions to prevent conflicts and allow for more flexible usage of any types where appropriate. Also disabled @typescript-eslint/no-misused-promises due to issues with overloaded functions.

General Configuration Improvements:

  • Removed redundant or unnecessary rules and overrides, leading to a cleaner and more maintainable configuration. [1] [2]
  • Updated several stylistic and code quality rules for clarity and to better align with project requirements.

@Fryuni Fryuni marked this pull request as ready for review January 14, 2026 21:23
Copilot AI review requested due to automatic review settings January 14, 2026 21:23
Copy link

Copilot AI left a 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 pull request modernizes the ESLint configuration by migrating deprecated core rules to their @stylistic equivalents, removing obsolete rules, and adjusting TypeScript-specific rules for better flexibility. The changes aim to improve compatibility with current ESLint standards while reducing configuration complexity.

Changes:

  • Migrated 8 core ESLint rules to @stylistic plugin equivalents (comma-dangle, function-call-spacing, jsx-quotes, max-len, max-statements-per-line, no-mixed-operators, no-mixed-spaces-and-tabs, no-tabs)
  • Removed 16 deprecated or obsolete rules from both JavaScript and TypeScript configurations
  • Added 9 new TypeScript rule exceptions to allow flexible handling of any types and fix issues with overloaded functions

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
src/configs/javascript.ts Migrated stylistic rules to @stylistic plugin, removed deprecated Node.js and core ESLint rules, simplified comma-dangle configuration, changed quote-props to quote numbers, and removed test-specific overrides
src/configs/typescript.ts Added allowExpressions: true to explicit-function-return-type, removed no-empty-interface rule, disabled unsafe type checking rules and no-misused-promises, and removed test-specific overrides

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Fryuni Fryuni self-assigned this Jan 14, 2026
@Fryuni Fryuni added bug Something isn't working feature New feature labels Jan 14, 2026
@Fryuni Fryuni merged commit 7a596bf into master Jan 14, 2026
10 checks passed
@Fryuni Fryuni deleted the fix-config-presets branch January 14, 2026 21:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants