-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Upgrade Tanstack Router to 1.130.8 #624
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Upgrade Tanstack Router to 1.130.8 #624
Conversation
🦋 Changeset detectedLatest commit: 14fde28 The changes in this PR will be included in the next version bump. This PR includes changesets to release 17 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 |
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (10)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including You can disable this status message by setting the WalkthroughThis change upgrades the Tanstack Router dependency to version 1.130.8 across several packages and removes the Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes ✨ Finishing Touches🧪 Generate unit tests
🪧 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
|
|
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.
|
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (4)
packages/project-builder-web/src/routes/settings/route.tsx (1)
29-40: Use plain string literals instead of unnecessary template literalsAll four
Linkcomponents interpolate constant strings (e.g.to={`/settings`}).
Using a template literal when no variable placeholders are present adds noise and a few bytes to the bundle.-<Link to={`/settings`}>Project settings</Link> +<Link to="/settings">Project settings</Link>(Apply the same change to the other three
Linkelements).
No functional impact – purely a tiny readability / size win.packages/project-builder-web/src/routes/data/route.tsx (1)
56-60: Minor style nit – drop superfluous template literals-<Link to="/data/models">Models</Link> +<Link to="/data/models">Models</Link> // ✅ already literal – keep -<Link to="/data/enums">Enums</Link> +<Link to="/data/enums">Enums</Link> // ✅ already literal – keepThe first path was previously a template literal in the old code; thanks for switching to a plain string.
The same could be done everywhere for consistency (see settings route).packages/react-generators/src/generators/core/react-components/templates/components/ui/not-found-card.tsx (1)
15-18: Avoid nesting a<button>inside an<a>element
Buttonmost likely renders a native<button>. Placing it inside aLink(which renders an<a>) creates invalid HTML and can confuse assistive technologies.Prefer one of the following:
- If
ButtonsupportsasChild, flip the hierarchy:<Button asChild> <Link to="/">Back to Home</Link> </Button>
- Or style the
Linkdirectly instead of wrapping a button component.No change is strictly required for the router-upgrade, but fixing this will improve accessibility.
packages/project-builder-web/src/routes/plugins/route.tsx (1)
55-61: Same accessibility concern: anchor wraps button
<Link><Button …/></Link>produces nested interactive elements. Consider theasChildpattern shown for the Not-Found card to keep valid markup.Additionally, the
to="/plugins"string can be a plain literal (no template needed).
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (2)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yamltests/simple/packages/web/src/components/ui/not-found-card.tsxis excluded by!tests/**
📒 Files selected for processing (21)
.changeset/some-emus-juggle.md(1 hunks)packages/project-builder-web/package.json(2 hunks)packages/project-builder-web/src/app/app-layout/app-desktop-sidebar.tsx(1 hunks)packages/project-builder-web/src/app/app-layout/app-mobile-sidebar.tsx(1 hunks)packages/project-builder-web/src/components/not-found-card/not-found-card.tsx(1 hunks)packages/project-builder-web/src/components/ref-issue-dialog/ref-issue-dialog.tsx(0 hunks)packages/project-builder-web/src/routes/apps/edit.$key/web/route.tsx(0 hunks)packages/project-builder-web/src/routes/apps/index.tsx(0 hunks)packages/project-builder-web/src/routes/apps/route.tsx(0 hunks)packages/project-builder-web/src/routes/data/enums/-components/enums-sidebar-list.tsx(0 hunks)packages/project-builder-web/src/routes/data/models/-components/models-sidebar-list.tsx(0 hunks)packages/project-builder-web/src/routes/data/models/edit.$key/route.tsx(0 hunks)packages/project-builder-web/src/routes/data/route.tsx(1 hunks)packages/project-builder-web/src/routes/index.tsx(3 hunks)packages/project-builder-web/src/routes/plugins/-components/plugin-card.tsx(1 hunks)packages/project-builder-web/src/routes/plugins/route.tsx(2 hunks)packages/project-builder-web/src/routes/settings/route.tsx(1 hunks)packages/react-generators/src/constants/react-packages.ts(1 hunks)packages/react-generators/src/generators/core/react-components/templates/components/ui/not-found-card.tsx(1 hunks)plugins/plugin-auth/package.json(1 hunks)plugins/plugin-auth/src/common/components/auth-config-tabs.tsx(0 hunks)
💤 Files with no reviewable changes (8)
- packages/project-builder-web/src/routes/apps/edit.$key/web/route.tsx
- packages/project-builder-web/src/routes/apps/index.tsx
- packages/project-builder-web/src/routes/data/models/-components/models-sidebar-list.tsx
- packages/project-builder-web/src/components/ref-issue-dialog/ref-issue-dialog.tsx
- packages/project-builder-web/src/routes/data/enums/-components/enums-sidebar-list.tsx
- packages/project-builder-web/src/routes/apps/route.tsx
- packages/project-builder-web/src/routes/data/models/edit.$key/route.tsx
- plugins/plugin-auth/src/common/components/auth-config-tabs.tsx
🧰 Additional context used
📓 Path-based instructions (8)
**/*.{ts,tsx}
📄 CodeRabbit Inference Engine (CLAUDE.md)
**/*.{ts,tsx}: Import UI components from the@baseplate-dev/ui-componentspackage as shown in the provided examples.
Use both standalone and React Hook Form controller variants for form components from@baseplate-dev/ui-componentsas appropriate.
If a particular interface or type is not exported, change the file so it is exported.
**/*.{ts,tsx}: TypeScript with strict type checking
Always include return types on top-level functions including React components (React.ReactElement)
Include absolute paths in import statements via tsconfig paths (@src/is the alias forsrc/)
If a particular interface or type is not exported, change the file so it is exported
Files:
packages/project-builder-web/src/routes/settings/route.tsxpackages/project-builder-web/src/routes/plugins/route.tsxpackages/project-builder-web/src/routes/index.tsxpackages/project-builder-web/src/routes/data/route.tsxpackages/project-builder-web/src/app/app-layout/app-desktop-sidebar.tsxpackages/project-builder-web/src/routes/plugins/-components/plugin-card.tsxpackages/project-builder-web/src/components/not-found-card/not-found-card.tsxpackages/project-builder-web/src/app/app-layout/app-mobile-sidebar.tsxpackages/react-generators/src/constants/react-packages.tspackages/react-generators/src/generators/core/react-components/templates/components/ui/not-found-card.tsx
**/*.tsx
📄 CodeRabbit Inference Engine (CLAUDE.md)
**/*.tsx: When using form components, integrate them with React Hook Form by passing thecontrolprop fromuseForm().
Use layout components such asSidebarLayout,Card, andBreadcrumbfrom@baseplate-dev/ui-componentsto structure pages as shown in the example.
Use interactive dialog components likeDialog,ConfirmDialog, anduseConfirmDialogfrom@baseplate-dev/ui-componentsfor modal interactions.
Files:
packages/project-builder-web/src/routes/settings/route.tsxpackages/project-builder-web/src/routes/plugins/route.tsxpackages/project-builder-web/src/routes/index.tsxpackages/project-builder-web/src/routes/data/route.tsxpackages/project-builder-web/src/app/app-layout/app-desktop-sidebar.tsxpackages/project-builder-web/src/routes/plugins/-components/plugin-card.tsxpackages/project-builder-web/src/components/not-found-card/not-found-card.tsxpackages/project-builder-web/src/app/app-layout/app-mobile-sidebar.tsxpackages/react-generators/src/generators/core/react-components/templates/components/ui/not-found-card.tsx
**/*.{js,ts,tsx}
📄 CodeRabbit Inference Engine (.cursor/rules/code-style.mdc)
Node 16 module resolution - include file extensions in imports (
.js)
Files:
packages/project-builder-web/src/routes/settings/route.tsxpackages/project-builder-web/src/routes/plugins/route.tsxpackages/project-builder-web/src/routes/index.tsxpackages/project-builder-web/src/routes/data/route.tsxpackages/project-builder-web/src/app/app-layout/app-desktop-sidebar.tsxpackages/project-builder-web/src/routes/plugins/-components/plugin-card.tsxpackages/project-builder-web/src/components/not-found-card/not-found-card.tsxpackages/project-builder-web/src/app/app-layout/app-mobile-sidebar.tsxpackages/react-generators/src/constants/react-packages.tspackages/react-generators/src/generators/core/react-components/templates/components/ui/not-found-card.tsx
**/*.{ts,tsx,js}
📄 CodeRabbit Inference Engine (.cursor/rules/code-style.mdc)
**/*.{ts,tsx,js}: Sort imports by group: external libs first, then local imports
Use camelCase for variables/functions, PascalCase for types/classes
Order functions such that functions are placed below the variables/functions they use
We use the prefer using nullish coalescing operator (??) ESLint rule instead of a logical or (||), as it is a safer operator
Use console.info/warn/error instead of console.log
Files:
packages/project-builder-web/src/routes/settings/route.tsxpackages/project-builder-web/src/routes/plugins/route.tsxpackages/project-builder-web/src/routes/index.tsxpackages/project-builder-web/src/routes/data/route.tsxpackages/project-builder-web/src/app/app-layout/app-desktop-sidebar.tsxpackages/project-builder-web/src/routes/plugins/-components/plugin-card.tsxpackages/project-builder-web/src/components/not-found-card/not-found-card.tsxpackages/project-builder-web/src/app/app-layout/app-mobile-sidebar.tsxpackages/react-generators/src/constants/react-packages.tspackages/react-generators/src/generators/core/react-components/templates/components/ui/not-found-card.tsx
**/*
📄 CodeRabbit Inference Engine (.cursor/rules/code-style.mdc)
Use kebab-case for file names
Files:
packages/project-builder-web/src/routes/settings/route.tsxplugins/plugin-auth/package.jsonpackages/project-builder-web/src/routes/plugins/route.tsxpackages/project-builder-web/src/routes/index.tsxpackages/project-builder-web/src/routes/data/route.tsxpackages/project-builder-web/src/app/app-layout/app-desktop-sidebar.tsxpackages/project-builder-web/src/routes/plugins/-components/plugin-card.tsxpackages/project-builder-web/package.jsonpackages/project-builder-web/src/components/not-found-card/not-found-card.tsxpackages/project-builder-web/src/app/app-layout/app-mobile-sidebar.tsxpackages/react-generators/src/constants/react-packages.tspackages/react-generators/src/generators/core/react-components/templates/components/ui/not-found-card.tsx
{packages/project-builder-web/**,packages/ui-components/**}/*.tsx
📄 CodeRabbit Inference Engine (.cursor/rules/ui-rules.mdc)
{packages/project-builder-web/**,packages/ui-components/**}/*.tsx: Use ShadCN-based components from@baseplate-dev/ui-componentsand always prefer these components over creating custom ones
Use Tailwind CSS utilities exclusively for styling; avoid writing custom CSS classes and use Tailwind's utility classes for all styling needs
In plugins, prefix all Tailwind classes with the plugin name (e.g.,auth-,storage-)
Use icons fromreact-icons/md(Material Design icons) and import them likeimport { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
Files:
packages/project-builder-web/src/routes/settings/route.tsxpackages/project-builder-web/src/routes/plugins/route.tsxpackages/project-builder-web/src/routes/index.tsxpackages/project-builder-web/src/routes/data/route.tsxpackages/project-builder-web/src/app/app-layout/app-desktop-sidebar.tsxpackages/project-builder-web/src/routes/plugins/-components/plugin-card.tsxpackages/project-builder-web/src/components/not-found-card/not-found-card.tsxpackages/project-builder-web/src/app/app-layout/app-mobile-sidebar.tsx
**/index.{ts,tsx,js}
📄 CodeRabbit Inference Engine (.cursor/rules/code-style.mdc)
Prefer barrel exports e.g. export * from './foo.js' instead of individual named exports
Files:
packages/project-builder-web/src/routes/index.tsx
.changeset/*.md
📄 CodeRabbit Inference Engine (CLAUDE.md)
When adding a new feature or changing an existing feature, add a new Changeset in the
.changeset/directory in the specified markdown format.
Files:
.changeset/some-emus-juggle.md
🧠 Learnings (13)
packages/project-builder-web/src/routes/settings/route.tsx (10)
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping in tsconfig.json. Removing baseUrl and using explicit relative paths with "./" prefix (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping when using explicit relative paths (with "./"). Removing baseUrl from tsconfig.json while updating paths to use relative paths (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: kingston
PR: #609
File: packages/ui-components/src/components/badge/badge-with-icon.stories.tsx:3-3
Timestamp: 2025-07-14T12:02:36.595Z
Learning: For TypeScript/TSX files: #src/ is the new path alias standard for src/ directory imports, replacing the previous @src/ convention.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/code-style.mdc:0-0
Timestamp: 2025-07-22T09:10:31.413Z
Learning: Applies to **/*.{ts,tsx} : Include absolute paths in import statements via tsconfig paths (@src/ is the alias for src/)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use Tailwind CSS utilities exclusively for styling; avoid writing custom CSS classes and use Tailwind's utility classes for all styling needs
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Use both standalone and React Hook Form controller variants for form components from @baseplate-dev/ui-components as appropriate.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.tsx : Use layout components such as SidebarLayout, Card, and Breadcrumb from @baseplate-dev/ui-components to structure pages as shown in the example.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : In plugins, prefix all Tailwind classes with the plugin name (e.g., auth-, storage-)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use icons from react-icons/md (Material Design icons) and import them like import { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
plugins/plugin-auth/package.json (9)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Use both standalone and React Hook Form controller variants for form components from @baseplate-dev/ui-components as appropriate.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Import UI components from the @baseplate-dev/ui-components package as shown in the provided examples.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.tsx : Use layout components such as SidebarLayout, Card, and Breadcrumb from @baseplate-dev/ui-components to structure pages as shown in the example.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.tsx : Use interactive dialog components like Dialog, ConfirmDialog, and useConfirmDialog from @baseplate-dev/ui-components for modal interactions.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use icons from react-icons/md (Material Design icons) and import them like import { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.tsx : When using form components, integrate them with React Hook Form by passing the control prop from useForm().
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : In plugins, prefix all Tailwind classes with the plugin name (e.g., auth-, storage-)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use Tailwind CSS utilities exclusively for styling; avoid writing custom CSS classes and use Tailwind's utility classes for all styling needs
packages/project-builder-web/src/routes/plugins/route.tsx (11)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : In plugins, prefix all Tailwind classes with the plugin name (e.g., auth-, storage-)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/code-style.mdc:0-0
Timestamp: 2025-07-22T09:10:31.413Z
Learning: Applies to **/*.{ts,tsx} : Include absolute paths in import statements via tsconfig paths (@src/ is the alias for src/)
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping in tsconfig.json. Removing baseUrl and using explicit relative paths with "./" prefix (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Use both standalone and React Hook Form controller variants for form components from @baseplate-dev/ui-components as appropriate.
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping when using explicit relative paths (with "./"). Removing baseUrl from tsconfig.json while updating paths to use relative paths (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
Learnt from: kingston
PR: #609
File: packages/ui-components/src/components/badge/badge-with-icon.stories.tsx:3-3
Timestamp: 2025-07-14T12:02:36.595Z
Learning: For TypeScript/TSX files: #src/ is the new path alias standard for src/ directory imports, replacing the previous @src/ convention.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use icons from react-icons/md (Material Design icons) and import them like import { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: plugins/CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:41.714Z
Learning: Applies to plugins/plugin-/**/.tsx : When using utility functions like cn(), all CSS classes passed must also be prefixed with the plugin name.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use Tailwind CSS utilities exclusively for styling; avoid writing custom CSS classes and use Tailwind's utility classes for all styling needs
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.tsx : Use layout components such as SidebarLayout, Card, and Breadcrumb from @baseplate-dev/ui-components to structure pages as shown in the example.
packages/project-builder-web/src/routes/index.tsx (10)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : In plugins, prefix all Tailwind classes with the plugin name (e.g., auth-, storage-)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use icons from react-icons/md (Material Design icons) and import them like import { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping in tsconfig.json. Removing baseUrl and using explicit relative paths with "./" prefix (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping when using explicit relative paths (with "./"). Removing baseUrl from tsconfig.json while updating paths to use relative paths (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
Learnt from: kingston
PR: #609
File: packages/ui-components/src/components/badge/badge-with-icon.stories.tsx:3-3
Timestamp: 2025-07-14T12:02:36.595Z
Learning: For TypeScript/TSX files: #src/ is the new path alias standard for src/ directory imports, replacing the previous @src/ convention.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/code-style.mdc:0-0
Timestamp: 2025-07-22T09:10:31.413Z
Learning: Applies to **/*.{ts,tsx} : Include absolute paths in import statements via tsconfig paths (@src/ is the alias for src/)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use Tailwind CSS utilities exclusively for styling; avoid writing custom CSS classes and use Tailwind's utility classes for all styling needs
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Use both standalone and React Hook Form controller variants for form components from @baseplate-dev/ui-components as appropriate.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : If a particular interface or type is not exported, change the file so it is exported.
packages/project-builder-web/src/routes/data/route.tsx (11)
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping in tsconfig.json. Removing baseUrl and using explicit relative paths with "./" prefix (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping when using explicit relative paths (with "./"). Removing baseUrl from tsconfig.json while updating paths to use relative paths (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
Learnt from: kingston
PR: #609
File: packages/ui-components/src/components/badge/badge-with-icon.stories.tsx:3-3
Timestamp: 2025-07-14T12:02:36.595Z
Learning: For TypeScript/TSX files: #src/ is the new path alias standard for src/ directory imports, replacing the previous @src/ convention.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use Tailwind CSS utilities exclusively for styling; avoid writing custom CSS classes and use Tailwind's utility classes for all styling needs
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use icons from react-icons/md (Material Design icons) and import them like import { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/code-style.mdc:0-0
Timestamp: 2025-07-22T09:10:31.413Z
Learning: Applies to **/*.{ts,tsx} : Include absolute paths in import statements via tsconfig paths (@src/ is the alias for src/)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : In plugins, prefix all Tailwind classes with the plugin name (e.g., auth-, storage-)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Use both standalone and React Hook Form controller variants for form components from @baseplate-dev/ui-components as appropriate.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : If a particular interface or type is not exported, change the file so it is exported.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.tsx : Use layout components such as SidebarLayout, Card, and Breadcrumb from @baseplate-dev/ui-components to structure pages as shown in the example.
packages/project-builder-web/src/app/app-layout/app-desktop-sidebar.tsx (10)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.tsx : Use layout components such as SidebarLayout, Card, and Breadcrumb from @baseplate-dev/ui-components to structure pages as shown in the example.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use icons from react-icons/md (Material Design icons) and import them like import { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use Tailwind CSS utilities exclusively for styling; avoid writing custom CSS classes and use Tailwind's utility classes for all styling needs
Learnt from: kingston
PR: #609
File: packages/ui-components/src/components/badge/badge-with-icon.stories.tsx:3-3
Timestamp: 2025-07-14T12:02:36.595Z
Learning: For TypeScript/TSX files: #src/ is the new path alias standard for src/ directory imports, replacing the previous @src/ convention.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : In plugins, prefix all Tailwind classes with the plugin name (e.g., auth-, storage-)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/code-style.mdc:0-0
Timestamp: 2025-07-22T09:10:31.413Z
Learning: Applies to **/*.{ts,tsx} : Include absolute paths in import statements via tsconfig paths (@src/ is the alias for src/)
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping in tsconfig.json. Removing baseUrl and using explicit relative paths with "./" prefix (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : If a particular interface or type is not exported, change the file so it is exported.
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping when using explicit relative paths (with "./"). Removing baseUrl from tsconfig.json while updating paths to use relative paths (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
packages/project-builder-web/src/routes/plugins/-components/plugin-card.tsx (10)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : In plugins, prefix all Tailwind classes with the plugin name (e.g., auth-, storage-)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Use both standalone and React Hook Form controller variants for form components from @baseplate-dev/ui-components as appropriate.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: plugins/CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:41.714Z
Learning: Applies to plugins/plugin-/**/.tsx : When using utility functions like cn(), all CSS classes passed must also be prefixed with the plugin name.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: plugins/CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:41.714Z
Learning: Applies to plugins/plugin-/**/.tsx : All CSS classes used in className attributes within plugin components MUST be prefixed with the plugin name to avoid style conflicts.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use icons from react-icons/md (Material Design icons) and import them like import { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use Tailwind CSS utilities exclusively for styling; avoid writing custom CSS classes and use Tailwind's utility classes for all styling needs
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.tsx : Use layout components such as SidebarLayout, Card, and Breadcrumb from @baseplate-dev/ui-components to structure pages as shown in the example.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/code-style.mdc:0-0
Timestamp: 2025-07-22T09:10:31.413Z
Learning: Applies to **/*.{ts,tsx} : Include absolute paths in import statements via tsconfig paths (@src/ is the alias for src/)
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping in tsconfig.json. Removing baseUrl and using explicit relative paths with "./" prefix (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
packages/project-builder-web/package.json (6)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: kingston
PR: #539
File: scripts/check-changesets.ts:70-79
Timestamp: 2025-05-08T12:56:11.723Z
Learning: In the check-changesets.ts script for monorepo validation, npm pack ${pkg.name}@latest is intentionally used to pack the most recently published version (not local changes) for comparison purposes to determine if changes require new changesets.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : In plugins, prefix all Tailwind classes with the plugin name (e.g., auth-, storage-)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Use both standalone and React Hook Form controller variants for form components from @baseplate-dev/ui-components as appropriate.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use icons from react-icons/md (Material Design icons) and import them like import { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Import UI components from the @baseplate-dev/ui-components package as shown in the provided examples.
packages/project-builder-web/src/components/not-found-card/not-found-card.tsx (9)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.tsx : Use layout components such as SidebarLayout, Card, and Breadcrumb from @baseplate-dev/ui-components to structure pages as shown in the example.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use icons from react-icons/md (Material Design icons) and import them like import { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use Tailwind CSS utilities exclusively for styling; avoid writing custom CSS classes and use Tailwind's utility classes for all styling needs
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Use both standalone and React Hook Form controller variants for form components from @baseplate-dev/ui-components as appropriate.
Learnt from: kingston
PR: #609
File: packages/ui-components/src/components/badge/badge-with-icon.stories.tsx:3-3
Timestamp: 2025-07-14T12:02:36.595Z
Learning: For TypeScript/TSX files: #src/ is the new path alias standard for src/ directory imports, replacing the previous @src/ convention.
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping in tsconfig.json. Removing baseUrl and using explicit relative paths with "./" prefix (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : In plugins, prefix all Tailwind classes with the plugin name (e.g., auth-, storage-)
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping when using explicit relative paths (with "./"). Removing baseUrl from tsconfig.json while updating paths to use relative paths (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
.changeset/some-emus-juggle.md (3)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Use both standalone and React Hook Form controller variants for form components from @baseplate-dev/ui-components as appropriate.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : In plugins, prefix all Tailwind classes with the plugin name (e.g., auth-, storage-)
packages/project-builder-web/src/app/app-layout/app-mobile-sidebar.tsx (10)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.tsx : Use layout components such as SidebarLayout, Card, and Breadcrumb from @baseplate-dev/ui-components to structure pages as shown in the example.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use icons from react-icons/md (Material Design icons) and import them like import { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: kingston
PR: #609
File: packages/ui-components/src/components/badge/badge-with-icon.stories.tsx:3-3
Timestamp: 2025-07-14T12:02:36.595Z
Learning: For TypeScript/TSX files: #src/ is the new path alias standard for src/ directory imports, replacing the previous @src/ convention.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use Tailwind CSS utilities exclusively for styling; avoid writing custom CSS classes and use Tailwind's utility classes for all styling needs
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : In plugins, prefix all Tailwind classes with the plugin name (e.g., auth-, storage-)
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping in tsconfig.json. Removing baseUrl and using explicit relative paths with "./" prefix (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : If a particular interface or type is not exported, change the file so it is exported.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/code-style.mdc:0-0
Timestamp: 2025-07-22T09:10:31.413Z
Learning: Applies to **/*.{ts,tsx} : Include absolute paths in import statements via tsconfig paths (@src/ is the alias for src/)
Learnt from: kingston
PR: #505
File: packages/create-project/tsconfig.json:6-6
Timestamp: 2025-04-21T06:32:22.476Z
Learning: Since TypeScript 4.1, baseUrl is not required for paths mapping when using explicit relative paths (with "./"). Removing baseUrl from tsconfig.json while updating paths to use relative paths (e.g., changing "@src/": ["src/"] to "@src/": ["./src/"]) prevents bare path imports from node_modules while maintaining path alias functionality.
packages/react-generators/src/constants/react-packages.ts (5)
Learnt from: kingston
PR: #539
File: scripts/check-changesets.ts:70-79
Timestamp: 2025-05-08T12:56:11.723Z
Learning: In the check-changesets.ts script for monorepo validation, npm pack ${pkg.name}@latest is intentionally used to pack the most recently published version (not local changes) for comparison purposes to determine if changes require new changesets.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use icons from react-icons/md (Material Design icons) and import them like import { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Use both standalone and React Hook Form controller variants for form components from @baseplate-dev/ui-components as appropriate.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : In plugins, prefix all Tailwind classes with the plugin name (e.g., auth-, storage-)
packages/react-generators/src/generators/core/react-components/templates/components/ui/not-found-card.tsx (10)
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Use both standalone and React Hook Form controller variants for form components from @baseplate-dev/ui-components as appropriate.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.tsx : Use layout components such as SidebarLayout, Card, and Breadcrumb from @baseplate-dev/ui-components to structure pages as shown in the example.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use icons from react-icons/md (Material Design icons) and import them like import { MdAdd, MdDelete } from 'react-icons/md'; avoid using other icon libraries
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use ShadCN-based components from @baseplate-dev/ui-components and always prefer these components over creating custom ones
Learnt from: kingston
PR: #544
File: packages/ui-components/src/components/Command/Command.tsx:16-31
Timestamp: 2025-05-12T08:29:52.819Z
Learning: In React 19, function components automatically receive refs as regular props, eliminating the need for React.forwardRef. This allows components to directly destructure and use the ref prop, simplifying component definitions while maintaining the same ref forwarding functionality.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: .cursor/rules/ui-rules.mdc:0-0
Timestamp: 2025-07-22T09:11:29.223Z
Learning: Applies to {packages/project-builder-web/,packages/ui-components/}/*.tsx : Use Tailwind CSS utilities exclusively for styling; avoid writing custom CSS classes and use Tailwind's utility classes for all styling needs
Learnt from: kingston
PR: #609
File: packages/ui-components/src/components/badge/badge-with-icon.stories.tsx:3-3
Timestamp: 2025-07-14T12:02:36.595Z
Learning: For TypeScript/TSX files: #src/ is the new path alias standard for src/ directory imports, replacing the previous @src/ convention.
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.tsx : When using form components, integrate them with React Hook Form by passing the control prop from useForm().
Learnt from: CR
PR: halfdomelabs/baseplate#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-22T09:09:23.016Z
Learning: Applies to **/*.{ts,tsx} : Import UI components from the @baseplate-dev/ui-components package as shown in the provided examples.
Learnt from: kingston
PR: #544
File: packages/ui-components/src/components/Command/Command.tsx:16-31
Timestamp: 2025-05-12T08:29:52.819Z
Learning: In React 19, refs are automatically passed as props to components, making the React.forwardRef API unnecessary in most cases. Components can now receive and use refs without explicit forwarding.
🧬 Code Graph Analysis (1)
packages/project-builder-web/src/routes/settings/route.tsx (1)
packages/project-builder-web/src/services/config.ts (1)
ENABLE_TEMPLATE_EXTRACTOR(17-17)
⏰ 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). (1)
- GitHub Check: Test E2E
🔇 Additional comments (8)
packages/react-generators/src/constants/react-packages.ts (1)
5-6: All@tanstack/react-router&@tanstack/router-pluginversions are aligned to 1.130.8I ran a global search across every
package.jsonand the rootpnpm-lock.yamland found no remaining references to1.124.*. Everything is correctly bumped to1.130.8.plugins/plugin-auth/package.json (1)
50-56: Router upgrade looks goodDependency bump to
1.130.8matches the rest of the repo and requires no further changes in this package.
No concerns from my side.packages/project-builder-web/package.json (1)
63-64: Sync lock-file & changesetsPackage versions bumped to
1.130.8; ensure:
pnpm install(or workspace equivalent) has regenerated the lock-file so CI doesn’t fail.- A changeset exists for this consumer package if one hasn’t already been committed (the router bump is user-visible).
Also applies to: 94-95
packages/project-builder-web/src/routes/plugins/route.tsx (1)
64-66: Double-check the path placeholder
to={/plugins/edit/$key}relies on TanStack Router to replace$keyusing theparamsprop. Confirm that the file-route is indeed declared as/plugins/edit/$key(not:key). If the route uses the colon syntax, the link should mirror it:-<Link to={`/plugins/edit/$key`} params={{ key: plugin.key }}> +<Link to={`/plugins/edit/:key`} params={{ key: plugin.key }}>Marking for verification just in case.
.changeset/some-emus-juggle.md (1)
1-8: Changeset looks goodThe dependency upgrade and brief description are clear. No action required.
packages/project-builder-web/src/routes/plugins/-components/plugin-card.tsx (1)
153-155: LGTM! Clean removal of TanStack Router workaround.The removal of
from="/"from the Link component is correct and aligns with the TanStack Router upgrade to version 1.130.8, which resolved the issue that previously required this workaround.packages/project-builder-web/src/app/app-layout/app-desktop-sidebar.tsx (1)
53-64: LGTM! Consistent removal of router workaround.The removal of
from="/"props from all SidebarNavigationLink components is correct and consistent with the TanStack Router upgrade. The navigation functionality remains intact while eliminating the previously required workaround.packages/project-builder-web/src/app/app-layout/app-mobile-sidebar.tsx (1)
58-63: LGTM! Mobile sidebar navigation updated correctly.The removal of
from="/"prop from the SidebarNavigationLink components is appropriate and maintains consistency with the desktop sidebar and other components across the codebase following the TanStack Router upgrade.
| <Link to="/"> | ||
| <Button>Back to Home</Button> | ||
| </Link> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Same nesting issue as above
Reuse the asChild pattern here to keep markup valid:
-<Link to="/">
- <Button>Back to Home</Button>
-</Link>
+<Link to="/" asChild>
+ <Button variant="link">Back to Home</Button>
+</Link>📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| <Link to="/"> | |
| <Button>Back to Home</Button> | |
| </Link> | |
| <Link to="/" asChild> | |
| <Button variant="link">Back to Home</Button> | |
| </Link> |
🤖 Prompt for AI Agents
In packages/project-builder-web/src/components/not-found-card/not-found-card.tsx
around lines 13 to 15, the Button component is nested inside a Link component,
which causes invalid HTML nesting. To fix this, use the Button component's
asChild prop to render the Link as the Button's child, ensuring valid markup and
preserving styles and behavior.
| <Link to="/data"> | ||
| <Button>Configure Models</Button> | ||
| </Link> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Avoid invalid <a><button></button></a> nesting – use asChild on Link
Link renders an <a> element; wrapping a <Button> (which itself renders <button>) results in nested interactive elements, breaking a11y rules and some browsers (HTML spec §4.8.4). TanStack Link supports asChild – pass the button as the child element and let it become the anchor instead:
-<Link to="/data">
- <Button>Configure Models</Button>
-</Link>
+<Link to="/data" asChild>
+ <Button variant="link">Configure Models</Button>
+</Link>Apply the same pattern to the other two occurrences.
Also applies to: 53-55, 68-70
🤖 Prompt for AI Agents
In packages/project-builder-web/src/routes/index.tsx around lines 39 to 41, 53
to 55, and 68 to 70, the current code nests a <Button> inside a <Link>, causing
invalid HTML with nested interactive elements. To fix this, use the Link
component's asChild prop and pass the Button as its child so that Button renders
as the anchor element, avoiding nested <a> and <button> tags and improving
accessibility.
Summary by CodeRabbit
Bug Fixes
Chores