mirror of
https://github.com/jason5ng32/MyIP.git
synced 2026-11-04 08:55:47 +00:00
Keep resolver health checks on demand and surface actionable runtime availability failures through the shared logger. Remove the GitHub Actions workflow so transient resolver connectivity does not affect code CI. Co-authored-by: OpenAI Codex <codex@openai.com>
86 lines
2.9 KiB
JSON
86 lines
2.9 KiB
JSON
{
|
|
"name": "myip",
|
|
"private": true,
|
|
"version": "7.4.0",
|
|
"type": "module",
|
|
"packageManager": "pnpm@11.22.0",
|
|
"engines": {
|
|
"node": ">=24"
|
|
},
|
|
"scripts": {
|
|
"dev": "concurrently \"vite\" \"nodemon --import ./sentry-instrument.js backend-server.js\"",
|
|
"build": "vite build",
|
|
"postbuild": "node -e \"const{existsSync}=require('fs');const{spawnSync}=require('child_process');if(existsSync('scripts/purge-index-cache.js')){const r=spawnSync(process.execPath,['scripts/purge-index-cache.js'],{stdio:'inherit'});process.exit(r.status??1)}\"",
|
|
"test": "node --test tests/*.test.js",
|
|
"check": "pnpm run test && pnpm run build",
|
|
"preview": "vite preview",
|
|
"start-backend": "node --import ./sentry-instrument.js backend-server.js",
|
|
"start-frontend": "node frontend-server.js",
|
|
"start": "concurrently \"node frontend-server.js\" \"node --import ./sentry-instrument.js backend-server.js\"",
|
|
"purge-index": "node scripts/purge-index-cache.js",
|
|
"dns-check": "node scripts/check-dns-resolvers.js",
|
|
"fetch-favicons": "node scripts/fetch-favicons.js",
|
|
"i18n-status": "node scripts/i18n-status.js",
|
|
"i18n-new": "node scripts/i18n-scaffold.js new",
|
|
"i18n-sync": "node scripts/i18n-scaffold.js sync"
|
|
},
|
|
"dependencies": {
|
|
"@cloudflare/speedtest": "^1.13.1",
|
|
"@iconify-json/circle-flags": "^1.2.10",
|
|
"@iconify/vue": "^5.0.1",
|
|
"@khmyznikov/pwa-install": "^0.6.4",
|
|
"@lucide/vue": "^1.33.0",
|
|
"@photostructure/tz-lookup": "^11.6.1",
|
|
"@sentry/node": "^10.70.0",
|
|
"@sentry/vue": "^10.70.0",
|
|
"@tanstack/vue-table": "^9.1.2",
|
|
"@thumbmarkjs/thumbmarkjs": "^1.10.1",
|
|
"@vueuse/core": "^14.4.0",
|
|
"chart.js": "^4.5.1",
|
|
"chartjs-chart-geo": "^4.3.6",
|
|
"circle-progress.vue": "^3.4.1",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"concurrently": "^10.0.5",
|
|
"country-code-lookup": "^0.1.5",
|
|
"dagre": "^0.8.5",
|
|
"dotenv": "^17.4.2",
|
|
"express": "^5.2.1",
|
|
"express-rate-limit": "^8.6.2",
|
|
"express-slow-down": "^3.1.0",
|
|
"firebase": "^12.18.0",
|
|
"html-to-image": "^1.11.13",
|
|
"http-proxy-middleware": "^4.2.0",
|
|
"maxmind": "^5.0.7",
|
|
"pinia": "^4.0.3",
|
|
"pino": "^10.3.1",
|
|
"pino-http": "^11.0.0",
|
|
"pino-pretty": "^13.1.3",
|
|
"reka-ui": "^2.10.3",
|
|
"tailwind-merge": "^3.6.0",
|
|
"tar": "^7.5.22",
|
|
"tw-animate-css": "^1.4.0",
|
|
"ua-parser-js": "^2.0.10",
|
|
"unbzip2-stream": "^1.4.3",
|
|
"vaul-vue": "^0.4.1",
|
|
"vue": "^3.5.41",
|
|
"vue-i18n": "^11.4.8",
|
|
"vue-input-otp": "^0.4.0",
|
|
"vue-markdown-render": "^2.3.1",
|
|
"vue-router": "^5.2.0",
|
|
"vue-sonner": "^2.0.9",
|
|
"whoiser": "^1.18.0",
|
|
"world-atlas": "^2.0.2"
|
|
},
|
|
"devDependencies": {
|
|
"@sentry/vite-plugin": "^5.4.0",
|
|
"@tailwindcss/vite": "^4.3.3",
|
|
"@vitejs/plugin-vue": "^6.0.8",
|
|
"code-inspector-plugin": "^2.0.7",
|
|
"nodemon": "^3.1.14",
|
|
"tailwindcss": "^4.3.3",
|
|
"vconsole": "^3.15.1",
|
|
"vite": "^8.2.2"
|
|
}
|
|
}
|