{ "name": "memos", "private": true, "packageManager": "pnpm@11.0.1", "engines": { "node": ">=24" }, "scripts": { "dev": "vite", "build": "vite build", "release": "vite build --mode release --outDir=../server/router/frontend/dist --emptyOutDir", "lint": "tsc --noEmit --skipLibCheck && biome check src", "lint:fix": "biome check --write src", "format": "biome format --write src", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage" }, "dependencies": { "@connectrpc/connect": "^2.1.1", "@connectrpc/connect-web": "^2.1.1", "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", "@github/relative-time-element": "^5.0.0", "@radix-ui/react-checkbox": "^1.3.3", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-dropdown-menu": "^2.1.16", "@radix-ui/react-label": "^2.1.8", "@radix-ui/react-popover": "^1.1.15", "@radix-ui/react-radio-group": "^1.3.8", "@radix-ui/react-select": "^2.2.6", "@radix-ui/react-separator": "^1.1.8", "@radix-ui/react-slot": "^1.2.4", "@radix-ui/react-switch": "^1.2.6", "@radix-ui/react-tooltip": "^1.2.8", "@tailwindcss/vite": "^4.2.4", "@tanstack/react-query": "^5.100.9", "@tanstack/react-query-devtools": "^5.100.9", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "copy-to-clipboard": "^4.0.2", "dayjs": "^1.11.20", "fuse.js": "^7.3.0", "highlight.js": "^11.11.1", "html-to-image": "^1.11.13", "i18next": "^26.0.10", "katex": "^0.16.45", "leaflet": "^1.9.4", "leaflet.markercluster": "^1.5.3", "lodash-es": "^4.18.1", "lucide-react": "^1.14.0", "mdast-util-from-markdown": "^2.0.3", "mdast-util-gfm": "^3.1.0", "mermaid": "^11.14.0", "micromark-extension-gfm": "^3.0.0", "mime": "^4.1.0", "react": "^19.2.6", "react-dom": "^19.2.6", "react-hot-toast": "^2.6.0", "react-i18next": "^17.0.7", "react-leaflet": "^5.0.0", "react-leaflet-cluster": "^4.1.3", "react-markdown": "^10.1.0", "react-router-dom": "^7.15.0", "react-use": "^17.6.0", "rehype-katex": "^7.0.1", "rehype-raw": "^7.0.0", "rehype-sanitize": "^6.0.0", "remark-breaks": "^4.0.0", "remark-gfm": "^4.0.1", "remark-math": "^6.0.0", "tailwind-merge": "^3.5.0", "tailwindcss": "^4.2.4", "textarea-caret": "^3.1.0", "unist-util-visit": "^5.1.0", "uuid": "^14.0.0" }, "devDependencies": { "@babel/core": "7.29.0", "@babel/plugin-transform-runtime": "7.29.0", "@babel/runtime": "7.29.2", "@biomejs/biome": "^2.4.14", "@bufbuild/protobuf": "^2.12.0", "@rolldown/plugin-babel": "0.2.3", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@types/babel__core": "7.20.5", "@types/d3": "^7.4.3", "@types/hast": "^3.0.4", "@types/katex": "^0.16.8", "@types/leaflet": "^1.9.21", "@types/lodash-es": "^4.17.12", "@types/mdast": "^4.0.4", "@types/node": "^24.12.2", "@types/qs": "^6.15.1", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@types/textarea-caret": "^3.0.4", "@types/unist": "^3.0.3", "@vitejs/plugin-react": "^6.0.1", "babel-plugin-react-compiler": "1.0.0", "baseline-browser-mapping": "^2.10.27", "jsdom": "^29.1.1", "long": "^5.3.2", "terser": "^5.47.1", "tw-animate-css": "^1.4.0", "typescript": "^6.0.3", "vite": "^8.0.11", "vitest": "^4.1.5" } }