{
  "name": "roadmap.sh",
  "type": "module",
  "version": "1.0.0",
  "private": true,
  "scripts": {
    "dev": "astro dev --port 3000",
    "start": "astro dev",
    "build": "astro build",
    "preview": "astro preview",
    "format": "prettier --write .",
    "gh-labels": "./scripts/create-roadmap-labels.sh",
    "astro": "astro",
    "deploy": "NODE_DEBUG=gh-pages gh-pages -d dist -t",
    "upgrade": "ncu -u",
    "roadmap-links": "node scripts/roadmap-links.cjs",
    "roadmap-dirs": "node scripts/roadmap-dirs.cjs",
    "roadmap-assets": "tsx scripts/editor-roadmap-assets.ts",
    "editor-roadmap-dirs": "tsx scripts/editor-roadmap-dirs.ts",
    "editor-roadmap-content": "tsx scripts/editor-roadmap-content.ts",
    "roadmap-content": "node scripts/roadmap-content.cjs",
    "generate-renderer": "sh scripts/generate-renderer.sh",
    "best-practice-dirs": "node scripts/best-practice-dirs.cjs",
    "best-practice-content": "node scripts/best-practice-content.cjs",
    "generate:og": "node ./scripts/generate-og-images.mjs",
    "warm:urls": "sh ./scripts/warm-urls.sh https://roadmap.sh/sitemap-0.xml",
    "compress:images": "tsx ./scripts/compress-images.ts",
    "generate:roadmap-content-json": "tsx ./scripts/editor-roadmap-content-json.ts",
    "test:e2e": "playwright test"
  },
  "dependencies": {
    "@astrojs/node": "^8.3.4",
    "@astrojs/react": "^3.6.2",
    "@astrojs/sitemap": "^3.2.0",
    "@astrojs/tailwind": "^5.1.2",
    "@fingerprintjs/fingerprintjs": "^4.5.0",
    "@nanostores/react": "^0.8.0",
    "@napi-rs/image": "^1.9.2",
    "@resvg/resvg-js": "^2.6.2",
    "@tanstack/react-query": "^5.59.16",
    "@types/react": "^18.3.11",
    "@types/react-dom": "^18.3.1",
    "astro": "^4.16.1",
    "clsx": "^2.1.1",
    "dayjs": "^1.11.13",
    "dom-to-image": "^2.6.0",
    "dracula-prism": "^2.1.16",
    "gray-matter": "^4.0.3",
    "htm": "^3.1.1",
    "image-size": "^1.1.1",
    "jose": "^5.9.4",
    "js-cookie": "^3.0.5",
    "lucide-react": "^0.452.0",
    "luxon": "^3.5.0",
    "nanoid": "^5.0.7",
    "nanostores": "^0.11.3",
    "node-html-parser": "^6.1.13",
    "npm-check-updates": "^17.1.3",
    "playwright": "^1.48.0",
    "prismjs": "^1.29.0",
    "react": "^18.3.1",
    "react-calendar-heatmap": "^1.9.0",
    "react-confetti": "^6.1.0",
    "react-dom": "^18.3.1",
    "react-tooltip": "^5.28.0",
    "reactflow": "^11.11.4",
    "rehype-external-links": "^3.0.0",
    "remark-parse": "^11.0.0",
    "roadmap-renderer": "^1.0.6",
    "satori": "^0.11.2",
    "satori-html": "^0.3.2",
    "sharp": "^0.33.5",
    "slugify": "^1.6.6",
    "tailwind-merge": "^2.5.3",
    "tailwindcss": "^3.4.13",
    "turndown": "^7.2.0",
    "unified": "^11.0.5",
    "zustand": "^4.5.5"
  },
  "devDependencies": {
    "@playwright/test": "^1.48.0",
    "@tailwindcss/typography": "^0.5.15",
    "@types/dom-to-image": "^2.6.7",
    "@types/js-cookie": "^3.0.6",
    "@types/luxon": "^3.4.2",
    "@types/prismjs": "^1.26.4",
    "@types/react-calendar-heatmap": "^1.6.7",
    "@types/react-slick": "^0.23.13",
    "@types/turndown": "^5.0.5",
    "csv-parser": "^3.0.0",
    "gh-pages": "^6.2.0",
    "js-yaml": "^4.1.0",
    "markdown-it": "^14.1.0",
    "openai": "^4.67.3",
    "prettier": "^3.3.3",
    "prettier-plugin-astro": "^0.14.1",
    "prettier-plugin-tailwindcss": "^0.6.8",
    "tsx": "^4.19.1"
  }
}