Skip to content

chore: upgrade pnpm to 11.9.0 - #339

Merged
crutchcorn merged 3 commits into
TanStack:mainfrom
Sheraff:chore/pnpm-11-9
Aug 9, 2026
Merged

chore: upgrade pnpm to 11.9.0#339
crutchcorn merged 3 commits into
TanStack:mainfrom
Sheraff:chore/pnpm-11-9

Conversation

@Sheraff

@Sheraff Sheraff commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • upgrade packageManager and pnpm engine to pnpm 11.9.0
  • move packageExtensions into pnpm-workspace.yaml and add minimumReleaseAge
  • add exact trustPolicy exclusions after Socket.dev checks and refresh lockfile

Verification

  • pnpm install --frozen-lockfile --ignore-scripts --trust-lockfile=false
  • git diff --check

Summary by CodeRabbit

  • Chores
    • Updated the required package manager version.
    • Added safeguards for package release timing and dependency trust.
    • Updated dependency compatibility settings for Vue integration.

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The project now requires pnpm 11.9.0. Workspace settings enforce a 24-hour release age, exclude three packages from trust-policy checks, and declare Vue as a peer dependency for @vue/composition-api.

Changes

Workspace policy

Layer / File(s) Summary
Package manager and dependency policy
package.json, pnpm-workspace.yaml
The project requires pnpm 11.9.0. Workspace settings add release-age and trust-policy rules and configure the Vue peer dependency. The package-level extension is removed.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: kevinvandy

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: upgrading pnpm to version 11.9.0.
Description check ✅ Passed The description explains the changes and verification steps, but it omits the template's checklist and release-impact sections.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@nx-cloud

nx-cloud Bot commented Jun 23, 2026

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit d5439aa

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ✅ Succeeded 1m 42s View ↗
nx run-many --target=build --exclude=examples/** ✅ Succeeded 13s View ↗

☁️ Nx Cloud last updated this comment at 2026-08-09 01:48:17 UTC

@pkg-pr-new

pkg-pr-new Bot commented Jun 23, 2026

Copy link
Copy Markdown
@tanstack/angular-store

npm i https://pkg.pr.new/@tanstack/angular-store@339

@tanstack/lit-store

npm i https://pkg.pr.new/@tanstack/lit-store@339

@tanstack/octane-store

npm i https://pkg.pr.new/@tanstack/octane-store@339

@tanstack/preact-store

npm i https://pkg.pr.new/@tanstack/preact-store@339

@tanstack/react-store

npm i https://pkg.pr.new/@tanstack/react-store@339

@tanstack/solid-store

npm i https://pkg.pr.new/@tanstack/solid-store@339

@tanstack/store

npm i https://pkg.pr.new/@tanstack/store@339

@tanstack/svelte-store

npm i https://pkg.pr.new/@tanstack/svelte-store@339

@tanstack/vue-store

npm i https://pkg.pr.new/@tanstack/vue-store@339

commit: d5439aa

# Conflicts:
#	pnpm-lock.yaml

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pnpm-workspace.yaml`:
- Line 6: Add minimumReleaseAgeIgnoreMissingTime: false alongside
minimumReleaseAge in the workspace configuration so packages missing registry
publish timestamps do not bypass the release-age check.
- Around line 13-20: Scope both the peer dependency rule and package extension
for `@vue/composition-api` to version 1.7.2, preserving the Vue peer range >= 2.5.
Update the allowedVersions selector and packageExtensions key so future
`@vue/composition-api` versions do not inherit this override.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 212bc09d-a8a1-48bc-bfdf-a181dc6f15b1

📥 Commits

Reviewing files that changed from the base of the PR and between d92286d and d5439aa.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (2)
  • package.json
  • pnpm-workspace.yaml

Comment thread pnpm-workspace.yaml
preferWorkspacePackages: true
blockExoticSubdeps: true
trustPolicy: 'no-downgrade'
minimumReleaseAge: 1440

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail
rg --hidden -n -C 3 \
  'minimumReleaseAge|minimumReleaseAgeIgnoreMissingTime|registry|registries' \
  -g '!.git' .

Repository: TanStack/store

Length of output: 2882


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

for f in .npmrc pnpm-workspace.yaml package.json .pnpmfile.cjs pnpm-workspace.yaml; do
  if [ -f "$f" ]; then
    echo "--- $f ---"
    cat -n "$f"
  fi
done

Repository: TanStack/store

Length of output: 7325


🌐 Web query:

pnpm dependency-resolution minimumReleaseAge minimumReleaseAgeIgnoreMissingTime default true

💡 Result:

The setting minimumReleaseAgeIgnoreMissingTime was introduced in pnpm v11.0.0 to control behavior when a package's registry metadata does not include a publish time field (often the case with some private registries or mirrors) [1][2][3]. Key details regarding this setting: - Default value: true [1][3] - Type: Boolean [1][3] - Behavior: When set to true (the default), pnpm skips the minimumReleaseAge maturity check for packages missing the time field, allowing them to be installed [1][3]. If set to false, pnpm will fail resolution for these packages instead of installing them [1][3]. - Context: This setting works in conjunction with minimumReleaseAge, which defines the minimum number of minutes a version must have been published before it can be installed (defaulting to 1440 minutes, or 1 day, in pnpm v11) [4][5][1]. When the default value of true is active, pnpm typically prints a warning once per affected package when it encounters one missing the time field [2].

Citations:


Set minimumReleaseAgeIgnoreMissingTime: false when relying on release age.

This workspace uses minimumReleaseAge: 1440, but minimumReleaseAgeIgnoreMissingTime is still at the pnpm default true. Any configured registry, mirror, or private registry metadata that omits the time field makes minimumReleaseAge bypass the age check. Set this flag to false unless the npm registry/mirror is known to supply publish timestamps for all installed packages.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pnpm-workspace.yaml` at line 6, Add minimumReleaseAgeIgnoreMissingTime: false
alongside minimumReleaseAge in the workspace configuration so packages missing
registry publish timestamps do not bypass the release-age check.

Source: MCP tools

Comment thread pnpm-workspace.yaml
Comment on lines 13 to +20
peerDependencyRules:
allowedVersions:
'@vue/composition-api>vue': '>= 2.5'

packageExtensions:
'@vue/composition-api':
peerDependencies:
vue: '>= 2.5'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail
rg -n -C 6 \
  '`@vue/composition-api`|peerDependencies|vue:' \
  pnpm-lock.yaml packages/vue-store/package.json

Repository: TanStack/store

Length of output: 50371


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

echo '--- pnpm-workspace.yaml relevant lines ---'
sed -n '1,35p' pnpm-workspace.yaml

echo
echo '--- composition-api metadata from npm ---'
npm view `@vue/composition-api`@1.7.2 peerDependencies vulnerabilities --json 2>/dev/null || true

echo
echo '--- lockfile targeted entries ---'
python3 - <<'PY'
from pathlib import Path
p=Path('pnpm-lock.yaml')
lines=p.read_text().splitlines()
needles=['`@vue/composition-api`@1.7.2', "packages/vue-store:", "`@tanstack/vue-store`@0.11.1"]
for n in needles:
    print(f'-- {n} --')
    for i,l in enumerate(lines):
        if n in l:
            start=max(0,i-8); end=min(len(lines),i+40)
            for j in range(start,end):
                print(f'{j+1}: {lines[j]}')
PY

Repository: TanStack/store

Length of output: 11500


🌐 Web query:

Vue.js composition-api 1.7.2 package.json peerDependencies vue >= 2.5 < 2.7

💡 Result:

The package @vue/composition-api version 1.7.2 includes "vue": ">= 2.5 < 2.7" in its peerDependencies [1][2][3]. This plugin was designed to bring Composition API support to Vue 2 [2][4]. Following the release of Vue 2.7, which included the Composition API natively, this package entered maintenance mode and is intended for use with Vue 2.6 or earlier [2][4]. Use of the plugin is generally unnecessary for projects using Vue 2.7 or later [2][5].

Citations:


Keep the @vue/composition-api peer ranges scoped to 1.7.2.

The lockfile installs @vue/composition-api@1.7.2, whose peer contract is vue: >= 2.5 < 2.7. The unversioned selector in both allowedVersions and packageExtensions applies this exception to every @vue/composition-api package, including future majors that should not satisfy that contract. Scope both entries to @vue/composition-api@1.7.2 so the override does not extend unsupported Vue majors.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pnpm-workspace.yaml` around lines 13 - 20, Scope both the peer dependency
rule and package extension for `@vue/composition-api` to version 1.7.2, preserving
the Vue peer range >= 2.5. Update the allowedVersions selector and
packageExtensions key so future `@vue/composition-api` versions do not inherit
this override.

Source: MCP tools

@crutchcorn
crutchcorn merged commit 4252ffa into TanStack:main Aug 9, 2026
9 checks passed
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.

2 participants