{ "name": "record-shop", "version": "0.1.0", "private": true, "type": "module", "engines": { "node": ">=20" }, "scripts": { "dev:server": "tsx watch server/src/index.ts", "dev:web": "vite --config web/vite.config.ts", "dev": "concurrently -k \"npm:dev:server\" \"npm:dev:web\"", "test": "vitest run", "test:watch": "vitest", "build:server": "tsc -p server/tsconfig.build.json", "build:web": "vite build --config web/vite.config.ts", "build": "npm run build:server && npm run build:web", "start": "node server/dist/index.js", "typecheck": "tsc -p server/tsconfig.json --noEmit && tsc -p web --noEmit" }, "dependencies": { "@fastify/cookie": "^11.0.0", "@fastify/static": "^8.0.0", "@zxing/library": "^0.23.0", "argon2": "^0.41.1", "better-sqlite3": "^13.0.3", "fastify": "^5.0.0", "react": "^19.2.8", "react-dom": "^19.2.8", "react-router-dom": "^7.18.3" }, "devDependencies": { "@tailwindcss/vite": "^4.3.3", "@testing-library/dom": "^10.4.1", "@testing-library/react": "^16.3.3", "@testing-library/user-event": "^14.6.6", "@types/better-sqlite3": "^7.6.11", "@types/node": "^22.5.0", "@types/react": "^19.2.18", "@types/react-dom": "^19.2.5", "@vitejs/plugin-react": "^5.2.0", "concurrently": "^10.0.5", "jsdom": "^30.0.1", "tailwindcss": "^4.3.3", "tsx": "^4.16.0", "typescript": "^5.5.4", "vite": "^7.3.6", "vitest": "^3.0.0" } }