{ "name": "dynamic-sites", "type": "module", "private": true, "engines": { "node": ">=22" }, "workspaces": [ "shared", "server" ], "scripts": { "dev": "astro dev", "dev:server": "npm run dev --workspace=server", "build": "npm run check:content && astro build", "start": "node dist/server/entry.mjs", "check:content": "npx tsx scripts/validate-content.js && npx tsx scripts/check-canonical.js", "lint": "eslint . --ext .ts,.tsx", "lint:fix": "eslint . --ext .ts,.tsx --fix", "test": "vitest run", "check": "npm run lint && npm run check:content && npm test" }, "dependencies": { "@astrojs/node": "^9.1.3", "@astrojs/react": "^4.2.1", "@dynamic-sites/shared": "file:shared", "@fontsource-variable/figtree": "^5.2.10", "@hugeicons/core-free-icons": "^4.1.1", "@hugeicons/react": "^1.1.6", "@tailwindcss/vite": "^4.2.4", "astro": "^5.8.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "radix-ui": "^1.4.3", "react": "^19.1.0", "react-dom": "^19.1.0", "shadcn": "^4.4.0", "tailwind-merge": "^3.5.0", "tailwindcss": "^4.2.4", "tw-animate-css": "^1.4.0", "zod": "^3.24.0" }, "devDependencies": { "@eslint/js": "^9.17.0", "@types/react": "^19.1.2", "@types/react-dom": "^19.1.2", "eslint": "^9.17.0", "tsx": "^4.19.0", "typescript": "^5.8.0", "typescript-eslint": "^8.20.0", "vitest": "^3.1.0" } }