{ "name": "@frontend/source", "version": "0.0.0", "license": "MIT", "scripts": { "perf:desktop": "node tools/performance/run.mjs" }, "private": true, "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@headlessui/react": "^2.2.2", "@hugeicons/core-free-icons": "^1.0.13", "@hugeicons/react": "^1.0.4", "@preact/signals-core": "1.14.2", "@preact/signals-react": "^3.0.1", "@radix-ui/react-dialog": "^1.1.14", "@radix-ui/react-navigation-menu": "^1.2.14", "@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-slot": "^1.2.0", "@radix-ui/react-tooltip": "^1.2.0", "@radix-ui/react-visually-hidden": "1.2.5", "@react-oauth/google": "^0.13.4", "@react-spring/web": "^10.0.1", "@sparkjsdev/spark": "^0.1.10", "@tauri-apps/plugin-http": "2.4.3", "class-variance-authority": "^0.7.1", "clsx": "2.1.1", "culori": "^4.0.1", "dayjs": "^1.11.10", "detect-gpu": "^5.0.38", "embla-carousel": "8.6.0", "embla-carousel-react": "^8.6.0", "eventemitter3": "4.0.7", "framer-motion": "^12.11.0", "konva": "^9.3.20", "lodash": "^4.17.21", "lucide-react": "^0.512.0", "mediabunny": "^1.29.1", "opencut-wasm": "^0.2.10", "posthog-js": "^1.141.0", "qrcode.react": "4.2.0", "radix-ui": "^1.4.3", "react": "18.3.1", "react-copy-to-clipboard": "^5.1.0", "react-device-detect": "^2.2.3", "react-dom": "18.3.1", "react-drag-drop-files": "^2.3.10", "react-helmet": "^6.1.0", "react-hot-toast": "^2.5.2", "react-masonry-css": "1.0.16", "react-resizable-panels": "^2.1.7", "react-router-dom": "6.29.0", "react-window": "^2.2.7", "soundtouchjs": "^0.3.0", "tailwind-merge": "^2.2.2", "three": "^0.171.0", "use-deep-compare-effect": "^1.8.1", "uuid": "^9.0.1", "zustand": "^5.0.5" }, "devDependencies": { "@babel/core": "^7.14.5", "@babel/preset-react": "^7.14.5", "@nx/eslint": "21.2.3", "@nx/eslint-plugin": "21.2.3", "@nx/js": "21.2.3", "@nx/react": "21.2.3", "@nx/vite": "21.2.3", "@nx/web": "21.2.3", "@nx/workspace": "21.2.3", "@playwright/test": "1.63.0", "@remix-run/node": "^2.16.5", "@swc-node/register": "~1.9.1", "@swc/core": "~1.5.7", "@swc/helpers": "~0.5.11", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.4.2", "@testing-library/react": "16.1.0", "@testing-library/user-event": "^14.5.2", "@types/lodash": "^4.14.202", "@types/node": "^20.0.0", "@types/react": "19.0.0", "@types/react-dom": "19.0.0", "@types/uuid": "^9.0.8", "@typescript-eslint/eslint-plugin": "^7.16.0", "@typescript-eslint/parser": "^7.16.0", "@vitejs/plugin-react": "^4.2.0", "@vitest/coverage-v8": "^3.0.5", "@vitest/ui": "^3.0.0", "ajv": "^8.0.0", "autoprefixer": "10.4.13", "eslint": "~8.57.0", "eslint-config-prettier": "^10.0.0", "eslint-plugin-import": "2.31.0", "eslint-plugin-jsx-a11y": "6.10.1", "eslint-plugin-react": "7.35.0", "eslint-plugin-react-hooks": "5.0.0", "jiti": "2.4.2", "jsdom": "~22.1.0", "jsonc-eslint-parser": "^2.1.0", "nx": "21.2.3", "postcss": "8.4.38", "postcss-import": "^16.0.1", "postcss-nesting": "^12.1.0", "tailwindcss": "3.4.3", "tslib": "^2.3.0", "typescript": "5.8.3", "vite": "^6.0.0", "vite-plugin-banner": "^0.8.0", "vite-plugin-dts": "~4.5.0", "vite-plugin-static-copy": "^2.3.1", "vite-plugin-top-level-await": "^1.6.0", "vite-plugin-wasm": "^3.5.0", "vite-tsconfig-paths": "^5.1.4", "vitest": "^3.0.0" }, "workspaces": [ "apps/artcraft", "libs/*", "libs/analytics/*", "libs/components/*", "libs/state/*" ] }