data-peek/apps/web/package.json

61 lines
1.6 KiB
JSON
Raw Normal View History

2025-11-28 14:59:49 +00:00
{
"name": "@data-peek/web",
2026-04-10 10:34:53 +00:00
"version": "0.19.1",
2025-11-28 14:59:49 +00:00
"private": true,
"scripts": {
"dev": "next dev --turbopack",
"build": "next build",
"start": "next start",
"lint": "eslint .",
"typecheck": "tsc --noEmit",
"db:generate": "drizzle-kit generate",
"db:migrate": "drizzle-kit migrate",
"db:push": "drizzle-kit push",
"db:studio": "drizzle-kit studio",
2025-12-11 14:47:41 +00:00
"admin:grant-license": "tsx scripts/grant-license.ts",
"admin:grant-educator": "tsx scripts/grant-educator-license.ts"
2025-11-28 14:59:49 +00:00
},
"dependencies": {
"@clerk/nextjs": "^6.35.5",
"@radix-ui/react-slot": "^1.2.4",
"@sentry/nextjs": "^10.47.0",
Install Vercel Web Analytics (#127) ## Vercel Web Analytics Installation Successfully installed and configured Vercel Web Analytics for the Next.js App Router project. ### Changes Made **Modified Files:** - `apps/web/package.json` - Added `@vercel/analytics` (v2.0.1) dependency - `apps/web/src/app/layout.tsx` - Added Analytics component import and rendering - `pnpm-lock.yaml` - Updated with new dependency ### Implementation Details 1. **Fetched Latest Documentation**: Retrieved the most up-to-date installation instructions from https://vercel.com/docs/analytics/quickstart 2. **Package Installation**: Added `@vercel/analytics@^2.0.1` to the project dependencies using pnpm 3. **Analytics Configuration**: Following the official Next.js App Router setup instructions: - Imported `Analytics` component from `@vercel/analytics/next` - Added `<Analytics />` component to the root layout at the end of the `<body>` tag - Preserved all existing code structure and styling 4. **Framework Identification**: Confirmed this is a Next.js 16.0.7 App Router project (layout.tsx in app directory) ### Verification - TypeScript type checking passed successfully (no type errors) - Changes follow the official Vercel documentation pattern exactly - The Analytics component is placed correctly in the root layout for global tracking - All imports are properly added - Lock file (pnpm-lock.yaml) updated with the new dependency ### Notes - The Analytics component will automatically track page views and web vitals when the app is deployed - No additional configuration is required - the component works out of the box - The existing analytics scripts (Clarity, SimpleAnalytics, etc.) remain unchanged - Pre-existing build warnings/errors (DodoPayments API key, Clerk publishable key) are unrelated to this implementation and exist in the codebase Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
2026-04-02 09:04:27 +00:00
"@vercel/analytics": "^2.0.1",
2025-11-28 14:59:49 +00:00
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"dodopayments": "^2.6.1",
feat: improved row insert UX with side sheet and smart fields (#46) * chore: fix uii/ux * feat: add schema caching with background refresh and notifications - Cache schemas and custom types in memory and disk for faster load times - Background refresh when loading from cache to keep data fresh - Add toast notifications to inform users of schema updates - Show refresh spinner and cache status in schema explorer tooltip - Fall back to stale cache with warning when refresh fails 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add periodic auto-update checks with toast notifications - Add periodic update checks every 4 hours (in addition to startup check) - Show toast notification when update is downloading - Show persistent toast with "Restart Now" button when download completes - Extend notification store to support action buttons - Add IPC events for updater communication with renderer - Create useAutoUpdater hook for listening to update events 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add side sheet for row insertion with smart field inputs - Add AddRowSheet component with type-aware field inputs: - UUID fields with generate button - Date/time fields with picker and "Now" button - Boolean fields with toggle switch - Enum fields with dropdown selection - JSON fields with textarea - Add dropdown menu for Add Row with Form/Quick Add options - Add duplicate row functionality with row action dropdown - Auto-clear serial/identity PKs when duplicating rows 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: handle foreign key fields properly in add row sheet - Check for FK before UUID type to prevent random UUID generation for FK columns - Add searchable dropdown for FK fields that fetches values from referenced table - Show loading state while FK values are being fetched - Fall back to manual input if FK values can't be loaded 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: replace Select with Popover-based combobox for FK fields The Select component doesn't work well with search input inside. Using Popover with native input provides proper searchable combobox UX. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * chore: formatter * perf: add useCallback and useMemo optimizations to SmartField - Wrap generateUUID, setNow, clearValue in useCallback to prevent recreation on every render - Add useMemo for FK value filtering to avoid recalculating on every render - Add self-review documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix: remove duplicate db:invalidate-schema-cache handler Removed duplicate IPC handler registration that was causing "Attempted to register a second handler" error on startup. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat: add row button available in normal mode - Show "Add Row" button in normal view mode (not just edit mode) - Clicking it opens the form sheet directly - On submit, automatically enters edit mode and adds the row - Provides a faster workflow for inserting data without manually entering edit mode first
2025-12-06 08:02:17 +00:00
"dotenv": "^16.4.7",
2025-11-28 14:59:49 +00:00
"drizzle-orm": "^0.44.7",
feat: overhauled marketing website and documentation with high-end animations (#150) * feat: revamped marketing website and documentation with high-end animations and glassmorphism - Redesigned marketing site (apps/web) with a terminal-inspired, professional aesthetic. - Implemented Hero v2 with cinematic, spring-based animations matching the release video. - Added interactive Pokemon Buddy draggable widget inspired by the desktop app. - Integrated react-scan for performance auditing. - Applied consistent glassmorphism, border-flow animations, and Geist Mono typography. - Revamped Databases, Blog, Comparison, and Download pages for visual consistency. - Updated documentation (apps/docs) landing page with matching motion choreography and living background. - Fixed fs module resolution issues in the web app and optimized build stability for React 19. * chore(docs): remove internal marketing playbook and tracker files Remove Reddit playbook and analytics tracker docs from the public documentation set, and update marketing navigation to keep the docs section consistent. Made-with: Cursor * fix: address review feedback for marketing overhaul - Extract download page metadata into layout.tsx (SEO regression fix) - Move react-scan to devDependencies, dynamic import to avoid prod bundle - Soften unverified '10,000+ developers' claim in CTA - Restore StructuredData for FAQ rich snippets - Restore close-on-scroll for mobile menu in header - Remove `as any` spreads from motion.div — use className directly - Gate Pokemon buddy behind NEXT_PUBLIC_ENABLE_POKEMON_BUDDY flag - Fix mood interval priority inversion (excited was unreachable) * chore: add lock file * feat: add framer-motion animations to docs pages --------- Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
2026-04-07 12:19:02 +00:00
"framer-motion": "12.38.0",
"gray-matter": "^4.0.3",
2025-11-28 14:59:49 +00:00
"lucide-react": "^0.555.0",
feat: overhauled marketing website and documentation with high-end animations (#150) * feat: revamped marketing website and documentation with high-end animations and glassmorphism - Redesigned marketing site (apps/web) with a terminal-inspired, professional aesthetic. - Implemented Hero v2 with cinematic, spring-based animations matching the release video. - Added interactive Pokemon Buddy draggable widget inspired by the desktop app. - Integrated react-scan for performance auditing. - Applied consistent glassmorphism, border-flow animations, and Geist Mono typography. - Revamped Databases, Blog, Comparison, and Download pages for visual consistency. - Updated documentation (apps/docs) landing page with matching motion choreography and living background. - Fixed fs module resolution issues in the web app and optimized build stability for React 19. * chore(docs): remove internal marketing playbook and tracker files Remove Reddit playbook and analytics tracker docs from the public documentation set, and update marketing navigation to keep the docs section consistent. Made-with: Cursor * fix: address review feedback for marketing overhaul - Extract download page metadata into layout.tsx (SEO regression fix) - Move react-scan to devDependencies, dynamic import to avoid prod bundle - Soften unverified '10,000+ developers' claim in CTA - Restore StructuredData for FAQ rich snippets - Restore close-on-scroll for mobile menu in header - Remove `as any` spreads from motion.div — use className directly - Gate Pokemon buddy behind NEXT_PUBLIC_ENABLE_POKEMON_BUDDY flag - Fix mood interval priority inversion (excited was unreachable) * chore: add lock file * feat: add framer-motion animations to docs pages --------- Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
2026-04-07 12:19:02 +00:00
"motion-dom": "^12.38.0",
"motion-utils": "^12.36.0",
feat: improved row insert UX with side sheet and smart fields (#46) * chore: fix uii/ux * feat: add schema caching with background refresh and notifications - Cache schemas and custom types in memory and disk for faster load times - Background refresh when loading from cache to keep data fresh - Add toast notifications to inform users of schema updates - Show refresh spinner and cache status in schema explorer tooltip - Fall back to stale cache with warning when refresh fails 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add periodic auto-update checks with toast notifications - Add periodic update checks every 4 hours (in addition to startup check) - Show toast notification when update is downloading - Show persistent toast with "Restart Now" button when download completes - Extend notification store to support action buttons - Add IPC events for updater communication with renderer - Create useAutoUpdater hook for listening to update events 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add side sheet for row insertion with smart field inputs - Add AddRowSheet component with type-aware field inputs: - UUID fields with generate button - Date/time fields with picker and "Now" button - Boolean fields with toggle switch - Enum fields with dropdown selection - JSON fields with textarea - Add dropdown menu for Add Row with Form/Quick Add options - Add duplicate row functionality with row action dropdown - Auto-clear serial/identity PKs when duplicating rows 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: handle foreign key fields properly in add row sheet - Check for FK before UUID type to prevent random UUID generation for FK columns - Add searchable dropdown for FK fields that fetches values from referenced table - Show loading state while FK values are being fetched - Fall back to manual input if FK values can't be loaded 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: replace Select with Popover-based combobox for FK fields The Select component doesn't work well with search input inside. Using Popover with native input provides proper searchable combobox UX. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * chore: formatter * perf: add useCallback and useMemo optimizations to SmartField - Wrap generateUUID, setNow, clearValue in useCallback to prevent recreation on every render - Add useMemo for FK value filtering to avoid recalculating on every render - Add self-review documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix: remove duplicate db:invalidate-schema-cache handler Removed duplicate IPC handler registration that was causing "Attempted to register a second handler" error on startup. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat: add row button available in normal mode - Show "Add Row" button in normal view mode (not just edit mode) - Clicking it opens the form sheet directly - On submit, automatically enters edit mode and adds the row - Provides a faster workflow for inserting data without manually entering edit mode first
2025-12-06 08:02:17 +00:00
"next": "16.0.7",
"next-mdx-remote": "^6.0.0",
2025-11-28 14:59:49 +00:00
"postgres": "^3.4.7",
"react": "19.2.0",
"react-dom": "19.2.0",
"reading-time": "^1.5.0",
2025-12-16 08:22:56 +00:00
"rehype-pretty-code": "^0.14.1",
fix: virtualize data tables to eliminate typing lag (#80) * fix: virtualize data tables to eliminate typing lag in Monaco editor - Add TanStack Virtual row virtualization for datasets > 50 rows - Measure header column widths and sync to virtualized rows using ResizeObserver - Fix result switching in table-preview tabs by adding key prop and using active result columns - Reduce DOM nodes from ~15,000 to ~1,000 for 500-row datasets - Eliminates 5+ second typing delay caused by React reconciliation overhead Closes #71 * fix: show all query result rows instead of limiting to page size Previously, when running raw queries (including multi-statement queries), results were incorrectly limited to the page size (e.g., 500 rows) instead of showing all returned rows with client-side pagination. The issue was that table-preview tabs with multi-statement queries used paginatedRows which slices data to pageSize before passing to the component. Now: - EditableDataTable is only used for single-statement table-preview tabs - DataTable with getAllRows() is used for query tabs and multi-statement queries, passing all rows and letting TanStack Table handle pagination * chore: fix dates * chore: fix blog posts stuff * style: Reformat SVG path definitions and MDXComponents type for improved readability. * a11y: add ARIA attributes to virtualized table rows - Add role="rowgroup" and aria-rowcount to virtualized container - Add role="row" and aria-rowindex to each virtualized row - Add role="cell" to each virtualized cell - Enables screen readers to navigate virtualized tables correctly
2025-12-19 11:16:05 +00:00
"remark-gfm": "^4.0.1",
2025-11-28 14:59:49 +00:00
"resend": "^6.5.2",
2025-12-16 08:22:56 +00:00
"shiki": "^3.20.0",
2025-12-24 14:21:10 +00:00
"tailwind-merge": "^3.4.0",
"uuid": "^11.1.0"
2025-11-28 14:59:49 +00:00
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@types/mdx": "^2.0.13",
2025-11-28 14:59:49 +00:00
"@types/node": "^20.19.25",
"@types/react": "^19",
"@types/react-dom": "^19",
"drizzle-kit": "^0.31.7",
"eslint": "^9",
"eslint-config-next": "16.0.5",
feat: overhauled marketing website and documentation with high-end animations (#150) * feat: revamped marketing website and documentation with high-end animations and glassmorphism - Redesigned marketing site (apps/web) with a terminal-inspired, professional aesthetic. - Implemented Hero v2 with cinematic, spring-based animations matching the release video. - Added interactive Pokemon Buddy draggable widget inspired by the desktop app. - Integrated react-scan for performance auditing. - Applied consistent glassmorphism, border-flow animations, and Geist Mono typography. - Revamped Databases, Blog, Comparison, and Download pages for visual consistency. - Updated documentation (apps/docs) landing page with matching motion choreography and living background. - Fixed fs module resolution issues in the web app and optimized build stability for React 19. * chore(docs): remove internal marketing playbook and tracker files Remove Reddit playbook and analytics tracker docs from the public documentation set, and update marketing navigation to keep the docs section consistent. Made-with: Cursor * fix: address review feedback for marketing overhaul - Extract download page metadata into layout.tsx (SEO regression fix) - Move react-scan to devDependencies, dynamic import to avoid prod bundle - Soften unverified '10,000+ developers' claim in CTA - Restore StructuredData for FAQ rich snippets - Restore close-on-scroll for mobile menu in header - Remove `as any` spreads from motion.div — use className directly - Gate Pokemon buddy behind NEXT_PUBLIC_ENABLE_POKEMON_BUDDY flag - Fix mood interval priority inversion (excited was unreachable) * chore: add lock file * feat: add framer-motion animations to docs pages --------- Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
2026-04-07 12:19:02 +00:00
"react-scan": "^0.5.3",
2025-11-28 14:59:49 +00:00
"tailwindcss": "^4",
feat: improved row insert UX with side sheet and smart fields (#46) * chore: fix uii/ux * feat: add schema caching with background refresh and notifications - Cache schemas and custom types in memory and disk for faster load times - Background refresh when loading from cache to keep data fresh - Add toast notifications to inform users of schema updates - Show refresh spinner and cache status in schema explorer tooltip - Fall back to stale cache with warning when refresh fails 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add periodic auto-update checks with toast notifications - Add periodic update checks every 4 hours (in addition to startup check) - Show toast notification when update is downloading - Show persistent toast with "Restart Now" button when download completes - Extend notification store to support action buttons - Add IPC events for updater communication with renderer - Create useAutoUpdater hook for listening to update events 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add side sheet for row insertion with smart field inputs - Add AddRowSheet component with type-aware field inputs: - UUID fields with generate button - Date/time fields with picker and "Now" button - Boolean fields with toggle switch - Enum fields with dropdown selection - JSON fields with textarea - Add dropdown menu for Add Row with Form/Quick Add options - Add duplicate row functionality with row action dropdown - Auto-clear serial/identity PKs when duplicating rows 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: handle foreign key fields properly in add row sheet - Check for FK before UUID type to prevent random UUID generation for FK columns - Add searchable dropdown for FK fields that fetches values from referenced table - Show loading state while FK values are being fetched - Fall back to manual input if FK values can't be loaded 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: replace Select with Popover-based combobox for FK fields The Select component doesn't work well with search input inside. Using Popover with native input provides proper searchable combobox UX. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * chore: formatter * perf: add useCallback and useMemo optimizations to SmartField - Wrap generateUUID, setNow, clearValue in useCallback to prevent recreation on every render - Add useMemo for FK value filtering to avoid recalculating on every render - Add self-review documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix: remove duplicate db:invalidate-schema-cache handler Removed duplicate IPC handler registration that was causing "Attempted to register a second handler" error on startup. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * feat: add row button available in normal mode - Show "Add Row" button in normal view mode (not just edit mode) - Clicking it opens the form sheet directly - On submit, automatically enters edit mode and adds the row - Provides a faster workflow for inserting data without manually entering edit mode first
2025-12-06 08:02:17 +00:00
"tsx": "^4.19.4",
2025-11-28 14:59:49 +00:00
"typescript": "^5"
}
}