Skip to content

refactor: Remove unused lint-staged dependency and husky configuration - #10673

Merged
mtrezza merged 1 commit into
parse-community:alphafrom
mtrezza:refactor/remove-lint-staged
Sep 23, 2026
Merged

mtrezza merged 1 commit into
parse-community:alphafrom
mtrezza:refactor/remove-lint-staged

Conversation

@mtrezza

@mtrezza mtrezza commented Sep 22, 2026 •

Copy link
Copy Markdown
Member

Issue

lint-staged is declared as a devDependency and configured in package.json, but nothing in the repository ever runs it.

  • husky was removed as an unused dependency in perf: Remove unused dependencies #9943 (perf: Remove unused dependencies), which dropped husky, flow-bin, graphql-tag, router and @babel/eslint-parser — but left lint-staged and its configuration behind.
  • There is no .husky/ directory, and there was none even before perf: Remove unused dependencies #9943.
  • No npm script invokes lint-staged (prepare is npm run build).
  • No workflow references it: grep -c lint-staged returns 0 for both .github/workflows/ci.yml and release-automated.yml.
  • A repository-wide search for lint-staged matches only package.json itself.

The leftover husky key is also stale in its own right. It uses the v4 husky.hooks format:

"husky": { "hooks": { "pre-commit": "lint-staged" } }

That format has not been supported since husky v5 (2021), so the hook was already inert even while husky 9.x was still installed.

The practical consequence is recurring maintenance noise: Dependabot keeps proposing lint-staged upgrades (#10595 proposes 17.2.0) for a tool that cannot execute. lint-staged@17 additionally raises engines.node to >=22.22.1, which conflicts with this project's >=20.19.0 <21.0.0 || >=22.13.0 <23.0.0 || >=24.11.0 <25.0.0, so accepting that bump would introduce an engine conflict purely to maintain dead configuration.

Closes #10595

Approach

Remove the lint-staged devDependency and both orphaned package.json keys (husky and lint-staged), completing the cleanup started in #9943.

package.json and package-lock.json only; no source changes.

Breaking Changes

None. The removed tooling was not reachable from any script, hook or workflow.

Notes

  • The lockfile loses 35 packages (lint-staged plus its tree: listr2, log-update, cli-truncate, slice-ansi, string-argv, tinyexec, rfdc, colorette and nested copies). No package is added, and every removed entry was already dev: true — no production dependency is affected.
  • prettier (3.8.1) and eslint (9.27.0) are unaffected; they are separate devDependencies with their own prettier, lint and lint-fix scripts. Only the unused pre-commit wiring that referenced them is removed.
  • If pre-commit formatting is wanted in future, the right change is the opposite one — re-add husky, add a prepare hook and a .husky/pre-commit file — rather than keeping configuration that no longer has a runner.

Verified locally: npm run lint clean, npm run build compiles 197 files, npm run ci:definitionsCheck passes.

Tasks

  • Verified no script, git hook or workflow invokes the removed tooling

Summary by CodeRabbit

  • Chores
    • Removed automated pre-commit checks and their supporting development tools.
    • Updated the development workflow configuration accordingly.
    • No changes were made to application features, functionality, or runtime behavior.
    • The available end-user experience remains unchanged.

@parse-github-assistant

Copy link
Copy Markdown

🚀 Thanks for opening this pull request! We appreciate your effort in improving the project. Please let us know once your pull request is ready for review.

Tip

  • Keep pull requests small. Large PRs will be rejected. Break complex features into smaller, incremental PRs.
  • Use Test Driven Development. Write failing tests before implementing functionality. Ensure tests pass.
  • Group code into logical blocks. Add a short comment before each block to explain its purpose.
  • We offer conceptual guidance. Coding is up to you. PRs must be merge-ready for human review.
  • Our review focuses on concept, not quality. PRs with code issues will be rejected. Use an AI agent.
  • Human review time is precious. Avoid review ping-pong. Inspect and test your AI-generated code.

Note

Please respond to review comments from AI agents just like you would to comments from a human reviewer. Let the reviewer resolve their own comments, unless they have reviewed and accepted your commit, or agreed with your explanation for why the feedback was incorrect.

Caution

Pull requests must be written using an AI agent with human supervision. Pull requests written entirely by a human will likely be rejected, because of lower code quality, higher review effort and the higher risk of introducing bugs. Please note that AI review comments on this pull request alone do not satisfy this requirement. Our CI and AI review are safeguards, not development tools. If many issues are flagged, rethink your development approach. Invest more effort in planning and design rather than using review cycles to fix low-quality code.

@coderabbitai

coderabbitai Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Essentials

Run ID: ff17b836-d70f-4379-8461-d1023545aafb

📥 Commits

Reviewing files that changed from the base of the PR and between c60dfc3 and b3373a7.

📒 Files selected for processing (1)
  • package-lock.json
💤 Files with no reviewable changes (1)
  • package-lock.json

Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review.


📝 Walkthrough

Walkthrough

The change removes lint-staged from development dependencies, deletes its Husky pre-commit hook and configuration, and removes its package-lock records and legacy mappings.

Changes

lint-staged removal

Layer / File(s) Summary
Remove lint-staged configuration and lock entries
package.json, package-lock.json
package.json no longer declares lint-staged or its Husky pre-commit hook and configuration. package-lock.json removes lint-staged and associated dependency records and mappings.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to b3373

The cleanup does not leave a broken install, hook, or workflow reference and is ready to merge.

🚥 Pre-merge checks | ✅ 7
✅ Passed checks (7 passed)
Check name Status Explanation
Title check ✅ Passed The title begins with the permitted refactor: prefix, uses a capitalized first word, and accurately describes the removal of unused lint-staged and Husky configuration.
Description check ✅ Passed The description includes complete Issue, Approach, and Tasks sections. It clearly explains the cleanup, scope, verification, and absence of breaking changes. The standard security and license notices …
Linked Issues check ✅ Passed Issue [#10595] requests maintenance of lint-staged 16.4.0. The PR removes the unused dependency, its Husky hook, its configuration, and related lockfile records. The PR summary reports that no scrip…
Out of Scope Changes check ✅ Passed The reviewed summary limits changes to package.json and package-lock.json. The removed entries cover lint-staged, its stale Husky configuration, and related dependency records. These changes sup…
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Security Check ✅ Passed PASS. The PR changes only package.json and package-lock.json. The manifest removes unused lint-staged, husky, and lint-staged configuration. The lockfile has 0 additions and 804 deletions; a…
Engage In Review Feedback ✅ Passed The current review produced zero actionable findings. Therefore, no review feedback required engagement, implementation, or reviewer retraction in this review.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.83%. Comparing base (2f09a30) to head (b3373a7).
⚠️ Report is 2 commits behind head on alpha.

Additional details and impacted files
@@            Coverage Diff             @@
##            alpha   #10673      +/-   ##
==========================================
+ Coverage   93.82%   93.83%   +0.01%     
==========================================
  Files         192      192              
  Lines       16882    16882              
  Branches      252      252              
==========================================
+ Hits        15840    15842       +2     
+ Misses       1020     1018       -2     
  Partials       22       22              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mtrezza
mtrezza force-pushed the refactor/remove-lint-staged branch 3 times, most recently from 11b21ef to c60dfc3 Compare September 23, 2026 00:48
@mtrezza
mtrezza force-pushed the refactor/remove-lint-staged branch from c60dfc3 to b3373a7 Compare September 23, 2026 01:51
@mtrezza
mtrezza merged commit 3454184 into parse-community:alpha Sep 23, 2026
25 checks passed
@parseplatformorg

Copy link
Copy Markdown
Contributor

🎉 This change has been released in version 9.10.1-alpha.19

@parseplatformorg parseplatformorg added the state:released-alpha Released as alpha version label Sep 23, 2026
@mtrezza
mtrezza deleted the refactor/remove-lint-staged branch September 23, 2026 09:31
@parseplatformorg

Copy link
Copy Markdown
Contributor

🎉 This change has been released in version 9.10.1

@parseplatformorg parseplatformorg added the state:released Released as stable version label Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state:released Released as stable version state:released-alpha Released as alpha version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants