{ "license": "MIT", "private": true, "packageManager": "pnpm@8.5.1", "engines": { "node": "^18.16.0" }, "scripts": { "dev": "next dev", "build": "next build", "analyze": "ANALYZE=true next build", "start": "serve out", "test": "docker compose -f compose.test.yaml run --rm playwright npx playwright test", "test:update": "pnpm test -- --update-snapshots", "test:report": "playwright show-report", "deploy": "firebase deploy --project devtoysweb", "check": "pnpm typecheck && pnpm lint && pnpm format:check", "fix": "pnpm lint:fix && pnpm format:write", "lint": "next lint", "lint:fix": "next lint --fix", "preview": "next build && serve out", "typecheck": "tsc --noEmit", "format:write": "pnpm format --write", "format:check": "pnpm format --check", "format": "prettier \"**/*.{js,jsx,ts,tsx,css,json,md}\" --cache" }, "dependencies": { "@monaco-editor/react": "^4.6.0", "@radix-ui/react-accordion": "^1.1.2", "@radix-ui/react-label": "^2.0.2", "@radix-ui/react-select": "^2.0.0", "@radix-ui/react-separator": "^1.0.3", "@radix-ui/react-switch": "^1.0.3", "@radix-ui/react-toggle-group": "^1.0.4", "@radix-ui/react-tooltip": "^1.0.7", "change-case": "^5.4.4", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "cmdk": "^0.2.0", "create-hash": "^1.2.0", "fp-ts": "^2.16.0", "fuse.js": "^6.6.2", "html-escaper": "^3.0.3", "js-base64": "^3.7.7", "js-yaml": "^4.1.0", "jwt-decode": "^3.1.2", "lucide-react": "^0.378.0", "neverthrow": "^6.0.0", "next": "14.3.0-canary.70", "next-client-cookies": "^1.1.1", "next-themes": "^0.2.1", "react": "19.0.0-beta-26f2496093-20240514", "react-day-picker": "^8.7.1", "react-dom": "19.0.0-beta-26f2496093-20240514", "react-fast-compare": "^3.2.2", "react-resizable-panels": "^2.0.19", "sharp": "^0.33.4", "tailwindcss-animate": "^1.0.7", "url-slug": "^4.0.1", "uuid": "^9.0.0" }, "devDependencies": { "@ianvs/prettier-plugin-sort-imports": "^4.2.1", "@next/bundle-analyzer": "14.2.3", "@playwright/test": "^1.44.0", "@types/create-hash": "^1.2.6", "@types/html-escaper": "^3.0.2", "@types/js-yaml": "^4.0.9", "@types/node": "~20.12.12", "@types/react": "npm:types-react@19.0.0-beta.1", "@types/react-dom": "npm:types-react-dom@beta", "@types/uuid": "^9.0.8", "@typescript-eslint/eslint-plugin": "^5.59.7", "@typescript-eslint/parser": "^5.59.7", "autoprefixer": "^10.4.19", "babel-plugin-react-compiler": "0.0.0-experimental-592953e-20240517", "eslint": "^8.41.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-config-next": "~14.2.3", "eslint-config-prettier": "^9.1.0", "eslint-plugin-react": "^7.34.1", "eslint-plugin-react-compiler": "0.0.0-experimental-c8b3f72-20240517", "eslint-plugin-tailwindcss": "^3.15.2", "postcss": "^8.4.38", "prettier": "^2.8.8", "serve": "^14.2.1", "tailwindcss": "^3.4.3", "typescript": "^5.4.5" } }