Skip to content

Conversation

samwillis
Copy link
Collaborator

This pull request contains changes generated by Cursor background composer.

KyleAMathews and others added 21 commits July 10, 2025 10:22
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
devtools ref

Complete TanStack DB Devtools implementation with React and Vue wrappers

Fix linting issues and add ReactDbDevtools to React example app

Complete DB devtools architecture implementation with summary

- Core devtools package with SolidJS UI components
- React and Vue integration packages
- Comprehensive collection and transaction monitoring
- Memory-efficient weak reference system
- Real-time performance tracking
- Build configurations and linting fixes
- Complete documentation of architecture and implementation

Fix React integration type conflicts

- Separate core devtools from SolidJS components
- Create pure React implementation of devtools UI
- Update package exports for better module resolution
- Resolve SolidJS/React JSX transpilation conflicts
- React devtools now uses core functionality with React components

Update devtools summary with React integration solution

- Document the layered architecture approach
- Explain how SolidJS/React conflicts were resolved
- Update status to reflect successful fixes
- Add technical details about the solution implementation

Implement TanStack pattern for React integration

- Follow TanStack Query/Router pattern with mount/unmount class
- Create TanstackDbDevtools class with SolidJS render and mount methods
- Update React wrapper to use core class instance
- Eliminate component duplication while reusing SolidJS components
- Clean architecture following established TanStack conventions

Update summary to reflect TanStack pattern implementation

- Document the mount/unmount class approach
- Explain how component duplication was eliminated
- Update technical challenges to reflect the DOM mounting solution
- Align documentation with established TanStack patterns

Add comprehensive devtools comparison and improvement roadmap

Co-authored-by: sam.willis <[email protected]>

feat: Transform DB devtools to match TanStack architecture

chore: Remove build artifacts from repository

- Remove packages/db-devtools/build/ folder from git
- Add 'build' to .gitignore to prevent future commits of build artifacts

fix: Resolve TypeScript build errors

- Update TypeScript target and lib to ES2021 for WeakRef support
- Fix missing type annotations for mutation parameters
- Remove duplicate Window interface declaration to resolve type conflicts
- Add proper type casting for window.__TANSTACK_DB_DEVTOOLS__ usage
- Fix Transaction updatedAt property (use createdAt as fallback)
- Add non-null assertions for selectedTransaction/selectedCollection
- Create missing tsconfig.prod.json for react-db-devtools package

All TypeScript build errors are now resolved and the packages build successfully.

fix: Resolve react-db-devtools TypeScript build errors

- Fix TypeScript module/moduleResolution compatibility by setting module: ESNext and moduleResolution: bundler in react-db-devtools tsconfig files
- Remove unused React import from ReactDbDevtools.tsx
- Both db-devtools and react-db-devtools packages now build successfully
- Fixed TypeScript configuration conflicts between root tsconfig and package-specific needs

fix: Correct package.json exports for db-devtools

- Fix exports to point to actual built files (index.js/index.cjs) instead of non-existent dev.js/dev.cjs
- Wrap exports under '.' field for proper ESM resolution
- Add proper type definitions for both import and require conditions
- Add package.json export for tooling compatibility

This resolves the Vite import error when using @tanstack/db-devtools in demo applications.

fix: Resolve SolidJS JSX Fragment compilation issues

- Replace JSX fragments (<>) with proper div wrapper to avoid SolidJS Fragment export issues
- Configure esbuild to use automatic JSX transform with solid-js as import source
- Remove JSX compilation warnings from build process
- Ensure proper SolidJS JSX runtime compatibility

This fixes the browser error: 'The requested module does not provide an export named Fragment'

fix: Switch to Vite build system for proper SolidJS JSX compilation

- Replace tsup with Vite build system using vite-plugin-solid for correct JSX handling
- Add vite-plugin-dts for TypeScript declaration generation
- Update package.json exports to point to dist/ directory instead of build/
- Remove non-existent @tanstack/query-core workspace dependency
- Configure proper SolidJS compilation that avoids Fragment and jsx runtime errors

This resolves the SolidJS JSX runtime errors in browser applications.
…keep index resolution and devtools status emit; align example to new collection packages; remove legacy App.tsx; regenerate trailbase routes refs
Copy link

cursor bot commented Aug 7, 2025

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

Copy link

changeset-bot bot commented Aug 7, 2025

⚠️ No Changeset found

Latest commit: 577be89

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

@samwillis samwillis force-pushed the devtools branch 3 times, most recently from 766af9c to 337f201 Compare August 13, 2025 10:58
@samwillis
Copy link
Collaborator Author

replaced with #411

@samwillis samwillis closed this Aug 14, 2025
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.

3 participants