mirror of
https://github.com/willchen96/mike.git
synced 2026-07-24 23:41:04 +02:00
Ported from the amal66 fork (index: Open-Legal-Products/mike#205), adapted to this repo's frontend/ layout and current component behavior. Adds the jsdom + testing-library harness on top of the existing vitest setup: vitest.config.mts (jsdom environment, @/ alias mirroring tsconfig paths, dummy Supabase env for modules that build a client at import time) and vitest.setup.ts (jest-dom matchers). New devDependencies: jsdom, @testing-library/react, @testing-library/jest-dom, @testing-library/user-event, @vitejs/plugin-react. Ported suites (30 new tests): - FileTypeIcon.test.tsx (11) — fileTypeKind mapping + icon rendering - TRTable.test.tsx (1) — header/row render smoke test; the fork's ARIA role assertions (table/columnheader, "Tabular review" label) target fork-only markup — this repo's grid is div-based, so the test asserts rendered content instead - button.test.tsx (4), pill-button.test.tsx (8), cite-button.test.tsx (3) - useSmoothedReveal.test.ts (3) — passes against this repo's early-return snap behavior unchanged Dropped (subjects don't exist here): - HistoryDropdown.test.tsx — no tr-chat-panel/HistoryDropdown component - applyAssistantStreamEvent.test.ts — no such module - useProjectsQuery/useTabularReviewsQuery/useWorkflowsQuery tests — react-query is fork-only - lib/toast.test.ts — no frontend/src/lib/toast.ts - useAssistantChat.parsers.test.ts — the parser helpers exist inside useAssistantChat.ts but are not exported, and the fork's extracted module doesn't exist here Verified: frontend npm test 38/38 passing (30 new + 8 pre-existing cn() utils tests); npx tsc --noEmit clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
86 lines
3 KiB
JSON
86 lines
3 KiB
JSON
{
|
|
"name": "mike",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "eslint",
|
|
"test": "vitest run",
|
|
"preview": "opennextjs-cloudflare build && opennextjs-cloudflare preview",
|
|
"deploy": "opennextjs-cloudflare build && opennextjs-cloudflare deploy",
|
|
"upload": "opennextjs-cloudflare build && opennextjs-cloudflare upload",
|
|
"cf-typegen": "wrangler types --env-interface CloudflareEnv cloudflare-env.d.ts"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.1025.0",
|
|
"@aws-sdk/s3-request-presigner": "^3.1025.0",
|
|
"@fortune-sheet/core": "^1.0.4",
|
|
"@fortune-sheet/react": "^1.0.4",
|
|
"@opennextjs/cloudflare": "^1.19.9",
|
|
"@openrouter/sdk": "^0.3.11",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
"@radix-ui/react-icons": "^1.3.2",
|
|
"@radix-ui/react-slot": "^1.2.4",
|
|
"@supabase/auth-helpers-nextjs": "^0.10.0",
|
|
"@supabase/auth-js": "^2.101.1",
|
|
"@supabase/supabase-js": "^2.81.1",
|
|
"@tiptap/core": "^3.22.3",
|
|
"@tiptap/extension-table": "^3.22.3",
|
|
"@tiptap/pm": "^3.22.3",
|
|
"@tiptap/react": "^3.22.3",
|
|
"@tiptap/starter-kit": "^3.22.3",
|
|
"@types/jsdom": "^27.0.0",
|
|
"@uiw/react-md-editor": "^4.1.0",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"docx": "^9.6.1",
|
|
"docx-preview": "^0.3.7",
|
|
"dompurify": "^3.4.8",
|
|
"exceljs": "^4.4.0",
|
|
"katex": "^0.16.27",
|
|
"lucide-react": "^0.553.0",
|
|
"luckyexcel": "^1.0.1",
|
|
"mammoth": "^1.11.0",
|
|
"marked": "^17.0.1",
|
|
"next": "^16.2.6",
|
|
"nextjs-toploader": "^3.9.17",
|
|
"pdfjs-dist": "4.10.38",
|
|
"react": "19.2.0",
|
|
"react-dom": "19.2.0",
|
|
"react-markdown": "^10.1.0",
|
|
"recharts": "^3.7.0",
|
|
"rehype-katex": "^7.0.1",
|
|
"rehype-raw": "^7.0.0",
|
|
"remark-gfm": "^4.0.1",
|
|
"remark-gfm-configurable": "^1.0.0",
|
|
"remark-math": "^6.0.0",
|
|
"resend": "^6.8.0",
|
|
"tailwind-merge": "^3.4.0",
|
|
"tiptap-markdown": "^0.9.0"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/postcss": "^4",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/marked": "^5.0.2",
|
|
"@types/node": "^20",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"@types/uuid": "^10.0.0",
|
|
"@vitejs/plugin-react": "^4.7.0",
|
|
"babel-plugin-react-compiler": "1.0.0",
|
|
"baseline-browser-mapping": "^2.9.11",
|
|
"eslint": "^9",
|
|
"eslint-config-next": "^16.2.6",
|
|
"jsdom": "^27.0.1",
|
|
"tailwindcss": "^4",
|
|
"tw-animate-css": "^1.4.0",
|
|
"typescript": "^5",
|
|
"vitest": "^4.1.9",
|
|
"wrangler": "^4.90.0"
|
|
},
|
|
"license": "AGPL-3.0-only"
|
|
}
|