WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Conversation

@lachlancollins
Copy link
Member

@lachlancollins lachlancollins commented Nov 29, 2025

🎯 Changes

  • Add provenance check
  • Verify links in CI
  • Don't run prettier twice
  • Use experimental prettier CLI
  • Update Nx config
  • Remove @tanstack/config (not used)

βœ… Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested this code locally with pnpm test:pr.

πŸš€ Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is docs/CI/dev-only (no release).

Summary by CodeRabbit

  • Chores
    • Updated build tooling and workspace configs (including package manager bump to [email protected]).
    • Normalized line endings across the repo.
    • Enhanced CI with a provenance verification job.
    • Adjusted test orchestration and added a docs link-check test.
    • Tweaked workspace and package publishing flags and removed a couple npm workspace options.
    • Minor repo metadata and script cleanups.

✏️ Tip: You can customize this high-level summary in your review settings.

@changeset-bot
Copy link

changeset-bot bot commented Nov 29, 2025

⚠️ No Changeset found

Latest commit: 83878e0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai
Copy link

coderabbitai bot commented Nov 29, 2025

Walkthrough

Monorepo configuration updates: changesets schema bump with an experimental peer-dep option, workspace and pnpm flags/globs expanded, CI PR workflow adds a provenance job, npm/nx/package.json adjustments, and .gitattributes LF normalization.

Changes

Cohort / File(s) Summary
Changesets & Workspace
.changeset/config.json, pnpm-workspace.yaml
Bumped changesets schema to 3.1.2 and added experimental onlyUpdatePeerDependentsWhenOutOfRange; expanded workspace package globs and added workspace flags (cleanupUnusedCatalogs, linkWorkspacePackages, preferWorkspacePackages).
CI/CD & Workflows
.github/workflows/pr.yml
Added a new provenance job mirroring Preview checkout steps and running danielroe/[email protected] with fail-on-downgrade: true.
Package Manager & Repo config
.npmrc, package.json
Removed link-workspace-packages and prefer-workspace-packages from .npmrc; removed namespace and preinstall from package.json; converted repository to object format; bumped packageManager to [email protected]; added test:docs and adjusted test scripts; updated prettier to --experimental-cli; removed @tanstack/config; bumped sherif to ^1.6.1.
Nx config
nx.json
Replaced nxCloudAccessToken with nxCloudId; renamed and repurposed several targetDefaults (e.g., created test:docs, shifted inputs and renamed others) and refined input globs.
Examples (package.json ordering only)
examples/.../*/package.json
Reordered dependency entries in several example package.json files (no version changes or functional edits).
VCS settings
.gitattributes
Set global line-ending normalization to eol=lf (changed * text=auto to * text=auto eol=lf).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Areas to review closely:
    • .changeset/config.json experimental option and its intended effect on peer-dependency update behavior
    • pnpm-workspace.yaml package globs and new workspace flags for correctness and overlap with .npmrc changes
    • nx.json renamed targets and input globs to ensure CI/test orchestration still matches repository layout
    • package.json script changes (test:docs addition, removal of preinstall/verify-links) and devDependency removal/upgrades

Possibly related PRs

Suggested reviewers

  • KevinVandy

Poem

🐰
I hopped through configs, quiet and spry,
Bumped schemas, trimmed a preinstall sigh.
Workspaces widened, provenance in sight,
LF footprints tidy, tests set right.
A little hop β€” the repo's snug tonight! πŸ₯•βœ¨

Pre-merge checks and finishing touches

βœ… Passed checks (3 passed)
Check name Status Explanation
Title check βœ… Passed The title 'ci: sync config between projects' accurately reflects the main changes across configuration files and CI workflows in the changeset.
Description check βœ… Passed The PR description follows the template, includes all required sections with specific changes listed, confirms checklist items are completed, and correctly identifies the change as docs/CI/dev-only with no release impact.
Docstring Coverage βœ… Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ci-changes

πŸ“œ Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between ef6df67 and 83878e0.

πŸ“’ Files selected for processing (9)
  • examples/qwik/filters/package.json (1 hunks)
  • examples/react/query-router-search-params/package.json (1 hunks)
  • examples/vue/basic/package.json (1 hunks)
  • examples/vue/column-ordering/package.json (1 hunks)
  • examples/vue/filters/package.json (1 hunks)
  • examples/vue/pagination-controlled/package.json (1 hunks)
  • examples/vue/pagination/package.json (1 hunks)
  • examples/vue/sorting/package.json (1 hunks)
  • examples/vue/sub-components/package.json (1 hunks)
βœ… Files skipped from review due to trivial changes (9)
  • examples/vue/basic/package.json
  • examples/vue/filters/package.json
  • examples/vue/sub-components/package.json
  • examples/qwik/filters/package.json
  • examples/vue/pagination/package.json
  • examples/vue/column-ordering/package.json
  • examples/vue/pagination-controlled/package.json
  • examples/react/query-router-search-params/package.json
  • examples/vue/sorting/package.json

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

@nx-cloud
Copy link

nx-cloud bot commented Nov 29, 2025

View your CI Pipeline Execution β†— for commit 83878e0

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... βœ… Succeeded 41s View β†—
nx run-many --targets=build --exclude=examples/** βœ… Succeeded <1s View β†—

☁️ Nx Cloud last updated this comment at 2025-11-29 09:32:26 UTC

@pkg-pr-new
Copy link

pkg-pr-new bot commented Nov 29, 2025

More templates

@tanstack/angular-table

npm i https://pkg.pr.new/@tanstack/angular-table@6130

@tanstack/lit-table

npm i https://pkg.pr.new/@tanstack/lit-table@6130

@tanstack/match-sorter-utils

npm i https://pkg.pr.new/@tanstack/match-sorter-utils@6130

@tanstack/qwik-table

npm i https://pkg.pr.new/@tanstack/qwik-table@6130

@tanstack/react-table

npm i https://pkg.pr.new/@tanstack/react-table@6130

@tanstack/react-table-devtools

npm i https://pkg.pr.new/@tanstack/react-table-devtools@6130

@tanstack/solid-table

npm i https://pkg.pr.new/@tanstack/solid-table@6130

@tanstack/svelte-table

npm i https://pkg.pr.new/@tanstack/svelte-table@6130

@tanstack/table-core

npm i https://pkg.pr.new/@tanstack/table-core@6130

@tanstack/vue-table

npm i https://pkg.pr.new/@tanstack/vue-table@6130

commit: 83878e0

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
.github/workflows/pr.yml (1)

56-67: Based on my verification:

danielroe/provenance-action is a maintained, MIT-licensed GitHub Action that validates lockfile provenance across npm, yarn, pnpm, and bun. The action is actively documented and functional, so the availability concern in the original review is resolved.

Regarding the best-practice suggestion about SHA-pinning: The research confirms that pinning to full commit SHAs is indeed more secure than version tags (since tags can be moved by maintainers), but using semantic version tags like v0.1.1 is still acceptableβ€”especially when paired with organizational policies and automated update processes. This is a valid optional improvement rather than a blocker.


Use the specific version tag v0.1.1 of danielroe/provenance-action or pin to the full commit SHA for enhanced supply-chain security.

The provenance job adds a valuable security check for lockfile integrity. The action is maintained and available. While version tags are acceptable, pinning to the full commit SHA provides stronger assurance against tag manipulation, aligning with SLSA and GitHub's security hardening guidance. If your organization already enforces SHA-pinning or uses Dependabot for automated updates, the current version tag is sufficient.

πŸ“œ Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 02c203a and ef6df67.

β›” Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
πŸ“’ Files selected for processing (7)
  • .changeset/config.json (2 hunks)
  • .gitattributes (1 hunks)
  • .github/workflows/pr.yml (1 hunks)
  • .npmrc (0 hunks)
  • nx.json (2 hunks)
  • package.json (2 hunks)
  • pnpm-workspace.yaml (1 hunks)
πŸ’€ Files with no reviewable changes (1)
  • .npmrc
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Test
  • GitHub Check: Preview
πŸ”‡ Additional comments (11)
.gitattributes (1)

2-2: LGTM!

Explicit LF normalization ensures consistent line endings across the monorepo for all platforms. This is a common and recommended practice.

pnpm-workspace.yaml (2)

6-14: LGTM!

The expanded package globs appropriately include additional example directories (lit, qwik, react, solid, svelte, vanilla, vue), aligning with the broader workspace consolidation evident across this PR.


1-3: All three workspace configuration flags are supported in pnpm 10.24.0.

The flags cleanupUnusedCatalogs, linkWorkspacePackages, and preferWorkspacePackages are all documented as valid workspace configuration options in pnpm 10.24.0. Setting them to true aligns with the workspace consolidation goals of this change.

.changeset/config.json (2)

14-16: Ensure team is aware of experimental peer-dependency behavior change.

The experimental option onlyUpdatePeerDependentsWhenOutOfRange: true changes how changesets handles peer dependency updates. This requires coordination with the release process and should be documented for maintainers.

Confirm that the team understands the implications of this experimental option for the release workflow and patch version management.


2-2: LGTM!

Schema version bump to 3.1.2 is a minor version update and appropriately scoped with the experimental option change.

nx.json (2)

45-56: LGTM!

The test target refactoring appropriately scopes inputs:

  • test:docs is focused on docs files only, enabling better cache isolation
  • test:knip watches all workspace files (correct for unused code detection)
  • test:sherif watches only package.json files (correct for dependency analysis)

These changes align well with the test orchestration updates in package.json.


4-4: Confirm nx-cloud package is available for Nx 19.3.2 support.

The migration from nxCloudAccessToken to nxCloudId is correct and aligns with modern Nx Cloud practices. Authentication via NX_CLOUD_ACCESS_TOKEN environment variable (line 15 of pr.yml) is the proper CI mechanism.

However, for Nx 19.3.2 (which is < 19.7), the nx-cloud npm package may be required for full nxCloudId support. Verify that:

  1. The nx-cloud package is installed as a dev dependency (required for Nx < 19.7)
  2. Developers are aware they need to run npx nx login to set up local personal access tokens (stored in nxcloud.ini)
  3. The workspace ID 6435ee4cd7387c45c0e4bf4c is correct for your Nx Cloud workspace

Consider documenting these setup steps for team members.

package.json (4)

4-8: LGTM!

Repository format standardization and pnpm version bump are well-motivated:

  • Object format for repository metadata follows npm best practices
  • pnpm 10.16.1 β†’ 10.24.0 is a minor version bump, safe and aligns with workspace configuration updates

13-14: LGTM!

Test script orchestration is well-coordinated:

  • test:pr and test:ci now include test:docs target
  • New test:docs script delegates to scripts/verify-links.ts
  • nx.includedScripts updated to include test:docs
  • Changes align with nx.json target additions and workflow intentions

Verify that scripts/verify-links.ts exists and is functional. If this is a new file, provide context on what it does.

Also applies to: 21-21, 34-34


49-50: The removals are intentional and safeβ€”no issues found.

The @tanstack/config devDependency and preinstall script removals don't pose any problems:

  1. @tanstack/config removal is safe: The GitHub workflow action tanstack/config/.github/setup@main (referenced in pr.yml lines 32 & 51) is independent of the npm package. The action is publicly accessible and handles all CI setup needs (pnpm, Node, caching, dependency installation). The npm package was likely for sharing internal configuration files, not required for the table project's own build.

  2. preinstall script removal is confirmed: No references to it exist in the codebase, indicating it was safely removed with no lingering dependencies.

  3. Workflow remains functional: The setup action continues to work correctly (verified HTTP 200 + active maintenance) and will properly initialize the environment for PR checks.


78-78: Based on my verification, I have gathered sufficient information to rewrite the review comment. Here's what I found:

Key findings:

  1. v1.0.0 Release Notes: The release introduces new features (unordered-dependencies rule, auto-install on fix, nested workspace packages support) but does NOT list any breaking changes to the CLI interface.
  2. CLI Compatibility: The -i flag used in test:sherif (for --ignore-dependency) is explicitly documented and supported in v1.0.0+.
  3. Current Installation: The project currently has sherif v1.9.0 installed (resolves from ^1.6.1).
  4. Command Syntax: The test script sherif -i react -i react-dom -i vue -i solid-js -i svelte -i @builder.io/qwik matches the documented v1.0.0+ CLI interface exactly.

Sherif v1.6.1 is backward compatible with existing usage.

The version bump from v0.9.0 to v1.6.1 introduces new features (unordered-dependencies rule, automatic package manager install on --fix, nested workspace packages) but does not change the CLI interface. The -i flag for ignoring dependencies remains supported and the test:sherif script is fully compatible.

"watch": "pnpm run build:all && nx watch --all -- pnpm run build:all",
"dev": "pnpm run watch",
"prettier": "prettier --ignore-unknown '**/*'",
"prettier": "prettier --experimental-cli --ignore-unknown '**/*'",
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | πŸ”΄ Critical

🧩 Analysis chain

🌐 Web query:

prettier 3.3.2 --experimental-cli flag documentation

πŸ’‘ Result:

Short answer: The --experimental-cli flag is not part of Prettier 3.3.2 β€” it was introduced later as an experimental high-performance CLI behind a feature flag (usable as --experimental-cli or via PRETTIER_EXPERIMENTAL_CLI=1) and documented in Prettier release/blog and CLI docs. See Prettier blog announcing the experimental CLI and the CLI docs for usage. [1][2][3]

Sources

  • Prettier release/blog announcing the experimental CLI (June 23, 2025). [1]
  • Prettier CLI documentation (flags and CLI usage). [2]
  • Community/announcement explaining how to enable it (example usage). [3]

🏁 Script executed:

cat package.json | head -30

Repository: TanStack/table

Length of output: 1560


🏁 Script executed:

rg -A 50 '"devDependencies"' package.json | head -80

Repository: TanStack/table

Length of output: 1248


The --experimental-cli flag is not available in prettier 3.3.2 and will cause an error.

According to prettier documentation, the --experimental-cli flag was introduced after version 3.3.2 (announced June 23, 2025). Since the package.json specifies "prettier": "^3.3.2", using this flag will fail if prettier 3.3.2 is installed. Either remove the flag or update the prettier version constraint to a version that supports it (3.4.0 or later, if available, or remove the caret to allow installation of newer versions).

@lachlancollins lachlancollins merged commit c06811a into main Nov 29, 2025
6 checks passed
@lachlancollins lachlancollins deleted the ci-changes branch November 29, 2025 09:34
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