{ "name": "atomcms-next", "private": true, "type": "module", "engines": { "node": ">=26.8.2 <27" }, "packageManager": "pnpm@11.25.0+sha512.5cde925b4f075f725eb71fbae18a42ffe784524789f19b61c731cb8721ec28aaee160e01a8d5af4fedb2a42cdbf300efe23db356b0d4a17b4d63e11f8ab7c956", "scripts": { "dev": "pnpm assets:editor && next dev", "build": "pnpm assets:editor && next build", "start": "next start", "toolchain:check": "node scripts/check-node-toolchain.mjs", "lint": "biome check .", "biome:lint": "biome check .", "format": "biome format --write .", "diag:permissions": "tsx scripts/diagnose-permission-page.ts", "jobs:worker": "node --conditions=react-server --import tsx scripts/jobs-worker.ts", "test": "vitest run --coverage.enabled=false", "test:coverage": "vitest run", "typecheck": "tsc --noEmit", "db:generate": "drizzle-kit generate", "db:introspect": "drizzle-kit introspect", "db:bulk": "tsx scripts/bulk-import-json.ts", "db:up": "docker compose --profile db up -d mariadb-turbo", "db:down": "docker compose --profile db stop mariadb-turbo", "db:schema:generate": "node scripts/generate-drizzle-schema.mjs", "db:migrate": "tsx scripts/apply-migrations.ts", "db:migrate:status": "tsx scripts/apply-migrations.ts --status", "db:studio": "drizzle-kit studio", "gamedata:compress": "node scripts/compress-gamedata.mjs", "hk:matrix:check": "tsx scripts/verify-housekeeping-matrix.ts", "test:housekeeping": "vitest run --coverage.enabled=false src/features/housekeeping src/lib/admin-theme-source-audit.test.ts src/lib/admin/authorization-contract.test.ts", "assets:editor": "node scripts/copy-editor-assets.mjs", "deps:audit": "pnpm audit --audit-level=high", "analyze": "next experimental-analyze", "i18n:check": "node scripts/audit-cms-translations.mjs --check", "i18n:audit": "node scripts/audit-cms-translations.mjs", "test:e2e": "playwright test", "test:ui": "playwright test --config playwright.ui.config.ts", "test:ui:update": "playwright test --config playwright.ui.config.ts --update-snapshots", "performance:report": "node scripts/performance-report.mjs" }, "dependencies": { "@base-ui/react": "1.8.0", "@dnd-kit/core": "6.3.1", "@dnd-kit/sortable": "10.0.0", "@dnd-kit/utilities": "3.2.2", "@formatjs/icu-messageformat-parser": "3.5.17", "@hookform/resolvers": "5.9.1", "@tanstack/react-query": "5.102.8", "@tanstack/react-virtual": "3.14.10", "class-variance-authority": "0.7.1", "clsx": "2.1.1", "cmdk": "1.1.1", "croner": "10.0.1", "drizzle-orm": "0.45.2", "hash-wasm": "4.12.0", "ioredis": "6.0.0", "isomorphic-dompurify": "^4.1.0", "jpeg-js": "0.4.4", "jsonc-parser": "3.3.1", "jszip": "3.10.1", "lucide-react": "1.41.0", "lzma-wasm": "1.0.7", "motion": "13.2.0", "music-metadata": "11.15.0", "mysql2": "3.24.3", "next": "16.3.5", "next-auth": "5.0.0-beta.32", "next-intl": "4.14.2", "otplib": "13.5.0", "pino": "10.3.1", "react": "19.2.8", "react-dom": "19.2.8", "react-hook-form": "7.87.0", "resend": "6.26.0", "server-only": "0.0.1", "sharp": "^0.35.4", "sonner": "2.0.8", "tailwind-merge": "3.6.0", "tinymce": "8.9.0", "zod": "4.5.4" }, "devDependencies": { "@axe-core/playwright": "4.13.0", "@babel/parser": "7.29.8", "@biomejs/biome": "2.5.12", "@playwright/test": "1.62.1", "@tailwindcss/forms": "0.5.11", "@tailwindcss/postcss": "4.3.3", "@tailwindcss/typography": "0.5.20", "@types/node": "26.4.1", "@types/react": "19.2.18", "@types/react-dom": "19.2.7", "@vitest/coverage-v8": "5.0.0", "drizzle-kit": "0.31.10", "esbuild": "0.28.2", "msw": "2.15.0", "pino-pretty": "13.1.3", "postcss": "8.5.28", "tailwindcss": "4.3.3", "tsx": "4.23.13", "typescript": "7.0.2", "vite": "8.3.0", "vitest": "5.0.0" } }