{ "name": "chatto-frontend", "private": true, "version": "0.5.0-rc.4", "license": "Apache-2.0", "type": "module", "scripts": { "dev": "vite dev", "build": "svelte-kit sync && vite build && pnpm check:bootstrap && pnpm check:csp && pnpm check:i18n", "check:bootstrap": "node --test scripts/check-bootstrap.test.mjs && node scripts/check-bootstrap.mjs", "check:csp": "node scripts/check-csp.mjs", "check:i18n": "node scripts/check-i18n-chunks.mjs", "preview": "vite preview", "prepare": "svelte-kit sync || echo ''", "check": "pnpm run check:design-system && svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:design-system": "node scripts/check-design-system.mjs", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "format": "prettier --write .", "lint": "eslint .", "test:unit": "vitest", "test:focused": "vitest --run", "test:unit:run": "vitest --run --project=server && vitest --run --project=client && vitest --run --project=storybook && pnpm run test:performance-comparison && pnpm run test:e2e-sharding", "test:performance-comparison": "node --test scripts/compare-e2e-performance.test.mjs", "test:e2e-sharding": "node --test scripts/run-e2e-shard.test.mjs", "test:storybook": "vitest --project=storybook", "test": "pnpm run test:unit:run", "test:e2e": "playwright test", "storybook": "storybook dev -p 6006 --no-open", "build-storybook": "storybook build" }, "devDependencies": { "@axe-core/playwright": "^4.14.0", "@codemirror/commands": "^6.11.1", "@codemirror/lang-markdown": "^6.5.2", "@codemirror/language": "^6.13.1", "@codemirror/state": "^6.7.6", "@codemirror/view": "^6.43.15", "@eslint/compat": "^2.1.1", "@eslint/js": "^10.0.1", "@fontsource-variable/ibm-plex-sans": "^5.3.0", "@fontsource/ibm-plex-mono": "^5.3.0", "@iconify/json": "^2.2.548", "@iconify/tailwind4": "^1.2.3", "@lezer/highlight": "^1.2.5", "@lezer/markdown": "^1.8.1", "@playwright/test": "^1.64.1", "@storybook/addon-a11y": "^10.6.4", "@storybook/addon-docs": "^10.6.4", "@storybook/addon-svelte-csf": "^5.1.5", "@storybook/addon-vitest": "^10.6.4", "@storybook/sveltekit": "^10.6.4", "@sveltejs/adapter-static": "^3.0.10", "@sveltejs/kit": "^2.70.3", "@sveltejs/vite-plugin-svelte": "^7.3.1", "@tailwindcss/vite": "^4.3.3", "@tiptap/core": "^3.31.3", "@tiptap/extension-bold": "3.31.3", "@tiptap/extension-code-block-lowlight": "3.31.3", "@tiptap/extension-link": "3.31.3", "@tiptap/extension-placeholder": "^3.31.3", "@tiptap/extension-underline": "3.31.3", "@tiptap/markdown": "3.31.3", "@tiptap/pm": "^3.31.3", "@tiptap/starter-kit": "^3.31.3", "@types/markdown-it": "^14.2.0", "@types/node": "^24.19.2", "@vitest/browser": "^4.1.12", "@vitest/browser-playwright": "^4.1.12", "eslint": "^10.13.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-storybook": "^10.6.4", "eslint-plugin-svelte": "^3.23.1", "globals": "^17.13.0", "highlight.js": "^11.12.0", "lowlight": "3.3.0", "markdown-it": "^14.3.3", "markdown-it-footnote": "^4.0.0", "playwright": "^1.64.1", "prettier": "^3.9.10", "prettier-plugin-svelte": "^4.1.1", "prettier-plugin-tailwindcss": "^0.8.1", "sharp": "^0.35.5", "storybook": "^10.6.4", "svelte": "^5.57.2", "svelte-check": "^4.7.7", "svelte-dnd-action": "^0.9.80", "svelte2tsx": "^0.7.62", "tailwindcss": "^4.3.3", "tsx": "^4.23.15", "typescript": "^6.0.3", "typescript-eslint": "^8.72.0", "virtua": "^0.54.1", "vite": "^8.3.5", "vite-plugin-devtools-json": "^1.1.2", "vitest": "^4.1.12", "vitest-browser-svelte": "^2.2.1", "zod": "^4.6.7" }, "dependencies": { "@bufbuild/protobuf": "^1.10.1", "@capacitor/core": "8.5.2", "@chatto/api-types": "workspace:*", "@chatto/client": "workspace:*", "@chatto/translatto": "workspace:*", "@connectrpc/connect": "^1.7.0", "@connectrpc/connect-web": "^1.7.0", "@tanstack/svelte-query": "^6.3.6", "@xterm/headless": "6.0.0", "dompurify": "^3.4.17", "gemoji": "^8.1.0", "heic2any": "^0.0.4", "hls.js": "^1.7.3", "js-sha256": "^1.0.0", "livekit-client": "^2.23.0", "pele": "^1.10.0", "tlds": "^1.261.0", "vidstack": "^1.15.7" } }