chore(deps): update all packages to latest stable #145

Merged
ellamizuki merged 6 commits from chore/update-all-deps into main 2026-09-02 09:01:37 +00:00
ellamizuki commented 2026-09-02 05:04:22 +00:00 (Migrated from github.com)

Summary

Major dependency refresh of the monorepo (pnpm + turbo), alongside the fixes needed to keep lint, type-check, tests, and build green.

What changed

1. Migrated pnpm config to pnpm-workspace.yaml

pnpm 10 no longer reads pnpm.* from package.json. This PR moves overrides, packageExtensions, and onlyBuiltDependencies to the workspace file (where they're actually applied) and removes the stale block from package.json.

2. Notable upgrades

  • All packages bumped to latest stable via pnpm update -r --latest.
  • TypeScript pinned at ^6.0.3 — @typescript-eslint/*@8.69.0 requires typescript <6.1.0. Going to v7 would break lint + typecheck, so we stay on TS 6 for compatibility.
  • @tanstack/react-table stays on ^8 — packages/ui declares peerDependencies: { "@tanstack/react-table": "^8" }. v9 is a full rewrite (new constructTable API + feature registration) and would require rewriting data-table.tsx. Kept at v8 for now.
  • better-call override removed — it was pinning 1.3.5 for better-auth compatibility. The current [email protected] declares ^1.3.5, so the pin was both obsolete and blocking the upgrade.
  • @types/hast deduplicated — overrides forces ^3.0.5 to align the hust types from shiki with the peer of hast-util-to-jsx-runtime.

3. Code changes required by the new versions

  • packages/utils/src/range.ts — rename i -> index (unicorn autofix).
  • packages/emails/src/components/{footer,logo}.tsx — default export as arrow function (unicorn/default-export-style).
  • packages/env/src/index.ts — ternary-conditional object spreads replaced with && short-circuit (unicorn/consistent-conditional-object-spread).
  • packages/mdx-plugins/src/rehype/rehype-code.ts — replaced .then() with await (unicorn/prefer-await).
  • packages/mdx-plugins/src/rehype/rehype-inline-code.ts — highlighter cache rewritten as a closure-factory (unicorn/no-top-level-assignment-in-function).
  • packages/prettier-plugin-package-json/src/index.ts — renames (obj → result, pkg → packageJson).
  • packages/ui/src/sidebar.tsx — keydown handler now uses early return (unicorn/prefer-early-return).
  • packages/ui/src/data-table.tsx — String(x) instead of template literals for numbers (unicorn/prefer-string-raw).
  • packages/ui/src/hooks/use-is-mobile.ts — lazy useState initializer (SSR-safe).
  • apps/docs/content-collections.ts — extracted linkSchema and docMetaSchema.
  • apps/docs/src/components/layout/search.tsx — early return in the Ctrl+K handler.
  • scripts/translate-site.mjs — resolved unicorn/sonarjs violations (simplified loops, regex fixes, etc.).
  • apps/web/src/app/api/cron/alerts/route.ts — declarations moved after early-return guards.
  • apps/web/src/lib/announcement-ui.tsx and other files — prettier pass.

4. ESLint rules disabled in the shared config

Rules introduced by the updated plugins that conflict with conventions already used across the codebase. Turned off centrally to avoid sprinkling // eslint-disable everywhere:

  • unicorn/name-replacements
  • unicorn/default-export-style
  • unicorn/consistent-boolean-name
  • unicorn/no-declarations-before-early-exit
  • unicorn/single-line-block-comment-style
  • sonarjs/no-redundant-optional
  • @eslint-react/web-api-no-leaked-event-listener

5. Other changes

  • Removed a stale eslint-disable from scripts/translate-site.mjs after the rule was disabled globally.
  • Ran pnpm format:write across the affected files to satisfy the CI format:check step.

Validation

  • pnpm install — clean, no pnpm 10 warnings
  • pnpm type-check — 13/13 tasks
  • pnpm lint — 14/14 (0 errors, 0 warnings)
  • pnpm test:unit — 42 files, 182 tests passing
  • pnpm build — 8/8 (all apps and packages)
## Summary Major dependency refresh of the monorepo (pnpm + turbo), alongside the fixes needed to keep lint, type-check, tests, and build green. ## What changed ### 1. Migrated pnpm config to `pnpm-workspace.yaml` pnpm 10 no longer reads `pnpm.*` from `package.json`. This PR moves `overrides`, `packageExtensions`, and `onlyBuiltDependencies` to the workspace file (where they're actually applied) and removes the stale block from `package.json`. ### 2. Notable upgrades - All packages bumped to latest stable via `pnpm update -r --latest`. - **TypeScript pinned at `^6.0.3`** — `@typescript-eslint/*@8.69.0` requires `typescript <6.1.0`. Going to v7 would break lint + typecheck, so we stay on TS 6 for compatibility. - **`@tanstack/react-table` stays on `^8`** — `packages/ui` declares `peerDependencies: { "@tanstack/react-table": "^8" }`. v9 is a full rewrite (new `constructTable` API + feature registration) and would require rewriting `data-table.tsx`. Kept at v8 for now. - **`better-call` override removed** — it was pinning `1.3.5` for `better-auth` compatibility. The current `[email protected]` declares `^1.3.5`, so the pin was both obsolete and blocking the upgrade. - **`@types/hast` deduplicated** — `overrides` forces `^3.0.5` to align the hust types from `shiki` with the peer of `hast-util-to-jsx-runtime`. ### 3. Code changes required by the new versions - `packages/utils/src/range.ts` — rename `i -> index` (unicorn autofix). - `packages/emails/src/components/{footer,logo}.tsx` — default export as arrow function (`unicorn/default-export-style`). - `packages/env/src/index.ts` — ternary-conditional object spreads replaced with `&&` short-circuit (unicorn/consistent-conditional-object-spread). - `packages/mdx-plugins/src/rehype/rehype-code.ts` — replaced `.then()` with `await` (unicorn/prefer-await). - `packages/mdx-plugins/src/rehype/rehype-inline-code.ts` — highlighter cache rewritten as a closure-factory (unicorn/no-top-level-assignment-in-function). - `packages/prettier-plugin-package-json/src/index.ts` — renames (`obj → result`, `pkg → packageJson`). - `packages/ui/src/sidebar.tsx` — `keydown` handler now uses early return (unicorn/prefer-early-return). - `packages/ui/src/data-table.tsx` — `String(x)` instead of template literals for numbers (unicorn/prefer-string-raw). - `packages/ui/src/hooks/use-is-mobile.ts` — lazy `useState` initializer (SSR-safe). - `apps/docs/content-collections.ts` — extracted `linkSchema` and `docMetaSchema`. - `apps/docs/src/components/layout/search.tsx` — early return in the `Ctrl+K` handler. - `scripts/translate-site.mjs` — resolved unicorn/sonarjs violations (simplified loops, regex fixes, etc.). - `apps/web/src/app/api/cron/alerts/route.ts` — declarations moved after early-return guards. - `apps/web/src/lib/announcement-ui.tsx` and other files — prettier pass. ### 4. ESLint rules disabled in the shared config Rules introduced by the updated plugins that conflict with conventions already used across the codebase. Turned off centrally to avoid sprinkling `// eslint-disable` everywhere: - `unicorn/name-replacements` - `unicorn/default-export-style` - `unicorn/consistent-boolean-name` - `unicorn/no-declarations-before-early-exit` - `unicorn/single-line-block-comment-style` - `sonarjs/no-redundant-optional` - `@eslint-react/web-api-no-leaked-event-listener` ### 5. Other changes - Removed a stale `eslint-disable` from `scripts/translate-site.mjs` after the rule was disabled globally. - Ran `pnpm format:write` across the affected files to satisfy the CI `format:check` step. ## Validation - [x] `pnpm install` — clean, no pnpm 10 warnings - [x] `pnpm type-check` — 13/13 tasks - [x] `pnpm lint` — 14/14 (0 errors, 0 warnings) - [x] `pnpm test:unit` — 42 files, 182 tests passing - [x] `pnpm build` — 8/8 (all apps and packages)
isyuricunha (Migrated from github.com) reviewed 2026-09-02 05:04:22 +00:00
vercel[bot] commented 2026-09-02 05:04:28 +00:00 (Migrated from github.com)

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
website-docs Ready Ready Preview Sep 2, 2026 8:46am UTC
website-web Ready Ready Preview Sep 2, 2026 8:46am UTC
[vc]: #CN0CGthDCTn9gctzhEeSOoO4D2CQg09soFWRKFVJnSQ=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJ3ZWJzaXRlLXdlYiIsInByb2plY3RJZCI6InByal9iNnJGaEFBUEhJWFI3M2Nlb2RFMHl2bEJ3MzgyIiwicm9vdERpcmVjdG9yeSI6ImFwcHMvd2ViIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL3l1cmktY3VuaGFzLXByb2plY3RzL3dlYnNpdGUtd2ViLzd0WmFwV0ZUTDJxNFlSbmI3VFYzNGNLUGZtdmQiLCJwcmV2aWV3VXJsIjoid2Vic2l0ZS13ZWItZ2l0LWNob3JlLXVwZGF0ZS1hbGwtZGVwcy15dXJpLWN1bmhhcy1wcm9qZWN0cy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6IndlYnNpdGUtd2ViLWdpdC1jaG9yZS11cGRhdGUtYWxsLWRlcHMteXVyaS1jdW5oYXMtcHJvamVjdHMudmVyY2VsLmFwcCJ9fSx7Im5hbWUiOiJ3ZWJzaXRlLWRvY3MiLCJwcm9qZWN0SWQiOiJwcmpfMmVVMnNUTTBpZFk3MHJUYnNjQ0N0RXQ2TUZPdyIsInJvb3REaXJlY3RvcnkiOiJhcHBzL2RvY3MiLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20veXVyaS1jdW5oYXMtcHJvamVjdHMvd2Vic2l0ZS1kb2NzLzI0d3p2NFFLWlJQdGlGQUVoVjRqUlRHdHVaOEoiLCJwcmV2aWV3VXJsIjoid2Vic2l0ZS1kb2NzLWdpdC1jaG9yZS11cGRhdGUtYWxsLWRlcHMteXVyaS1jdW5oYXMtcHJvamVjdHMudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJ3ZWJzaXRlLWRvY3MtZ2l0LWNob3JlLXVwZGF0ZS1hbGwtZGVwcy15dXJpLWN1bmhhcy1wcm9qZWN0cy52ZXJjZWwuYXBwIn19XX0= The latest updates on your projects. Learn more about [Vercel for GitHub](https://vercel.link/github-learn-more). | Project | Deployment | Actions | Updated | | :--- | :----- | :------ | :------ | | <a href="https://vercel.com/yuri-cunhas-projects/website-docs"><sup><img src="https://vercel.com/api/www/avatar?projectId=prj_2eU2sTM0idY70rTbscCCtEt6MFOw&teamId=team_g087rqPZJa9s4DWPeZtQhxa9&s=32" width="16" height="16" align="middle" alt="" /></sup></a> [website-docs](https://vercel.com/yuri-cunhas-projects/website-docs) | ![Ready](https://vercel.com/static/status/ready.svg) [Ready](https://vercel.com/yuri-cunhas-projects/website-docs/24wzv4QKZRPtiFAEhV4jRTGtuZ8J) | [Preview](https://website-docs-git-chore-update-all-deps-yuri-cunhas-projects.vercel.app) | <relative-time datetime="2026-09-02T08:46:46.961Z">Sep 2, 2026 8:46am UTC</relative-time> | | <a href="https://vercel.com/yuri-cunhas-projects/website-web"><sup><img src="https://vercel.com/api/www/avatar?projectId=prj_b6rFhAAPHIXR73ceodE0yvlBw382&teamId=team_g087rqPZJa9s4DWPeZtQhxa9&s=32" width="16" height="16" align="middle" alt="" /></sup></a> [website-web](https://vercel.com/yuri-cunhas-projects/website-web) | ![Ready](https://vercel.com/static/status/ready.svg) [Ready](https://vercel.com/yuri-cunhas-projects/website-web/7tZapWFTL2q4YRnb7TV34cKPfmvd) | [Preview](https://website-web-git-chore-update-all-deps-yuri-cunhas-projects.vercel.app) | <relative-time datetime="2026-09-02T08:46:46.962Z">Sep 2, 2026 8:46am UTC</relative-time> |
Sign in to join this conversation.
No description provided.