{ "type": "module", "private": true, "scripts": { "dev": "vite", "build": "NODE_OPTIONS='--max-old-space-size=4096' vite-ssg build", "preview": "vite preview", "test": "vitest --run", "lint": "eslint .", "typecheck": "vue-tsc --noEmit", "wrangler:dev": "wrangler dev", "wrangler:deploy": "wrangler deploy" }, "dependencies": { "@docsearch/js": "^3.9.0", "@headlessui/vue": "^1.7.23", "@vueuse/core": "^10.11.1", "@vueuse/head": "^2.0.0", "esbuild": "0.23.1", "ofetch": "^1.5.1", "pinia": "^2.3.1", "prism-theme-vars": "^0.2.5", "string": "^3.3.3", "vue": "^3.5.24", "vue-gtag-next": "^1.14.0", "vue-router": "^4.6.3" }, "devDependencies": { "@cloudflare/workers-types": "^4.20251202.0", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/typography": "^0.5.19", "@types/fs-extra": "^11.0.4", "@types/markdown-it": "^14.1.2", "@types/markdown-it-link-attributes": "^3.0.5", "@types/node": "^20.19.25", "@types/prismjs": "^1.26.5", "@types/string": "0.0.34", "@typescript-eslint/eslint-plugin": "^8.47.0", "@typescript-eslint/parser": "^8.47.0", "@vitejs/plugin-vue": "^5.2.4", "@vue/compiler-dom": "3.4.35", "@vue/test-utils": "^2.4.6", "autoprefixer": "^10.4.22", "eslint": "^9.39.1", "eslint-config-prettier": "^9.1.2", "eslint-plugin-vue": "^9.33.0", "esno": "^4.8.0", "fs-extra": "^11.3.2", "globals": "^16.5.0", "happy-dom": "^14.12.3", "markdown-it": "^14.1.0", "markdown-it-anchor": "^9.2.0", "markdown-it-link-attributes": "^4.0.1", "markdown-it-prism": "^2.3.1", "markdown-it-table-of-contents": "^0.6.0", "postcss": "^8.5.6", "prismjs": "^1.30.0", "rimraf": "^5.0.10", "tailwindcss": "^3.4.18", "typescript": "^5.9.3", "unplugin-auto-import": "^0.18.6", "unplugin-vue-components": "^0.27.5", "unplugin-vue-markdown": "^0.26.3", "vite": "^5.4.21", "vite-plugin-pages": "^0.32.5", "vite-plugin-vue-layouts": "^0.11.0", "vite-ssg": "^0.23.8", "vite-ssg-sitemap": "^0.6.1", "vitest": "^1.6.1", "vue-tsc": "^2.2.12", "wrangler": "^3.0.0" }, "engines": { "node": ">=20" } }