{ "name": "cloudflare-docs", "private": true, "type": "module", "scripts": { "preinstall": "npx --yes only-allow pnpm", "astro": "astro", "prebuild": "pnpm run fetch:assets && pnpm run generate:config-reference", "build": "astro build", "build:incremental": "INCREMENTAL_BUILD=true astro build", "typegen:worker": "wrangler types ./worker/worker-configuration.d.ts", "check": "pnpm run check:astro && pnpm run check:worker", "check:astro": "astro check --minimumFailingSeverity=hint", "check:worker": "tsc --noEmit -p ./worker/tsconfig.json", "predev": "tsx bin/fetch-skills.ts --soft && tsx bin/fetch-openapi.ts --soft && tsx bin/fetch-logpush-datasets.ts --soft && pnpm run generate:config-reference", "dev": "astro dev", "format": "pnpm run format:core:fix && pnpm run format:data:fix && pnpm run format:content:fix", "format:check": "pnpm run format:core:check && pnpm run format:data:check && pnpm run format:content:check", "format:core:check": "prettier --check \"**/*.{js,jsx,ts,tsx,mjs,css}\"", "format:core:fix": "prettier --write \"**/*.{js,jsx,ts,tsx,mjs,css}\"", "format:data:check": "prettier --check \"**/*.{json,yaml,yml}\"", "format:data:fix": "prettier --write \"**/*.{json,yaml,yml}\"", "format:content:check": "prettier --check \"**/*.astro\"", "format:content:fix": "prettier --write \"**/*.astro\"", "preview": "astro preview", "script:optimize-svgs": "tsx scripts/optimize-svgs.ts", "script:fetch-github-contributors": "tsx bin/fetch-github-contributors.ts", "start": "astro dev", "sync": "astro sync", "test": "vitest", "test:prebuild": "vitest --project Node --project Astro", "test:postbuild": "vitest --project Workers", "flue:dev": "NODE_OPTIONS=--max-old-space-size=8192 pnpm --dir .flue exec vite dev", "flue:dev:wrangler": "FLUE_DEV_NO_QUEUE_CONSUMER=1 pnpm --dir .flue exec vite build && cp -f .flue/.env.local .flue/dist/cloudflare_docs_flue/.dev.vars && pnpm --dir .flue exec wrangler dev --config dist/cloudflare_docs_flue/wrangler.json --remote", "flue:build": "pnpm --dir .flue exec vite build", "flue:deploy": "pnpm run flue:build && pnpm --dir .flue exec wrangler deploy --config dist/cloudflare_docs_flue/wrangler.json", "flue:clear-r2-pr-data:local": "tsx .flue/bin/clear-r2-pr-data.ts --local", "flue:reset:local": "rm -rf .flue/.wrangler/state .flue/.wrangler/tmp .flue/dist/cloudflare_docs_flue/.wrangler/state && echo 'Cleared local flue dev state (Durable Objects + R2). Stop the dev server before running this.'", "flue:evals": "tsx .flue/bin/run-evals.ts", "flue:replay": "tsx .flue/bin/replay.ts", "flue:replay:dependabot": "tsx .flue/bin/replay-dependabot.ts", "flue:replay:spam": "tsx .flue/bin/replay-spam.ts", "flue:replay:comment-spam": "tsx .flue/bin/replay-comment-spam.ts", "lint": "eslint", "generate:config-reference": "node bin/generate-cf-config-reference.mjs", "prepare": "husky", "prebuild:incremental": "pnpm run fetch:assets && pnpm run generate:config-reference", "fetch:assets": "tsx bin/fetch-skills.ts && tsx bin/fetch-openapi.ts && tsx bin/fetch-logpush-datasets.ts", "fetch:logpush": "tsx bin/fetch-logpush-datasets.ts --force", "generate:labeler": "tsx bin/generate-labeler.ts" }, "devDependencies": { "@actions/core": "3.0.1", "@actions/github": "9.1.1", "@apidevtools/swagger-parser": "13.1.0", "@astrojs/check": "0.9.10", "@astrojs/cloudflare": "14.3.3", "@astrojs/markdown-remark": "7.3.1", "@astrojs/markdown-satteri": "0.4.2", "@astrojs/mdx": "^8.0.2", "@astrojs/react": "^7.0.0", "@astrojs/rss": "4.0.19", "@astrojs/sitemap": "3.7.4", "@base-ui/react": "1.8.0", "@cloudflare/ai-search-snippet": "0.0.43", "@cloudflare/config": "0.20.0", "@cloudflare/nimbus-docs": "0.15.0", "@cloudflare/vitest-pool-workers": "0.22.0", "@cloudflare/workers-types": "5.20260929.1", "@eslint/js": "9.39.4", "@floating-ui/react": "0.27.20", "@fontsource-variable/inter": "5.3.0", "@fontsource-variable/jetbrains-mono": "5.3.0", "@fontsource/ibm-plex-mono": "5.3.0", "@fontsource/inter": "5.3.0", "@iarna/toml": "2.2.5", "@iconify-json/ph": "1.2.2", "@iconify-json/simple-icons": "1.2.98", "@iconify-json/vscode-icons": "1.2.83", "@iconify/utils": "3.1.7", "@marsidev/react-turnstile": "1.6.1", "@octokit/auth-app": "8.3.1", "@octokit/webhooks-types": "7.6.1", "@phosphor-icons/core": "2.1.1", "@stoplight/json": "3.21.7", "@stoplight/json-schema-tree": "4.0.0", "@stoplight/types": "14.1.1", "@tailwindcss/vite": "^4.1.4", "@testing-library/dom": "10.4.2", "@types/hast": "3.0.5", "@types/he": "1.2.3", "@types/mdast": "4.0.4", "@types/node": "26.6.3", "@types/react": "19.0.7", "@types/react-dom": "19.0.4", "@types/unist": "3.0.3", "@typescript-eslint/parser": "8.71.0", "astro": "7.3.5", "astro-skills": "0.1.1", "cf": "0.15.0", "cidr-tools": "13.0.4", "clsx": "2.1.1", "codeowners-utils": "1.0.2", "date-fns": "4.4.0", "dedent": "1.7.2", "dot-prop": "10.2.0", "esbuild": "0.28.2", "eslint": "9.35.0", "eslint-formatter-checkstyle": "9.0.1", "eslint-plugin-astro": "1.7.0", "eslint-plugin-jsx-a11y": "6.10.2", "eslint-plugin-react": "7.37.5", "fast-glob": "3.3.3", "github-slugger": "2.0.0", "globals": "17.12.0", "happy-dom": "20.14.5", "he": "1.2.0", "husky": "9.1.7", "js-yaml": "5.4.2", "jsonc-parser": "3.3.1", "kleur": "4.1.5", "lint-staged": "17.6.0", "lz-string": "1.5.0", "mdast-util-from-markdown": "2.0.3", "mdast-util-mdx": "3.0.0", "medium-zoom": "1.1.0", "mermaid": "11.16.0", "micromark-extension-mdxjs": "3.0.0", "nanostores": "1.5.4", "node-html-parser": "9.0.4", "openapi-types": "12.1.3", "opentype.js": "2.0.0", "parse-duration": "2.1.9", "prettier": "3.9.9", "prettier-plugin-astro": "1.1.0", "prettier-plugin-tailwindcss": "0.8.1", "pretty-bytes": "7.2.0", "react": "19.0.0", "react-dom": "19.0.0", "react-markdown": "10.1.0", "react-select": "5.10.2", "redirects-in-workers": "0.0.7", "rehype": "13.0.2", "satteri": "^0.10.5", "sharp": "0.35.5", "svgo": "4.1.0", "tailwind-merge": "3.7.0", "tailwindcss": "4.1.4", "tippy.js": "6.3.7", "ts-blank-space": "0.9.0", "tsm": "2.3.0", "tsx": "4.23.15", "typescript": "5.9.3", "typescript-eslint": "8.71.0", "unified": "11.0.5", "unist-util-visit": "5.1.0", "valibot": "1.5.0", "vite": "^8.3.1", "vitest": "4.1.11", "workers-og": "0.0.27", "wrangler": "4.143.0", "yaml": "2.9.1", "zod": "4.6.5" }, "lint-staged": { "*.{js,jsx,ts,tsx,mjs,css,json,yaml,yml,astro}": "prettier --write" }, "devEngines": { "runtime": { "name": "node", "version": ">=24.0.0", "onFail": "error" } } }