{ "name": "client", "private": true, "scripts": { "watch": "pnpm vite build --watch --mode development", "build": "pnpm vite build", "build:debug": "pnpm run build", "lint": "pnpm biome check **/*.ts --apply ; pnpm run lint:vue", "lint:vue": "pnpm eslint src --fix '**/*.vue' --cache ; pnpm run format", "format": "pnpm biome format * --write && pnpm prettier --write '**/*.{scss,vue}' --cache --cache-strategy metadata" }, "devDependencies": { "@eslint-sets/eslint-config-vue3": "^5.12.0", "@eslint-sets/eslint-config-vue3-ts": "^3.3.0", "@phosphor-icons/web": "^2.0.3", "@rollup/plugin-alias": "5.1.0", "@rollup/plugin-json": "6.1.0", "@rollup/pluginutils": "^5.1.0", "@syuilo/aiscript": "0.17.0", "@types/autosize": "^4.0.3", "@types/glob": "8.1.0", "@types/gulp": "4.0.17", "@types/gulp-rename": "2.0.6", "@types/insert-text-at-cursor": "^0.3.2", "@types/katex": "0.16.7", "@types/matter-js": "0.19.6", "@types/prismjs": "^1.26.3", "@types/punycode": "2.1.3", "@types/seedrandom": "3.0.8", "@types/textarea-caret": "^3.0.3", "@types/throttle-debounce": "5.0.2", "@types/tinycolor2": "1.4.6", "@types/uuid": "9.0.8", "@vitejs/plugin-vue": "5.0.4", "@vue/compiler-sfc": "3.4.18", "@vue/runtime-core": "3.4.18", "autobind-decorator": "2.4.0", "autosize": "6.0.1", "blurhash": "2.0.5", "broadcast-channel": "7.0.0", "browser-image-resizer": "github:misskey-dev/browser-image-resizer", "chart.js": "4.4.1", "chartjs-adapter-date-fns": "3.0.0", "chartjs-chart-matrix": "^2.0.1", "chartjs-plugin-gradient": "0.6.1", "chartjs-plugin-zoom": "2.0.1", "city-timezones": "^1.2.1", "compare-versions": "6.1.0", "cropperjs": "2.0.0-beta.4", "date-fns": "3.3.1", "emojilib": "^3.0.11", "eslint-config-prettier": "9.1.0", "eslint-plugin-file-progress": "^1.3.0", "eventemitter3": "5.0.1", "fast-blurhash": "^1.1.2", "firefish-js": "workspace:*", "focus-trap": "^7.5.4", "focus-trap-vue": "^4.0.3", "gsap": "^3.12.5", "idb-keyval": "6.2.1", "insert-text-at-cursor": "0.3.0", "json5": "2.2.3", "katex": "0.16.9", "libopenmpt-wasm": "github:TheEssem/libopenmpt-packaging#build", "matter-js": "0.19.0", "mfm-js": "0.24.0", "photoswipe": "5.4.3", "prettier": "3.2.5", "prismjs": "1.29.0", "punycode": "2.3.1", "rollup": "4.10.0", "s-age": "1.1.2", "sass": "1.70.0", "seedrandom": "3.0.5", "stringz": "2.1.0", "swiper": "11.0.6", "syuilo-password-strength": "0.0.1", "textarea-caret": "3.1.0", "three": "0.161.0", "throttle-debounce": "5.0.0", "tinycolor2": "1.6.0", "tinyld": "^1.3.4", "typescript": "5.3.3", "unicode-emoji-json": "^0.4.0", "uuid": "9.0.1", "vite": "5.1.1", "vite-plugin-compression": "^0.5.1", "vue": "3.4.18", "vue-draggable-plus": "^0.3.5", "vue-plyr": "^7.0.0", "vue-prism-editor": "2.0.0-alpha.2" } }