v0.23.0
BREAKING CHANGES
- due to
befebad— rename theglobalconfig option toproject(@ShayanTheNerd) - due to
6848643— drop OXLint support to streamline the config (@ShayanTheNerd) - due to
7ae1aa8— improvedefineConfig()argument handling (@ShayanTheNerd)- See customization for details on how to update your configuration.
- due to
7ed4617— tailwind: renameignoredUnregisteredClassestoignoredUnknownClasses(@ShayanTheNerd) - due to
ae27ea8— handle unused imports with@typescript-eslint/no-unused-vars(@ShayanTheNerd) - due to
1273ebd— update dependencies and peer dependency requirements (@ShayanTheNerd)
New Features
-
84deebc— add support for@eslint/markdown(@ShayanTheNerd) -
806ffb0— add support foreslint-plugin-promise(@ShayanTheNerd) -
9a006f3— add support foreslint-plugin-package-json(@ShayanTheNerd) -
0f8166e— simplify and improve the configuration types (@ShayanTheNerd)configs[<config-name>].overrides.rulesis fully type-safe now.
-
cd007a4— improve API documentation generation error handling (@ShayanTheNerd) -
600cd09— js: enablefunc-namesandgrouped-accessor-pairsrules (@ShayanTheNerd) -
8a0771a— ban-ts-comment: enforce a clear TypeScript directive comment format (@ShayanTheNerd)- The format is
/* @ts-expect-error -- <description> */.
- The format is
-
871f934— zod: support Zod Mini and add 17 new rules (@ShayanTheNerd)zod/consistent-schema-output-type-stylezod/consistent-schema-var-name(deprecatedrequire-schema-suffix)zod/no-duplicate-schema-methodszod/no-native-enumzod/no-number-schema-with-finitezod/no-number-schema-with-is-finitezod/no-number-schema-with-is-intzod/no-number-schema-with-safezod/no-number-schema-with-stepzod/no-promise-schemazod/no-schema-with-is-nullablezod/no-schema-with-is-optionalzod/no-transform-in-record-keyzod/prefer-loose-objectzod/prefer-strict-objectzod/prefer-top-level-string-formats(deprecatedno-string-schema-with-uuid)zod/prefer-trim-before-string-length-checks
-
c7351c4- vue: add new rules and improve rule options (@ShayanTheNerd)- Added
reportUnusedDisableDirectivesoption tovue/comment-directive - Added
allowEmptyAliasoption tovue/valid-v-for - Enabled
vue/max-lenregardless of Tailwind - Enabled
vue/no-undef-directivesfor non-Nuxt projects - Enabled
vue/no-unused-properties - Enabled
vue/prefer-single-event-payload - Enabled
vue/prefer-v-model
- Added
-
3a5bb47— tailwind: add new rules and improve the configuration (@ShayanTheNerd) -
0e47e11— package.json: 12 new rules and update the plugin (@ShayanTheNerd) -
978571f— html: add 3 new rules and update existing rule configuration (@ShayanTheNerd)- Added
@html-eslint/require-details-summary - Added
@html-eslint/svg-require-viewbox - Added
@html-eslint/require-content - Renamed
@html-eslint/no-extra-spacing-attrsto@html-eslint/no-extra-spacing-tags - Enforced
maxLineLengthin@html-eslint/attrs-newlinerule
- Added
-
f8e7bfa— vitest: enableprefer-describe-function-titlerule (@ShayanTheNerd) -
7ce02ba— typescript: enable 3 new rules (@ShayanTheNerd) -
3ded2b5— stylistic: enableexp-jsx-props-stylerule (@ShayanTheNerd) -
95bfd62— playwright: enableno-duplicate-slowandrequire-to-pass-timeoutrules (@ShayanTheNerd) -
b451f19— html: enable 3 new rules (@ShayanTheNerd) -
cde5163— zod: enableno-coerce-booleanrule (@ShayanTheNerd)
Bug Fixes
-
4cb82fa— stylistic: usevue/max-leninstead of@stylistic/max-lenin Vue files (@ShayanTheNerd) -
eee28ef— stylistic: disablemultiline-ternaryrule (@ShayanTheNerd) -
08b7910— js: streamline rules with@typescript-eslintequivalents (@ShayanTheNerd) -
317674e— js: enforce curly braces consistently (@ShayanTheNerd) -
b9d0dd1— cypress: remove deprecatedno-xpathrule (#deprecated) (@ShayanTheNerd) -
7c78522— streamline automatic package detection logging (@ShayanTheNerd) -
3a0731f— ensureconfigs.packageJsondefaults totrue(@ShayanTheNerd) -
d5bb445— remove incompatible ESLint v9 peer dependency constraint (@ShayanTheNerd) -
79055e6— typescript: forbid leading underscores for private field names (@ShayanTheNerd) -
b005d7c— import-x: remove dependency oneslint-plugin-unused-imports(@ShayanTheNerd) -
241429e— improvepackage.jsonmetadata fields (@ShayanTheNerd) -
308b843— typescript-eslint: disable 3 problematic rules (@ShayanTheNerd) -
308b843— typescript: disable 3 problematic rules (@ShayanTheNerd) -
af2e00b— improve package detection logic and logging output (@ShayanTheNerd) -
a8b3aec— zod: rename plugin reference toeslint-plugin-zod(@ShayanTheNerd)
Performance Improvements
e9dc8a6— leverage hoisting for static plugin rules (@ShayanTheNerd)
Refactors
f9550b7— renamesrc/types/configOptionsdirectory tosrc/types/options(@ShayanTheNerd)fbc9834— simplify and improve internal types (@ShayanTheNerd)36f70b9— move core rule overrides into the JavaScript configuration (@ShayanTheNerd)1fa1f0a— update CI actions, TSDown, and related tooling (@ShayanTheNerd)0b4c9a3— migrate to PNPM v11 (@ShayanTheNerd)8d43931— migrate to TypeScript 6 (@ShayanTheNerd)76bf75c— update ESLint configuration references (@ShayanTheNerd)
Documentation Changes
8e088e7— improve CONTRIBUTING.md and update README.md (@ShayanTheNerd)dccf193— fix issues and auto-generate the API reference (@ShayanTheNerd)5a1dfdb— add Plugin Support table (@ShayanTheNerd)8ea56b4— improve documentation details and use link reference definitions (@ShayanTheNerd)cbd8512— fix typos and update configuration details (@ShayanTheNerd)eab2e0b— CONTRIBUTING: reference the Code of Conduct (@ShayanTheNerd)76039a0— package.json: update homepage URL (@ShayanTheNerd)
Full Changelog: v0.16.0...v0.23.0