1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 |
{
"name": "mymusics",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "concurrently -k \"npm run dev:api\" \"npm run dev:web\"",
"dev:api": "tsx watch server/index.ts",
"dev:web": "vite",
"dev:vite": "vite",
"build:server": "tsc -p tsconfig.server.json",
"index-metadata": "tsx scripts/index-metadata.ts",
"index-metadata:force": "tsx scripts/index-metadata.ts --force",
"sample-metadata": "tsx scripts/sample-metadata.ts",
"verify-tracks": "tsx scripts/verify-tracks.ts",
"test": "vitest run",
"test:watch": "vitest",
"build": "npm run index-metadata -- --if-stale && npm run build:server && tsc -b && vite build",
"lint": "eslint .",
"preview": "vite preview",
"start": "node dist-server/server/index.js",
"pm2:prod": "npm run build && pm2 start ecosystem.config.cjs --env production"
},
"dependencies": {
"@fastify/cors": "^11.2.0",
"@fastify/static": "^9.1.3",
"better-sqlite3": "^12.6.2",
"dotenv": "^17.4.2",
"fastify": "^5.8.5",
"react": "^19.2.5",
"react-dom": "^19.2.5",
"react-router-dom": "^7.14.2"
},
"devDependencies": {
"@eslint/js": "^10.0.1",
"@types/better-sqlite3": "^7.6.13",
"@types/node": "^24.12.2",
"vitest": "^4.1.0",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^6.0.1",
"concurrently": "^9.2.1",
"eslint": "^10.2.1",
"eslint-plugin-react-hooks": "^7.1.1",
"eslint-plugin-react-refresh": "^0.5.2",
"globals": "^17.5.0",
"tsx": "^4.21.0",
"typescript": "~6.0.2",
"typescript-eslint": "^8.58.2",
"vite": "^8.0.10"
}
}
|