{ "name": "goodworkshop", "version": "0.8.40", "private": true, "license": "SEE LICENSE IN LICENSE", "packageManager": "pnpm@10.32.1", "engines": { "node": ">=22" }, "scripts": { "dev": "next dev", "build": "next build && node scripts/build-collab.mjs", "start": "node scripts/start-standalone.mjs", "lint": "eslint .", "format": "prettier --write .", "format:check": "prettier --check .", "typecheck": "tsc --noEmit", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "test:e2e": "playwright test", "capture": "GW_CAPTURE=1 playwright test --project=marketing --workers=1", "test:e2e:ui": "playwright test --ui", "db:bootstrap": "node scripts/db-bootstrap.mjs", "db:generate": "drizzle-kit generate", "check:docs": "node scripts/check-docs.mjs", "check:licenses": "node scripts/licenses.mjs", "licenses:write": "node scripts/licenses.mjs --write", "licenses:notices": "node scripts/licenses.mjs --notices THIRD-PARTY-LICENSES.txt", "licenses:sbom": "node scripts/licenses.mjs --sbom sbom.cdx.json", "db:preflight": "node scripts/preflight.mjs", "db:migrate": "node scripts/migrate.mjs", "db:up": "docker compose -f compose.dev.yaml up -d", "db:down": "docker compose -f compose.dev.yaml down", "test:db": "vitest run --config vitest.db.config.ts", "test:db:cloud": "vitest run --config vitest.cloud.db.config.ts", "db:provision": "node scripts/provision.mjs", "build:collab": "node scripts/build-collab.mjs", "collab": "node dist/collab-server.mjs" }, "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/modifiers": "^9.0.0", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@modelcontextprotocol/sdk": "^1.32.1", "@simplewebauthn/browser": "^14.0.0", "@simplewebauthn/server": "^14.0.2", "ajv": "^8.20.0", "ajv-formats": "^3.0.1", "clsx": "^2.1.1", "drizzle-orm": "^0.45.2", "fractional-indexing": "^4.0.0", "lib0": "^0.2.117", "lucide-react": "^1.47.0", "next": "^16.4.1", "next-intl": "^4.14.5", "next-themes": "^0.4.6", "nodemailer": "^10.3.1", "pg": "^8.23.0", "react": "^19.1.1", "react-dom": "^19.1.1", "tailwind-merge": "^3.7.0", "uuidv7": "^1.2.1", "ws": "^8.21.3", "y-protocols": "^1.0.7", "yjs": "^13.6.32", "zod": "^4.6.7" }, "devDependencies": { "@eslint/eslintrc": "^3.3.1", "@playwright/test": "^1.63.0", "@tailwindcss/postcss": "^4.1.13", "@testing-library/dom": "^10.4.2", "@testing-library/jest-dom": "^7.0.1", "@testing-library/react": "^16.3.0", "@testing-library/user-event": "^14.6.1", "@types/node": "^26.6.2", "@types/nodemailer": "^8.0.2", "@types/pg": "^8.23.1", "@types/react": "^19.1.13", "@types/react-dom": "^19.1.9", "@types/ws": "^8.18.1", "@vitejs/plugin-react": "^5.2.0", "@vitest/coverage-v8": "^5.0.5", "drizzle-kit": "^0.31.11", "esbuild": "^0.28.2", "eslint": "^9.36.0", "eslint-config-next": "^16.4.1", "eslint-config-prettier": "^10.1.8", "jsdom": "^30.1.1", "prettier": "^3.9.8", "prettier-plugin-tailwindcss": "^0.8.1", "server-only": "^0.0.1", "tailwindcss": "^4.1.13", "typescript": "^5.9.2", "vitest": "^5.0.5", "yaml": "^2.9.1" }, "pnpm": { "overrides": { "@esbuild-kit/core-utils>esbuild": "^0.25.12", "@typescript-eslint/typescript-estree>minimatch": "^11.0.1" } } }