{
  "name": "astro-cloudflare",
  "version": "1.0.0",
  "private": true,
  "description": "Multilingual marketing + blog + docs starter with Astro and Cloudflare Pages",
  "license": "MIT",
  "packageManager": "pnpm@8.15.0",
  "type": "module",
  "engines": {
    "node": "24.0.0",
    "pnpm": "8.15.0"
  },
  "scripts": {
    "dev": "astro dev",
    "build": "astro build",
    "preview": "astro preview",
    "astro": "astro",
    "lint": "pnpm run lint:js && pnpm run lint:css && pnpm run type-check && pnpm run check:kpis && pnpm run validate:i18n && pnpm run validate:secrets",
    "lint:js": "eslint . --ignore-pattern dist --ignore-pattern .astro --ignore-pattern .wrangler --ignore-pattern node_modules",
    "lint:css": "stylelint src/styles/",
    "check:kpis": "node scripts/check-kpis.mjs",
    "type-check": "astro check",
    "format": "prettier --write 'src/**/*.{astro,ts,tsx,css}'",
    "format:check": "prettier --check 'src/**/*.{astro,ts,tsx,css}'",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:coverage": "vitest run --coverage",
    "test:e2e": "playwright test",
    "validate:i18n": "node scripts/validate-i18n.js",
    "validate:secrets": "node scripts/validate-secrets.cjs",
    "postbuild": "node scripts/generate-media-manifest.cjs"
  },
  "dependencies": {
    "@astrojs/mdx": "^7.0.3",
    "@astrojs/react": "^6.0.1",
    "@astrojs/rss": "^4.0.19",
    "@astrojs/sitemap": "^3.7.3",
    "@fontsource-variable/jetbrains-mono": "^5.2.8",
    "@fontsource-variable/manrope": "^5.2.8",
    "@fontsource-variable/outfit": "^5.2.8",
    "@iconify-json/lucide": "^1.2.117",
    "@iconify-json/simple-icons": "^1.2.90",
    "@tailwindcss/vite": "^4.3.2",
    "astro": "^7.0.9",
    "astro-icon": "^1.1.5",
    "clsx": "^2.1.1",
    "cva": "1.0.0-beta.4",
    "react": "^19.2.7",
    "react-dom": "^19.2.7",
    "schema-dts": "^2.0.0",
    "sharp": "^0.35.3",
    "tailwind-merge": "^3.6.0",
    "tailwindcss": "^4.3.2",
    "zod": "^4.4.3"
  },
  "devDependencies": {
    "@astrojs/check": "^0.9.9",
    "@astrojs/starlight": "^0.41.3",
    "@eslint/js": "^10.0.1",
    "@playwright/test": "^1.61.1",
    "@types/node": "^26.1.1",
    "@types/react": "^19.2.17",
    "@types/react-dom": "^19.2.3",
    "@typescript-eslint/eslint-plugin": "^8.64.0",
    "@typescript-eslint/parser": "^8.64.0",
    "astro-eslint-parser": "^3.0.0",
    "eslint": "^10.7.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-astro": "^3.0.0",
    "globals": "^17.7.0",
    "pagefind": "^1.5.2",
    "prettier": "^3.9.5",
    "prettier-plugin-astro": "^0.14.1",
    "prettier-plugin-tailwindcss": "^0.8.0",
    "stylelint": "^17.14.0",
    "stylelint-config-recommended-scss": "^17.0.1",
    "stylelint-config-standard": "^40.0.0",
    "typescript": "^6.0.3",
    "typescript-eslint": "^8.64.0",
    "vitest": "^4.1.10"
  }
}