Conversation
🦋 Changeset detectedLatest commit: 9cbce7e The changes in this PR will be included in the next version bump. This PR includes changesets to release 19 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
🧪 E2E Test Results✅ All tests passed Summary
Details by Category✅ ▲ Vercel Production
✅ 💻 Local Development
✅ 🪟 Windows
❌ Some E2E test jobs failed:
Check the workflow run for details. |
|
No benchmark result files found in benchmark-results |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Pull request overview
Adds a repo-wide Knip baseline and a root pnpm knip script to track unused files/deps across the monorepo, alongside a small dependency/metadata cleanup prompted by Knip results.
Changes:
- Add checked-in
knip.jsoncbaseline and a rootknipscript. - Clean up unused dependency metadata and add
server-onlyto the Next.js turbopack workbench. - Remove an unused docs export alias and add a changeset for published package metadata cleanup.
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| workbench/nextjs-turbopack/package.json | Adds missing server-only dependency for Next.js workbench. |
| pnpm-workspace.yaml | Removes unused catalog entry. |
| pnpm-lock.yaml | Lockfile updates reflecting dependency cleanup/additions. |
| packages/world-postgres/package.json | Removes unused devDependency metadata entry. |
| packages/typescript-plugin/package.json | Removes unused devDependency metadata entry. |
| packages/next/package.json | Removes unused devDependency metadata entry. |
| package.json | Adds root pnpm knip script. |
| knip.jsonc | Adds repo-level Knip configuration/baseline. |
| docs/lib/worlds-data.ts | Removes unused backwards-compat export alias. |
| .changeset/knip-cleanup.md | Publishes patch changes for package metadata cleanup. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "test": "turbo test", | ||
| "clean": "turbo clean", | ||
| "typecheck": "turbo typecheck", | ||
| "knip": "pnpm dlx knip --config knip.jsonc", |
There was a problem hiding this comment.
The knip script uses pnpm dlx knip (unversioned), but knip.jsonc pins its schema to knip@6. If dlx installs a newer major (or different schema), the baseline/config can drift or become incompatible. Consider pinning the executed Knip version (e.g., pnpm dlx knip@6 ...) or adding knip as a devDependency and invoking it via pnpm knip/pnpm exec knip for reproducible runs.
| "knip": "pnpm dlx knip --config knip.jsonc", | |
| "knip": "pnpm dlx knip@6 --config knip.jsonc", |
| @@ -1,25 +0,0 @@ | |||
| import * as React from 'react'; | |||
There was a problem hiding this comment.
maybe it's better to keep all these shadcn components even if they're unused - so that agents know about them? wdyt? if so, then we can ignore this folder from knip's checking and put them back in @karthikscale3 @mitul-s
| "radix-ui": "1.4.3", | ||
| "react": "19.2.4", | ||
| "react-dom": "19.2.4", | ||
| "server-only": "^0.0.1", |
There was a problem hiding this comment.
this is a dummy package that react owns. it's harmless to include but we can ignore it too if we want
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 31 out of 32 changed files in this pull request and generated 1 comment.
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "knip": "pnpm dlx knip --config knip.jsonc", | ||
| "knip:strict": "pnpm dlx knip --config knip.strict.jsonc", | ||
| "knip:ci": "pnpm dlx knip --config knip.jsonc --cache --max-issues 797", | ||
| "knip:ci:github": "pnpm dlx knip --config knip.jsonc --cache --max-issues 797 --reporter github-actions", |
There was a problem hiding this comment.
The new knip* scripts run pnpm dlx knip without a version pin. Since pnpm dlx fetches the latest Knip at runtime, CI can start failing (or producing different results) when Knip releases a new major/minor—especially since the config schema URLs are explicitly knip@6. Consider pinning the version (e.g. pnpm dlx knip@6 ...) or adding knip as a root devDependency and invoking it via pnpm knip/pnpm exec knip to make runs reproducible.
| "knip": "pnpm dlx knip --config knip.jsonc", | |
| "knip:strict": "pnpm dlx knip --config knip.strict.jsonc", | |
| "knip:ci": "pnpm dlx knip --config knip.jsonc --cache --max-issues 797", | |
| "knip:ci:github": "pnpm dlx knip --config knip.jsonc --cache --max-issues 797 --reporter github-actions", | |
| "knip": "pnpm dlx knip@6 --config knip.jsonc", | |
| "knip:strict": "pnpm dlx knip@6 --config knip.strict.jsonc", | |
| "knip:ci": "pnpm dlx knip@6 --config knip.jsonc --cache --max-issues 797", | |
| "knip:ci:github": "pnpm dlx knip@6 --config knip.jsonc --cache --max-issues 797 --reporter github-actions", |
Human: attempt at cleaning up the codebase using knip.dev. this ended up splitting into three parts: a conservative baseline to make Knip usable in this monorepo, a stricter cleanup pass to remove genuinely dead package code, and a CI pass to keep the baseline from regressing.
Summary
knip.jsoncbaseline and rootpnpm knipscript for this monorepoknip.strict.jsoncpluspnpm knip:strictso we can include package code more aggressively without drowning in framework false positivespnpm knip:ci/pnpm knip:ci:githuband run Knip in GitHub Actions vialint.ymlserver-onlydependency in the Next.js workbench, and expand the changeset to cover the additional published packages touched here@workflow/weband@workflow/web-sharedpackages/web/app/components/ui/*Code Removed
packages/webandpackages/web-shared@workflow/web,@workflow/web-shared,@workflow/ai, andworkflowpackages/web/app/components/ui/*Knip
--max-issues 797guard so new findings fail CI without requiring this PR to drive the repo all the way to zero firstVerification
pnpm dlx knip --config knip.jsonc --reporter jsonpnpm --filter @workflow/next buildpnpm --filter @workflow/typescript-plugin buildpnpm --filter @workflow/world-postgres typecheckpnpm --filter nextjs-turbopack buildpnpm install --lockfile-onlypnpm --filter @workflow/web-shared buildpnpm --filter @workflow/web buildpnpm --filter @workflow/ai buildpnpm --filter workflow buildpnpm knip:strict --reporter jsonpnpm knip:ciNotes
packages/serde/dist/index.js.mapwarning in the Next.js workbench and the current Vite chunk/dynamic-import warnings in@workflow/web