Skip to content

chore(deps): update lint dependencies (major)

This MR contains the following updates:

Package Type Update Change
ember-template-lint devDependencies major ^3.16.0 -> ^6.0.0
eslint (source) devDependencies major ^7.32.0 -> ^9.4.0
eslint-config-prettier devDependencies major ^8.5.0 -> ^9.1.0
eslint-plugin-decorator-position devDependencies major ^4.0.1 -> ^5.0.2
eslint-plugin-ember devDependencies major ^10.6.1 -> ^12.1.1
eslint-plugin-json devDependencies major ^3.1.0 -> ^4.0.0
eslint-plugin-prettier devDependencies major ^4.2.1 -> ^5.1.3
eslint-plugin-qunit devDependencies major ^7.3.1 -> ^8.1.1
eslint-plugin-simple-import-sort devDependencies major ^7.0.0 -> ^12.1.0
prettier (source) devDependencies major ^2.7.1 -> ^3.3.2

Release Notes

ember-template-lint/ember-template-lint (ember-template-lint)

v6.0.0

Compare Source

💥 Breaking Change
  • #​3029 Enable more recommended rules: no-action-on-submit-button, no-at-ember-render-modifiers, no-builtin-form-components, no-unnecessary-curly-parens, no-unnecessary-curly-strings, simple-modifiers (@​bmish)
  • #​3031 Replace 4-x-recommended config with 5-x-recommended (@​bmish)
  • #​3023 Drop support for Node 14, 16, 19 (@​Techn1x)
  • #​2913 Add additional elements to DOCUMENT_STRUCTURE_ROLES for no-invalid-role rule (@​mrloop)
  • #​2729 Add param to obsolete list in no-obsolete-elements rule (@​geneukum)
🏠 Internal
Committers: 4

Tracking issue: https://github.com/ember-template-lint/ember-template-lint/issues/2712

v5.13.0

Compare Source

🚀 Enhancement
Committers: 1

v5.12.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
📝 Documentation
Committers: 4

v5.11.2

Compare Source

🐛 Bug Fix
Committers: 2

v5.11.1

Compare Source

🐛 Bug Fix
Committers: 1

v5.11.0

Compare Source

🚀 Enhancement
Committers: 1

v5.10.3

Compare Source

🐛 Bug Fix
Committers: 1

v5.10.2

Compare Source

🐛 Bug Fix
🏠 Internal
Committers: 3

v5.10.1

Compare Source

🐛 Bug Fix
Committers: 3

v5.10.0

Compare Source

🚀 Enhancement
Committers: 1

v5.9.0

Compare Source

🚀 Enhancement
Committers: 1

v5.8.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
Committers: 2

v5.7.3

Compare Source

🐛 Bug Fix
  • #​2339 Convert path to URL before import of config/plugin for Windows support (@​lifeart)
Committers: 1

v5.7.2

Compare Source

🐛 Bug Fix
Committers: 1

v5.7.1

Compare Source

🐛 Bug Fix
Committers: 2

v5.7.0

Compare Source

🐛 Bug Fix
Committers: 3

v5.6.0

Compare Source

🚀 Enhancement
  • #​2818 Add additionalNonSemanticTags option to require-presentational-children rule (@​Techn1x)
🐛 Bug Fix
Committers: 1

v5.5.1

Compare Source

🐛 Bug Fix
  • #​2802 Rename no-unnecessary-curly-literals rule to no-unnecessary-curly-strings (@​bmish)
Committers: 1

v5.5.0

Compare Source

🚀 Enhancement
Committers: 1

v5.4.0

Compare Source

🚀 Enhancement
Committers: 1

v5.3.3

Compare Source

🐛 Bug Fix
Committers: 1

v5.3.2

Compare Source

🐛 Bug Fix
Committers: 1

v5.3.1

Compare Source

🐛 Bug Fix
  • #​2765 Throw the more-helpful, original exception when encountering an ESM plugin/config loading error (@​jsturgis)
📝 Documentation
🏠 Internal
Committers: 3

v5.3.0

Compare Source

🚀 Enhancement
Committers: 1

v5.2.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
Committers: 1

v5.1.1

Compare Source

🐛 Bug Fix
📝 Documentation
  • #​2732 Link to "skipping helpers" part of the codemod doc in no-curly-component-invocation rule doc (@​geneukum)
Committers: 1

v5.1.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
  • #​2726 Allow passing only @model or @models for <LinkTo> in no-unknown-arguments-for-builtin-components rule (@​geneukum)
📝 Documentation
  • #​2727 Add note about title property limitations to require-valid-alt-text rule doc (@​geneukum)
Committers: 2

v5.0.2

Compare Source

🐛 Bug Fix
  • #​2722 Fix autofixer bug with firstObject inside a MustacheStatement in no-array-prototype-extensions rule (@​tgvrssanthosh)
Committers: 1

v5.0.1

Compare Source

🐛 Bug Fix
Committers: 1

v5.0.0

Compare Source

💥 Breaking Change
  • #​2669 Drop Node 12 and 17 support (@​bmish)
  • #​2606 Lint embedded templates by default (@​NullVoxPopuli)
  • #​2671 Enabled additional recommended rules no-aria-unsupported-elements, no-array-prototype-extensions, no-invalid-aria-attributes, no-obscure-array-access, no-scope-outside-table-headings, no-unsupported-role-attributes, require-aria-activedescendant-tabindex, require-mandatory-role-attributes, require-media-caption (@​bmish)
  • #​2675 Rename no-redundant-landmark-role rule to no-redundant-role and change checkAllHTMLElements option default to true (@​bmish)
  • #​2054 Rename and narrow rule no-down-event-binding to no-pointer-down-event-binding (@​jfdnc)
  • #​2674 Change validateValues option default to true in require-lang-attribute rule (@​bmish)
  • #​2673 Change simplifyHelpers option default to true in no-negated-condition rule (@​bmish)
  • #​2672 Change maxHelpers option default to 1 in simple-unless rule (@​bmish)
  • #​2657 Include modifiers in no-restricted-invocations rule (@​achambers)
Committers: 4

v4.18.2

Compare Source

🐛 Bug Fix
Committers: 1

v4.18.1

Compare Source

🐛 Bug Fix
  • #​2701 Fix autofixer for value-less attributes and comment order in attribute-order rule (@​rob-long)
📝 Documentation
🏠 Internal
Committers: 4

v4.18.0

Compare Source

Related note: The first v5 preview release is available for testing: v5.0.0-alpha.0.

🚀 Enhancement
Committers: 1

v4.17.0

Compare Source

🚀 Enhancement
🏠 Internal
Committers: 3

v4.16.1

Compare Source

🐛 Bug Fix
Committers: 1

v4.16.0

Compare Source

🚀 Enhancement
📝 Documentation
🏠 Internal
Committers: 3

v4.15.0

Compare Source

🚀 Enhancement
🏠 Internal
Committers: 2

v4.14.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
🏠 Internal
Committers: 2

v4.13.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
  • #​2589 Remove <s> and <u> from no-obsolete-elements (@​sukima)
  • #​2593 Add unique-id to allowed built-in helpers in no-curly-component-invocation and no-implicit-this rules (@​geneukum)
🏠 Internal
Committers: 5

v4.12.0

Compare Source

🚀 Enhancement
📝 Documentation
Committers: 3

v4.11.0

Compare Source

🚀 Enhancement
Committers: 1

v4.10.1

Compare Source

🐛 Bug Fix
📝 Documentation
Committers: 4

v4.10.0

Compare Source

🚀 Enhancement
Committers: 1

v4.9.1

Compare Source

🐛 Bug Fix
Committers: 1

v4.9.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
Committers: 2

v4.8.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
🏠 Internal
Committers: 2

v4.7.0

Compare Source

🚀 Enhancement
Committers: 1

v4.6.0

Compare Source

🚀 Enhancement
  • #​2487 Add checkAllHTMLElements option to no-redundant-landmark-role rule to lint against all HTML elements with default ARIA roles (@​judithhinlung)
Committers: 1

v4.5.0

Compare Source

🚀 Enhancement
🏠 Internal
Committers: 3

v4.4.2

Compare Source

🐛 Bug Fix
Committers: 1

v4.4.1

Compare Source

🐛 Bug Fix
  • #​2474 Ensure --compact-todo functions properly (@​scalvert)
  • #​2468 Ensure configuration can be resolved from a parent directory when no --config-path override is present (e.g. within a monorepo with .template-lintrc.js in the monorepo root). (@​scalvert)
  • #​2466 Remove validation of mustache statements in no-invalid-aria-attributes rule (@​judithhinlung)
📝 Documentation
🏠 Internal
Committers: 4

v4.4.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
🏠 Internal
Committers: 5

v4.3.0

Compare Source

🚀 Enhancement
🏠 Internal
Committers: 3

v4.2.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
Committers: 2

v4.1.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
🏠 Internal
Committers: 5

v4.0.0

Compare Source

Also see the v4 migration guide.

💥 Breaking Change
🚀 Enhancement
📝 Documentation
Committers: 7
eslint/eslint (eslint)

v9.4.0

Compare Source

Features
  • 89a4a0a feat: ignore IIFE's in the no-loop-func rule (#​17528) (Nitin Kumar)
Bug Fixes
  • f6534d1 fix: skip processor code blocks that match only universal patterns (#​18507) (Milos Djermanovic)
  • 7226ebd fix: allow implicit undefined return in no-constructor-return (#​18515) (Ali Rezvani)
  • 389744b fix: use @eslint/config-inspector@latest (#​18483) (唯然)
  • 70118a5 fix: func-style false positive with arrow functions and super (#​18473) (Milos Djermanovic)
Documentation
Chores

v9.3.0

Compare Source

Features
  • b32153c feat: add overrides.namedExports to func-style rule (#​18444) (Percy Ma)
  • b67eba4 feat: add restrictedNamedExportsPattern to no-restricted-exports (#​18431) (Akul Srivastava)
  • 069aa68 feat: add option allowEscape to no-misleading-character-class rule (#​18208) (Francesco Trotta)
  • 05ef92d feat: deprecate multiline-comment-style & line-comment-position (#​18435) (唯然)
  • db0b174 feat: add enforceForInnerExpressions option to no-extra-boolean-cast (#​18222) (Kirk Waiblinger)
Bug Fixes
  • 8db0eff fix: Improve config error messages (#​18457) (Nicholas C. Zakas)
  • 5c28d9a fix: don't remove comments between key and value in object-shorthand (#​18442) (Kuba Jastrzębski)
  • 39fb0ee fix: object-shorthand loses type parameters when auto-fixing (#​18438) (dalaoshu)
  • 37eba48 fix: don't crash when fs.readFile returns promise from another realm (#​18416) (Milos Djermanovic)
Documentation
  • ceada8c docs: explain how to use "tsc waiting" label (#​18466) (Francesco Trotta)
  • 62e686c docs: Add troubleshooting info for plugin compatibility (#​18451) (Nicholas C. Zakas)
  • e17e1c0 docs: Update README (GitHub Actions Bot)
  • 2465a1e docs: Update README (GitHub Actions Bot)
  • d23574c docs: Clarify usage of no-unreachable with TypeScript (#​18445) (benj-dobs)
  • 1db9bae docs: Fix typos (#​18443) (Frieder Bluemle)
  • 7065196 docs: Update README (GitHub Actions Bot)
  • 04e7c6e docs: update deprecation notice of no-return-await (#​18433) (Tanuj Kanti)
  • e763512 docs: Link global ignores section in config object property list (#​18430) (MaoShizhong)
  • ac7f718 docs: reflect release of v9 in config migration guide (#​18412) (Peter Briggs)
  • 0de0909 docs: fix grammar in configuration file resolution (#​18419) (Mike McCready)
Chores

v9.2.0

Compare Source

Features
  • 8485d76 feat: no-case-declarations add suggestions (#​18388) (Josh Goldberg )
  • a498f35 feat: update Unicode letter detection in capitalized-comments rule (#​18375) (Francesco Trotta)
Bug Fixes
  • eeec413 fix: do not throw when defining a global named defineSetter (#​18364) (唯然)
Documentation
  • 0f5df50 docs: Update README (GitHub Actions Bot)
  • 1579ce0 docs: update wording regarding indirect eval (#​18394) (Kirk Waiblinger)
  • f12a02c docs: update to eslint v9 in custom-rule-tutorial (#​18383) (唯然)
Chores

v9.1.1

Compare Source

Bug Fixes

v9.1.0

Compare Source

Features
Bug Fixes
  • 8d18958 fix: Remove name from eslint/js packages (#​18368) (Nicholas C. Zakas)
  • 594eb0e fix: do not crash on error in fs.walk filter (#​18295) (Francesco Trotta)
  • 0d8cf63 fix: EMFILE errors (#​18313) (Nicholas C. Zakas)
  • e1ac0b5 fix: --inspect-config only for flat config and respect -c (#​18306) (Nicholas C. Zakas)
  • 09675e1 fix: --no-ignore should not apply to non-global ignores (#​18334) (Milos Djermanovic)
Documentation
  • fb50077 docs: include notes about globals in migration-guide (#​18356) (Gabriel Rohden)
  • 71c771f docs: Fix missing accessible name for scroll-to-top link (#​18329) (Germán Freixinós)
  • 200fd4e docs: indicate eslintrc mode for .eslintignore (#​18285) (Francesco Trotta)
  • 16b6a8b docs: Update README (GitHub Actions Bot)
  • df5f8a9 docs: paths and patterns difference in no-restricted-imports (#​18273) (Tanuj Kanti)
  • c537d76 docs: update npm init @&#8203;eslint/config generated file names (#​18298) (唯然)
  • e1e305d docs: fix linebreak-style examples (#​18262) (Francesco Trotta)
  • 113f51e docs: Mention package.json config support dropped (#​18305) (Nicholas C. Zakas)
  • 5c35321 docs: add eslintrc-only note to --rulesdir (#​18281) (Adam Lui 刘展鹏)
Build Related
  • 1fa6622 build: do not use --force flag to install dependencies (#​18284) (Francesco Trotta)
Chores

v9.0.0

Compare Source

Breaking Changes
  • b7cf3bd fix!: correct camelcase rule schema for allow option (#​18232) (eMerzh)
  • 09bd7fe feat!: move AST traversal into SourceCode (#​18167) (Nicholas C. Zakas)
  • 79a95eb feat!: disallow multiple configuration comments for same rule (#​18157) (Milos Djermanovic)
  • 9163646 feat!: Rule Tester checks for missing placeholder data in the message (#​18073) (fnx)
  • 3c4d51d feat!: default for enforceForClassMembers in no-useless-computed-key (#​18054) (Francesco Trotta)
  • 47e60f8 feat!: Stricter rule test validations (#​17654) (fnx)
  • 1a94589 feat!: no-unused-vars default caughtErrors to 'all' (#​18043) (Josh Goldberg )
  • 57089cb feat!: no-restricted-imports allow multiple config entries for same path (#​18021) (Milos Djermanovic)
  • 2e1d549 feat!: detect duplicate test cases (#​17955) (Bryan Mishkin)
  • 701f1af feat!: no-inner-declaration new default behaviour and option (#​17885) (Tanuj Kanti)
  • bde5105 fix!: handle --output-file for empty output when saving to disk (#​17957) (Nitin Kumar)
  • 07107a5 fix!: upgrade eslint-scope@8.0.0 (#​17942) (Milos Djermanovic)
  • 3ee0f6c fix!: no-unused-vars varsIgnorePattern behavior with catch arguments (#​17932) (Tanuj Kanti)
  • 51f8bc8 fix!: configuration comments with just severity should retain options (#​17945) (Milos Djermanovic)
  • d191bdd feat!: Remove CodePath#currentSegments (#​17936) (Milos Djermanovic)
  • 946ae00 feat!: FlatRuleTester -> RuleTester (#​17922) (Nicholas C. Zakas)
  • baff28c feat!: remove no-inner-declarations from eslint:recommended (#​17920) (Milos Djermanovic)
  • cadfbcd feat!: Rename FlatESLint to ESLint (#​17914) (Nicholas C. Zakas)
  • d1018fc feat!: skip running warnings in --quiet mode (#​17274) (Maddy Miller)
  • fb81b1c feat!: Set default schema: [], drop support for function-style rules (#​17792) (Milos Djermanovic)
  • 0b21e1f feat!: add two more cases to no-implicit-coercion (#​17832) (Gürgün Dayıoğlu)
  • 2916c63 feat!: Switch Linter to flat config by default (#​17851) (Nicholas C. Zakas)
  • 200518e fix!: Parsing 'exported' comment using parseListConfig (#​17675) (amondev)
  • bdd6ba1 feat!: Remove valid-jsdoc and require-jsdoc (#​17694) (Nicholas C. Zakas)
  • 12be307 fix!: Behavior of CLI when no arguments are passed (#​17644) (Nicholas C. Zakas)
  • 8fe8c56 feat!: Update shouldUseFlatConfig and CLI so flat config is default (#​17748) (Nicholas C. Zakas)
  • 60dea3e feat!: deprecate no-new-symbol, recommend no-new-native-nonconstructor (#​17710) (Francesco Trotta)
  • 5aa9c49 feat!: check for parsing errors in suggestion fixes (#​16639) (Bryan Mishkin)
  • b3e0bb0 feat!: assert suggestion messages are unique in rule testers (#​17532) (Josh Goldberg )
  • e563c52 feat!: no-invalid-regexp make allowConstructorFlags case-sensitive (#​17533) (Josh Goldberg )
  • e5f02c7 fix!: no-sequences rule schema correction (#​17878) (MHO)
  • 6ee3e9e feat!: Update eslint:recommended configuration (#​17716) (Milos Djermanovic)
  • c2cf85a feat!: drop support for string configurations in flat config array (#​17717) (Milos Djermanovic)
  • c314fd6 feat!: Remove SourceCode#getComments() (#​17715) (Milos Djermanovic)
  • ae78ff1 feat!: Remove deprecated context methods (#​17698) (Nicholas C. Zakas)
  • f71c328 feat!: Swap FlatESLint-ESLint, FlatRuleTester-RuleTester in API (#​17823) (Nicholas C. Zakas)
  • 5304da0 feat!: remove formatters except html, json(-with-metadata), and stylish (#​17531) (Josh Goldberg )
  • e1e827f feat!: Require Node.js ^18.18.0 || ^20.9.0 || >=21.1.0 (#​17725) (Milos Djermanovic)
Features
  • d54a412 feat: Add --inspect-config CLI flag (#​18270) (Nicholas C. Zakas)
  • 97ce45b feat: Add reportUsedIgnorePattern option to no-unused-vars rule (#​17662) (Pearce Ropion)
  • 3e9fcea feat: Show config names in error messages (#​18256) (Nicholas C. Zakas)
  • de40874 feat: Rule Performance Statistics for flat ESLint (#​17850) (Mara Kiefer)
  • d85c436 feat: use-isnan report NaN in indexOf and lastIndexOf with fromIndex (#​18225) (Tanuj Kanti)
  • b8fb572 feat: add reportUnusedFallthroughComment option to no-fallthrough rule (#​18188) (Kirk Waiblinger)
  • 1c173dc feat: add ignoreClassWithStaticInitBlock option to no-unused-vars (#​18170) (Tanuj Kanti)
  • a451b32 feat: make no-misleading-character-class report more granular errors (#​18082) (Francesco Trotta)
  • c49ed63 feat: update complexity rule for optional chaining & default values (#​18152) (Mathias Schreck)
  • 11144a2 feat: no-restricted-imports option added allowImportNames (#​16196) (M Pater)
  • 74124c2 feat: add suggestions to use-isnan in indexOf & lastIndexOf calls (#​18063) (StyleShit)
  • 53f0f47 feat: Add loadESLint() API method for v9 (#​18097) (Nicholas C. Zakas)
  • 2d11d46 feat: add suggestions to use-isnan in binary expressions (#​17996) (StyleShit)
  • 26093c7 feat: fix false negatives in no-this-before-super (#​17762) (Yosuke Ota)
  • 5471e43 feat: convert unsafe autofixes to suggestions in no-implicit-coercion (#​17985) (Gürgün Dayıoğlu)
  • e3051be feat: emit warning when .eslintignore file is detected (#​17952) (Nitin Kumar)
  • a630edd feat: maintain latest ecma version in ESLint (#​17958) (Milos Djermanovic)
  • b4e0503 feat: add no-useless-assignment rule (#​17625) (Yosuke Ota)
  • 287c4b7 feat: no-misleading-character-class granular errors (#​17515) (Josh Goldberg )
  • 8792464 feat: Enable eslint.config.mjs and eslint.config.cjs (#​17909) (Nicholas C. Zakas)
  • 24ce927 feat: warn by default for unused disable directives (#​17879) (Bryan Mishkin)
Bug Fixes
  • 610c148 fix: Support using declarations in no-lone-blocks (#​18269) (Kirk Waiblinger)
  • e508800 fix: rule tester ignore irrelevant test case properties (#​18235) (fnx)
  • a129acb fix: flat config name on ignores object (#​18258) (Nicholas C. Zakas)
  • dadc5bf fix: constructor-super false positives with loops (#​18226) (Milos Djermanovic)
  • ae8103d fix: load plugins in the CLI in flat config mode (#​18185) (Francesco Trotta)
  • e37153f fix: improve error message for invalid rule config (#​18147) (Nitin Kumar)
  • af6e170 fix: stop linting files after an error (#​18155) (Francesco Trotta)
  • 0cb4914 fix: validate options when comment with just severity enables rule (#​18133) (Milos Djermanovic)
  • c4d26fd fix: use-isnan doesn't report on SequenceExpressions (#​18059) (StyleShit)
  • 39076fb fix: handle absolute file paths in RuleTester (#​17989) (Nitin Kumar)
  • 6d11f3d fix: Ensure config keys are printed for config errors (#​17980) (Nicholas C. Zakas)
  • 806f708 fix: no-misleading-character-class edge cases with granular errors (#​17970) (Milos Djermanovic)
  • f182114 fix: deep merge behavior in flat config (#​17906) (Francesco Trotta)
  • b577e8a fix: allow circular references in config (#​17752) (Francesco Trotta)
Documentation
  • e151050 docs: update get-started to the new @eslint/create-config (#​18217) (唯然)
  • 94178ad docs: mention about name field in flat config (#​18252) (Anthony Fu)
  • 1765c24 docs: add Troubleshooting page (#​18181) (Josh Goldberg )
  • 96607d0 docs: version selectors synchronization (#​18260) (Milos Djermanovic)
  • 651ec91 docs: remove /* eslint-env */ comments from rule examples (#​18249) (Milos Djermanovic)
  • 950c4f1 docs: Update README (GitHub Actions Bot)
  • 12f5746 docs: add info about dot files and dir in flat config (#​18239) (Tanuj Kanti)
  • b93f408 docs: update shared settings example (#​18251) (Tanuj Kanti)
  • 26384d3 docs: fix ecmaVersion in one example, add checks (#​18241) (Milos Djermanovic)
  • 7747097 docs: Update MR review process (#​18233) (Nicholas C. Zakas)
  • b07d427 docs: fix typo (#​18246) (Kirill Gavrilov)
  • 778082d docs: add Glossary page (#​18187) (Josh Goldberg )
  • 239a7e2 docs: Clarify the description of sort-imports options (#​18198) (gyeongwoo park)
  • 4769c86 docs: fix incorrect example in no-lone-blocks (#​18215) (Tanuj Kanti)
  • 5251327 docs: Update README (GitHub Actions Bot)
  • 1dc8618 docs: Update README (GitHub Actions Bot)
  • ba1c1bb docs: Update README (GitHub Actions Bot)
  • 337cdf9 docs: Explain limitations of RuleTester fix testing (#​18175) (Nicholas C. Zakas)
  • c7abd89 docs: Explain Node.js version support (#​18176) (Nicholas C. Zakas)
  • d961eeb docs: show red underlines in examples in rules docs (#​18041) (Yosuke Ota)
  • 558274a docs: Update README (GitHub Actions Bot)
  • 2908b9b docs: Update release documentation (#​18174) (Nicholas C. Zakas)
  • 1f1260e docs: replace HackerOne link with GitHub advisory (#​18165) (Francesco Trotta)
  • e5ef3cd docs: add inline cases condition in no-fallthrough (#​18158) (Tanuj Kanti)
  • 450d0f0 docs: fix ignore option docs (#​18154) (Francesco Trotta)
  • 5fe095c docs: show v8.57.0 as latest version in dropdown (#​18142) (Milos Djermanovic)
  • 7db5bb2 docs: Show prerelease version in dropdown (#​18135) (Nicholas C. Zakas)
  • 73a5f06 docs: Update README (GitHub Actions Bot)
  • f95cd27 docs: Disallow multiple rule configuration comments in the same example (#​18116) (Milos Djermanovic)
  • d8068ec docs: Update link for schema examples (#​18112) (Svetlana)
  • f1c7e6f docs: Switch to Ethical Ads (#​18090) (Strek)
  • 15c143f docs: JS Foundation -> OpenJS Foundation in MR template (#​18092) (Nicholas C. Zakas)
  • 6ea339e docs: add stricter rule test validations to v9 migration guide (#​18085) (Milos Djermanovic)
  • 3c816f1 docs: use relative link from CLI to core concepts (#​18083) (Milos Djermanovic)
  • 9458735 docs: fix malformed eslint config comments in rule examples (#​18078) (Francesco Trotta)
  • 07a1ada docs: link from --fix CLI doc to the relevant core concept (#​18080) (Bryan Mishkin)
  • b844324 docs: Update team responsibilities (#​18048) (Nicholas C. Zakas)
  • aadfb60 docs: document languageOptions and other v9 changes for context (#​18074) (fnx)
  • 857e242 docs: tweak explanation for meta.docs rule properties (#​18057) (Bryan Mishkin)
  • 10485e8 docs: recommend messageId over message for reporting rule violations (#​18050) (Bryan Mishkin)
  • 98b5ab4 docs: Update README (GitHub Actions Bot)
  • 505fbf4 docs: update no-restricted-imports rule (#​18015) (Tanuj Kanti)
  • c25b4af docs: Update README (GitHub Actions Bot)
  • 33d1ab0 docs: add more examples to flat config ignores docs (#​18020) (Milos Djermanovic)
  • e6eebca docs: Update sort-keys options properties count (#​18025) (LB (Ben Johnston))
  • 1fedfd2 docs: Improve flat config ignores docs (#​17997) (Nicholas C. Zakas)
  • 38b9b06 docs: update valid-typeof rule (#​18001) (Tanuj Kanti)
  • b4abfea docs: Update note about ECMAScript support (#​17991) (Francesco Trotta)
  • 6788873 docs: Update release blog post template (#​17994) (Nicholas C. Zakas)
  • 1f37442 docs: Add sections on non-npm plugin configuration (#​17984) (Nicholas C. Zakas)
  • 96307da docs: migration guide entry for no-inner-declarations (#​17977) (Tanuj Kanti)
  • 40be60e docs: Update README (GitHub Actions Bot)
  • d31c180 docs: fix number of code-path events on custom rules page (#​17969) (Richard Hunter)
  • 1529ab2 docs: reorder entries in v9 migration guide (#​17967) (Milos Djermanovic)
  • 9507525 docs: Explain how to combine configs (#​17947) (Nicholas C. Zakas)
  • 7c78576 docs: Add more removed context methods to migrate to v9 guide (#​17951) (Milos Djermanovic)
  • 3a877d6 docs: Update removed CLI flags migration (#​17939) (Nicholas C. Zakas)
  • 4a9cd1e docs: Update Linter API for v9 (#​17937) (Milos Djermanovic)
  • 2a8eea8 docs: update docs for v9.0.0-alpha.0 (#​17929) (Milos Djermanovic)
  • 7f0ba51 docs: show NEXT in version selectors (#​17911) (Milos Djermanovic)
  • 0a7911e docs: add flat config default to v9 migration guide (#​17927) (Milos Djermanovic)
  • 94f8065 docs: Add CLI updates to migrate to v9 guide (#​17924) (Nicholas C. Zakas)
  • 16187f2 docs: Add exported and string config notes to migrate to v9 guide (#​17926) (Nicholas C. Zakas)
  • 3ae50cc docs: Add RuleTester changes to migrate to v9 guide (#​17923) (Nicholas C. Zakas)
  • 0831b58 docs: add rule changes to v9 migration guide (#​17925) (Milos Djermanovic)
  • 037abfc docs: update API docs (#​17919) (Milos Djermanovic)
  • afc3c03 docs: add function-style and meta.schema changes to v9 migration guide (#​17912) (Milos Djermanovic)
  • 1da0723 docs: update eslint:recommended section in Migrate to v9.x (#​17908) (Milos Djermanovic)
  • f55881f docs: remove configuration-files-new.md (#​17907) (Milos Djermanovic)
  • 63ae191 docs: Migrate to v9.0.0 (#​17905) (Nicholas C. Zakas)
  • e708496 docs: Switch to flat config by default (#​17840) (Nicholas C. Zakas)
  • fdf0424 docs: Update Create a Plugin for flat config (#​17826) (Nicholas C. Zakas)
  • e6a91bd docs: Switch shareable config docs to use flat config (#​17827) (Nicholas C. Zakas)
  • 3831fb7 docs: updated examples of max-lines rule (#​17898) (Tanuj Kanti)
  • cd1ac20 docs: Update README (GitHub Actions Bot)
Build Related
  • 26010c2 Build: changelog update for 9.0.0-rc.0 (Jenkins)
  • b91f9dc build: fix TypeError in prism-eslint-hooks.js (#​18209) (Francesco Trotta)
  • d7ec0d1 Build: changelog update for 9.0.0-beta.2 (Jenkins)
  • fd9c0a9 Build: changelog update for 9.0.0-beta.1 (Jenkins)
  • c9f2f33 build: changelog update for 8.57.0 (#​18144) (Milos Djermanovic)
  • 1bbc495 Build: changelog update for 9.0.0-beta.0 (Jenkins)
  • 96f8877 Build: changelog update for 9.0.0-alpha.2 (Jenkins)
  • 52d5e7a Build: changelog update for 9.0.0-alpha.1 (Jenkins)
  • c2bf27d build: update docs files when publishing prereleases (#​17940) (Milos Djermanovic)
  • e91d85d Build: changelog update for 9.0.0-alpha.0 (Jenkins)
Chores

v8.57.0

Compare Source

Features
  • 1120b9b feat: Add loadESLint() API method for v8 (#​18098) (Nicholas C. Zakas)
  • dca7d0f feat: Enable eslint.config.mjs and eslint.config.cjs (#​18066) (Nitin Kumar)
Bug Fixes
  • 2196d97 fix: handle absolute file paths in FlatRuleTester (#​18064) (Nitin Kumar)
  • 69dd1d1 fix: Ensure config keys are printed for config errors (#​18067) (Nitin Kumar)
  • 9852a31 fix: deep merge behavior in flat config (#​18065) (Nitin Kumar)
  • 4c7e9b0 fix: allow circular references in config (#​18056) (Milos Djermanovic)
Documentation
Chores

v8.56.0

Compare Source

Features
  • 0dd9704 feat: Support custom severity when reporting unused disable directives (#​17212) (Bryan Mishkin)
  • 31a7e3f feat: fix no-restricted-properties false negatives with unknown objects (#​17818) (Arka Pratim Chaudhuri)
Bug Fixes
  • 7d5e5f6 fix: TypeError: fs.exists is not a function on read-only file system (#​17846) (Francesco Trotta)
  • 74739c8 fix: suggestion with invalid syntax in no-promise-executor-return rule (#​17812) (Bryan Mishkin)
Documentation
  • 9007719 docs: update link in ways-to-extend.md (#​17839) (Amel SELMANE)
  • 3a22236 docs: Update README (GitHub Actions Bot)
  • 54c3ca6 docs: fix migration-guide example (#​17829) (Tanuj Kanti)
  • 4391b71 docs: check config comments in rule examples (#​17815) (Francesco Trotta)
  • fd28363 docs: remove mention about ESLint stylistic rules in readme (#​17810) (Zwyx)
  • 48ed5a6 docs: Update README (GitHub Actions Bot)
Chores

v8.55.0

Compare Source

Features
  • 8c9e6c1 feat: importNamePattern option in no-restricted-imports (#​17721) (Tanuj Kanti)
Documentation
  • 83ece2a docs: fix typo --rules -> --rule (#​17806) (OKURA Masafumi)
  • fffca5c docs: remove "Open in Playground" buttons for removed rules (#​17791) (Francesco Trotta)
  • a6d9442 docs: fix correct/incorrect examples of rules (#​17789) (Tanuj Kanti)
  • 383e999 docs: update and fix examples for no-unused-vars (#​17788) (Tanuj Kanti)
  • 5a8efd5 docs: add specific stylistic rule for each deprecated rule (#​17778) (Etienne)
Chores

v8.54.0

Compare Source

Features
  • a7a883b feat: for-direction rule add check for condition in reverse order (#​17755) (Angelo Annunziata)
  • 1452dc9 feat: Add suggestions to no-console (#​17680) (Joel Mathew Koshy)
  • 21ebf8a feat: update no-array-constructor rule (#​17711) (Francesco Trotta)
Bug Fixes
  • 98926e6 fix: Ensure that extra data is not accidentally stored in the cache file (#​17760) (Milos Djermanovic)
  • e8cf9f6 fix: Make dark scroll bar in dark theme (#​17753) (Pavel)
  • 3cbeaad fix: Use cwd constructor option as config basePath in Linter (#​17705) (Milos Djermanovic)
Documentation
  • becfdd3 docs: Make clear when rules are removed (#​17728) (Nicholas C. Zakas)
  • 05d6e99 docs: update "Submit a Merge Request" page (#​17712) (Francesco Trotta)
  • eb2279e docs: display info about deprecated rules (#​17749) (Percy Ma)
  • d245326 docs: Correct working in migrating plugin docs (#​17722) (Filip Tammergård)
Chores

v8.53.0

Compare Source

Features
  • 528e1c0 feat: Deprecate formatting rules (#​17696) (Nicholas C. Zakas)
  • c0b11dd feat: Add suggestions for no-prototype-builtins (#​17677) (Yonathan Randolph)
Bug Fixes
  • 1ad6257 fix: ensure that exit code for fatal errors is not overwritten (#​17683) (Milos Djermanovic)
  • b329ea7 fix: add ; after JSX nodes in no-object-constructor autofix (#​17672) (Francesco Trotta)
Documentation
  • ab8c60d docs: change position of return to top button (#​17688) (Tanuj Kanti)
  • 4fc44c0 docs: update twitter icon to new X icon (#​17687) (Tanuj Kanti)
  • 4164b2c docs: Update README (GitHub Actions Bot)
  • 8651895 docs: Fix tabs in rule examples (#​17653) (Francesco Trotta)
  • 3aec1c5 docs: explained rule fixers and suggestions (#​17657) (Josh Goldberg )
Chores

v8.52.0

Compare Source

Features
  • 70648ee feat: report-unused-disable-directive to report unused eslint-enable (#​17611) (Yosuke Ota)
Bug Fixes
  • 5de9637 fix: Ensure shared references in rule configs are separated (#​17666) (Nicholas C. Zakas)
  • dcfe573 fix: add preceding semicolon in suggestions of no-object-constructor (#​17649) (Francesco Trotta)
Documentation
  • 476d58a docs: Add note about invalid CLI flags when using flat config. (#​17664) (Nicholas C. Zakas)
  • 660ed3a docs: Plugin flat config migration guide (#​17640) (Nicholas C. Zakas)
  • a58aa20 docs: fix examples for several rules (#​17645) (Milos Djermanovic)
  • 179929b docs: Remove trailing newline from the code of Playground links (#​17641) (Francesco Trotta)
  • f8e5c30 docs: Update README (GitHub Actions Bot)
  • b7ef2f3 docs: Enable pretty code formatter output (#​17635) (Nicholas C. Zakas)
  • 0bcb9a8 docs: Fix syntax errors in rule examples (#​17633) (Francesco Trotta)
  • 61b9083 docs: Make no-continue example code work (#​17643) (Zhongyuan Zhou)
  • 9fafe45 docs: upgrade to 11ty 2.0 (#​17632) (Percy Ma)
  • ff8e4bf docs: Update README (GitHub Actions Bot)
  • fab249a docs: Update README (GitHub Actions Bot)
  • 392305b docs: Update no-irregular-whitespace and fix examples (#​17626) (Francesco Trotta)
  • 6b8acfb docs: Add real whitespace to no-trailing-spaces examples (#​17630) (Francesco Trotta)
  • 1000187 docs: Fix examples in unicode-bom (#​17631) (Francesco Trotta)
  • 000290c docs: Update README (GitHub Actions Bot)
Chores

v8.51.0

Compare Source

Features
  • 0a9c433 feat: Add --no-warn-ignored CLI option for flat config (#​17569) (Domantas Petrauskas)
  • 977e67e feat: logical-assignment-operators to report expressions with 3 operands (#​17600) (Yosuke Ota)
Bug Fixes
  • f976b2f fix: make rule severity case-sensitive in flat config (#​17619) (Milos Djermanovic)
  • 0edfe36 fix: Ensure crash error messages are not duplicated (#​17584) (Nicholas C. Zakas)
  • dd79abc fix: eslint-disable to be able to parse quoted rule names (#​17612) (Yosuke Ota)
  • d2f6801 fix: Ensure correct code path for && followed by ?? (#​17618) (Nicholas C. Zakas)
Documentation
  • ee5be81 docs: default to sourceType: "module" in rule examples (#​17615) (Francesco Trotta)
  • 1aa26df docs: Add more examples for multiline-ternary (#​17610) (George Ashiotis)
  • 47d0b44 docs: Update README (GitHub Actions Bot)
  • dbf831e docs: use generated og image (#​17601) (Percy Ma)
  • 1866da5 docs: Update README (GitHub Actions Bot)
Chores

v8.50.0

Compare Source

Features
  • 27d5a9e feat: add suggestions to array-callback-return (#​17590) (Tanuj Kanti)
  • f9082ff feat: flat-rule-tester make sure default config always matches (#​17585) (fnx)
  • 83914ad feat: Implement SourceCode#applyInlineConfig() (#​17351) (Nicholas C. Zakas)
  • 22a5582 feat: add rule no-object-constructor, deprecate no-new-object (#​17576) (Francesco Trotta)
  • 85a3d9e feat: allowVoid option in array-callback-return (#​17564) (Tanuj Kanti)
Bug Fixes
  • cc4d26b fix: Ensure deprecated context.parserServices warns (#​17593) (Nicholas C. Zakas)
  • 1ea4cfb fix: Ensure all RuleTester tests all deprecated context methods (#​17587) (Nicholas C. Zakas)
  • aa1b657 fix: wrong suggestion and message in no-misleading-character-class (#​17571) (Yosuke Ota)
Documentation
  • 1800537 docs: Fix and standardize JSX code examples (#​17591) (Francesco Trotta)
  • 48a44a7 docs: Add correct/incorrect tags to prefer-arrow-callback (#​17589) (Francesco Trotta)
  • 20893d4 docs: fix incorrect tag's place (#​17575) (Tanuj Kanti)
  • bd7a71f docs: Update README (GitHub Actions Bot)
Chores

v8.49.0

Compare Source

Features
  • da09f4e feat: Implement onUnreachableCodePathStart/End (#​17511) (Nicholas C. Zakas)
  • 32b2327 feat: Emit deprecation warnings in RuleTester (#​17527) (Nicholas C. Zakas)
  • acb7df3 feat: add new enforce option to lines-between-class-members (#​17462) (Nitin Kumar)
Documentation
  • ecfb54f docs: Update README (GitHub Actions Bot)
  • de86b3b docs: update no-promise-executor-return examples (#​17529) (Nitin Kumar)
  • 032c4b1 docs: add typescript template (#​17500) (James)
  • cd7da5c docs: Update README (GitHub Actions Bot)
Chores

v8.48.0

Compare Source

Features
  • 1fbb3b0 feat: correct update direction in for-direction (#​17483) (Francesco Trotta)
  • d73fbf2 feat: rule tester do not create empty valid or invalid test suites (#​17475) (fnx)
  • ee2f718 feat: Allow void in rule no-promise-executor-return (#​17282) (nopeless)
Bug Fixes
  • 7234f6a fix: update RuleTester JSDoc and deprecations (#​17496) (Jonas Berlin)
Documentation
  • 7a51d77 docs: no-param-reassign mention strict mode (#​17494) (Stephen Hardy)
  • 9cd7ac2 docs: add fetch script to package.json conventions (#​17459) (Nitin Kumar)
  • cab21e6 docs: advice for inline disabling of rules (#​17458) (Ashish Yadav)
  • 056499d docs: fix example of flat config from plugin (#​17482) (Francesco Trotta)
  • 9e9edf9 docs: update documentation URL in error message (#​17465) (Nitin Kumar)
Chores

v8.47.0

Compare Source

Features
  • 53d7508 feat: update regex for methods with thisArg (#​17439) (Francesco Trotta)
Bug Fixes
  • 631648e fix: do not report on shadowed constructors in no-new-wrappers (#​17447) (Francesco Trotta)
Documentation
Chores

v8.46.0

Compare Source

Features
Bug Fixes
  • 9803c7c fix: FlatESLint#getRulesMetaForResults shouldn't throw on unknown rules (#​17393) (Milos Djermanovic)
  • 42faa17 fix: Update no-loop-func to not overlap with no-undef (#​17358) (Matt Wilkinson)
Documentation
  • 4d474e3 docs: update with TypeScript info (#​17423) (James)
  • 091f44e docs: File extension named processor deprecation (#​17362) (Matt Wilkinson)
  • 9254a6c docs: Update README (GitHub Actions Bot)
  • 6d6dc51 docs: fix overlapping of open in playground button (#​17403) (Tanuj Kanti)
  • 7fc3a2c docs: Add private class features info to no-underscore-dangle (#​17386) (Matt Wilkinson)
  • da73e58 docs: Migrating eslint-env configuration comments (#​17390) (Francesco Trotta)
  • 80dffed docs: fix Ignoring Files section in config migration guide (#​17392) (Milos Djermanovic)
  • 8a9abb7 docs: Update README (GitHub Actions Bot)
  • 7e9be4b docs: Update README (GitHub Actions Bot)
  • 0b0bbe0 docs: Update README (GitHub Actions Bot)
Chores
  • d1eb7e4 chore: Update ecosystem dependencies (#​17427) (Nicholas C. Zakas)
  • fab9e97 chore: package.json update for eslint-config-eslint release (ESLint Jenkins)
  • 6246711 chore: package.json update for @​eslint/js release (ESLint Jenkins)
  • 0aa0bc3 chore: Add MRs to triage project (#​17421) (Nicholas C. Zakas)

v8.45.0

Compare Source

Features
  • cdd063c feat: Expose LegacyESLint in unsupported API (#​17341) (Nicholas C. Zakas)
  • d34abe5 feat: fix indent rule for else-if (#​17318) (Milos Djermanovic)
Bug Fixes
  • b79b6fb fix: Fix suggestion message in no-useless-escape (#​17339) (Francesco Trotta)
  • c667055 fix: provide unique fix and fix.range objects in lint messages (#​17332) (Milos Djermanovic)
Documentation
  • 89f3225 docs: add playground links to correct and incorrect code blocks (#​17306) (Josh Goldberg )
  • f8892b5 docs: Expand rule option schema docs (#​17198) (Matt Wilkinson)
  • 8bcbf11 docs: Config Migration Guide (#​17230) (Ben Perlmutter)
  • bb30908 docs: Update README (GitHub Actions Bot)
  • 84d243b docs: Update README (GitHub Actions Bot)
  • b762632 docs: Update README (GitHub Actions Bot)
  • 138c096 docs: add more prefer-destructuring examples with array destructuring (#​17330) (Milos Djermanovic)
  • 1fc50a8 docs: max-len rule code and tabWidth as positional arguments (#​17331) (Jesús Leganés-Combarro)
Chores

v8.44.0

Compare Source

Features
  • 1766771 feat: add es2023 and es2024 environments (#​17328) (Milos Djermanovic)
  • 4c50400 feat: add ecmaVersion: 2024, regexp v flag parsing (#​17324) (Milos Djermanovic)
  • 4d411e4 feat: add ternaryOperandBinaryExpressions option to no-extra-parens rule (#​17270) (Percy Ma)
  • c8b1f4d feat: Move parserServices to SourceCode (#​17311) (Milos Djermanovic)
  • ef6e24e feat: treat unknown nodes as having the lowest precedence (#​17302) (Brad Zacher)
  • 1866e1d feat: allow flat config files to export a Promise (#​17301) (Milos Djermanovic)
Bug Fixes
  • a36bcb6 fix: no-unused-vars false positive with logical assignment operators (#​17320) (Gweesin Chan)
  • 7620b89 fix: Remove no-unused-labels autofix before potential directives (#​17314) (Francesco Trotta)
  • 391ed38 fix: Remove no-extra-semi autofix before potential directives (#​17297) (Francesco Trotta)
Documentation
Chores

v8.43.0

Compare Source

Features
  • 14581ff feat: directive prologue detection and autofix condition in quotes (#​17284) (Francesco Trotta)
  • e50fac3 feat: add declaration loc to message in block-scoped-var (#​17252) (Milos Djermanovic)
  • 1b7faf0 feat: add skipJSXText option to no-irregular-whitespace rule (#​17182) (Azat S)
Bug Fixes
  • 5338b56 fix: normalize cwd passed to ESLint/FlatESLint constructor (#​17277) (Milos Djermanovic)
  • 54383e6 fix: Remove no-extra-parens autofix for potential directives (#​17022) (Francesco Trotta)
Documentation
Chores

v8.42.0

Compare Source

Features
  • b8448ff feat: correct no-useless-return behaviour in try statements (#​16996) (Nitin Kumar)
Bug Fixes
  • a589636 fix: Config with ignores and without files should not always apply (#​17181) (Milos Djermanovic)
  • c4fad17 fix: Correct ignore message for "node_modules" subfolders (#​17217) (Francesco Trotta)
Documentation
  • 01d7142 docs: Update README (GitHub Actions Bot)
  • e5182b7 docs: Update README (GitHub Actions Bot)
Chores

v8.41.0

Compare Source

Features
  • 880a431 feat: change default ignore pattern to **/node_modules/ in flat config (#​17184) (Milos Djermanovic)
  • 8bf5505 feat: expose shouldUseFlatConfig (#​17169) (Connor Prussin)
Bug Fixes
  • 4f5440d fix: incorrect warning message for ignored dotfiles (#​17196) (Milos Djermanovic)
  • 94da96c fix: unify LintMessage type (#​17076) (Brandon Mills)
  • 0c415cd fix: validate ignorePatterns constructor option in FlatESLint class (#​17139) (Milos Djermanovic)
  • 9682d66 fix: switch grapheme-splitter to graphemer (#​17160) (fisker Cheung)
Documentation
  • 7709b14 docs: Update README (GitHub Actions Bot)
  • 7f183e0 docs: Update triage process description (#​17157) (Nicholas C. Zakas)
  • b68346b docs: fix license to reflect relicensing of jshint (#​17165) (Stefan Bischof)
Chores

v8.40.0

Compare Source

Features
  • 5db7808 feat: improve flat config errors for invalid rule options and severities (#​17140) (Josh Goldberg )
  • f5574dc feat: Add findConfigFile() method to FlatESLint (#​17142) (Nicholas C. Zakas)
  • e52b98b feat: add sourceCode property to the rule context (#​17107) (Nitin Kumar)
  • 1468f5b feat: add physicalFilename property to the rule context (#​17111) (Nitin Kumar)
  • 0df4d4f feat: add cwd to rule context (#​17106) (Nitin Kumar)
  • 52018f2 feat: add filename property to the rule context (#​17108) (Nitin Kumar)
  • 559ff4e feat: add new omitLastInOneLineClassBody option to the semi rule (#​17105) (Nitin Kumar)
Bug Fixes
  • f076e54 fix: Ensure FlatESLint#findConfigFile() doesn't throw. (#​17151) (Nicholas C. Zakas)
Documentation
  • e980bf3 docs: Update README (GitHub Actions Bot)
  • e92a6fc docs: Update README (GitHub Actions Bot)
  • af5fe64 docs: Fix custom rule schema docs (#​17115) (Adam Jones)
  • 4a352a9 docs: explain how to include predefined globals (#​17114) (Marcus Wyatt)
  • 5ea15d9 docs: add mastodon link in readme (#​17110) (唯然)
Chores

v8.39.0

Compare Source

Features
  • 3f7af9f feat: Implement SourceCode#markVariableAsUsed() (#​17086) (Nicholas C. Zakas)
Documentation
  • 6987dc5 docs: Fix formatting in Custom Rules docs (#​17097) (Milos Djermanovic)
  • 4ee92e5 docs: Update README (GitHub Actions Bot)
  • d8e9887 docs: Custom Rules cleanup/expansion (#​16906) (Ben Perlmutter)
  • 1fea279 docs: Clarify how to add to tsc agenda (#​17084) (Nicholas C. Zakas)
  • 970ef1c docs: Update triage board location (Nicholas C. Zakas)
  • 6d8bffd docs: Update README (GitHub Actions Bot)
Chores

v8.38.0

Compare Source

Features
  • a1d561d feat: Move getDeclaredVariables and getAncestors to SourceCode (#​17059) (Nicholas C. Zakas)
Bug Fixes
  • 1c1ece2 fix: do not report on RegExp(...args) in require-unicode-regexp (#​17037) (Francesco Trotta)
Documentation
  • 7162d34 docs: Mention new config system is complete (#​17068) (Nicholas C. Zakas)
  • 0fd6bb2 docs: Update README (GitHub Actions Bot)
  • c83531c docs: Update/remove external links, eg. point to eslint-community (#​17061) (Pelle Wessman)
  • a3aa6f5 docs: Clarify no-div-regex rule docs (#​17051) (Francesco Trotta)
  • b0f11cf docs: Update README (GitHub Actions Bot)
  • da8d52a docs: Update the second object instance for the "no-new" rule (#​17020) (Ahmadou Waly NDIAYE)
  • 518130a docs: switch language based on current path (#​16687) (Percy Ma)
  • 24206c4 docs: Update README (GitHub Actions Bot)
Chores

v8.37.0

Compare Source

Features
Bug Fixes
  • 619f3fd fix: correctly handle null default config in RuleTester (#​17023) (Brad Zacher)
  • 1fbf118 fix: getFirstToken/getLastToken on comment-only node (#​16889) (Francesco Trotta)
  • 129e252 fix: Fix typo in logical-assignment-operators rule description (#​17000) (Francesco Trotta)
Documentation
Chores

v8.36.0

Compare Source

Features
Bug Fixes
  • 92c1943 fix: correctly iterate files matched by glob patterns (#​16831) (Nitin Kumar)
Documentation
  • b98fdd4 docs: Update README (GitHub Actions Bot)
  • caf08ce docs: fix estree link in custom formatters docs (#​16967) (Milos Djermanovic)
  • 3398431 docs: Custom Parsers cleanup/expansion (#​16887) (Ben Perlmutter)
  • 19d3531 docs: Update README (GitHub Actions Bot)
  • b09a512 docs: detect and fix broken links (#​16837) (Nitin Kumar)
Chores

v8.35.0

Compare Source

Features
  • 8e34a04 feat: add afterHashbangComment option to lines-around-comment rule (#​16920) (SUZUKI Sosuke)
  • c8c0c71 feat: Move all and recommended configs into package. (#​16844) (Nicholas C. Zakas)
  • 71f6f0d feat: report more cases with ?? in no-constant-binary-expression (#​16826) (Daiki Nishikawa)
Bug Fixes
Documentation
Chores

v8.34.0

Compare Source

Features
  • 9b2fcf7 feat: array-callback-return supports Array.prototype.toSorted (#​16845) (SUZUKI Sosuke)
Bug Fixes
  • 923f61d fix: false positive with assignment in no-extra-parens (#​16872) (Francesco Trotta)
Documentation
Chores

v8.33.0

Compare Source

Features
  • 2cc7954 feat: add restrictDefaultExports option to no-restricted-exports rule (#​16785) (Nitin Kumar)
Documentation
  • 17f4be2 docs: Fix examples in no-multiple-empty-lines rule (#​16835) (jonz94)
  • 9c7cfe3 docs: 'Source Code' content in 'Set up Development Environment' page (#​16780) (Ben Perlmutter)
  • ede5c64 docs: Custom processors page (#​16802) (Ben Perlmutter)
  • 2620614 docs: Code of Conduct page (#​16781) (Ben Perlmutter)
  • 50a8efd docs: report a sec vulnerability page (#​16808) (Ben Perlmutter)
  • ed60afd docs: Update page titles, section landing pages, and side TOC (#​16760) (Ben Perlmutter)
  • 333c712 docs: add background to code-path-diagrams for dark-mode (#​16822) (Tanuj Kanti)
  • f5f7b9b docs: Update README (GitHub Actions Bot)
  • 2aa4f5f docs: no-constant-condition: Add multi-comparison example (#​16776) (Sebastian Simon)
  • 40287db docs: Remove Google Group icon (#​16779) (Nicholas C. Zakas)
  • ea10ca5 docs: 'a .eslint' -> 'an .eslint' for consistency (#​16809) (Ben Perlmutter)
  • 3be0748 docs: add example for nodejs lintText api (#​16789) (Siva K)
  • ce4f5ff docs: Replace removed related rules with a valid rule (#​16800) (Ville Saalo)

v8.32.0

Compare Source

Features
  • fc20f24 feat: add suggestions for redundant wrapping in prefer-regex-literals (#​16658) (YeonJuan)
Bug Fixes
Documentation
  • 17b65ad docs: IA Update page URL move (#​16665) (Ben Perlmutter)
  • 5981296 docs: fix theme switcher button (#​16752) (Sam Chen)
  • 6669413 docs: deploy prerelease docs under the /docs/next/ path (#​16541) (Nitin Kumar)
  • 78ecfe0 docs: use inline code for rule options name (#​16768) (Percy Ma)
  • fc2ea59 docs: Update README (GitHub Actions Bot)
  • 762a872 docs: Update README (GitHub Actions Bot)
Chores
  • 2952d6e chore: sync templates/*.md files with issue templates (#​16758) (gfyoung)
  • 3e34418 chore: Add new issues to triage project (#​16740) (Nicholas C. Zakas)

v8.31.0

Compare Source

Features
  • 52c7c73 feat: check assignment patterns in no-underscore-dangle (#​16693) (Milos Djermanovic)
  • b401cde feat: add options to check destructuring in no-underscore-dangle (#​16006) (Morten Kaltoft)
  • 30d0daf feat: group properties with values in parentheses in key-spacing (#​16677) (Francesco Trotta)
Bug Fixes
  • 35439f1 fix: correct syntax error in prefer-arrow-callback autofix (#​16722) (Francesco Trotta)
  • 87b2470 fix: new instance of FlatESLint should load latest config file version (#​16608) (Milos Djermanovic)
Documentation
Chores

v8.30.0

Compare Source

Features
Bug Fixes
  • 1a327aa fix: Ensure flat config unignores work consistently like eslintrc (#​16579) (Nicholas C. Zakas)
  • 9b8bb72 fix: autofix recursive functions in no-var (#​16611) (Milos Djermanovic)
Documentation
Chores

v8.29.0

Compare Source

Features
  • 49a07c5 feat: add allowParensAfterCommentPattern option to no-extra-parens (#​16561) (Nitin Kumar)
  • e6a865d feat: prefer-named-capture-group add suggestions (#​16544) (Josh Goldberg)
  • a91332b feat: In no-invalid-regexp validate flags also for non-literal patterns (#​16583) (trosos)
Documentation
Chores

v8.28.0

Compare Source

Features
  • 63bce44 feat: add ignoreClassFieldInitialValues option to no-magic-numbers (#​16539) (Milos Djermanovic)
  • 8385ecd feat: multiline properties in rule key-spacing with option align (#​16532) (Francesco Trotta)
  • a4e89db feat: no-obj-calls support Intl (#​16543) (Sosuke Suzuki)
Bug Fixes
  • c50ae4f fix: Ensure that dot files are found with globs. (#​16550) (Nicholas C. Zakas)
  • 9432b67 fix: throw error for first unmatched pattern (#​16533) (Milos Djermanovic)
  • e76c382 fix: allow * 1 when followed by / in no-implicit-coercion (#​16522) (Milos Djermanovic)
Documentation
Chores

v8.27.0

Compare Source

Features
  • f14587c feat: new no-new-native-nonconstructor rule (#​16368) (Sosuke Suzuki)
  • 978799b feat: add new rule no-empty-static-block (#​16325) (Sosuke Suzuki)
  • 69216ee feat: no-empty suggest to add comment in empty BlockStatement (#​16470) (Nitin Kumar)
  • 319f0a5 feat: use context.languageOptions.ecmaVersion in core rules (#​16458) (Milos Djermanovic)
Bug Fixes
  • c3ce521 fix: Ensure unmatched glob patterns throw an error (#​16462) (Nicholas C. Zakas)
  • 886a038 fix: handle files with unspecified path in getRulesMetaForResults (#​16437) (Francesco Trotta)
Documentation
  • ce93b42 docs: Stylelint property-no-unknown (#​16497) (Nick Schonning)
  • d2cecb4 docs: Stylelint declaration-block-no-shorthand-property-overrides (#​16498) (Nick Schonning)
  • 0a92805 docs: stylelint color-hex-case (#​16496) (Nick Schonning)
  • 74a5af4 docs: fix stylelint error (#​16491) (Milos Djermanovic)
  • 324db1a docs: explicit stylelint color related rules (#​16465) (Nick Schonning)
  • 94dc4f1 docs: use Stylelint for HTML files (#​16468) (Nick Schonning)
  • cc6128d docs: enable stylelint declaration-block-no-duplicate-properties (#​16466) (Nick Schonning)
  • d03a8bf docs: Add heading to justification explanation (#​16430) (Maritaria)
  • 8a15968 docs: add Stylelint configuration and cleanup (#​16379) (Nick Schonning)
  • 9b0a469 docs: note commit messages don't support scope (#​16435) (Andy Edwards)
  • 1581405 docs: improve context.getScope() docs (#​16417) (Ben Perlmutter)
  • b797149 docs: update formatters template (#​16454) (Milos Djermanovic)
  • 5ac4de9 docs: fix link to formatters on the Core Concepts page (#​16455) (Vladislav)
  • 33313ef docs: core-concepts: fix link to semi rule (#​16453) (coderaiser)

v8.26.0

Compare Source

Features
  • 4715787 feat: check Object.create() in getter-return (#​16420) (Yuki Hirasawa)
  • 28d1902 feat: no-implicit-globals supports exported block comment (#​16343) (Sosuke Suzuki)
  • e940be7 feat: Use ESLINT_USE_FLAT_CONFIG environment variable for flat config (#​16356) (Tomer Aberbach)
  • dd0c58f feat: Swap out Globby for custom globbing solution. (#​16369) (Nicholas C. Zakas)
Bug Fixes
  • df77409 fix: use baseConfig constructor option in FlatESLint (#​16432) (Milos Djermanovic)
  • 33668ee fix: Ensure that glob patterns are matched correctly. (#​16449) (Nicholas C. Zakas)
  • 740b208 fix: ignore messages without a ruleId in getRulesMetaForResults (#​16409) (Francesco Trotta)
  • 8f9759e fix: --ignore-pattern in flat config mode should be relative to cwd (#​16425) (Milos Djermanovic)
  • 325ad37 fix: make getRulesMetaForResults return a plain object in trivial case (#​16438) (Francesco Trotta)
  • a2810bc fix: Ensure that directories can be unignored. (#​16436) (Nicholas C. Zakas)
  • 35916ad fix: Ensure unignore and reignore work correctly in flat config. (#​16422) (Nicholas C. Zakas)
Documentation
  • 651649b docs: Core concepts page (#​16399) (Ben Perlmutter)
  • 631cf72 docs: note --ignore-path not supported with flat config (#​16434) (Andy Edwards)
  • 1692840 docs: fix syntax in examples for new config files (#​16427) (Milos Djermanovic)
  • d336cfc docs: Document extending plugin with new config (#​16394) (Ben Perlmutter)
Chores

v8.25.0

Compare Source

Features
  • 173e820 feat: Pass --max-warnings value to formatters (#​16348) (Brandon Mills)
  • 6964cb1 feat: remove support for ignore files in FlatESLint (#​16355) (Milos Djermanovic)
  • 1cc4b3a feat: id-length counts graphemes instead of code units (#​16321) (Sosuke Suzuki)
Documentation
Chores

v8.24.0

Compare Source

Features
  • 1729f9e feat: account for sourceType: "commonjs" in the strict rule (#​16308) (Milos Djermanovic)
  • b0d72c9 feat: add rule logical-assignment-operators (#​16102) (fnx)
  • f02bcd9 feat: array-callback-return support findLast and findLastIndex (#​16314) (Sosuke Suzuki)
Documentation
Chores

v8.23.1

Compare Source

Bug Fixes
  • b719893 fix: Upgrade eslintrc to stop redefining plugins (#​16297) (Brandon Mills)
  • 734b54e fix: improve autofix for the prefer-const rule (#​16292) (Nitin Kumar)
  • 6a923ff fix: Ensure that glob patterns are normalized (#​16287) (Nicholas C. Zakas)
  • c6900f8 fix: Ensure globbing doesn't include subdirectories (#​16272) (Nicholas C. Zakas)
Documentation
  • 16cba3f docs: fix mobile double tap issue (#​16293) (Sam Chen)
  • e098b5f docs: keyboard control to search results (#​16222) (Shanmughapriyan S)
  • 1b5b2a7 docs: add Consolas font and prioritize resource loading (#​16225) (Amaresh S M)
  • 1ae8236 docs: copy & use main package version in docs on release (#​16252) (Jugal Thakkar)
  • 279f0af docs: Improve id-denylist documentation (#​16223) (Mert Ciflikli)
Chores

v8.23.0

Compare Source

Features
  • 3e5839e feat: Enable eslint.config.js lookup from CLI (#​16235) (Nicholas C. Zakas)
  • 30b1a2d feat: add allowEmptyCase option to no-fallthrough rule (#​15887) (Amaresh S M)
  • 43f03aa feat: no-warning-comments support comments with decoration (#​16120) (Lachlan Hunt)
Documentation
Chores

v8.22.0

Compare Source

Features
  • 2b97607 feat: Implement caching for FlatESLint (#​16190) (Nicholas C. Zakas)
  • fd5d3d3 feat: add methodsIgnorePattern option to object-shorthand rule (#​16185) (Milos Djermanovic)
Documentation
Chores
  • 10a6e0e chore: remove deploy workflow for playground (#​16186) (Milos Djermanovic)

v8.21.0

Compare Source

Features
  • 7b43ea1 feat: Implement FlatESLint (#​16149) (Nicholas C. Zakas)
  • 92bf49a feat: improve the key width calculation in key-spacing rule (#​16154) (Nitin Kumar)
  • c461542 feat: add new allowLineSeparatedGroups option to the sort-keys rule (#​16138) (Nitin Kumar)
  • 1cdcbca feat: add deprecation warnings for legacy API in RuleTester (#​16063) (Nitin Kumar)
Bug Fixes
  • 0396775 fix: lines-around-comment apply allowBlockStart for switch statements (#​16153) (Nitin Kumar)
Documentation
Chores

v8.20.0

Compare Source

Features
Bug Fixes
  • 30be0ed fix: no-warning-comments rule escapes special RegEx characters in terms (#​16090) (Lachlan Hunt)
  • bfe5e88 fix: ignore spacing before ] and } in comma-spacing (#​16113) (Milos Djermanovic)
Documentation
Chores
  • bbf8df4 chore: Mark autogenerated release blog post as draft (#​16130) (Nicholas C. Zakas)
  • eee4306 chore: update internal lint dependencies (#​16088) (Bryan Mishkin)
  • 9615a42 chore: update formatter examples template to avoid markdown lint error (#​16085) (Milos Djermanovic)
  • 62541ed chore: fix markdown linting error (#​16083) (唯然)

v8.19.0

Compare Source

Features
  • 7023628 feat: add importNames support for patterns in no-restricted-imports (#​16059) (Brandon Scott)
  • 472c368 feat: fix handling of blockless with statements in indent rule (#​16068) (Milos Djermanovic)
Bug Fixes
  • fc81848 fix: throw helpful exception when rule has wrong return type (#​16075) (Bryan Mishkin)
Documentation
  • 3ae0574 docs: Remove duplicate rule descriptions (#​16052) (Amaresh S M)
  • f50cf43 docs: Add base href to each page to fix relative URLs (#​16046) (Nicholas C. Zakas)
  • ae4b449 docs: make logo link clickable on small width screens (#​16058) (Milos Djermanovic)
  • 280f898 docs: use only fenced code blocks (#​16044) (Milos Djermanovic)
  • f5d63b9 docs: add listener only if element exists (#​16045) (Amaresh S M)
  • 8b639cc docs: add missing migrating-to-8.0.0 in the user guide (#​16048) (唯然)
  • b8e68c1 docs: Update release process (#​16036) (Nicholas C. Zakas)
  • 6d0cb11 docs: remove table of contents from markdown text (#​15999) (Nitin Kumar)
Chores

v8.18.0

Compare Source

Features
  • a6273b8 feat: account for rule creation time in performance reports (#​15982) (Nitin Kumar)
Bug Fixes
  • f364d47 fix: Make no-unused-vars treat for..of loops same as for..in loops (#​15868) (Alex Bass)
Documentation
  • 4871047 docs: Update analytics, canonical URL, ads (#​15996) (Nicholas C. Zakas)
  • cddad14 docs: Add correct/incorrect containers (#​15998) (Nicholas C. Zakas)
  • b04bc6f docs: Add rules meta info to rule pages (#​15902) (Nicholas C. Zakas)
  • 1324f10 docs: unify the wording referring to optional exception (#​15893) (Abdelrahman Elkady)
  • ad54d02 docs: add missing trailing slash to some internal links (#​15991) (Milos Djermanovic)
  • df7768e docs: Switch to version-relative URLs (#​15978) (Nicholas C. Zakas)
  • 21d6479 docs: change some absolute links to relative (#​15970) (Milos Djermanovic)
  • f31216a docs: Update README team and sponsors (ESLint Jenkins)
Build Related
  • ed49f15 build: remove unwanted parallel and image-min for dev server (#​15986) (Strek)
Chores
  • f6e2e63 chore: fix 'replaced by' rule list (#​16007) (Milos Djermanovic)
  • d94dc84 chore: remove unused deprecation warnings (#​15994) (Francesco Trotta)
  • cdcf11e chore: fix versions link (#​15995) (Milos Djermanovic)
  • d2a8715 chore: add trailing slash to pathPrefix (#​15993) (Milos Djermanovic)
  • 58a1bf0 chore: tweak URL rewriting for local previews (#​15992) (Milos Djermanovic)
  • 80404d2 chore: remove docs deploy workflow (#​15984) (Nicholas C. Zakas)
  • 71bc750 chore: Set permissions for GitHub actions (#​15971) (Naveen)
  • 90ff647 chore: avoid generating subdirectories for each page on new docs site (#​15967) (Milos Djermanovic)

v8.17.0

Compare Source

Features
  • 55319e1 feat: fix indent bug with semicolon-first style (#​15951) (Milos Djermanovic)
  • f6d7920 feat: add allowNamedExports option to no-use-before-define (#​15953) (Milos Djermanovic)
Bug Fixes
Documentation
Chores

v8.16.0

Compare Source

Features
  • cab0c22 feat: add Unicode flag suggestion in no-misleading-character-class (#​15867) (Milos Djermanovic)
  • 38ae956 feat: check Unicode code point escapes in no-control-regex (#​15862) (Milos Djermanovic)
  • ee69cd3 feat: Update global variables (#​15871) (Sébastien Règne)
Bug Fixes
  • 3f09aab fix: function-paren-newline crash on "new new Foo();" (#​15850) (coderaiser)
Documentation
  • 050d5f4 docs: Static further reading links (#​15890) (Nicholas C. Zakas)
  • 36287c0 docs: fix absolute paths in related rules shortcode to work from /docs (#​15892) (Milos Djermanovic)
  • 90b6990 docs: fix absolute links in rule macro to work from /docs (#​15891) (Milos Djermanovic)
  • f437249 docs: Adjust docs site path prefix (#​15889) (Nicholas C. Zakas)
  • 6e16025 docs: update 'Related Rules' and 'Further Reading' in remaining rules (#​15884) (Milos Djermanovic)
  • 1d39f69 docs: remove confusing examples for no-mixed-operators (#​15875) (Milos Djermanovic)
  • 3071d76 docs: Fix some grammar issues (#​15837) (byodian)
Chores

v8.15.0

Compare Source

Features
  • ab37d3b feat: add enforceInClassFields option to no-underscore-dangle (#​15818) (Roberto Cestari)
Bug Fixes
  • 8bf9440 fix: "use strict" should not trigger strict mode in ES3 (#​15846) (Milos Djermanovic)
Documentation
  • 28116cc docs: update AST node names link in no-restricted-syntax (#​15843) (Milos Djermanovic)
  • 272965f docs: fix h1 heading on formatters page (#​15834) (Milos Djermanovic)
  • a798166 docs: update example for running individual rule tests (#​15833) (Milos Djermanovic)
  • 57e732b docs: mark SourceCode#getJSDocComment deprecated in working-with-rules (#​15829) (Milos Djermanovic)
  • 9a90abf docs: update docs directory in working-with-rules (#​15830) (Milos Djermanovic)
  • 810adda docs: add more examples for prefer-object-spread (#​15831) (coderaiser)
  • 06b1edb docs: clarify no-control-regex rule (#​15808) (Milos Djermanovic)
  • 9ecd42f docs: Fixed typo in code comment (#​15812) (Addison G)
  • de992b7 docs: remove links to 2fa document (#​15804) (Milos Djermanovic)
  • 5222659 docs: fix 'Related Rules' heading in no-constant-binary-expression (#​15799) (Milos Djermanovic)
  • e70ae81 docs: Update README team and sponsors (ESLint Jenkins)
Chores

v8.14.0

Compare Source

Features
  • ab6363d feat: Add rule no-constant-binary-expression (#​15296) (Jordan Eldredge)
Bug Fixes
  • 35fa1dd fix: allow project paths to have URL-encoded characters (#​15795) (Milos Djermanovic)
  • 413f1d5 fix: update astUtils.isDirectiveComment with globals and exported (#​15775) (Milos Djermanovic)
Build Related
Chores
  • 735458c chore: add static frontmatter to no-constant-binary-expression docs (#​15798) (Milos Djermanovic)
  • db28f2c chore: Add static frontmatter to docs (#​15782) (Nicholas C. Zakas)
  • 3bca59e chore: markdownlint autofix on commit (#​15783) (Nicholas C. Zakas)

v8.13.0

Compare Source

Features
  • 274acbd feat: fix no-eval logic for this in arrow functions (#​15755) (Milos Djermanovic)
Bug Fixes
  • 97b57ae fix: invalid operator in operator-assignment messages (#​15759) (Milos Djermanovic)
Documentation
  • c32482e docs: Typo in space-infix-ops docs (#​15754) (kmin-jeong)
  • f2c2d35 docs: disambiguate types FormatterFunction and LoadedFormatter (#​15727) (Francesco Trotta)
Chores
  • bb4c0d5 chore: Refactor docs to work with docs.eslint.org (#​15744) (Nicholas C. Zakas)
  • d36f12f chore: remove lib/init from eslint config (#​15748) (Milos Djermanovic)
  • a59a4e6 chore: replace trimLeft/trimRight with trimStart/trimEnd (#​15750) (Milos Djermanovic)

v8.12.0

Compare Source

Features
  • 685a67a feat: fix logic for top-level this in no-invalid-this and no-eval (#​15712) (Milos Djermanovic)
Chores
  • 18f5e05 chore: padding-line-between-statements remove useless additionalItems (#​15706) (Martin Sadovy)

v8.11.0

Compare Source

Features
  • 800bd25 feat: add destructuredArrayIgnorePattern option in no-unused-vars (#​15649) (Nitin Kumar)
  • 8933fe7 feat: Catch undefined and Boolean() in no-constant-condition (#​15613) (Jordan Eldredge)
  • f90fd9d feat: Add ESLint favicon to the HTML report document (#​15671) (Mahdi Hosseinzadeh)
  • 57b8a57 feat: valid-typeof always ban undefined (#​15635) (Zzzen)
Bug Fixes
  • 6814922 fix: escaping for square brackets in ignore patterns (#​15666) (Milos Djermanovic)
  • c178ce7 fix: extend the autofix range in comma-dangle to ensure the last element (#​15669) (Milos Djermanovic)
Documentation
  • c481cec docs: add fast-eslint-8 to atom integrations (userguide) (#​15695) (db developer)
  • d2255db docs: Add clarification about eslint-enable (#​15680) (dosisod)
  • 8b9433c docs: add object pattern to first section of computed-property-spacing (#​15679) (Milos Djermanovic)
  • de800c3 docs: link to minimatch docs added. (#​15688) (Gaurav Tewari)
  • 8f675b1 docs: sort-imports add single named import example (#​15675) (Arye Eidelman)
Chores

v8.10.0

Compare Source

Features
  • 6e2c325 feat: Add ignoreOnInitialization option to no-shadow rule (#​14963) (Soufiane Boutahlil)
  • 115cae5 feat: --debug prints time it takes to parse a file (#​15609) (Bartek Iwańczuk)
  • 345e70d feat: Add onlyOneSimpleParam option to no-confusing-arrow rule (#​15566) (Gautam Arora)
Bug Fixes
  • cdc5802 fix: Avoid __dirname for built-in configs (#​15616) (DoZerg)
  • ee7c5d1 fix: false positive in camelcase with combined properties (#​15581) (Nitin Kumar)
Documentation
Chores

v8.9.0

Compare Source

Features
  • 68f64a9 feat: update eslint-scope to ignore "use strict" directives in ES3 (#​15595) (Milos Djermanovic)
  • db57639 feat: add es2016, es2018, es2019, and es2022 environments (#​15587) (Milos Djermanovic)
  • 2dc38aa feat: fix bug with arrow function return types in function-paren-newline (#​15541) (Milos Djermanovic)
  • 6f940c3 feat: Implement FlatRuleTester (#​15519) (Nicholas C. Zakas)
Documentation
  • 570a036 docs: add one-var example with for-loop initializer (#​15596) (Milos Djermanovic)
  • 417191d docs: Remove the $ prefix in terminal commands (#​15565) (Andreas Lewis)
  • 389ff34 docs: add missing Variable#scope property in the scope manager docs (#​15571) (Milos Djermanovic)
  • f63795d docs: no-eval replace dead link with working one (#​15568) (rasenplanscher)
  • 0383591 docs: Remove old Markdown issue template (#​15556) (Brandon Mills)
  • a8dd5a2 docs: add 'when not to use it' section in no-duplicate-case docs (#​15563) (Milos Djermanovic)
  • 1ad439e docs: add missed verb in docs (#​15550) (Jeff Mosawy)
Chores
  • 586d45c chore: Upgrade to espree@9.3.1 (#​15600) (Milos Djermanovic)
  • 623e1e2 chore: Upgrade to eslint-visitor-keys@3.3.0 (#​15599) (Milos Djermanovic)
  • 355b23d chore: fix outdated link to Code of Conduct in MR template (#​15578) (Rich Trott)
  • b10fef2 ci: use Node 16 for browser test (#​15569) (Milos Djermanovic)
  • 92f89fb chore: suggest demo link in bug report template (#​15557) (Brandon Mills)

v8.8.0

Compare Source

Features
Documentation

v8.7.0

Compare Source

Features
  • 19ad061 feat: no-restricted-imports support casing (#​15439) (gfyoung)
  • 564ecdb feat: Support arbitrary module namespace names in no-restricted-imports (#​15491) (Milos Djermanovic)
  • 968a02a feat: Support arbitrary module namespace names in no-useless-rename (#​15493) (Milos Djermanovic)
  • 0d2b9a6 feat: move eslint --init to @​eslint/create-config (#​15150) (唯然)
  • 127f524 feat: false negative with property option in id-match (#​15474) (Nitin Kumar)
  • 359b2c1 feat: Support arbitrary module namespace names in the camelcase rule (#​15490) (Milos Djermanovic)
  • 3549571 feat: Support arbitrary module namespace names in the quotes rule (#​15479) (Milos Djermanovic)
  • 5563c45 feat: Support arbitrary module namespace names in keyword-spacing (#​15481) (Milos Djermanovic)
  • fd3683f feat: Support arbitrary module namespace names in no-restricted-exports (#​15478) (Milos Djermanovic)
Bug Fixes
  • a8db9a5 fix: no-invalid-this false positive in class field initializer (#​15495) (Milos Djermanovic)
  • 02d6426 fix: Correctly consume RuleTester statics (#​15507) (Brad Zacher)
  • db15802 fix: Add property fatalErrorCount to ignored file results (#​15520) (Francesco Trotta)
  • 03ac8cf fix: Prevent false positives with no-constant-condition (#​15486) (Jordan Eldredge)
Documentation
  • f50f849 docs: Update CLI docs to prefer local install (#​15513) (Nicholas C. Zakas)
  • 0469eb1 docs: Update shell code fences for new website (#​15522) (Olga)
Chores

v8.6.0

Compare Source

Features
  • 6802a54 feat: handle logical assignment in no-self-assign (#​14152) (Zzzen)
  • 3b38018 feat: allow to define eslint-disable-next-line in multiple lines (#​15436) (Nitin Kumar)
  • 9d6fe5a feat: false negative with onlyDeclarations + properties in id-match (#​15431) (Nitin Kumar)
Documentation
Chores
  • 3a384fc chore: Upgrade espree to 9.3.0 (#​15473) (Brandon Mills)
  • 1443cc2 chore: Update blogpost.md.ejs (#​15468) (Nicholas C. Zakas)
  • 28e907a refactor: remove unused parameter in linter.js (#​15451) (Milos Djermanovic)
  • eaa08d3 test: add tests for allowReserved parser option with flat config (#​15450) (Milos Djermanovic)

v8.5.0

Compare Source

Features
Bug Fixes
  • 7d832d4 fix: improve prefer-template fixer (#​15230) (Nitin Kumar)
  • 981fb48 fix: do not report global references in id-match rule (#​15420) (Nitin Kumar)
  • f13d4a6 fix: improve autofix of prefer-object-has-own (#​15419) (Nitin Kumar)
  • f4559a0 fix: add helpful message when test case has non-string code/name (#​15425) (Bryan Mishkin)
Documentation
  • 314c84c docs: add an incorrect code example in for-direction (#​15434) (Holger Jeromin)
  • 3928175 docs: add destructuring examples for computed-property-spacing (#​15423) (Nitin Kumar)
  • a53e59e docs: add more examples for array-element-newline rule (#​15427) (Nitin Kumar)
  • 74cf0a0 docs: update CLA info (#​15370) (Nitin Kumar)
  • e84195e docs: fix heading level for an option in class-methods-use-this rule (#​15399) (Takuya Fukuju)
Chores
  • 225f211 test: add destructuring test cases for computed-property-spacing (#​15424) (Nitin Kumar)
  • f2c7ba6 ci: use node v16 for macOS and windows jobs (#​15418) (Nitin Kumar)

v8.4.1

Compare Source

Bug Fixes
  • 234e3d9 fix: revert changes to reported locations in max-lines-per-function (#​15397) (Milos Djermanovic)
Documentation
  • fa4d483 docs: fix typo in example for sort-keys rule (#​15393) (Nitin Kumar)

v8.4.0

Compare Source

Features
Bug Fixes
  • 4940cc5 fix: mark --rulesdir option as deprecated in CLI docs (#​15310) (Kevin Partington)
Documentation
  • 54deec5 docs: update integrations.md (#​15380) (Vlad Sholokhov)
  • fa0423a docs: fix typo in MR template (#​15365) (Nitin Kumar)
  • e233920 docs: enable a few more markdownlint rules and fix violations (#​15368) (Bryan Mishkin)
  • 632176d docs: Dedent needlessly indented example in getter-return docs (#​15363) (Jordan Eldredge)
  • 4497e88 docs: Update release notes blog post template (#​15285) (Nicholas C. Zakas)
Chores

v8.3.0

Compare Source

Features
  • 60b0a29 feat: add allowProperties option to require-atomic-updates (#​15238) (Milos Djermanovic)
  • 79278a1 feat: update no-use-before-define for class static blocks (#​15312) (Milos Djermanovic)
  • ddd01dc feat: update no-redeclare for class static blocks (#​15313) (Milos Djermanovic)
  • de69cec feat: update no-inner-declarations for class static blocks (#​15290) (Milos Djermanovic)
  • e2fe7ef feat: support for private-in syntax (fixes #​14811) (#​15060) (Yosuke Ota)
  • 34bc8d7 feat: Update espree and eslint-scope (#​15338) (Brandon Mills)
  • b171cd7 feat: update max-depth for class static blocks (#​15316) (Milos Djermanovic)
  • 6487df3 feat: update padded-blocks for class static blocks (#​15333) (Milos Djermanovic)
  • 194f36d feat: update the complexity rule for class static blocks (#​15328) (Milos Djermanovic)
  • 3530337 feat: update the indent rule for class static blocks (#​15324) (Milos Djermanovic)
  • f03cd14 feat: update lines-around-comment for class static blocks (#​15323) (Milos Djermanovic)
  • 5c64747 feat: update brace-style for class static blocks (#​15322) (Milos Djermanovic)
  • df2f1cc feat: update max-statements for class static blocks (#​15315) (Milos Djermanovic)
  • fd5a0b8 feat: update prefer-const for class static blocks (#​15325) (Milos Djermanovic)
  • b3669fd feat: code path analysis for class static blocks (#​15282) (Milos Djermanovic)
  • 15c1397 feat: update eslint-scope for class static blocks (#​15321) (Milos Djermanovic)
  • 1a1bb4b feat: update one-var for class static blocks (#​15317) (Milos Djermanovic)
  • 9b666e0 feat: update padding-line-between-statements for class static blocks (#​15318) (Milos Djermanovic)
  • d3a267f feat: update class-methods-use-this for class static blocks (#​15298) (Milos Djermanovic)
  • cdaa541 feat: update no-lone-blocks for class static blocks (#​15295) (Milos Djermanovic)
  • 8611538 feat: update block-spacing for class static blocks (#​15297) (Milos Djermanovic)
  • 7b56844 feat: update keyword-spacing for class static blocks (#​15289) (Milos Djermanovic)
  • ea18711 feat: update no-extra-semi for class static blocks (#​15287) (Milos Djermanovic)
  • 0f0971f feat: update semi rule for class static blocks (#​15286) (Milos Djermanovic)
  • abe740c feat: add examples for block-scoped-var with class static blocks (#​15302) (Milos Djermanovic)
  • 0338fd2 feat: Normalize ecmaVersion to eslint-scope when using custom parser (#​15268) (Yosuke Ota)
Bug Fixes
  • 8aa7645 fix: update vars-on-top for class static blocks (#​15306) (Milos Djermanovic)
  • 479a4cb fix: update semi-style for class static blocks (#​15309) (Milos Djermanovic)
  • 6d1c666 fix: update no-invalid-this and no-eval for class static blocks (#​15300) (Milos Djermanovic)
Documentation
  • 6b85426 docs: Expand --debug option description in the CLI documentation (#​15308) (darkred)
  • 3ae5258 docs: the strict rule does not apply to class static blocks (#​15314) (Milos Djermanovic)
  • 9309841 docs: Remove inconsistent colon in pull request docs (#​15303) (Jordan Eldredge)
  • da238cc docs: remove deprecation note from lines-around-comment (#​15293) (Milos Djermanovic)
  • 1055f16 docs: no-unused-expressions - class static blocks don't have directives (#​15283) (Milos Djermanovic)
  • 4c55216 docs: Add variables option to no-use-before-define (#​15276) (Mathias Rasmussen)
Chores
  • edd8d24 chore: upgrade eslint-visitor-keys for class static blocks (#​15277) (Milos Djermanovic)

v8.2.0

Compare Source

Features
  • c9fefd2 feat: report class evaluation TDZ errors in no-use-before-define (#​15134) (Milos Djermanovic)
Documentation
  • c415c04 docs: Use string rule severity in CLI examples (#​15253) (Kevin Partington)
  • 12b627d docs: fix typo in working-with-rules.md (#​15233) (Nitin Kumar)
  • a86ffc0 docs: fix broken anchor in configuration files (#​15223) (Pierre Berger)
  • ee8af5f docs: Link to unit tests from rule documentation (#​15207) (Brandon Mills)
  • 1c0ca3c docs: add ci and perf tags for commit (#​15215) (Nitin Kumar)
Build Related
  • 796587a build: upgrade eslint-release to v3.2.0 to support conventional commits (#​15246) (Milos Djermanovic)
Chores

v8.1.0

Compare Source

v8.0.1

Compare Source

v8.0.0

Compare Source

prettier/eslint-config-prettier (eslint-config-prettier)

v9.1.0

Compare Source

  • Added: [unicorn/template-indent], (as a [special rule][unicorn/template-indent-special]). Thanks to Gürgün Dayıoğlu (@​gurgunday)!
  • Changed: All the [formatting rules that were deprecated in ESLint 8.53.0][deprecated-8.53.0] are now excluded if you set the ESLINT_CONFIG_PRETTIER_NO_DEPRECATED environment variable.

v9.0.0

Compare Source

  • Added: The CLI helper tool now works with eslint.config.js (flat config). Just like ESLint itself, the CLI tool automatically first tries eslint.config.js and then eslintrc, and you can force which one to use by setting the [ESLINT_USE_FLAT_CONFIG] environment variable. Note that the config of eslint-config-prettier has always been compatible with eslint.config.js (flat config) – it was just the CLI tool that needed updating. On top of that, the docs have been updated to mention how to use both eslint.config.js (flat config) and eslintrc, and the tests now test both config systems.
  • Changed: [unicode-bom] is no longer turned off. Prettier preserves the BOM if you have one, and does not add one if missing. It was wrong of eslint-config-prettier to disable that rule. If you get ESLint errors after upgrading, either add "unicode-bom": "off" to your config to disable it again, or run ESLint with --fix to fix all files according to the rule (add or remove BOM). Thanks to Nicolas Stepien (@​nstepien)!

v8.10.0

Compare Source

  • Added: [max-statements-per-line]. Thanks to @​Zamiell!

v8.9.0

Compare Source

  • Added: [vue/array-element-newline]. Thanks to @​xcatliu!

v8.8.0

Compare Source

v8.7.0

Compare Source

v8.6.0

Compare Source

  • Added: [vue/multiline-ternary]. Thanks to @​xcatliu!
NullVoxPopuli/eslint-plugin-decorator-position (eslint-plugin-decorator-position)

v5.0.2

Compare Source

Patch Changes
  • #​587 9629734 Thanks @​NullVoxPopuli! - Internal: switch to changeset for automated release. This gives more control over the release process, and alleviates contributors from needing to know of any conventions about commits or anything like that.
Bug Fixes

v5.0.1

Compare Source

v5.0.0

Compare Source

Features
  • support eslint@8 (4193fac)
  • upgrade: adding eslint v7 ci testing (fef593c)
  • upgrade: adding exports of private eslint api on first rule run (c8186e3)
  • upgrade: adding exports of private eslint api on first rule run (582543e)
  • upgrade: adding postinstall script to exports private eslint api (7ad2761)
  • upgrade: adding support for eslint v6 (d549fe1)
  • upgrade: adding support for eslint v7 (afdc876)
  • upgrade: drop automatic detection of printWidth (deb4c07)
  • upgrade: eslint@8 (e00f402)
  • upgrade: fix ci (6f382ca)
  • upgrade: fix lint (882599d)
  • upgrade: fix lint (49603f9)
  • upgrade: fix smoke tests (359dec5)
  • upgrade: fix smoke tests (1648e88)
  • upgrade: rolling back formatting and package version (01b0087)
  • upgrade: upgrade readme (9452f5e)
BREAKING CHANGES
    • node 12 is no longer supported, support for node 18 was added.
  • eslint8 will not support the prettier/prettier rule. reading the config from prettier/prettier is not supported by eslint. It's possible it could maybe be added later through hacks (currently in place) / private api usage, but eslint8 does not give access to the config for a file.

4.0.1 (2021-09-29)

Bug Fixes
ember-cli/eslint-plugin-ember (eslint-plugin-ember)

v12.1.1

Compare Source

🐛 Bug Fix
Committers: 1

v12.1.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
📝 Documentation
Committers: 2

v12.0.2

Compare Source

🐛 Bug Fix
🏠 Internal
Committers: 2

v12.0.1

Compare Source

🐛 Bug Fix
  • #​2071 Fix nested classes case in no-ember-super-in-es-classes (@​CvX)
📝 Documentation
🏠 Internal
Committers: 4

v12.0.0

Compare Source

💥 Breaking Change
🚀 Enhancement
🐛 Bug Fix
📝 Documentation
🏠 Internal
Committers: 4

v11.12.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
  • #​2027 Allow ember-data type registry imports in use-ember-data-rfc-395-imports rule (@​wagenet)
Committers: 2

v11.11.1

Compare Source

🐛 Bug Fix
Committers: 1

v11.11.0

Compare Source

🚀 Enhancement
Committers: 1

v11.10.0

Compare Source

🚀 Enhancement
Committers: 1

v11.9.0

Compare Source

🚀 Enhancement
🏠 Internal
  • #​1898 [no-empty-glimmer-component-classes] Import the template tag value instead of hardcode (@​chrisrng)
Committers: 2

v11.8.0

Compare Source

🚀 Enhancement
Committers: 1

v11.7.2

Compare Source

🐛 Bug Fix
  • #​1876 Allow generic type in TypeScript class in no-empty-glimmer-component-classes rule (@​chrisrng)
Committers: 7

v11.7.1

Compare Source

🐛 Bug Fix
  • #​1870 Fix crash with default computed property import in no-unused-services rule (@​bmish)
  • #​1869 Avoid crash with inject decorator in no-restricted-service-injections rule (@​bmish)
  • #​1871 Avoid further decorator detection crashes in no-restricted-service-injections rule (@​bmish)
Committers: 1

v11.7.0

Compare Source

🚀 Enhancement
  • #​1865 Support autofix of numerical property access and ternary expressions in no-get rule (@​evanjehl)
🐛 Bug Fix
  • #​1866 Account for class only having template tag in no-empty-glimmer-component-classes rule (@​chrisrng)
Committers: 2

v11.6.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
Committers: 1

v11.5.2

Compare Source

🐛 Bug Fix
  • #​1841 Fix a bug in autofixer and autofix additional cases with firstObject and lastObjectinno-get` rule (@​ArtixZ)
Committers: 1

v11.5.1

Compare Source

🐛 Bug Fix
Committers: 1

v11.5.0

Compare Source

🚀 Enhancement
Committers: 1

v11.4.9

Compare Source

🐛 Bug Fix
Committers: 1

v11.4.8

Compare Source

🐛 Bug Fix
  • #​1801 Fix issue with token mapping for lint errors on template tokens in gjs/gts files by displaying eslint error on the opening <template> tag (@​hmajoros)
  • #​1788 Fix no-array-prototype extensions undefined error from trying to access callee from non-CallExpression (@​canrozanes)
  • #​1795 refactor glimmer post-process, better handle template tag (@​hmajoros)
Committers: 2

v11.4.7

Compare Source

🐛 Bug Fix
  • #​1793 [gjs] Fix bug with regex issues when parsing GLIMMER_TEMPLATE (@​hmajoros)
  • #​1792 [gjs] Return original diagnostic if transformed line matches original line in glimmer preprocessor (@​hmajoros)
Committers: 1

v11.4.6

Compare Source

🐛 Bug Fix
Committers: 1

v11.4.5

Compare Source

🐛 Bug Fix
  • #​1748 Ignore Ember Data store service calls in no-array-prototype-extensions rule (@​bmish)
  • #​1761 Fix false positive with Promise.any() in no-array-prototype-extensions rule (@​bmish)
Committers: 1

v11.4.4

Compare Source

🐛 Bug Fix
Committers: 1

v11.4.3

Compare Source

🐛 Bug Fix
  • #​1735 Fix crash from attempting to access non-existent dependent key in no-tracked-property-from-args rule (@​joancc)
Committers: 1

v11.4.2

Compare Source

🐛 Bug Fix
🏠 Internal
Committers: 2

v11.4.1

Compare Source

🐛 Bug Fix
  • #​1722 Fix some crashes including with legacy classes in no-deprecated-router-transition-methods and no-implicit-injections rules (@​rtablada)
Committers: 1

v11.4.0

Compare Source

🚀 Enhancement
🏠 Internal
Committers: 2

v11.3.1

Compare Source

🐛 Bug Fix
🏠 Internal
Committers: 2

v11.3.0

Compare Source

🚀 Enhancement
📝 Documentation
  • #​1693 Mention ESLint overrides for glob patterns in no-restricted-service-injections rule doc (@​bmish)
Committers: 3

v11.2.1

Compare Source

🐛 Bug Fix
  • #​1687 Don't lose optional chaining with objectAt in autofix for no-array-prototype-extensions rule (@​52052100)
🏠 Internal
Committers: 2

v11.2.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
📝 Documentation
Committers: 3

v11.1.0

Compare Source

🚀 Enhancement
🐛 Bug Fix
  • #​1635 Simpler autofix for sortBy with single arg for no-array-prototype-extension rule (@​bmish)
📝 Documentation
Committers: 2

v11.0.6

Compare Source

🐛 Bug Fix
📝 Documentation
Committers: 2

v11.0.5

Compare Source

🐛 Bug Fix
  • #​1552 Fix false positive with reject() on instance of RSVP.defer() in no-array-prototype-extensions rule (@​bmish)
  • #​1547 Improve false positive detection, especially for variable names containing Set/Map, in no-array-prototype-extensions rule (@​bmish)
Committers: 1

v11.0.4

Compare Source

🐛 Bug Fix
  • #​1546 Fix false positives with RSVP.Promise.reject() in no-array-prototype-extensions rule (@​bmish)
📝 Documentation
Committers: 1

v11.0.3

Compare Source

🐛 Bug Fix
  • #​1544 Fix false positive with Set/Map-initialized private class properties in no-array-prototype-extensions rule (@​bmish)
  • #​1543 Fix false positive with Set/Map-initialized public class properties in no-array-prototype-extensions rule (@​bmish)
Committers: 1

v11.0.2

Compare Source

🐛 Bug Fix
  • #​1538 Fix false positive with simple Set/Map-initialized objects in no-array-prototype-extensions rule (@​bmish)
  • #​1539 Fix false positive with RSVP.reject() in no-array-prototype-extensions (@​gilest)
Committers: 2

v11.0.1

Compare Source

🐛 Bug Fix
  • #​1536 Ignore some commonly-known non-array functions/objects to reduce false positives in no-array-prototype-extensions rule (@​bmish)
Committers: 1

v11.0.0

Compare Source

💥 Breaking Change
🚀 Enhancement
  • #​1529 Better support native class property definitions (and update to ESLint v8 internally) (@​bmish)
📝 Documentation
🏠 Internal
Committers: 3
azeemba/eslint-plugin-json (eslint-plugin-json)

v4.0.0

Compare Source

prettier/eslint-plugin-prettier (eslint-plugin-prettier)

v5.1.3

Compare Source

Patch Changes

v5.1.2

Compare Source

Patch Changes
  • #​623 8210e44 Thanks @​BPScott! - Add exports mapping to package.json, to allow import eslintPluginRecommended from 'eslint-plugin-prettier/recommended' to work as expected.

    Strictly speaking this is a breaking change as it removes the ability for people to import from "eslint-plugin-prettier/eslint-plugin-prettier.js" and "eslint-plugin-prettier/recommended.js" but the former was never recommended in the first place and the latter has only been available for a few days.

  • #​621 2b09e7f Thanks @​JounQin! - feat: support parsing markdown via eslint-mdx natively

    What means the following is unnecessary anymore when using with eslint-mdx/eslint-plugin-mdx!

    [
      {
        files: ["**/*.md"],
        rules: { "prettier/prettier": ["error", { parser: "markdown" }] },
      },
      {
        files: ["**/*.mdx"],
        rules: { "prettier/prettier": ["error", { parser: "mdx" }] },
      },
    ]

v5.1.1

Compare Source

Patch Changes

v5.1.0

Compare Source

Minor Changes
  • #​616 3856413 Thanks @​BPScott! - Add recommended config for the flat config format.

    If you are using flat config, import the recommended config from eslint-plugin-prettier/recommended. Like the legacy format recommended config, this automatically includes the contents of eslint-config-prettier.

    // eslint.config.js
    const eslintPluginPrettierRecommended = require("eslint-plugin-prettier/recommended");
    
    module.exports = [
      // Any other config imports go at the top
      eslintPluginPrettierRecommended,
    ];
Patch Changes
  • #​614 5270877 Thanks @​BPScott! - Add meta block to plugin. This improves debugging and cachebusting when using the new flat config

  • #​603 a63a570 Thanks @​filiptammergard! - fix: specify eslint-config-prettier as peer dependency

    It's already added to peerDependenciesMeta as optional, which means it should also be specified in peerDependencies.

v5.0.1

Compare Source

Patch Changes

v5.0.0

Compare Source

Major Changes
Minor Changes
Patch Changes
platinumazure/eslint-plugin-qunit (eslint-plugin-qunit)

v8.1.1

Compare Source

Bug Fixes
  • remove disallowed description property from config (#​476) (28804af)

v8.1.0

Compare Source

Features
Documentation
  • auto-generate configs list and some rule options lists with eslint-doc-generator (#​416) (6fa0bdd)
Chores

v8.0.1

Compare Source

Bug Fixes
Documentation
Chores

v8.0.0

Compare Source

BREAKING CHANGES
  • Require eslint@^8.38, drop support for eslint@7.x (#​376)
  • change require-expect rule default option to never-except-zero (#​375)
  • strictly define node API (#​374)
  • drop support for Node 12, 14, 17, 19 (#​373)
Features
Documentation
  • Correct GitHub access token variable name for releases (#​277) (7a10cb4)
Chores

v7.3.4

Compare Source

Chore
Docs
  • Add missing changelog entry (3369a75)
Fix
  • false positives with arrow functions in no-hooks-from-ancestor-modules rule (#​275) (abcb81e), closes #​275
Upgrade
7.3.3
7.3.2
  • docs: add eslint-doc-generator (#​243) (Bryan Mishkin)
  • Fix: Handle arrow function test with except-simple configuration of the require-expect rule (#​239) (Bryan Mishkin)
7.3.1
  • Upgrade: Outdated devDependencies (Kevin Partington)
  • Build: Add caching to ESLint (#​225) (Darius Dzien)
  • Fix: incorrectly-used messageId placeholders (#​236) (Bryan Mishkin)
  • Upgrade: Bump shell-quote from 1.7.2 to 1.7.3 (#​235) (dependabot[bot])
7.3.0
  • Docs: Update contributors list (Kevin Partington)
  • Upgrade: devDependencies (Kevin Partington)
  • Fix: no-compare-relation-boolean crash when passing <2 args (#​234) (Derek Wickern)
  • Build: Add Node 18 to CI (#​232) (Darius Dzien)
  • Fix: Allow for third parameter in no-hooks-from-ancestor-modules (#​231) (Timo Tijhof)
  • Upgrade: Bump node-fetch from 2.6.1 to 2.6.7 (#​229) (dependabot[bot])
  • Upgrade: Bump async from 3.2.0 to 3.2.3 (#​228) (dependabot[bot])
  • Upgrade: Bump minimist from 1.2.5 to 1.2.6 (#​227) (dependabot[bot])
  • Upgrade: Bump shelljs from 0.8.4 to 0.8.5 (#​224) (dependabot[bot])
  • Docs: fix markdown links (#​223) (Bryan Mishkin)
7.2.0
  • Upgrade: devDependencies (Kevin Partington)
  • Update: isQunitMethod utils function detects test.only/test.skip (#​221) (Baptiste Doucerain)
7.1.0
  • Chore: Add jsdoc type annotation to rules (#​219) (Bryan Mishkin)
  • Update: handle adding TypeScript type to this parameter in test hook in many rules (#​217) (Bryan Mishkin)
  • Build: Move wrap/unwrap helpers to testUtils (#​216) (Ed S)
  • Fix: Check for arrow functions in utils.getAssertContextNameForTest (#​214) (Ed S)
  • Docs: ensure rule docs mention all rule options (#​212) (Bryan Mishkin)
7.0.0
  • Chore: Add npm upgrade step to CI workflow (Kevin Partington)
  • Upgrade: Most devDependencies (Kevin Partington)
  • Upgrade: update eslint-plugin-eslint-plugin to v4 (#​211) (Bryan Mishkin)
  • Upgrade: eslint-plugin-unicorn to v37 (#​210) (Bryan Mishkin)
  • Update: support ESLint v8 (#​209) (Bryan Mishkin)
  • Chore: Add eslint-plugin keyword in package.json (#​204) (Bryan Mishkin)
7.0.0-rc.0
  • Breaking: Remove fixToNotOk and checkBooleanAssertions rule options (#​197) (Bryan Mishkin)
  • Breaking: Add no-assert-equal to recommended config (#​194) (Bryan Mishkin)
  • Breaking: Drop support for old Node and ESLint versions (#​189) (Kevin Partington)
  • Breaking: Remove no-arrow-tests from recommended config (#​200) (Kevin Partington)
  • Docs: switch from github emojis to standard emojis (#​198) (Bryan Mishkin)
  • Docs: fix typos (#​196) (Bryan Mishkin)
6.2.0
  • Chore: enable all eslint-plugin-eslint-plugin rules (#​187) (Bryan Mishkin)
  • Docs: Indicate which rules provide automated suggestions in README rules table (#​188) (Bryan Mishkin)
  • Update: Use meta.hasSuggestions for suggestable rules to prepare for ESLint 8 (#​186) (Bryan Mishkin)
  • Docs: split emojis into separate columns in README rules table (#​185) (Bryan Mishkin)
6.1.1
  • Upgrade: devDependencies (Kevin Partington)
  • Fix: fix global equal() check in no-assert-equal rule (#​183) (Bryan Mishkin)
  • Chore: add eslint-plugin-mocha (#​184) (Bryan Mishkin)
6.1.0
  • Update: add checkBooleanAssertions option to no-ok-equality rule (#​173) (Bryan Mishkin)
  • Chore: Add eslint-plugin-unicorn (#​180) (Bryan Mishkin)
  • Update: add checkBooleanAssertions option to no-negated-ok rule (#​174) (Bryan Mishkin)
  • Fix: handle typed this callback argument in no-hooks-from-ancestor-modules rule (#​162) (Bryan Mishkin)
  • Build: start testing under Node 16 (#​181) (Bryan Mishkin)
  • Update: Ensure boolean assertions are not missed by several rules (#​172) (Bryan Mishkin)
  • Chore: add eslint-plugin-eslint-comments (#​178) (Bryan Mishkin)
  • Docs: enable/autofix indent rule in markdown JS code samples (#​177) (Bryan Mishkin)
  • Docs: Add eslint-plugin-markdown for JavaScript code samples in documentation (#​176) (Bryan Mishkin)
  • Upgrade: Bump y18n from 4.0.0 to 4.0.1 (#​163) (dependabot[bot])
  • Update: add automatic suggestions for no-assert-equal rule (#​165) (Bryan Mishkin)
  • Fix: only flag callee node instead of entire call expression in no-hooks-from-ancestor-modules rule (#​160) (Bryan Mishkin)
  • Docs: fix typo of deepEqual assert name in require-object-in-propequal rule doc (#​166) (Bryan Mishkin)
6.0.0
  • Upgrade: chai, mocha, eslint, markdownlint to latest (Kevin Partington)
  • Chore: Uncomment ES2020 tests in require-object-in-propequal (#​159) (Kevin Partington)
  • Breaking: add more recommended rules for v6 (#​157) (Bryan Mishkin)
  • Breaking: merge two config into recommended config (#​155) (Bryan Mishkin)
  • Breaking: update require-expect rule to default to expect-simple option (#​158) (Bryan Mishkin)
  • Breaking: update fixToNotOk rule option default to true in no-compare-relation-boolean rule (#​154) (Bryan Mishkin)
  • Breaking: update fixToNotOk rule default option to true in no-negated-ok rule (#​153) (Bryan Mishkin)
  • Breaking: drop Node 13 support (#​152) (Bryan Mishkin)
  • Chore: require eslint 6+ as peer dependency (#​151) (Bryan Mishkin)
5.4.0
  • New: no-async-module-callbacks rule (#​147) (#​150) (Ray Cohen)
  • New: require-object-in-propequal rule (#​148) (Kevin Partington)
  • New: no-hooks-from-ancestor-modules rule (fixes #​93) (#​94) (Ray Cohen)
  • Build: Run against Node 15 in CI (Kevin Partington)
  • Upgrade: devDependencies (Kevin Partington)
5.3.0
  • Fix: requireindex usage when this plugin is referenced from other plugins (#​144) (Bryan Mishkin)
  • Update: fix detection of test-less modules in no-identical-names rule (#​146) (Bryan Mishkin)
  • Build: Add Windows to CI testing matrix (#​145) (Bryan Mishkin)
  • Fix: false positive for tests in different modules in no-identical-names rule (#​143) (Bryan Mishkin)
  • Docs: add npm badge to README (#​141) (Bryan Mishkin)
  • Chore: Use requireindex to ensure correct rule files are exported (Kevin Partington)
  • Build: Run CI on all pushed branches (Kevin Partington)
5.2.0
  • Upgrade: devDependencies (#​140) (Kevin Partington)
  • Fix: allow tests with identical names in different modules in no-identical-names rule (#​131) (Bryan Mishkin)
  • Docs: add rule descriptions to README table (#​139) (Bryan Mishkin)
5.1.1
  • Upgrade: Bump ini from 1.3.5 to 1.3.7 (#​137) (dependabot[bot])
  • Docs: enable eslint-plugin/require-meta-docs-description lint rule to enforce consistent rule descriptions (#​133) (Bryan Mishkin)
  • Chore: add type properties to rules and enforce with eslint-plugin/require-meta-type lint rule (#​134) (Bryan Mishkin)
  • Fix: only detect true global usages in no-global-* rules (#​132) (Bryan Mishkin)
5.1.0
  • Build: Fix lint:docs script to work on bash (Kevin Partington)
  • Docs: Update contributor list (#​128) (Kevin Partington)
  • Update: catch duplicate titles in ancestor modules in no-identical-names rule (#​127) (Bryan Mishkin)
  • New: add new rule no-assert-equal-boolean (#​121) (Bryan Mishkin)
  • Docs: add markdownlint (#​115) (Bryan Mishkin)
  • Fix: false positives with no-identical-names and nested modules (#​123) (Bryan Mishkin)
  • Update: Add 'qunit' plugin to configs (#​124) (Bryan Mishkin)
  • Docs: add rule doc URL to rules (#​125) (Bryan Mishkin)
  • Build: add CI checks to ensure tests pass on supported ESLint versions (#​116) (Bryan Mishkin)
  • Chore: Upgrade devDependencies to latest (#​119) (Kevin Partington)
  • Build: Update lcov location in coveralls action (#​118) (Kevin Partington)
  • Build: switch from travis to Github Actions (#​117) (Bryan Mishkin)
  • Update: allow eslint peer dependency to include v6 and v7 (#​113) (Bryan Mishkin)
  • Docs: fix broken rules link in README (#​111) (Bryan Mishkin)
5.0.0
  • Breaking: Update plugin:qunit/recommended config (fixes #​86) (Kevin Partington)
  • Build: Fix yarn reference in test script (Kevin Partington)
  • Docs: Update contributor list (Kevin Partington)
  • Fix: resolve-async recognizes .call/.apply (fixes #​68) (Kevin Partington)
  • Upgrade: devDependencies to latest (Kevin Partington)
  • Breaking: Drop support for Node 6, 8, and 11 (Kevin Partington)
  • Docs: add config notices to each rule doc (#​107) (Bryan Mishkin)
  • Docs: add autogenerated rules table to README (#​110) (Bryan Mishkin)
  • Update: add autofixer to no-negated-ok rule (#​100) (Bryan Mishkin)
  • Build: add npm-run-all for running lint scripts (#​109) (Bryan Mishkin)
  • Docs: add fixable notice to rule doc of autofixable rules (#​106) (Bryan Mishkin)
  • Update: add autofixer to no-compare-relation-boolean rule (#​102) (Bryan Mishkin)
  • Chore: Add tests to ensure rules have tests and basic rule doc (#​105) (Bryan Mishkin)
  • Fix: allow message arguments to have logical expressions in no-assert-logical-expression rule (#​104) (Bryan Mishkin)
  • Fix: no-compare-relation-boolean did not report violations when assertion message was passed (#​103) (Bryan Mishkin)
  • Update: add autofixer to no-setup-teardown rule (#​101) (Bryan Mishkin)
  • Update: add autofixer to no-ok-equality rule (#​99) (Bryan Mishkin)
  • Update: add autofixer to literal-compare-order rule (#​98) (Bryan Mishkin)
  • Fix: crash when missing assert arguments in literal-compare-order rule (#​97) (Bryan Mishkin)
  • New: Add "no-nested-tests" rule (#​96) (Aliaksandr Yermalayeu)
4.3.0
  • Upgrade: Bump lodash from 4.17.11 to 4.17.19 (#​91) (dependabot[bot])
  • New no-loose-assertions rule. (#​80) (ventuno)
  • Chore: Use outdent for multiline test cases (#​89) (Ed S)
  • Update: Add a fixer for no-arrow-tests (#​88) (Ed S)
  • Docs: Remove unsupported all-contributors badge (Kevin Partington)
4.2.0
  • Fix: literal-compare-order crash on BDD-style assertions (fixes #​74) (Kevin Partington)
  • Chore: Add eslint-plugin-eslint-plugin devDependency (fixes #​85) (Kevin Partington)
  • New rule: no-skip (#​81) (Steve Calvert)
4.1.0
  • Docs: Add more contributors (Kevin Partington)
  • Upgrade: Bump acorn from 6.3.0 to 6.4.1 (#​83) (dependabot[bot])
  • Upgrade: Bump eslint-utils from 1.3.1 to 1.4.3 (#​82) (dependabot[bot])
  • Docs: Add contributors (Kevin Partington)
  • Fix: require-expect handles implicit body arrow functions correctly (fixes #​76) (Kevin Partington)
  • Chore: Improve unit test (Kevin Partington)
  • Build: Add Node 12, 13, and 14 to Travis config (Kevin Partington)
  • Upgrade: Upgrade devDependencies (semver-minor only) (Kevin Partington)
  • Build: Add package-lock.json (Kevin Partington)
  • New: Implement new rule no-assert-ok (#​78) (ventuno)
  • Update: Improve no-only rule to detect only() module.only() and QUnit.module.only() (#​73) (Brad Overton)
  • Fix: Fix typo in no-test-expect-argument (#​71) (Ed S)
4.0.0
  • Upgrade: coveralls, eslint, nyc, semver to latest (Kevin Partington)
  • Chore: Convert all rules to use messageIds (Kevin Partington)
  • Breaking: Drop support for Node 4/7/9 and ESLint <4.15 (Kevin Partington)
3.3.1
  • Chore: Declare compatibility with eslint@5.x (Kevin Partington)
  • Chore: Upgrade devDependencies (Kevin Partington)
  • Chore: Removing unused eslint disable comments (Kevin Partington)
3.3.0
  • Chore: Disable package-lock (Kevin Partington)
  • Chore: Add support/testing for Node 10 (Kevin Partington)
  • New: "never" and "never-except-zero" options for require-expect rule (#​70) (Timo Tijhof)
  • Chore: Test with Node 8 and 9 (Kevin Partington)
  • Chore: Switch to nyc for unit tests and code coverage (Kevin Partington)
3.2.1
  • Upgrade: devDependencies (Kevin Partington)
  • Docs: Add Krinkle to all-contributors (Kevin Partington)
  • Docs: Fix heading syntax for no-assert-equal (#​66) (Timo Tijhof)
3.2.0
  • Chore: ESLint peerDependency expanded to >=3.18.0 <5.0.0 (Kevin Partington)
  • Fix: no-commented-tests does not warn on shebang comments (Kevin Partington)
  • Chore: Upgrade devDependencies, including eslint@4.x (Kevin Partington)
  • Chore: Use sourceCode.getAllComments() in no-commented-tests (fixes #​64) (Kevin Partington)
3.1.0
  • Docs: Updating config rule lists in README to match reality (fixes #​60) (Kevin Partington)
  • Docs: Adding ntwb to contributor list (Kevin Partington)
  • Update: no-identical-names message references line number (fixes #​62) (Kevin Partington)
3.0.0
  • Update: Using ESLint AST selectors in some rules (fixes #​59) (Kevin Partington)
  • Breaking: Updating eslint peerDependency to >=3.18.0 (refs #​59) (Kevin Partington)
  • Upgrade: devDependencies to latest version (Kevin Partington)
  • Chore: Enable template-curly-spacing ESLint rule (fixes #​54) (Kevin Partington)
  • Chore: Enable prefer-template ESLint rule (refs #​54) (Kevin Partington)
  • Chore: Enable prefer-const ESLint rule (refs #​54) (Kevin Partington)
  • Chore: Enabling no-const-assign ESLint rule (refs #​54) (Kevin Partington)
  • Chore: Enable no-var ESLint rule (refs #​54) (Kevin Partington)
  • Chore: Fix whitespace in ESLint configuration (Kevin Partington)
  • Chore: Consume eslint-plugin-node (Kevin Partington)
  • Breaking: engines set in package.json (node >=4.0.0) (Kevin Partington)
  • Breaking: Updating exported configs (fixes #​52, fixes #​58) (Kevin Partington)
  • Chore: Ensuring rules etc. are sorted in index.js (Kevin Partington)
  • Docs: Fixing indentation in no-qunit-start-in-tests docs (fixes #​55) (Kevin Partington)
2.4.0
  • Docs: Fixing indentation in no-qunit-start-in-tests docs (Kevin Partington)
  • Docs: Add Turbo87 to project contributor list (Kevin Partington)
  • New: Add "no-identical-names" rule (fixes #​56) (#​57) (Tobias Bieniek)
2.3.0
  • Chore: Ensure .md files have LF line endings (Kevin Partington)
  • Chore: Updating Travis config, dropping Node 5 and adding Node 7 (Kevin Partington)
  • Chore: Enabling ESLint rule no-useless-return (Kevin Partington)
  • New: no-qunit-start-in-tests rule (fixes #​51) (Kevin Partington)
  • Upgrade: eslint@~3.10.2, fixing resulting lint error (Kevin Partington)
  • Upgrade: eslint@^3.8.1, adding some new rules (Kevin Partington)
  • New: no-conditional-assertions rule (fixes #​46) (Kevin Partington)
  • Fix: README rules links no longer use dot prefix (fixes #​53) (Kevin Partington)
2.2.0
  • Build: Fixed extraneous output in generate-release-changelog (Kevin Partington)
  • New: no-assert-logical-expression rule (fixes #​50) (Kevin Partington)
  • Fix: no-early-return crash when return statement was outside test (Kevin Partington)
  • Fix: no-early-return handles nested scopes (fixes #​48) (Kevin Partington)
  • Docs: Add limitations section to assert-args docs (fixes #​49) (Kevin Partington)
2.1.1
  • Fix: no-throws-string exception (fixes #​47) (Kevin Partington)
2.1.0
  • Fix: Added missing test case to no-early-return (Kevin Partington)
  • Chore: Allowing ESLint ^2.8.0 or 3.x as peer dependency (fixes #​45) (Kevin Partington)
  • New: no-early-return rule (fixes #​27) (Kevin Partington)
2.0.1
  • Docs: Add no-throws-string to qunit/two, qunit/recommended in README (Kevin Partington)
  • Build: Removing iojs from .travis.yml (Kevin Partington)
2.0.0
  • Breaking: Adding no-throws-string to qunit/two and qunit/recommended (Kevin Partington)
  • Upgrade: devDependencies to latest. (Kevin Partington)
1.1.0
  • Docs: Using flat shields.io badge for "all contributors" (Kevin Partington)
  • New: no-throws-string rule (fixes #​43) (Kevin Partington)
  • New: no-compare-relation-boolean rule (fixes #​17) (Kevin Partington)
  • Docs: Added semver policy to README (fixes #​42) (Kevin Partington)
1.0.0
  • Docs: Clarify how to extend plugin configuration in README (#​41) (Kevin Partington)
  • Docs: Update README with info about shareable configs (fixes #​39) (Kevin Partington)
  • New: no-test-expect-argument rule (fixes #​40) (Kevin Partington)
1.0.0-rc0
  • New: Added shareable configs "two" and "recommended" (fixes #​33) (Kevin Partington)
  • Breaking: Removing rulesConfig from plugin exports (Kevin Partington)
  • Chore: Transformed rules into new-style ESLint rules (fixes #​34) (Kevin Partington)
  • Chore: Update peerDependency: eslint@^2.8.0 (fixes #​32) (Kevin Partington)
  • Fix: require-expect only report one error per test (fixes: #​35) (Mitch Lloyd)
0.9.1
  • Build: Fix generate-release-changelog after removing shelljs global (Kevin Partington)
  • Build: Using double quotes to escape test exclusion glob (Kevin Partington)
  • Build: Quote excluded fileset pattern for istanbul (#​37) (Mitch Lloyd)
  • Build: Dropping Node 0.12 and adding Node 6 to .travis.yml (Kevin Partington)
  • Build: Require Unix-style line endings (Kevin Partington)
  • Build: Ensuring LF is used in the repository via .gitattributes (Kevin Partington)
  • Docs: Added captbaritone as a contributor (Kevin Partington)
  • Docs: Adding Contributors section to README using all-contributors (Kevin Partington)
  • Build: Upgrade ESLint to latest, add some new rules (Kevin Partington)
  • Upgrade: coveralls, istanbul, mocha, shelljs to latest (Kevin Partington)
  • Build: Tweaking npm script commands for readability (Kevin Partington)
0.9.0
  • Fix: no-negated-ok checks negation depth before reporting (fixes #​31) (Kevin Partington)
  • Fix: no-negated-ok no longer flags global ok (fixes #​30) (Kevin Partington)
  • New: no-qunit-stop rule (fixes #​20) (Kevin Partington)
  • New: no-qunit-push rule (refs #​20) (Kevin Partington)
  • New: no-jsdump rule (refs #​20) (Kevin Partington)
  • New: no-reassign-log-callbacks rule (refs #​20) (Kevin Partington)
  • New: no-global-stop-start rule (refs #​20) (Kevin Partington)
  • New: no-init rule (refs #​20) (Kevin Partington)
0.8.0
  • Build: generate-release-changelog is now a version hook (Kevin Partington)
  • New: no-reset rule (refs #​20) (Kevin Partington)
  • Fix: Adding rule schemas to rules which did not have schemas (Kevin Partington)
  • New: no-setup-teardown rule (refs #​20) (Kevin Partington)
  • New: no-negated-ok rule (fixes #​28) (Kevin Partington)
  • Docs: Add Gitter badge (Kevin Partington)
  • Upgrade: eslint@2.7.0, also added the new rules to .eslintrc.json (Kevin Partington)
  • Docs: Adding rule summary to README. (Kevin Partington)
  • New: no-global-expect rule (Kevin Partington)
  • Build: Very basic test to check for rule documentation (Kevin Partington)
0.7.0
  • Build: Add generate-release-changelog script as postversion hook (Kevin Partington)
  • New: no-async-test rule (refs #​20) (Kevin Partington)
  • Docs: Fix header of no-global-module-test (Kevin Partington)
  • Build: Ensure unit tests are run with all sources instrumented (Kevin Partington)
  • New: no-global-module-test rule (refs #​20) (Kevin Partington)
  • Update: no-global-assertions doesn't need to track test context (Kevin Partington)
  • Update: resolve-async now checks module hooks (fixes #​4) (Kevin Partington)
  • Docs: Removed merge commit from changelog (Kevin Partington)
  • Docs: Update changelog for 0.6.0 (Kevin Partington)
0.6.0
  • Upgrade: devDependencies to latest stable (Kevin Partington)
  • New: no-arrow-tests rule (fixes #​24) (Kevin Partington)
  • New: require-expect rule (fixes #​23) (Mitch Lloyd)
  • Build: Updating .travis.yml (Kevin Partington)
0.5.0
  • Build: Enable some ESLint rules available in eslint@2.0.0 (Kevin Partington)
  • Upgrade: eslint@^2.2.0 (Kevin Partington)
  • New: literal-compare-order rule (fixes #​19) (Kevin Partington)
  • Build: Enabling many ESLint rules. (Kevin Partington)
  • Upgrade: eslint@^1.10.0 (Kevin Partington)
0.4.0
  • New: no-global-assertions rule (refs #​20) (Kevin Partington)
  • Fix: MemberExpression properties no longer falsely flagged as assertions (Kevin Partington)
  • Build: Adding no-undef and no-warning-comments to .eslintrc. (Kevin Partington)
  • Fix: Avoid object prototype props being flagged as assertions in assert-args (Kevin Partington)
  • Fix: assert-args allows any node type for message. (Kevin Partington)
  • Fix: assert-args AssertionError if CallExpression found outside test (Kevin Partington)
  • New: assert-args rule (fixes #​10) (Kevin Partington)
0.3.1
  • Fix: no-assert-equal assertion error fixed (fixes #​16) (Kevin Partington)
  • New: Unit tests for index.js to ensure rules are exported and configured (Kevin Partington)
0.3.0
  • New: Adding rule no-only (fixes #​11) (Kevin Partington)
  • Fix: no-async-in-loops uses correct assert var in message (fixes #​13) (Kevin Partington)
  • New: no-assert-equal (fixes #​8) (Kevin Partington)
  • Update: Specifying eslint@>=1.3.0 as peerDependency (Kevin Partington)
0.2.0
  • Added default rule configuration for no-ok-equality. (Kevin Partington)
  • New: Added rule no-commented-tests. (fixes #​9) (Kevin Partington)
  • Adding no-console and no-debugger rules to .eslintrc. (Kevin Partington)
  • Update: Enhanced rule error messages for no-ok-equality. (fixes #​7) (Kevin Partington)
  • New: no-ok-equality rule. (refs #​7) (Kevin Partington)
  • Updating mocha-lcov-reporter devDependency. (Kevin Partington)
  • Upgrading Mocha. (Kevin Partington)
  • Upgrading some of the devDependencies. (Kevin Partington)
  • Adding coveralls badge (Kevin Partington)
  • Fixing typo (Kevin Partington)
  • First attempt at Coveralls.io integration (Kevin Partington)
0.1.2-pre
  • Adding build status and devDependency badges (Kevin Partington)
  • Added docs (Kevin Partington)
0.1.1
  • Removing private field from package.json (Kevin Partington)
  • Adding preversion and postversion scripts (Kevin Partington)
0.1.1-pre
  • Consuming ESLint 1.x and using included RuleTester (Kevin Partington)
  • Removing before_install to attempt to fix possible version conflict (Kevin Partington)
  • First pass at .travis.yml config. (Kevin Partington)
  • Fixed logic error in start semaphore count handling. (Kevin Partington)
  • no-async-in-loops now respects test's assertion context variable (Kevin Partington)
  • Created utils module to improve code reusability. (Kevin Partington)
  • Added rule no-async-in-loops. (Kevin Partington)
  • Specifying files in package.json (Kevin Partington)
  • Adding check-coverage script to npm test (Kevin Partington)
  • One more test for full coverage. (Kevin Partington)
  • Adding istanbul ignore comments where coverage is not needed on else branches. (Kevin Partington)
  • Using istanbul cover instead of istanbul test. (Kevin Partington)
  • Ensuring resolve-async respects stop()/start() semaphore delta argument. (Kevin Partington)
  • Add support for assertion contexts declared as something besides "assert". (Kevin Partington)
  • Defensive checks and tests around expressions which occur outside of test context. (Kevin Partington)
  • Cleaning up stop()/start() error message for singular case. (Kevin Partington)
  • Unit tests for multiple assert.async() callbacks. (Kevin Partington)
  • More unit tests for multiple stop() calls. (Kevin Partington)
  • Unit tests for QUnit.start/QUnit.stop. (Kevin Partington)
  • Adding VariableDeclarator logic and more unit tests. (Kevin Partington)
  • Added npm-debug.log to .gitignore (Kevin Partington)
  • First pass at resolve-async rule. Needs more test coverage. (Kevin Partington)
  • Adding eslint config files. (Kevin Partington)
  • Added .gitignore file. (Kevin Partington)
  • Adding package.json. (Kevin Partington)
  • Initial commit (Kevin Partington)

v7.3.3

Compare Source

v7.3.2

Compare Source

  • docs: add eslint-doc-generator (#​243) (Bryan Mishkin)
  • Fix: Handle arrow function test with except-simple configuration of the require-expect rule (#​239) (Bryan Mishkin)
lydell/eslint-plugin-simple-import-sort (eslint-plugin-simple-import-sort)

v12.1.0

Compare Source

This release adds TypeScript type definitions for the plugin itself. This is useful when you use TypeScript to check your ESLint configuration. It assumes that you install @types/eslint yourself. Thanks to @​Logicer16!

v12.0.0

Compare Source

This release removes the support for import assignments added in version 11.0.0:

  • Turns out it was broken in some cases.
  • The suggested fix went past my complexity tolerance for such an esoteric feature.
  • I also learned that they aren’t really imports, and that I don’t understand their semantics well enough to know how sorting them affects your program.

If you miss the support for import assignments, I suggest you write your own ESLint rule which moves them out of the way from the actual imports, sorting them or not.

v11.0.0

Compare Source

This release adds support for TypeScript import assignments (import A = B.C and import A = require("module")). Thanks to Szabolcs Kurdi (@​szku01) and Svyatoslav Zaytsev (@​MillerSvt)!

It’s only a breaking change if you use TypeScript import assignments, and only in the form that you need to autofix your files.

In other news, this release adds the meta plugin property in preparation for ESLint Flat Config, and avoids the deprecated context.getSourceCode() method (while still being backwards compatible).

v10.0.0

Compare Source

This release might move some imported items with type around. This is a breaking formatting change (that only affects TypeScript and Flow), but only in the form of that you need to autofix your files.

In previous versions, type specifiers came first:

import { type B, a } from "a";
export { type B, a } from "a";

Now, all specifiers are sorted alphabetically, regardless of type:

import { a, type B } from "a";
export { a, type B } from "a";

Motivation:

You might import a class for a type annotation using:

import {
  type MyClass,
  coolFunction,
} from "example";

Later, you also start instantiating that class in the same file (new MyClass()), so you remove type.

Previously, this resulted in a messy diff due to the class moving:

 import {
-  type MyClass,
   coolFunction,
+  MyClass,
 } from "example";

Now, the sorting with the type keyword would be:

import {
  coolFunction,
  type MyClass,
} from "example";

Now there’s no reordering diff, just the type keyword being removed:

 import {
   coolFunction,
-   type MyClass,
+   MyClass,
 } from "example";

This is consistent with [“Why sort on from?”][sort-from].

Thanks to Jake Bailey (@​jakebailey) for reporting and suggesting the fix!

v9.0.0

Compare Source

This version adds support for [eslint-plugin-svelte], and for declare module in TypeScript.

More generally, imports and exports are now supported anywhere, by finding the set of parents of all imports and exports and working with those. Previously, the plugin only sorted imports and exports directly inside a Program node. For eslint-plugin-svelte and declare module that didn’t cut it.

This is only a breaking change if you imports or exports in declare module in TypeScript, and only in the form of that you need to autofix your files.

v8.0.0

Compare Source

Node.js builtin modules prefixed with node: are now in a separate group by default (regex: ^node:), above the packages group. (Node.js builtins without node: are still sorted together with npm packages like before.)

Before:

import fs from "fs";
import _ from "lodash-es";
import { rmSync } from "node:fs";

After:

import { rmSync } from "node:fs";

import fs from "fs";
import _ from "lodash-es";

This is only a breaking change if you use the node: prefix in imports, and only in the form of that you need to autofix your files.

prettier/prettier (prettier)

v3.3.2

Compare Source

diff

Fix handlebars path expressions starts with @ (#​16358 by @​Princeyadav05)
{{! Input }}
<div>{{@&#8203;x.y.z}}</div>

{{! Prettier 3.3.1 }}
<div>{{@&#8203;x}}</div>

{{! Prettier 3.3.2 }}
<div>{{@&#8203;x.y.z}}</div>

v3.3.1

Compare Source

diff

Preserve empty lines in front matter (#​16347 by @​fisker)
<!-- Input -->
---
foo:
  - bar1

  - bar2

  - bar3
---
Markdown

<!-- Prettier 3.3.0 -->

---
foo:
  - bar1
  - bar2
  - bar3
---

Markdown

<!-- Prettier 3.3.1 -->
---
foo:
  - bar1

  - bar2

  - bar3
---

Markdown
Preserve explicit language in front matter (#​16348 by @​fisker)
<!-- Input -->
---yaml
title: Hello
slug: home
---

<!-- Prettier 3.3.0 -->
---
title: Hello
slug: home
---

<!-- Prettier 3.3.1 -->
---yaml
title: Hello
slug: home
---
Avoid line breaks in import attributes (#​16349 by @​fisker)
// Input
import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type: "json" };

// Prettier 3.3.0
import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type:
  "json" };

// Prettier 3.3.1
import something from "./some-very-very-very-very-very-very-very-very-long-path.json" with { type: "json" };

v3.3.0

Compare Source

diff

🔗 Release Notes

v3.2.5

Compare Source

diff

Support Angular inline styles as single template literal (#​15968 by @​sosukesuzuki)

Angular v17 supports single string inline styles.

// Input
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}

// Prettier 3.2.4
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `h1 { color: blue; }`,
})
export class AppComponent {}

// Prettier 3.2.5
@&#8203;Component({
  template: `<div>...</div>`,
  styles: `
    h1 {
      color: blue;
    }
  `,
})
export class AppComponent {}
Unexpected embedded formatting for Angular template (#​15969 by @​JounQin)

Computed template should not be considered as Angular component template

// Input
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{       hello }}</h1>`,
})
export class AppComponent {}

// Prettier 3.2.4
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{ hello }}</h1>`,
})
export class AppComponent {}

// Prettier 3.2.5
const template = "foobar";

@&#8203;Component({
  [template]: `<h1>{{       hello }}</h1>`,
})
export class AppComponent {}
Use "json" parser for tsconfig.json by default (#​16012 by @​sosukesuzuki)

In v3.2.0, we introduced "jsonc" parser which adds trailing comma by default.

When adding a new parser we also define how it will be used based on the linguist-languages data.

tsconfig.json is a special file used by TypeScript, it uses .json file extension, but it actually uses the JSON with Comments syntax. However, we found that there are many third-party tools not recognize it correctly because of the confusing .json file extension.

We decide to treat it as a JSON file for now to avoid the extra configuration step.

To keep using the "jsonc" parser for your tsconfig.json files, add the following to your .prettierrc file

{
  "overrides": [
    {
      "files": ["tsconfig.json", "jsconfig.json"],
      "options": {
        "parser": "jsonc"
      }
    }
  ]
}

v3.2.4

Compare Source

prettier --file-info tsconfig.json { "ignored": false, "inferredParser": "jsonc" }

v3.2.3

Compare Source

diff

Throw errors for invalid code (#​15881 by @​fisker, @​Josh-Cena, @​auvred)
// Input
1++;

// Prettier 3.2.2
1++;

// Prettier 3.2.3
SyntaxError: Invalid left-hand side expression in unary operation (1:1)
> 1 | 1++;
    | ^
// Input
try {} catch (error = 1){}

// Prettier 3.2.2
try {
} catch (error) {}

// Prettier 3.2.3
SyntaxError: Catch clause variable cannot have an initializer. (1:23)
> 1 | try {} catch (error = 1){}
    |                       ^
Fix parser inference (#​15927 by @​fisker)
// Prettier 3.2.2
prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "json" }

// Prettier 3.2.3
prettier --file-info tsconfig.json
{ "ignored": false, "inferredParser": "jsonc" }

v3.2.2

Compare Source

diff

Fix crash when parsing template literal CSS in a JSX style tag using a spread attribute (#​15896 by @​eelco)

For example this code would crash before:

<style {...spread}>{`.{}`}</style>
Fix formatting error on optional call expression and member chain (#​15920 by @​sosukesuzuki)
// Input
a(() => {}, c?.d());

// Prettier 3.2.1
TypeError: Cannot read properties of undefined (reading 'type')

// Prettier 3.2.2
a(() => {}, c?.d());

v3.2.1

Compare Source

diff

Fix formatting error on member chain (#​15915 by @​sosukesuzuki)
// Input
test().test2().test2(thing?.something);

// Prettier 3.2.0
TypeError: Cannot read properties of undefined (reading 'type')

// Prettier 3.2.1
test().test2().test2(thing?.something);

v3.2.0

Compare Source

diff

🔗 Release Notes

v3.1.1

Compare Source

diff

Fix config file search (#​15363 by @​fisker)

Previously, we start search for config files from the filePath as a directory, if it happened to be a directory and contains config file, it will be used by mistake.

├─ .prettierrc
└─ test.js         (A directory)
  └─ .prettierrc
// Prettier 3.1.0
await prettier.resolveConfigFile(new URL("./test.js", import.meta.url));
// <CWD>/test.js/.prettierrc

// Prettier 3.1.1
await prettier.resolveConfigFile(new URL("./test.js", import.meta.url));
// <CWD>/.prettierrc
Skip explicitly passed symbolic links with --no-error-on-unmatched-pattern (#​15533 by @​sanmai-NL)

Since Prettier v3, we stopped following symbolic links, however in some use cases, the symbolic link patterns can't be filtered out, and there is no way to prevent Prettier from throwing errors.

In Prettier 3.1.1, you can use --no-error-on-unmatched-pattern to simply skip symbolic links.

Consistently use tabs in ternaries when useTabs is true (#​15662 by @​auvred)
// Input
aaaaaaaaaaaaaaa
	? bbbbbbbbbbbbbbbbbb
	: ccccccccccccccc
	  ? ddddddddddddddd
	  : eeeeeeeeeeeeeee
	    ? fffffffffffffff
	    : gggggggggggggggg;

// Prettier 3.1.0
aaaaaaaaaaaaaaa
	? bbbbbbbbbbbbbbbbbb
	: ccccccccccccccc
	  ? ddddddddddddddd
	  : eeeeeeeeeeeeeee
	    ? fffffffffffffff
	    : gggggggggggggggg;

// Prettier 3.1.1
aaaaaaaaaaaaaaa
	? bbbbbbbbbbbbbbbbbb
	: ccccccccccccccc
		? ddddddddddddddd
		: eeeeeeeeeeeeeee
			? fffffffffffffff
			: gggggggggggggggg;
Improve config file search (#​15663 by @​fisker)

The Prettier config file search performance has been improved by more effective cache strategy.

Fix unstable and ugly formatting for comments in destructuring patterns (#​15708 by @​sosukesuzuki)
// Input
const {
  foo,
  // bar
  // baz
}: Foo = expr;

// Prettier 3.1.0
const {
  foo1,
} // bar
// baz
: Foo = expr;

// Prettier 3.1.0 second output
const {
  foo1, // bar
} // baz
: Foo = expr;

// Prettier 3.1.1
const {
  foo1,
  // bar
  // baz
}: Foo = expr;
Support "Import Attributes" (#​15718 by @​fisker)

TypeScript 5.3 supports the latest updates to the import attributes proposal.

import something from "./something.json" with { type: "json" };
Fix false claim in docs that cursorOffset is incompatible with rangeStart/rangeEnd (#​15750 by @​ExplodingCabbage)

The cursorOffset option has in fact been compatible with rangeStart/rangeEnd for over 5 years, thanks to work by @​ds300. However, Prettier's documentation (including the CLI --help text) continued to claim otherwise, falsely. The documentation is now fixed.

Keep curly braces and from keyword in empty import statements (#​15756 by @​fisker)
// Input
import { } from 'foo';
import { /* comment */ } from 'bar';

// Prettier 3.1.0
import {} from "foo";
import /* comment */ "bar";

// Prettier 3.1.1
import {} from "foo";
import {} from /* comment */ "bar";
Keep empty import attributes and assertions (#​15757 by @​fisker)
// Input
import foo from "foo" with {};
import bar from "bar" assert {};

// Prettier 3.1.0
import foo from "foo";
import bar from "bar";

// Prettier 3.1.1
import foo from "foo" with {};
import bar from "bar" assert {};

v3.1.0

Compare Source

diff

🔗 Release Notes

v3.0.3

Compare Source

diff

Add preferUnplugged: true to package.json (#​15169 by @​fisker and @​so1ve)

Prettier v3 uses dynamic imports, user will need to unplug Prettier when Yarn's PnP mode is enabled, add preferUnplugged: true to package.json, so Yarn will install Prettier as unplug by default.

Support shared config that forbids require() (#​15233 by @​fisker)

If an external shared config package is used, and the package exports don't have require or default export.

In Prettier 3.0.2 Prettier fails when attempt to require() the package, and throws an error.

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in <packageName>/package.json
Allow argument of require() to break (#​15256 by @​fisker)
// Input
const plugin = require(
  global.STANDALONE
    ? path.join(__dirname, "../standalone.js")
    : path.join(__dirname, "..")
);

// Prettier 3.0.2
const plugin = require(global.STANDALONE
  ? path.join(__dirname, "../standalone.js")
  : path.join(__dirname, ".."));

// Prettier 3.0.3
const plugin = require(
  global.STANDALONE
    ? path.join(__dirname, "../standalone.js")
    : path.join(__dirname, "..")
);
Do not print trailing commas in arrow function type parameter lists in ts code blocks (#​15286 by @​sosukesuzuki)
<!-- Input -->
```ts
const foo = <T>() => {}
```

<!-- Prettier 3.0.2 -->
```ts
const foo = <T,>() => {}
```

<!-- Prettier 3.0.3 -->
```ts
const foo = <T>() => {}
```
Support TypeScript 5.2 using / await using declaration (#​15321 by @​sosukesuzuki)

Support for the upcoming Explicit Resource Management feature in ECMAScript. using / await using declaration

{
   using foo = new Foo();
   await using bar = new Bar();
}

v3.0.2

Compare Source

diff

Break after = of assignment if RHS is poorly breakable AwaitExpression or YieldExpression (#​15204 by @​seiyab)
// Input
const { section, rubric, authors, tags } = await utils.upsertCommonData(mainData);

// Prettier 3.0.1
const { section, rubric, authors, tags } = await utils.upsertCommonData(
  mainData,
);

// Prettier 3.0.2
const { section, rubric, authors, tags } =
  await utils.upsertCommonData(mainData);
Do not add trailing comma for grouped scss comments (#​15217 by @​auvred)
/* Input */
$foo: (
	'property': (),
	// comment 1
	// comment 2
)

/* Prettier 3.0.1 */
$foo: (
  "property": (),
  // comment 1
  // comment 2,
);

/* Prettier 3.0.2 */
$foo: (
  "property": (),
  // comment 1
  // comment 2
);
Print declare and export keywords for nested namespace (#​15249 by @​sosukesuzuki)
// Input
declare namespace abc1.def {}
export namespace abc2.def {}

// Prettier 3.0.1
namespace abc1.def {}
namespace abc2.def {}

// Prettier 3.0.2
declare namespace abc1.def {}
export namespace abc2.def {}

v3.0.1

Compare Source

diff

Fix cursor positioning for a special case (#​14812 by @​fisker)
// <|> is the cursor position

/* Input */
// All messages are represented in JSON.
// So, the prettier.py controls a subprocess which spawns "node {this_file}".
import {<|>  } from "fs"

/* Prettier 3.0.0 */
// All messages are represented in JSON.
// So, the prettier.py <|>controls a subprocess which spawns "node {this_file}".
import {} from "fs"

/* Prettier 3.0.1 */
// All messages are represented in JSON.
// So, the prettier.py controls a subprocess which spawns "node {this_file}".
import {<|>} from "fs"
Fix plugins/estree.d.ts to make it a module (#​15018 by @​kingyue737)

Add export {} in plugins/estree.d.ts to fix the "File is not a module" error

Add parenthesis around leading multiline comment in return statement (#​15037 by @​auvred)
// Input
function fn() {
  return (
    /**
     * @&#8203;type {...}
     */ expression
  )
}

// Prettier 3.0.0
function fn() {
  return /**
   * @&#8203;type {...}
   */ expression;
}

// Prettier 3.0.1
function fn() {
  return (
    /**
     * @&#8203;type {...}
     */ expression
  );
}
Add support for Vue "Generic Components" (#​15066 by @​auvred)

https://blog.vuejs.org/posts/vue-3-3#generic-components

<!-- Input -->
<script setup lang="ts" generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean"></script>

<!-- Prettier 3.0.0 -->
<script
  setup
  lang="ts"
  generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean"
></script>

<!-- Prettier 3.0.1 -->
<script
  setup
  lang="ts"
  generic="
    T extends Type1 & Type2 & (Type3 | Type4),
    U extends string | number | boolean
  "
></script>
Fix comments print in IfStatement (#​15076 by @​fisker)
function a(b) {
  if (b) return 1; // comment
  else return 2;
}

/* Prettier 3.0.0 */
Error: Comment "comment" was not printed. Please report this error!

/* Prettier 3.0.1 */
function a(b) {
  if (b) return 1; // comment
  else return 2;
}
Add missing type definition for printer.preprocess (#​15123 by @​so1ve)
export interface Printer<T = any> {
  // ...
+ preprocess?:
+   | ((ast: T, options: ParserOptions<T>) => T | Promise<T>)
+   | undefined;
}
Add missing getVisitorKeys method type definition for Printer (#​15125 by @​auvred)
const printer: Printer = {
  print: () => [],
  getVisitorKeys(node, nonTraversableKeys) {
    return ["body"];
  },
};
Add typing to support readonly array properties of AST Node (#​15127 by @​auvred)
// Input
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");

// Prettier 3.0.0
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");
//                  ^ Argument of type '"readonlyArray"' is not assignable to parameter of type '"regularArray"'. ts(2345)

// Prettier 3.0.1
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");
Add space before unary minus followed by a function call (#​15129 by @​pamelalozano)
// Input
div {
  margin: - func();
}

// Prettier 3.0.0
div {
  margin: -func();
}

// Prettier 3.0.1
div {
  margin: - func();
}

v3.0.0

Compare Source

diff

🔗 Release Notes

v2.8.8

Compare Source

This version is a republished version of v2.8.7. A bad version was accidentally published and it can't be unpublished, apologies for the churn.

v2.8.7

Compare Source

diff

Allow multiple decorators on same getter/setter (#​14584 by @​fisker)
// Input
class A {
  @&#8203;decorator()
  get foo () {}
  
  @&#8203;decorator()
  set foo (value) {}
}

// Prettier 2.8.6
SyntaxError: Decorators cannot be applied to multiple get/set accessors of the same name. (5:3)
  3 |   get foo () {}
  4 |   
> 5 |   @&#8203;decorator()
    |   ^^^^^^^^^^^^
  6 |   set foo (value) {}
  7 | }

// Prettier 2.8.7
class A {
  @&#8203;decorator()
  get foo() {}

  @&#8203;decorator()
  set foo(value) {}
}

v2.8.6

Compare Source

diff

Allow decorators on private members and class expressions (#​14548 by @​fisker)
// Input
class A {
  @&#8203;decorator()
  #privateMethod () {}
}

// Prettier 2.8.5
SyntaxError: Decorators are not valid here. (2:3)
  1 | class A {
> 2 |   @&#8203;decorator()
    |   ^^^^^^^^^^^^
  3 |   #privateMethod () {}
  4 | }

// Prettier 2.8.6
class A {
  @&#8203;decorator()
  #privateMethod() {}
}

v2.8.5

Compare Source

diff

Support TypeScript 5.0 (#​14391 by @​fisker, #​13819 by @​fisker, @​sosukesuzuki)

TypeScript 5.0 introduces two new syntactic features:

  • const modifiers for type parameters
  • export type * declarations
Add missing parentheses for decorator (#​14393 by @​fisker)
// Input
class Person {
  @&#8203;(myDecoratorArray[0])
  greet() {}
}

// Prettier 2.8.4
class Person {
  @&#8203;myDecoratorArray[0]
  greet() {}
}

// Prettier 2.8.5
class Person {
  @&#8203;(myDecoratorArray[0])
  greet() {}
}
Add parentheses for TypeofTypeAnnotation to improve readability (#​14458 by @​fisker)
// Input
type A = (typeof node.children)[];

// Prettier 2.8.4
type A = typeof node.children[];

// Prettier 2.8.5
type A = (typeof node.children)[];
Support max_line_length=off when parsing .editorconfig (#​14516 by @​josephfrazier)

If an .editorconfig file is in your project and it sets max_line_length=off for the file you're formatting, it will be interpreted as a printWidth of Infinity rather than being ignored (which previously resulted in the default printWidth of 80 being applied, if not overridden by Prettier-specific configuration).

<!-- Input -->
<div className='HelloWorld' title={`You are visitor number ${ num }`} onMouseOver={onMouseOver}/>

<!-- Prettier 2.8.4 -->
<div
  className="HelloWorld"
  title={`You are visitor number ${num}`}
  onMouseOver={onMouseOver}
/>;

<!-- Prettier 2.8.5 -->
<div className="HelloWorld" title={`You are visitor number ${num}`} onMouseOver={onMouseOver} />;

v2.8.4

Compare Source

diff

Fix leading comments in mapped types with readonly (#​13427 by @​thorn0, @​sosukesuzuki)
// Input
type Type = {
  // comment
  readonly [key in Foo];
};

// Prettier 2.8.3
type Type = {
  readonly // comment
  [key in Foo];
};

// Prettier 2.8.4
type Type = {
  // comment
  readonly [key in Foo];
};
Group params in opening block statements (#​14067 by @​jamescdavis)

This is a follow-up to #​13930 to establish wrapping consistency between opening block statements and else blocks by grouping params in opening blocks. This causes params to break to a new line together and not be split across lines unless the length of params exceeds the print width. This also updates the else block wrapping to behave exactly the same as opening blocks.

{{! Input }}
{{#block param param param param param param param param param param as |blockParam|}}
  Hello
{{else block param param param param param param param param param param as |blockParam|}}
  There
{{/block}}

{{! Prettier 2.8.3 }}
{{#block
  param
  param
  param
  param
  param
  param
  param
  param
  param
  param
  as |blockParam|
}}
  Hello
{{else block param
param
param
param
param
param
param
param
param
param}}
  There
{{/block}}

{{! Prettier 2.8.4 }}
{{#block
  param param param param param param param param param param
  as |blockParam|
}}
  Hello
{{else block
  param param param param param param param param param param
  as |blockParam|
}}
  There
{{/block}}
Ignore files in .sl/ (#​14206 by @​bolinfest)

In Sapling SCM, .sl/ is the folder where it stores its state, analogous to .git/ in Git. It should be ignored in Prettier like the other SCM folders.

Recognize @satisfies in Closure-style type casts (#​14262 by @​fisker)
// Input
const a = /** @&#8203;satisfies {Record<string, string>} */ ({hello: 1337});
const b = /** @&#8203;type {Record<string, string>} */ ({hello: 1337});

// Prettier 2.8.3
const a = /** @&#8203;satisfies {Record<string, string>} */ { hello: 1337 };
const b = /** @&#8203;type {Record<string, string>} */ ({ hello: 1337 });

// Prettier 2.8.4
const a = /** @&#8203;satisfies {Record<string, string>} */ ({hello: 1337});
const b = /** @&#8203;type {Record<string, string>} */ ({hello: 1337});
Fix parens in inferred function return types with extends (#​14279 by @​fisker)
// Input
type Foo<T> = T extends ((a) => a is infer R extends string) ? R : never;

// Prettier 2.8.3 (First format)
type Foo<T> = T extends (a) => a is infer R extends string ? R : never;

// Prettier 2.8.3 (Second format)
SyntaxError: '?' expected. 

// Prettier 2.8.4
type Foo<T> = T extends ((a) => a is infer R extends string) ? R : never;

v2.8.3

Compare Source

diff

Allow self-closing tags on custom elements (#​14170 by @​fisker)

See Angular v15.1.0 release note for details.

// Input
<app-test/>

// Prettier 2.8.2
SyntaxError: Only void and foreign elements can be self closed "app-test" (1:1)
> 1 | <app-test/>
    | ^^^^^^^^^
  2 |

// Prettier 2.8.3
<app-test />

v2.8.2

Compare Source

diff

Don't lowercase link references (#​13155 by @​DerekNonGeneric & @​fisker)
<!-- Input -->
We now don't strictly follow the release notes format suggested by [Keep a Changelog].

[Keep a Changelog]: https://example.com/

<!-- Prettier 2.8.1 -->
We now don't strictly follow the release notes format suggested by [Keep a Changelog].

[keep a changelog]: https://example.com/
<!--
^^^^^^^^^^^^^^^^^^ lowercased
-->

<!-- Prettier 2.8.2 -->
<Same as input>
Preserve self-closing tags (#​13691 by @​dcyriller)
{{! Input }}
<div />
<div></div>
<custom-component />
<custom-component></custom-component>
<i />
<i></i>
<Component />
<Component></Component>

{{! Prettier 2.8.1 }}
<div></div>
<div></div>
<custom-component></custom-component>
<custom-component></custom-component>
<i></i>
<i></i>
<Component />
<Component />

{{! Prettier 2.8.2 }}
<div />
<div></div>
<custom-component />
<custom-component></custom-component>
<i />
<i></i>
<Component />
<Component />
Allow custom "else if"-like blocks with block params (#​13930 by @​jamescdavis)

#​13507 added support for custom block keywords used with else, but failed to allow block params. This updates printer-glimmer to allow block params with custom "else if"-like blocks.

{{! Input }}
{{#when isAtWork as |work|}}
  Ship that
  {{work}}!
{{else when isReading as |book|}}
  You can finish
  {{book}}
  eventually...
{{else}}
  Go to bed!
{{/when}}

{{! Prettier 2.8.1 }}
{{#when isAtWork as |work|}}
  Ship that
  {{work}}!
{{else when isReading}}
  You can finish
  {{book}}
  eventually...
{{else}}
  Go to bed!
{{/when}}

{{! Prettier 2.8.2 }}
{{#when isAtWork as |work|}}
  Ship that
  {{work}}!
{{else when isReading as |book|}}
  You can finish
  {{book}}
  eventually...
{{else}}
  Go to bed!
{{/when}}
Preserve empty lines between nested SCSS maps (#​13931 by @​jneander)
/* Input */
$map: (
  'one': (
     'key': 'value',
  ),

  'two': (
     'key': 'value',
  ),
)

/* Prettier 2.8.1 */
$map: (
  'one': (
     'key': 'value',
  ),
  'two': (
     'key': 'value',
  ),
)

/* Prettier 2.8.2 */
$map: (
  'one': (
     'key': 'value',
  ),

  'two': (
     'key': 'value',
  ),
)
Fix missing parentheses when an expression statement starts with let[ (#​14000, #​14044 by @​fisker, @​thorn0)
// Input
(let[0] = 2);

// Prettier 2.8.1
let[0] = 2;

// Prettier 2.8.1 (second format)
SyntaxError: Unexpected token (1:5)
> 1 | let[0] = 2;
    |     ^
  2 |

// Prettier 2.8.2
(let)[0] = 2;
Fix semicolon duplicated at the end of LESS file (#​14007 by @​mvorisek)
// Input
@&#8203;variable: {
  field: something;
};

// Prettier 2.8.1
@&#8203;variable: {
  field: something;
}; ;

// Prettier 2.8.2
@&#8203;variable: {
  field: something;
};
Fix no space after unary minus when followed by opening parenthesis in LESS (#​14008 by @​mvorisek)
// Input
.unary_minus_single {
  margin: -(@&#8203;a);
}

.unary_minus_multi {
  margin: 0 -(@&#8203;a);
}

.binary_minus {
  margin: 0 - (@&#8203;a);
}

// Prettier 2.8.1
.unary_minus_single {
  margin: - (@&#8203;a);
}

.unary_minus_multi {
  margin: 0 - (@&#8203;a);
}

.binary_minus {
  margin: 0 - (@&#8203;a);
}

// Prettier 2.8.2
.unary_minus_single {
  margin: -(@&#8203;a);
}

.unary_minus_multi {
  margin: 0 -(@&#8203;a);
}

.binary_minus {
  margin: 0 - (@&#8203;a);
}
Do not change case of property name if inside a variable declaration in LESS (#​14034 by @​mvorisek)
// Input
@&#8203;var: {
  preserveCase: 0;
};

// Prettier 2.8.1
@&#8203;var: {
  preservecase: 0;
};

// Prettier 2.8.2
@&#8203;var: {
  preserveCase: 0;
};
Fix formatting for auto-accessors with comments (#​14038 by @​fisker)
// Input
class A {
  @&#8203;dec()
  // comment
  accessor b;
}

// Prettier 2.8.1
class A {
  @&#8203;dec()
  accessor // comment
  b;
}

// Prettier 2.8.1 (second format)
class A {
  @&#8203;dec()
  accessor; // comment
  b;
}

// Prettier 2.8.2
class A {
  @&#8203;dec()
  // comment
  accessor b;
}
Add parentheses for TSTypeQuery to improve readability (#​14042 by @​onishi-kohei)
// Input
a as (typeof node.children)[number]
a as (typeof node.children)[]
a as ((typeof node.children)[number])[]

// Prettier 2.8.1
a as typeof node.children[number];
a as typeof node.children[];
a as typeof node.children[number][];

// Prettier 2.8.2
a as (typeof node.children)[number];
a as (typeof node.children)[];
a as (typeof node.children)[number][];
Fix displacing of comments in default switch case (#​14047 by @​thorn0)

It was a regression in Prettier 2.6.0.

// Input
switch (state) {
  default:
    result = state; // no change
    break;
}

// Prettier 2.8.1
switch (state) {
  default: // no change
    result = state;
    break;
}

// Prettier 2.8.2
switch (state) {
  default:
    result = state; // no change
    break;
}
Support type annotations on auto accessors via babel-ts (#​14049 by @​sosukesuzuki)

The bug that @babel/parser cannot parse auto accessors with type annotations has been fixed. So we now support it via babel-ts parser.

class Foo {
  accessor prop: number;
}
Fix formatting of empty type parameters (#​14073 by @​fisker)
// Input
const foo: bar</* comment */> = () => baz;

// Prettier 2.8.1
Error: Comment "comment" was not printed. Please report this error!

// Prettier 2.8.2
const foo: bar</* comment */> = () => baz;
Add parentheses to head of ExpressionStatement instead of the whole statement (#​14077 by @​fisker)
// Input
({}).toString.call(foo) === "[object Array]"
  ? foo.forEach(iterateArray)
  : iterateObject(foo);

// Prettier 2.8.1
({}.toString.call(foo) === "[object Array]"
  ? foo.forEach(iterateArray)
  : iterateObject(foo));

// Prettier 2.8.2
({}).toString.call(foo.forEach) === "[object Array]"
  ? foo.forEach(iterateArray)
  : iterateObject(foo);
Fix comments after directive (#​14081 by @​fisker)
// Input
"use strict" /* comment */;

// Prettier 2.8.1 (with other js parsers except `babel`)
Error: Comment "comment" was not printed. Please report this error!

// Prettier 2.8.2
<Same as input>
Fix formatting for comments inside JSX attribute (#​14082 by @​fisker)
// Input
function MyFunctionComponent() {
  <button label=/*old*/"new">button</button>
}

// Prettier 2.8.1
Error: Comment "old" was not printed. Please report this error!

// Prettier 2.8.2
function MyFunctionComponent() {
  <button label=/*old*/ "new">button</button>;
}
Quote numeric keys for json-stringify parser (#​14083 by @​fisker)
// Input
{0: 'value'}

// Prettier 2.8.1
{
  0: "value"
}

// Prettier 2.8.2
{
  "0": "value"
}
Fix removing commas from function arguments in maps (#​14089 by @​sosukesuzuki)
/* Input */
$foo: map-fn(
  (
    "#{prop}": inner-fn($first, $second),
  )
);

/* Prettier 2.8.1 */
$foo: map-fn(("#{prop}": inner-fn($first $second)));

/* Prettier 2.8.2 */
$foo: map-fn(
  (
    "#{prop}": inner-fn($first, $second),
  )
);
Do not insert space in LESS property access (#​14103 by @​fisker)
// Input
a {
  color: @&#8203;colors[@&#8203;white];
}

// Prettier 2.8.1
a {
  color: @&#8203;colors[ @&#8203;white];
}

// Prettier 2.8.2
<Same as input>

v2.8.1

Compare Source

diff

Fix SCSS map in arguments (#​9184 by @​agamkrbit)
// Input
$display-breakpoints: map-deep-merge(
  (
    "print-only": "only print",
    "screen-only": "only screen",
    "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})",
  ),
  $display-breakpoints
);

// Prettier 2.8.0
$display-breakpoints: map-deep-merge(
  (
    "print-only": "only print",
    "screen-only": "only screen",
    "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, " sm
      ")-1})",
  ),
  $display-breakpoints
);

// Prettier 2.8.1
$display-breakpoints: map-deep-merge(
  (
    "print-only": "only print",
    "screen-only": "only screen",
    "xs-only": "only screen and (max-width: #{map-get($grid-breakpoints, "sm")-1})",
  ),
  $display-breakpoints
);
Support auto accessors syntax (#​13919 by @​sosukesuzuki)

Support for Auto Accessors Syntax landed in TypeScript 4.9.

(Doesn't work well with babel-ts parser)

class Foo {
  accessor foo: number = 3;
}

v2.8.0

Compare Source

diff

🔗 Release Notes


Configuration

📅 Schedule: Branch creation - "after 9pm on sunday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This MR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by Michal Bryxí

Merge request reports

Loading