Skip to content

fix(deps): unpin all dependencies#8171

Merged
serhalp merged 1 commit into
mainfrom
fix/unpin-all
May 12, 2026
Merged

fix(deps): unpin all dependencies#8171
serhalp merged 1 commit into
mainfrom
fix/unpin-all

Conversation

@serhalp
Copy link
Copy Markdown
Member

@serhalp serhalp commented Apr 17, 2026

Summary

We were pinning deps to partially mimic the published npm-shrinkwrap.json for package managers like yarn and pnpm that don't support it.

Since we stopped shipping the shrinkwrap in #8163, the pinning is no longer relevant.

This will help users' dependency trees get deduped much further.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 17, 2026

Review Change Stack
No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d28e7239-9999-4d25-a121-7c105e8cbe0d

📥 Commits

Reviewing files that changed from the base of the PR and between 07fa4d1 and 52f6266.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (2)
  • package.json
  • renovate.json5
💤 Files with no reviewable changes (1)
  • renovate.json5

📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Updated all dependency and development dependency version specifications from fixed exact versions to semantic versioning ranges, enabling more flexible version resolution for compatible releases.
    • Modified dependency management configuration to apply version constraint rules selectively across test files.

Walkthrough

This PR updates dependency version management by relaxing root package.json version specifiers from exact pins to semver ranges (predominantly ^ prefixes with some ~), while reconfiguring Renovate automation to pin versions in test package.json files instead of the root package.json. This allows root dependencies to accept minor and patch updates, while test dependencies remain strictly pinned.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: converting pinned dependency versions to semver ranges across the package.json file.
Description check ✅ Passed The description is related to the changeset, explaining the rationale for unpinning dependencies (removal of npm-shrinkwrap.json) and the intended benefit for users.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/unpin-all

Warning

Review ran into problems

🔥 Problems

Timed out fetching pipeline failures after 30000ms


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 17, 2026

📊 Benchmark results

Comparing with 07fa4d1

  • Dependency count: 1,134 ⬆️ 6.44% increase vs. 07fa4d1
  • Package size: 378 MB ⬆️ 5.64% increase vs. 07fa4d1
  • Number of ts-expect-error directives: 355 (no change)

@XhmikosR
Copy link
Copy Markdown
Contributor

This would need to happen in the other netlify packages too. It's clear that the duplicate packages increase by a lot...

But assuming you guys really want to reduce your deps tree, this is a must change. Next, you'd need to start finding other places that deps need deduplication. v25.0.0 has ~100 duplicate packages. With this PR the number will increase, as it seems. Remember, updating deps blindly to the latest version, is not the right approach all the time, if one cares about the deps tree/count. Unless you can do it across all your dependencies, which isn't realistic...

Just my 2 cents as a netlify-cli user who has reported the issue for years :)

That is exactly the reason why I started contributing to dependents (precinct dependency, etc) packages in the first place.

Copy link
Copy Markdown

@G-Rath G-Rath left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❤️

We were pinning deps to partially mimic the published npm-shrinkwrap.json for package managers like yarn and pnpm that don't support it.

Since we stopped shipping the shrinkwrap in #8163, the pinning is no longer relevant.

This will help users' dependency trees get deduped much further.
@serhalp serhalp marked this pull request as ready for review May 12, 2026 11:43
@serhalp serhalp requested a review from a team as a code owner May 12, 2026 11:43
@serhalp
Copy link
Copy Markdown
Member Author

serhalp commented May 12, 2026

📊 Benchmark results

Comparing with 07fa4d1

* **Dependency count**: 1,134 ⬆️ **6.44% increase** vs. [07fa4d1](https://github.com/netlify/cli/commit/07fa4d1b72ba07aa53e75d82aaffa62b42e70286)

* **Package size**: 378 MB ⬆️ **5.64% increase** vs. [07fa4d1](https://github.com/netlify/cli/commit/07fa4d1b72ba07aa53e75d82aaffa62b42e70286)

For the record, this is somewhat misleading. Actual users will see a decrease in count and size. We're seeing an increase due to our own package-lock and the fact that I tried to keep the scope of change in this PR limited (we can follow up to do a deep upgrade of our dep tree in this repo).

@serhalp serhalp merged commit 47da71e into main May 12, 2026
51 of 54 checks passed
@serhalp serhalp deleted the fix/unpin-all branch May 12, 2026 11:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants