118 lines
3.7 KiB
JSON
118 lines
3.7 KiB
JSON
{
|
|
"name": "voicehub",
|
|
"version": "1.6.4.3",
|
|
"description": "校园广播站点歌管理系统 - 基于数据库存储的现代化点歌、排期和播放管理平台",
|
|
"private": true,
|
|
"packageManager": "pnpm@10.29.3",
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "node --max-old-space-size=6144 ./node_modules/nuxt/bin/nuxt.mjs build",
|
|
"dev": "nuxt dev",
|
|
"generate": "nuxt generate",
|
|
"preview": "nuxt preview",
|
|
"start": "node .output/server/index.mjs",
|
|
"db:migrate": "pnpm exec drizzle-kit migrate",
|
|
"db:generate": "pnpm exec drizzle-kit generate --name=auto-migration",
|
|
"db:push": "pnpm exec drizzle-kit push --force",
|
|
"db:studio": "pnpm exec drizzle-kit studio",
|
|
"db:drop": "pnpm exec drizzle-kit drop",
|
|
"db:check": "pnpm exec drizzle-kit check",
|
|
"setup": "pnpm install --frozen-lockfile && pnpm run db:migrate",
|
|
"create-admin": "pnpm exec tsx scripts/create-admin.js",
|
|
"clear-db": "pnpm exec tsx scripts/clear-database.js",
|
|
"safe-migrate": "pnpm exec tsx scripts/safe-migrate.js",
|
|
"deploy": "node scripts/deploy.js",
|
|
"vercel-build": "node scripts/deploy.js",
|
|
"netlify-build": "node scripts/netlify-build.js",
|
|
"check-deploy": "node scripts/check-deploy.js",
|
|
"postinstall": "nuxt prepare && node scripts/postinstall.js",
|
|
"lint": "nuxt prepare && eslint .",
|
|
"lint:fix": "nuxt prepare && eslint . --fix",
|
|
"format": "prettier --write ."
|
|
},
|
|
"dependencies": {
|
|
"@applemusic-like-lyrics/lyric": "^0.3.0",
|
|
"@applemusic-like-lyrics/vue": "^0.3.1",
|
|
"@breezystack/lamejs": "^1.2.7",
|
|
"@neteasecloudmusicapienhanced/api": "^4.31.0",
|
|
"@netlify/functions": "^2.8.2",
|
|
"@nuxtjs/tailwindcss": "^6.14.0",
|
|
"@pixi/app": "^7.4.3",
|
|
"@pixi/core": "^7.4.3",
|
|
"@pixi/display": "^7.4.3",
|
|
"@pixi/filter-blur": "^7.4.3",
|
|
"@pixi/filter-bulge-pinch": "^5.1.1",
|
|
"@pixi/filter-color-matrix": "^7.4.3",
|
|
"@pixi/sprite": "^7.4.3",
|
|
"@simplewebauthn/browser": "^13.3.0",
|
|
"@simplewebauthn/server": "^13.3.0",
|
|
"@types/bcrypt": "^5.0.2",
|
|
"@types/crypto-js": "^4.2.2",
|
|
"@types/jsonwebtoken": "^9.0.10",
|
|
"@types/lodash-es": "^4.17.12",
|
|
"@types/multer": "^2.1.0",
|
|
"@types/nodemailer": "^6.4.23",
|
|
"@types/pg": "^8.20.0",
|
|
"@ungap/structured-clone": "^1.3.0",
|
|
"@vercel/speed-insights": "^1.3.1",
|
|
"axios": "^1.14.0",
|
|
"bcrypt": "^6.0.0",
|
|
"bezier-easing": "^2.1.0",
|
|
"chalk": "^5.6.2",
|
|
"crypto-js": "^4.2.0",
|
|
"dayjs": "^1.11.20",
|
|
"deep-freeze": "^0.0.1",
|
|
"dotenv": "^17.4.0",
|
|
"drizzle-kit": "^0.31.10",
|
|
"drizzle-orm": "^0.45.2",
|
|
"formidable": "^3.5.4",
|
|
"gl-matrix": "4.0.0-beta.2",
|
|
"html-to-image": "^1.11.13",
|
|
"jsonwebtoken": "^9.0.3",
|
|
"jspdf": "^3.0.4",
|
|
"jszip": "^3.10.1",
|
|
"lodash-es": "^4.18.1",
|
|
"lucide-vue-next": "^0.577.0",
|
|
"multer": "^2.1.1",
|
|
"nodemailer": "^6.10.1",
|
|
"nuxt": "^4.4.2",
|
|
"otplib": "^12.0.1",
|
|
"postgres": "^3.4.8",
|
|
"prompts": "^2.4.2",
|
|
"qrcode": "^1.5.4",
|
|
"redis": "^5.11.0",
|
|
"sass": "^1.99.0",
|
|
"tsx": "^4.21.0",
|
|
"vite-plugin-glsl": "^1.5.6",
|
|
"vite-plugin-top-level-await": "^1.6.0",
|
|
"vite-plugin-wasm": "^3.6.0",
|
|
"vue": "^3.5.32",
|
|
"vue-router": "^4.6.4",
|
|
"wasm-media-encoders": "^0.7.0",
|
|
"xlsx": "^0.18.5",
|
|
"zod": "^4.3.6"
|
|
},
|
|
"engines": {
|
|
"node": ">=18.20.0",
|
|
"pnpm": ">=10.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@nuxt/eslint": "^1.15.2",
|
|
"eslint": "^9.39.4",
|
|
"prettier": "^3.8.1"
|
|
},
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": [
|
|
"@applemusic-like-lyrics/core",
|
|
"@applemusic-like-lyrics/lyric",
|
|
"@applemusic-like-lyrics/vue",
|
|
"@parcel/watcher",
|
|
"@swc/core",
|
|
"bcrypt",
|
|
"core-js",
|
|
"esbuild",
|
|
"unrs-resolver"
|
|
]
|
|
}
|
|
}
|