Skip to content

chore(dev-deps): bump the dev-major group across 1 directory with 3 updates#426

Open
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/npm_and_yarn/dev-major-bea4eb5e5f
Open

chore(dev-deps): bump the dev-major group across 1 directory with 3 updates#426
dependabot[bot] wants to merge 2 commits into
mainfrom
dependabot/npm_and_yarn/dev-major-bea4eb5e5f

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 29, 2026

Copy link
Copy Markdown
Contributor

Bumps the dev-major group with 3 updates in the / directory: @types/node, eslint-plugin-n and eslint-plugin-unicorn.

Updates @types/node from 25.6.2 to 26.0.0

Commits

Updates eslint-plugin-n from 17.24.0 to 18.1.0

Release notes

Sourced from eslint-plugin-n's releases.

v18.1.0

18.1.0 (2026-06-08)

🌟 Features

  • Allow workspace root dependencies for no-extraneous-import (#536) (fd4f84e)
  • support devEngines.runtime from package.json (#530) (9ef3c32)

🩹 Fixes

  • Allow leading forwardslash in package.json "files" field (#534) (#535) (5fde036)
  • no-extraneous-import for type-only @​types dependencies (#533) (63a90ef)
  • prefer-promises/fs: add missing fs.promises APIs (cp, glob, lutimes, opendir, rm, statfs) (#532) (75fbe34)

📚 Documentation

  • fix usage in README.md (c1b1b84)
  • Update online playground link in README (058916a)

v18.0.1

18.0.1 (2026-05-05)

🩹 Fixes

  • Update TypeScript peer dependency version constraint (8906195)

v18.0.0

18.0.0 (2026-05-04)

⚠ BREAKING CHANGES

  • migrate commonjs to esm (#510)
  • no-sync: move ts-declaration-location to peerDependencies
  • no-unpublished-bin: disallow extra properties in options (#456)
  • remove no-unpublished-bin from recommended (#485)
  • requires node.js >=20 & eslint >= 8.57.1 (#503)

🌟 Features

  • migrate commonjs to esm (#510) (db64bd1)
  • no-sync: move ts-declaration-location to peerDependencies (4729438)
  • node-builtins: add support data for Node.js 22.20–22.21 and 24.0–24.12 (#496) (e8e0b00)
  • requires node.js >=20 & eslint >= 8.57.1 (#503) (1d6770e)

... (truncated)

Changelog

Sourced from eslint-plugin-n's changelog.

18.1.0 (2026-06-08)

🌟 Features

  • Allow workspace root dependencies for no-extraneous-import (#536) (fd4f84e)
  • support devEngines.runtime from package.json (#530) (9ef3c32)

🩹 Fixes

  • Allow leading forwardslash in package.json "files" field (#534) (#535) (5fde036)
  • no-extraneous-import for type-only @​types dependencies (#533) (63a90ef)
  • prefer-promises/fs: add missing fs.promises APIs (cp, glob, lutimes, opendir, rm, statfs) (#532) (75fbe34)

📚 Documentation

  • fix usage in README.md (c1b1b84)
  • Update online playground link in README (058916a)

18.0.1 (2026-05-05)

🩹 Fixes

  • Update TypeScript peer dependency version constraint (8906195)

18.0.0 (2026-05-04)

⚠ BREAKING CHANGES

  • migrate commonjs to esm (#510)
  • no-sync: move ts-declaration-location to peerDependencies
  • no-unpublished-bin: disallow extra properties in options (#456)
  • remove no-unpublished-bin from recommended (#485)
  • requires node.js >=20 & eslint >= 8.57.1 (#503)

🌟 Features

  • migrate commonjs to esm (#510) (db64bd1)
  • no-sync: move ts-declaration-location to peerDependencies (4729438)
  • node-builtins: add support data for Node.js 22.20–22.21 and 24.0–24.12 (#496) (e8e0b00)
  • requires node.js >=20 & eslint >= 8.57.1 (#503) (1d6770e)

🩹 Fixes

  • Add explicit mapping for TypeScript extensions (#521) (1ad05c5)

... (truncated)

Commits
  • fc70bdf chore(master): release 18.1.0 (#528)
  • fd4f84e feat: Allow workspace root dependencies for no-extraneous-import (#536)
  • 5fde036 fix: Allow leading forwardslash in package.json "files" field (#534) (#535)
  • 63a90ef fix: no-extraneous-import for type-only @​types dependencies (#533)
  • 75fbe34 fix(prefer-promises/fs): add missing fs.promises APIs (cp, glob, lutimes, ope...
  • 058916a docs: Update online playground link in README
  • 9ef3c32 feat: support devEngines.runtime from package.json (#530)
  • c1b1b84 docs: fix usage in README.md
  • 4a6b76a chore(master): release 18.0.1 (#525)
  • 8906195 fix: Update TypeScript peer dependency version constraint
  • Additional commits viewable in compare view

Updates eslint-plugin-unicorn from 64.0.0 to 68.0.0

Release notes

Sourced from eslint-plugin-unicorn's releases.

v68.0.0

Breaking

Awesome

Now 300+ rules 🎉

New rules

Improvements

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

…pdates

Bumps the dev-major group with 3 updates in the / directory: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) and [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn).


Updates `@types/node` from 25.6.2 to 26.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `eslint-plugin-n` from 17.24.0 to 18.1.0
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Changelog](https://github.com/eslint-community/eslint-plugin-n/blob/master/CHANGELOG.md)
- [Commits](eslint-community/eslint-plugin-n@v17.24.0...v18.1.0)

Updates `eslint-plugin-unicorn` from 64.0.0 to 68.0.0
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases)
- [Commits](sindresorhus/eslint-plugin-unicorn@v64.0.0...v68.0.0)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-major
- dependency-name: eslint-plugin-n
  dependency-version: 18.1.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-major
- dependency-name: eslint-plugin-unicorn
  dependency-version: 68.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: dev-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Jun 29, 2026
@vercel

vercel Bot commented Jun 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cli-web-cli Ready Ready Preview, Comment Jun 29, 2026 9:40am

Request Review

eslint-plugin-unicorn v65–v68 added 151 new rules and renamed two:
- `no-array-for-each` → `no-for-each` (v66)
- `prevent-abbreviations` → `name-replacements` (v68)

Our "off" entries for the old names no longer applied, causing thousands
of lint violations. Also, v68 introduced a bug where the
`logical-assignment-operators` rule has `defaultOptions: [null]`, which
fails ESLint 10.3.0's stricter schema validation.

Changes:
- Override `unicorn/logical-assignment-operators` to `["error", "always"]`
  to bypass the broken defaultOptions (null fails schema validation)
- Add `unicorn/no-for-each: off` (renamed rule) and `unicorn/name-replacements: off`
  (renamed rule) alongside the now-stale old names
- Disable all new v65–v68 rules in recommended that cause violations in
  our codebase (to be enabled incrementally in follow-up PRs)
- Add a hooks directory override for `filename-case` (oclif hook dirs use
  underscore naming required by the framework, e.g. command_not_found)
- Fix a handful of real violations uncovered by the stricter v68 checks:
  - `use-terminal-visibility.ts`: ternary → `??`
  - `enter.ts`: remove useless `= undefined`
  - `e2e-mutable-messages.ts`: `.find()` → `.some()`
  - `did-you-mean.test.ts`: `a = a || b` → `a ||= b`
  - `AblyCliTerminal.tsx`: while-remove-firstChild loop → `replaceChildren()`

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ci-lockfile-regen

Copy link
Copy Markdown

Dependabot Fix Assessment

Package: `eslint-plugin-unicorn` `64.0.0` → `68.0.0` (major), `eslint-plugin-n` `17.24.0` → `18.1.0` (major), `@types/node` `25.6.2` → `26.0.0` (major)
Scope: devDependency
Workspace: root

What changed upstream

eslint-plugin-unicorn v64→v68 (the only package causing lint failures):

  • v65 added 32 new rules (e.g. `prefer-split-limit`, `no-this-outside-of-class`)
  • v66 added 74 new rules (e.g. `consistent-class-member-order`, `no-unnecessary-global-this`); renamed `no-array-for-each` → `no-for-each`
  • v67 added 16 new rules (e.g. `consistent-boolean-name`, `no-top-level-assignment-in-function`); added `logical-assignment-operators` (wraps ESLint builtin)
  • v68 added 37 new rules (e.g. `consistent-conditional-object-spread`, `default-export-style`); renamed `prevent-abbreviations` → `name-replacements`

All new rules are enabled by default in the `recommended` config, which we spread wholesale.

eslint-plugin-n and @types/node: No failures caused by these packages.

Migration concerns checked

  • Peer dependencies: OK
  • Type changes: OK — @types/node v26 had no breaking changes affecting our code
  • Config files: ⚠️ ESLint config needed updates (see below)
  • Module format: OK
  • React compatibility: OK
  • Monorepo impact: Only root ESLint config affected

What broke

All 3 CI workflows — Lint check: Same root cause in each:

  1. Schema validation crashunicorn/logical-assignment-operators (new in v67) inherits defaultOptions: [null] from the ESLint builtin rule. ESLint 10.3.0 validates defaultOptions against the rule schema, and null is not a valid option ("always" or "never" are the only allowed values). This crashed ESLint before it could even lint files.

  2. Renamed rules whose "off" entries stopped working:

    • unicorn/no-for-each (renamed from no-array-for-each in v66) — 34 violations
    • unicorn/name-replacements (renamed from prevent-abbreviations in v68) — 922 violations
  3. 151 new rules added to recommended — all triggered violations in existing code.

What was fixed

  • eslint.config.js: Override unicorn/logical-assignment-operators to ["error", "always"] to bypass the defaultOptions: [null] bug. Add no-for-each: off and name-replacements: off for the renamed rules. Turn off all new v65–v68 rules that cause violations (grouped by version with comments for easy future enablement). Added a file glob override for src/hooks/** and test/hooks/** to exempt oclif's required command_not_found underscore directory from filename-case.

  • Five real violations fixed while the rules were active:

    • packages/react-web-cli/src/use-terminal-visibility.ts: null-check ternary → ??
    • src/commands/channels/presence/enter.ts: removed useless = undefined initializer
    • test/helpers/e2e-mutable-messages.ts: .find() used only for existence check → .some()
    • test/hooks/command_not_found/did-you-mean.test.ts: a = a || ba ||= b (x2)
    • packages/react-web-cli/src/AblyCliTerminal.tsx: while-remove-firstChild loop → replaceChildren()

Verification

  • Build: ✅ (pnpm prepare — 0 errors)
  • Lint: ✅ (pnpm exec eslint . — 0 errors, 10 pre-existing warnings)
  • Unit tests: ✅ (185 files passed, 2531 tests)
  • Web CLI tests: ✅ (4 files passed, 57 tests)

Notes for reviewer

The 151 new unicorn rules are all disabled for now. They can be enabled incrementally in follow-up PRs — the comments in eslint.config.js group them by version (v65/v66/v67/v68) for easy reference. The most impactful to consider enabling first would be consistent-class-member-order, no-useless-else, no-useless-template-literals, and the logical operator rules.

The unicorn/logical-assignment-operators schema bug (defaultOptions: [null]) appears to be a bug in unicorn v67/v68 — it was reported upstream. Our workaround of explicitly specifying ["error", "always"] is correct regardless.

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

Development

Successfully merging this pull request may close these issues.

0 participants