chore: Upgrade to Typescript 5.7.3#542
Conversation
🦋 Changeset detectedLatest commit: edf99db The changes in this PR will be included in the next version bump. This PR includes changesets to release 11 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 |
WalkthroughThe changes update the TypeScript version from 5.5.4 to 5.7.3 across project configuration files and constants, upgrade related dependencies, and adjust TypeScript compiler options. Numerous ESLint directive comments disabling Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant ProjectConfig
participant TypeScript
participant UIComponent
Developer->>ProjectConfig: Update TypeScript version to 5.7.3
ProjectConfig->>TypeScript: Apply new compiler options
Developer->>UIComponent: Remove ESLint prop-types directive
Developer->>UIComponent: Export interfaces for Button and Sheet
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
.changeset/giant-candles-wink.md (1)
6-6: Fix spelling of TypeScript.
For consistency and branding, capitalize the “S” in “TypeScript” in the changeset description.packages/ui-components/tsconfig.json (1)
5-7: Redundant compilerOptions withnoEmit.
With"noEmit": true, the options"sourceMap","declaration", and"declarationMap"will never emit anything. Consider removing these overrides for a cleaner configuration or documenting why they’re explicitly set.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Lite
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (21)
.changeset/giant-candles-wink.md(1 hunks)packages/core-generators/src/constants/core-packages.ts(1 hunks)packages/ui-components/src/components/Breadcrumb/Breadcrumb.tsx(0 hunks)packages/ui-components/src/components/Button/Button.tsx(1 hunks)packages/ui-components/src/components/Checkbox/Checkbox.tsx(0 hunks)packages/ui-components/src/components/Command/Command.tsx(0 hunks)packages/ui-components/src/components/Dropdown/Dropdown.tsx(0 hunks)packages/ui-components/src/components/FormItem/FormItem.tsx(0 hunks)packages/ui-components/src/components/NavigationMenu/NavigationMenu.stories.tsx(0 hunks)packages/ui-components/src/components/NavigationMenu/NavigationMenu.tsx(0 hunks)packages/ui-components/src/components/NavigationTabs/NavigationTabs.tsx(0 hunks)packages/ui-components/src/components/ScrollArea/ScrollArea.tsx(0 hunks)packages/ui-components/src/components/Select/Select.tsx(0 hunks)packages/ui-components/src/components/Separator/Separator.tsx(0 hunks)packages/ui-components/src/components/Sheet/Sheet.tsx(1 hunks)packages/ui-components/src/components/SidebarTabs/SidebarTabs.tsx(0 hunks)packages/ui-components/src/components/Switch/Switch.tsx(0 hunks)packages/ui-components/src/components/Tabs/Tabs.tsx(0 hunks)packages/ui-components/src/components/Tooltip/Tooltip.tsx(1 hunks)packages/ui-components/tsconfig.json(1 hunks)pnpm-workspace.yaml(1 hunks)
💤 Files with no reviewable changes (14)
- packages/ui-components/src/components/Command/Command.tsx
- packages/ui-components/src/components/SidebarTabs/SidebarTabs.tsx
- packages/ui-components/src/components/Select/Select.tsx
- packages/ui-components/src/components/Separator/Separator.tsx
- packages/ui-components/src/components/Breadcrumb/Breadcrumb.tsx
- packages/ui-components/src/components/Dropdown/Dropdown.tsx
- packages/ui-components/src/components/Switch/Switch.tsx
- packages/ui-components/src/components/Checkbox/Checkbox.tsx
- packages/ui-components/src/components/ScrollArea/ScrollArea.tsx
- packages/ui-components/src/components/NavigationMenu/NavigationMenu.stories.tsx
- packages/ui-components/src/components/NavigationTabs/NavigationTabs.tsx
- packages/ui-components/src/components/Tabs/Tabs.tsx
- packages/ui-components/src/components/NavigationMenu/NavigationMenu.tsx
- packages/ui-components/src/components/FormItem/FormItem.tsx
🔇 Additional comments (5)
packages/ui-components/src/components/Tooltip/Tooltip.tsx (1)
1-1: Ensure linting rule for React prop-types is disabled appropriately.
The removal of/* eslint-disable react/prop-types */assumes that the ESLint configuration now ignores this rule for TypeScript components. Please verify that thereact/prop-typesrule is disabled or adjusted in your ESLint config to prevent lint errors in TSX files.pnpm-workspace.yaml (1)
6-6: Confirm TypeScript version bump in workspace config.
The TypeScript version in the workspace catalog has been updated to 5.7.3, matching the update in core generator constants. Ensure this aligns with your intended version pinning strategy and that any workspace scripts invoking the TS CLI use the correct version.packages/core-generators/src/constants/core-packages.ts (1)
3-3: AlignCORE_PACKAGESTypeScript version.
TypeScript has been bumped from 5.5.4 to 5.7.3 inCORE_PACKAGES, keeping it consistent with the workspace and other configs.packages/ui-components/src/components/Sheet/Sheet.tsx (1)
54-56: Good enhancement to interface visibilityMaking the
SheetContentPropsinterface exported improves reusability and enables stronger type checking across the codebase. This change aligns with the TypeScript 5.7.3 upgrade by promoting better type safety and component interoperability.packages/ui-components/src/components/Button/Button.tsx (1)
69-73: Good enhancement to interface visibilityExporting the
ButtonWithOnlyIconPropsinterface improves type accessibility and promotes reuse in other components. This change is consistent with similar export enhancements throughout the codebase and aligns with the TypeScript 5.7.3 upgrade objectives.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
packages/ui-components/tsconfig.build.json (1)
5-7: Ensure path alias is mirrored in your bundler config.Adding the
"@src/*": ["./src/*"]alias here is helpful for TS imports. To avoid runtime resolution errors, please mirror this alias in your Vite/Rollup setup. For example, invite.config.ts:import { defineConfig } from 'vite'; +import { resolve } from 'path'; export default defineConfig({ + resolve: { + alias: { '@src': resolve(__dirname, 'src') } + }, // ...other config });This keeps TypeScript and your bundler in sync.
| @@ -1,9 +1,10 @@ | |||
| { | |||
| "extends": "./tsconfig.json", | |||
| "extends": "@halfdomelabs/tools/tsconfig.vite.lib.json", | |||
There was a problem hiding this comment.
💡 Verification agent
🧩 Analysis chain
Verify shared config dependency and version lock.
Switching the extends field to @halfdomelabs/tools/tsconfig.vite.lib.json centralizes common build settings, but please confirm that:
- The
@halfdomelabs/toolspackage is present in yourdevDependencies. - The locked version in
pnpm-lock.yaml(orpackage-lock.json) matches your TS upgrade (5.7.3).
Otherwise, a missing or mismatched config file could break CI or local builds.
To verify the file exists in node_modules, you can run:
🏁 Script executed:
#!/usr/bin/env bash
if [ ! -f node_modules/@halfdomelabs/tools/tsconfig.vite.lib.json ]; then
echo "ERROR: Shared tsconfig file not found. Please install or pin @halfdomelabs/tools."
exit 1
fi
echo "Shared tsconfig file present."Length of output: 254
🏁 Script executed:
#!/usr/bin/env bash
echo "Checking devDependencies for @halfdomelabs/tools in package.json..."
grep -R '"@halfdomelabs/tools":' -n package.json || echo "=> Not found in package.json"
echo
echo "Checking locked version in pnpm-lock.yaml or package-lock.json..."
if [ -f pnpm-lock.yaml ]; then
grep -R "@halfdomelabs/tools@" -n pnpm-lock.yaml | head -n 5 || echo "=> No entry in pnpm-lock.yaml"
elif [ -f package-lock.json ]; then
grep -R '"@halfdomelabs/tools":' -n package-lock.json || echo "=> No entry in package-lock.json"
else
echo "=> No lockfile found"
fiLength of output: 477
Missing shared tsconfig or mismatched lockfile
The extended config file node_modules/@halfdomelabs/tools/tsconfig.vite.lib.json wasn’t found, which will break CI/local builds. Please:
- Ensure
@halfdomelabs/toolsis correctly installed in devDependencies (see package.json line 43). - Run
pnpm install(or equivalent) so thatpnpm-lock.yamlincludes@halfdomelabs/tools@…. - Verify that the file
tsconfig.vite.lib.jsonexists at the root of the@halfdomelabs/toolspackage (or update theextendspath if it has moved).
File: packages/ui-components/tsconfig.build.json
"extends": "@halfdomelabs/tools/tsconfig.vite.lib.json",Committable suggestion skipped: line range outside the PR's diff.
Summary by CodeRabbit
Chores
Refactor