fix(lint): resolve eslint-plugin-unicorn 65.0.0 violations#533
Conversation
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) from 64.0.0 to 65.0.0. - [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases) - [Commits](sindresorhus/eslint-plugin-unicorn@v64.0.0...v65.0.0) --- updated-dependencies: - dependency-name: eslint-plugin-unicorn dependency-version: 65.0.0 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
- Apply equivalent rewrites for new rules (prefer-split-limit, prefer-string-repeat, no-array-from-fill, prefer-array-some, prefer-string-pad-start-end, prefer-string-raw) - Add test-only overrides: no-this-outside-of-class (mocha function-style hooks) and prefer-https (intentional http:// test data for URL validation) - Exempt userName from consistent-compound-words: GitConfig identifiers mirror git config keys, and rename signingKey to userSigningKey to complete the user.* key mirroring Signed-off-by: Null;Variant <null@nullvariant.com> 🖥️ IDE: [Terminal](#) 🔌 Extension: [Claude Code](https://claude.ai/download) Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Model-Raw: claude-fable-5
🐗 Blaze's Release Review 📦No version bump. Just dependency changes... boring. Wake me up when it's deploy time! 😤
This review was ENTHUSIASTICALLY filed by nullvariant-blaze[bot] |
🐰 Mimi's Validation Report ✅All checks are looking good! Great job! 🎉 ⏳ Some checks are still running. I will keep watching!
This report was carefully prepared by nullvariant-mimi[bot] |
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.OpenSSF Scorecard
Scanned Files
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
🦥 Slow's Code Review 😩...yawn... Do I really have to review this?
| Split it up... reading long files is exhausting.
This review was reluctantly filed by nullvariant-slow[bot] |
👧 Luna's Exploration Report 📦No new dependencies added. Just version bumps! Nothing to explore here... 😴
This report was curiously compiled by nullvariant-luna[bot] |
🕊️ Ciel's Mediation ☀️*~~ gliding on a gentle breeze ~~ How serene!* 4 zoo members have reviewed this PR.
☀️ The zoo is in harmony. Everything looks peaceful from up here.
This mediation was peacefully delivered by nullvariant-ciel[bot] |
1 similar comment
🕊️ Ciel's Mediation ☀️*~~ gliding on a gentle breeze ~~ How serene!* 4 zoo members have reviewed this PR.
☀️ The zoo is in harmony. Everything looks peaceful from up here.
This mediation was peacefully delivered by nullvariant-ciel[bot] |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
PR Summary by QodoResolve eslint-plugin-unicorn v65 violations and restore linting/build checks WalkthroughsDescription• Bump eslint-plugin-unicorn to v65 and align codebase with new recommended rules. • Add targeted ESLint overrides for tests to preserve mocha patterns and HTTP test coverage. • Rename GitConfig signing key field to mirror git config keys and update sync logic/tests. Diagramgraph TD
A["package.json"] --> B["eslint-plugin-unicorn 65"] --> C["eslint.config.mjs"]
C --> D["Core: gitConfig"] --> E["Core: syncChecker"]
C --> F["Security: binaryResolver"]
C --> G["UI: documentationInternal"]
C --> H["Test suites"]
High-Level AssessmentThe following are alternative approaches to this PR: 1. Pin eslint-plugin-unicorn at v64 temporarily
2. Disable new unicorn rules globally
3. Use local eslint-disable comments at call sites
Recommendation: Proceed with the current approach: upgrade to v65 and apply semantically equivalent rewrites, while adding narrowly scoped test-only overrides where the rule would reduce coverage or conflict with mocha patterns. This keeps the stricter linting benefits in production code without degrading test intent or readability. File ChangesRefactor (4)
Tests (9)
Other (2)
|
|



Summary
Supersedes #526. Bumps eslint-plugin-unicorn from 64.0.0 to 65.0.0 (Dependabot commit cherry-picked as-is) and resolves all 39 lint violations introduced by the new recommended rules, so the
buildandSecurity Lintingchecks pass again.Changes
prefer-split-limit,prefer-string-repeat,no-array-from-fill,prefer-array-some,prefer-string-pad-start-end,prefer-string-raw(all verified semantically identical)no-this-outside-of-class(mocha function-style hooks usethis.timeout()) andprefer-https(intentionalhttp://test data for URL validation — the rule's auto-fix would silently erase the http-scheme branch coverage)userNamefromconsistent-compound-wordsvia surgicalreplacements: { userName: false }(keeps the other ~62 compound-word detections active):GitConfigidentifiers mirror git config keys (user.name/user.email/user.signingkey)GitConfig.signingKeytouserSigningKeyto complete theuser.*key mirroring (userName/userEmail/userSigningKey); theSyncMismatch.fieldvalues ('name' | 'email' | 'signingKey') are a separate key-suffix naming scheme surfaced in user-facing tooltips and are intentionally unchangedChecklist
General
npm test)npm run lint)npm run test:coverage) — statements 100% maintainedNaming Conventions (if adding/renaming functions)
is*functions returnbooleanonlyhas*functions returnbooleanonlyvalidate*functions return result object (not void)*OrThroworassert*prefixcheck*prefix used for pure predicates(No functions added or renamed — only the
GitConfig.userSigningKeyfield; conventions verified unaffected.)Security (if touching validation/security code)
src/core/constants.ts)src/validators/common.ts)// SECURITY:comments(
binaryResolver.tschange adds alimitargument to an existingsplit()— first element unchanged, defense chain untouched.)