{ "name": "blog", "type": "module", "version": "0.0.1", "scripts": { "dev": "astro dev", "start": "astro dev", "build": "astro build", "preview": "astro preview", "lint": "eslint", "astro": "astro", "prepare": "husky", "gen-type": "openapi-typescript http://localhost:4000/openapi-3.0.json -o ./src/types/saturday.d.ts", "active": "openapi-ts -f openapi-ts.active.config.ts" }, "dependencies": { "@astrojs/react": "^3.6.2", "@astrojs/rss": "^4.0.7", "@astrojs/tailwind": "^5.1.1", "@astrojs/vue": "^4.5.1", "@fullcalendar/core": "^6.1.15", "@fullcalendar/daygrid": "^6.1.15", "@fullcalendar/icalendar": "^6.1.15", "@fullcalendar/react": "^6.1.15", "@headlessui/vue": "^1.7.23", "@logto/browser": "^2.2.18", "@nextui-org/react": "^2.4.8", "@stylistic/eslint-plugin": "^2.8.0", "astro": "^4.15.9", "framer-motion": "^11.9.0", "ical.js": "^1.5.0", "md5": "^2.3.0", "npm": "^10.8.3", "openapi-fetch": "^0.12.2", "qrcode": "^1.5.4", "react": "^18.3.1", "react-dom": "^18.3.1", "rehype": "^13.0.2", "sharp": "^0.33.5", "tailwindcss": "^3.4.13", "unist-util-visit": "^5.0.0", "uuid": "10.0.0", "vue": "^3.5.10" }, "devDependencies": { "@astrojs/markdown-remark": "^5.2.0", "@cspell/eslint-plugin": "^8.14.4", "@eslint/js": "^9.11.1", "@hey-api/openapi-ts": "^0.53.5", "@types/eslint__js": "^8.42.3", "@types/md5": "^2.3.5", "@types/qrcode": "^1.5.5", "@types/react": "^18.3.10", "@types/react-dom": "^18.3.0", "@types/uuid": "10.0.0", "eslint": "^8.57.1", "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-astro": "^1.2.4", "eslint-plugin-import": "^2.30.0", "globals": "^15.9.0", "husky": "^9.1.6", "lint-staged": "^15.2.10", "openapi-typescript": "^7.4.1", "typescript": "^5.6.2", "typescript-eslint": "8.7.0" }, "lint-staged": { "*.{js,jsx,mjs,ts,tsx,mts,astro}": "eslint --fix" }, "volta": { "node": "20.17.0" } }