Skip to content

Update dependency eslint-plugin-unicorn to v79 - #689

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-eslint
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/major-eslint

Conversation

@renovate

@renovate renovate Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
eslint-plugin-unicorn 76.0.0 → 79.0.0 age confidence

Release Notes

sindresorhus/eslint-plugin-unicorn (eslint-plugin-unicorn)

v79.0.0

Compare Source

Breaking

  • no-top-level-side-effects: Focus on mutations of globals, and remove it from the unopinionated preset (#​3915) 24abac4
    • Unknown calls are no longer reported by default. Enable the new checkUnknownCalls option for stricter checking.
    • Mutations of globals, like document.title = 'x' and Object.assign(globalThis, …), are now reported, also in declarations and default exports. You may see new reports.

Improvements

  • Infer types from JSDoc @type, @param, and @returns annotations in rules that use type information (#​3941) 2b4bfab
  • Handle template literals without expressions like strings in more rules (#​3943) 8bd8c06
  • Autofix more code that contains comments, while keeping the comments (#​3939) 87baf82
  • Fix autofixes in many rules that could produce broken code or wrong parentheses (#​3917) fed7eac
  • Make autofixes safer in many rules
    • Fixes that can change behavior in rare cases are now suggestions, for example in prefer-spread, prefer-math-min-max, prefer-modern-dom-apis, and prefer-switch.
  • Improve performance 175efaf 3dd8fd2
  • comment-content: Add ignore option (#​3950) 3fe046e
  • consistent-function-scoping: Ignore functions in Vitest hoisted factories (#​3905) 98912a9
  • custom-error-definition: Ignore abstract TypeScript classes (#​3934) ee3501f
  • no-non-function-verb-prefix: Ignore shorthand destructuring (#​3926) 76e5760
  • no-top-level-side-effects: Recognize more config helpers (#​3916) d459c51
  • no-useless-coercion: Preserve boolean return types in TypeScript (#​3904) bef1571
  • prefer-array-some: Check .find() results used as booleans (#​3913) c957bf3
  • prefer-default-parameters: Skip unsafe logical OR fallbacks (#​3951) bcec97a
  • prefer-includes: Skip incompatible TypeScript search values (#​3927) d66441a
  • prefer-includes-over-repeated-comparisons: Report negated and typed loose comparisons (#​3935) 6e21cb1
  • prefer-includes-over-repeated-comparisons: Preserve TypeScript union narrowing (#​3910) b5c479d
  • prefer-literal-ascii: Preserve escaped trailing spaces in templates (#​3911) 360094b
  • prefer-minimal-ternary: Skip minimizations that break types (#​3892) f022d6d
  • prefer-modern-math-apis: Use suggestions for changes that can affect numeric results (#​3914) 8af7c17
  • prefer-simple-condition-first: Improve typeof comparisons and guards (#​3948) ee3edf0
  • prefer-simplified-conditions: Handle equivalent logical expressions (#​3938) a0b2788
  • prefer-simplified-conditions: Factor common terms in longer chains and static templates (#​3942) 0d8c8bc
  • prefer-smaller-scope: Check TypeScript type aliases (#​3928) 290d922
  • prefer-string-raw: Preserve TypeScript literal types in autofixes (#​3912) 0611546
  • prefer-ternary: Preserve consecutive early-return guards (#​3945) 3fa840f
  • require-post-message-target-origin: Skip incompatible typed methods (#​3925) 387194b
  • throw-new-error: Ignore calls that return functions (#​3894) 5e35def

v78.0.0

Compare Source

New rules

Improvements

  • Add SOML support, including a recommended-soml preset (#​3870) 7419b83
  • Report code that contains comments instead of ignoring it (#​3847) 003f0bd
    • Many rules skipped code with comments. They now report it, and only withhold fixes that would remove comments. You may see new reports.
  • Fix cyclic resolution in type-aware checks (#​3826) 5e77e19
  • prefer-default-parameters: Add checkFallbackExpressions option (#​3837) 71bbf59
  • prefer-ternary: Add checkVaryingBase and checkComputedMemberAccess options (#​3869) 1af3c2b
  • consistent-boolean-name: Allow does prefix by default (#​3853) cfad028
  • consistent-boolean-name: Recognize promise-returning functions (#​3879) 769e3b8
  • consistent-boolean-name: Fix cyclic type parameter resolution (#​3821) 5c4808b
  • no-asterisk-prefix-in-documentation-comments: Remove shared indentation (#​3820) a92aee1
  • no-await-in-promise-methods: Clarify the message for nested await (#​3867) 8f73d53
  • no-immediate-mutation: Combine a declaration with an assignment that follows it immediately (#​3851) 811e467
  • no-negated-condition: Support && and || chains of negated operands (#​3834) 15bfade
  • no-top-level-side-effects: Allow known pure imported helpers, like defineConfig() and React memo(), and check default-exported expressions (#​3822) 3826236
  • no-unnecessary-parameters: Fix false positive for recursive defaults (#​3844) e2d8d0f
  • no-unnecessary-parameters: Ignore parameters named by type predicates (#​3859) f0c631c
  • no-using-resource-escape: Check TypeScript instantiation expressions (#​3833) 7a9f7df
  • prefer-at: Fix false positives for DOM collections (#​3842) ca78a7a
  • prefer-combined-guards: Combine non-literal exits in TypeScript when type information is available (#​3860) 2bcc7be
  • prefer-default-parameters: Support static template literal fallbacks (#​3835) 3d8b40a
  • prefer-default-parameters: Support fallbacks to earlier bindings (#​3840) d4bfc1c
  • prefer-default-parameters: Handle nullable fallback types (#​3858) d75786f
  • prefer-early-return, prefer-continue: Suggest opposite relational comparisons (#​3873) de2e6da
  • prefer-logical-operator-over-ternary: Handle non-boolean conditions (#​3843) 5c4d50c
  • prefer-minimal-ternary: Ignore formatting differences in shared expressions (#​3841) b0c2142
  • prefer-minimal-ternary: Prevent unsafe TypeScript object autofixes (#​3846) 2f33c91
  • prefer-observer-apis: Check let and var listener functions, and ignore reassigned listeners (#​3833) 7a9f7df
  • prefer-private-class-fields: Do not autofix reassigned methods, and suggest private arrow functions for bound methods (#​3823) 6f0f4bb
  • prefer-scoped-selector: Ignore queries on more non-element roots, like ownerDocument and getRootNode() (#​3833) 7a9f7df
  • prefer-spread: Prevent unsafe TypeScript autofixes (#​3882) 21e99ff
  • prefer-ternary: Support destructuring assignments (#​3852) e29d1ee
  • prefer-ternary: Support statements that differ in only one part, like call(test ? a : b) (#​3869) 1af3c2b
  • prefer-top-level-await: Allow cached promise assignments (#​3819) 2fb8eb6
  • prefer-top-level-await: Avoid false positives on non-promise calls (#​3883) 3f125f1
  • relative-url-style: Support complex Markdown labels, embedded HTML in Markdown, JSX, URL.canParse(), URL.parse(), and more HTML attributes (#​3854) 2760ce4
  • require-module-specifiers: Allow bare export {} in declaration files (#​3866) e727481
  • template-indent: Ignore templates with content on the opening line (#​3868) 921dd8c

v77.0.0

Compare Source

Breaking

  • Move CSS-only rules to eslint-cssicorn (#​3811) c3697c0
    • unicorn/no-deprecated-css-features → cssicorn/no-deprecated-features
    • unicorn/no-duplicate-css-selectors → cssicorn/no-duplicate-selectors
    • unicorn/no-duplicate-font-family-names → cssicorn/no-duplicate-font-family-names
    • unicorn/no-invalid-media-features → cssicorn/no-invalid-media-features
    • unicorn/no-nesting-with-mixed-specificity → cssicorn/no-nesting-with-mixed-specificity
    • unicorn/no-redundant-nested-style-rules → cssicorn/no-redundant-nested-style-rules
    • unicorn/no-unknown-css-annotations → cssicorn/no-unknown-annotations
    • unicorn/no-unknown-pseudo-selectors → cssicorn/no-unknown-pseudo-selectors
    • unicorn/no-unscoped-css-nesting-selector → cssicorn/no-unscoped-nesting-selector
    • unicorn/prefer-explicit-viewport-units → cssicorn/prefer-explicit-viewport-units
    • unicorn/prefer-media-feature-range-syntax → cssicorn/prefer-media-feature-range-syntax
  • Remove the deprecated flat/recommended and flat/all configs (#​3810) 6f989c6
    • Use recommended and all instead.

New rules

Improvements

  • Add recommended presets for non-JavaScript languages: recommended-css, recommended-html, recommended-json, recommended-markdown, recommended-toml, and recommended-yaml (#​3810) 6f989c6
  • Add support for more languages in some rules (#​3741) a330d28
    • JSON: consistent-compound-words, empty-brace-spaces, escape-case, name-replacements, no-manually-wrapped-comments, no-zero-fractions, number-literal-case, single-line-block-comment-style, string-content
    • CSS: consistent-compound-words, empty-brace-spaces, escape-case, id-match, name-replacements, no-zero-fractions, number-literal-case, relative-url-style, single-line-block-comment-style, string-content
    • HTML: consistent-compound-words, id-match, name-replacements, relative-url-style
    • Markdown: name-replacements, relative-url-style
    • YAML: consistent-compound-words, empty-brace-spaces, escape-case, name-replacements, no-manually-wrapped-comments, no-zero-fractions, number-literal-case, string-content
    • TOML: consistent-compound-words, empty-brace-spaces, name-replacements, no-zero-fractions
  • Let eslint-disable comments suppress reports instead of making rules skip the code, which made the directive look unused (#​3783) 2428f98
  • no-asterisk-prefix-in-documentation-comments: Support CSS and JSON, and enable in recommended preset (#​3725) d0f8a03
  • number-literal-case: Move from unopinionated to recommended preset 769e2d5
  • prefer-combined-guards: Add checkMultiStatementBodies option (#​3760) 490ff39
  • prefer-simplified-conditions: Add negatedConditions option (#​3778) 2bb9171
  • comment-content: Improve performance (#​3763) cbe4b6b
  • consistent-conditional-object-spread: Report unnecessary boolean casts in logical mode (#​3761) 1bc3b07
  • logical-assignment-operators: Support computed properties (#​3739) 1c7901f
  • name-replacements: Prefer repository over repo (#​3743) 54ff97f
  • no-await-in-promise-methods: Report nested await (#​3758) 8c2c194
  • no-invalid-argument-count: Avoid false positives for spread arguments (#​3781) 769208a
  • no-manually-wrapped-comments: Support block comments and CSS (#​3744) 1e82f7a
  • no-shorthand-property-overrides: Improve shorthand detection (#​3792) b1b8904
  • no-unnecessary-array-flat-map: Remove unnecessary singleton array wrappers (#​3782) eedbb2c
  • prefer-default-parameters: Report bindings with consistent fallback expressions (#​3780) 1ef535d
  • prefer-direct-iteration: Fix type inference for destructured bindings (#​3809) 93ef59c
  • prefer-early-return, prefer-continue: Check guards after other statements in checkShortBodies (#​3759) 6f405df
  • prefer-logical-operator-over-ternary: Only simplify boolean branches (#​3768) d84d561
  • prefer-simple-condition-first: Handle typeof guards (#​3740) 118000b
  • prefer-single-call: Make array call autofixes safe (#​3770) bcb9394
  • prefer-single-object-destructuring: Inline local sources (#​3779) fa417ff
  • prefer-uint8array-hex: Recognize more encoding patterns (#​3791) dd24a9a


Configuration

📅 Schedule: (in timezone Europe/Berlin)

  • Branch creation
    • At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday (* 0-4,22-23 * * 1-5)
    • Only on Sunday and Saturday (* * * * 0,6)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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

🔕 Ignore: Close this PR and you won't be reminded about this update again.


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from Shinigami92 as a code owner October 7, 2026 00:23
@renovate renovate Bot added the dependencies Pull requests that update a dependency file label Oct 7, 2026
@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Coverage Report

Status Category Percentage Covered / Total
🟢 Lines 93.91% (🎯 90%)
🟰 ±0%
1050 / 1118
🟢 Statements 93.79% (🎯 90%)
🟰 ±0%
1059 / 1129
🟢 Functions 97.97% (🎯 90%)
🟰 ±0%
145 / 148
🔴 Branches 88.49% (🎯 90%)
🟰 ±0%
692 / 782
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Unchanged Files
src/doctype-shortcut-registry.ts 100% 100% 100% 100%
src/index.ts 86.66% 100% 71.42% 86.66% 79-85
src/logger.ts 82.14% 42.85% 91.66% 82.14% 37-44, 93, 153-155
src/prettier.d.ts 100% 100% 100% 100%
src/printer.ts 94.02% 89.13% 100% 94.23% 343, 380, 546-548, 560-569, 574-585, 634-687, 726, 812-815, 1163, 1257, 1285, 1294, 1585, 1632, 1851, 1890, 2042-2047, 2091-2095
src/options/common.ts 100% 100% 100% 100%
src/options/constants.ts 100% 100% 100% 100%
src/options/converge.ts 100% 82.6% 100% 100%
src/options/index.ts 100% 100% 100% 100%
src/options/pug-attribute-separator.ts 75% 100% 100% 75% 52-54
src/options/pug-class-location.ts 100% 100% 100% 100%
src/options/pug-class-notation.ts 100% 100% 100% 100%
src/options/pug-closing-bracket-indent-depth.ts 100% 100% 100% 100%
src/options/pug-comment-preserve-spaces.ts 100% 100% 100% 100%
src/options/pug-explicit-div.ts 100% 100% 100% 100%
src/options/pug-framework.ts 100% 100% 100% 100%
src/options/pug-id-notation.ts 100% 100% 100% 100%
src/options/pug-preserve-attribute-brackets.ts 100% 100% 100% 100%
src/options/pug-preserve-whitespace.ts 100% 100% 100% 100%
src/options/pug-single-file-component-indentation.ts 100% 100% 100% 100%
src/options/pug-wrap-attributes.ts 100% 100% 100% 100%
src/options/types.ts 100% 100% 100% 100%
src/options/attribute-sorting/index.ts 100% 100% 100% 100%
src/options/attribute-sorting/utils.ts 96% 91.66% 100% 95.83% 82, 94
src/options/empty-attributes/index.ts 100% 100% 100% 100%
src/options/empty-attributes/types.ts 100% 100% 100% 100%
src/options/empty-attributes/utils.ts 100% 100% 100% 100%
src/utils/angular.ts 100% 100% 100% 100%
src/utils/common.ts 89.7% 86.76% 100% 88.88% 19, 27, 56, 258, 262, 269-272, 331
src/utils/script-mime-types.ts 100% 100% 100% 100%
src/utils/style-mime-types.ts 100% 100% 100% 100%
src/utils/svelte.ts 100% 100% 100% 100%
src/utils/vue.ts 100% 100% 100% 100%
Generated in workflow #1767 for commit 3ae3e3a by the Vitest Coverage Report Action

@renovate
renovate Bot force-pushed the renovate/major-eslint branch from 1ef7cf0 to a2775f7 Compare October 15, 2026 21:05
@renovate renovate Bot changed the title Update dependency eslint-plugin-unicorn to v77 Update dependency eslint-plugin-unicorn to v78 Oct 15, 2026
@renovate
renovate Bot force-pushed the renovate/major-eslint branch from a2775f7 to 3ae3e3a Compare October 26, 2026 20:10
@renovate renovate Bot changed the title Update dependency eslint-plugin-unicorn to v78 Update dependency eslint-plugin-unicorn to v79 Oct 26, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants