{ "name": "frontend", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "watch": "ng build --watch --configuration development", "test": "ng test" }, "prettier": { "printWidth": 100, "singleQuote": true, "overrides": [ { "files": "*.html", "options": { "parser": "angular" } } ] }, "private": true, "dependencies": { "@angular/animations": "^20.3.9", "@angular/cdk": "^20.2.11", "@angular/common": "^20.3.0", "@angular/compiler": "^20.3.0", "@angular/core": "^20.3.0", "@angular/forms": "^20.3.0", "@angular/material": "^20.2.11", "@angular/platform-browser": "^20.3.0", "@angular/router": "^20.3.0", "alipay-js-sdk": "^0.0.1", "rxjs": "~7.8.0", "socket.io-client": "^4.8.1", "tslib": "^2.3.0", "weixin-js-sdk": "^1.6.5", "zone.js": "~0.15.0" }, "devDependencies": { "@angular/build": "^20.3.8", "@angular/cli": "^20.3.8", "@angular/compiler-cli": "^20.3.0", "@playwright/test": "^1.56.1", "@tailwindcss/postcss": "^4.1.16", "@types/jasmine": "~5.1.0", "@types/jest": "^30.0.0", "@types/mocha": "^10.0.10", "@types/socket.io-client": "^1.4.36", "autoprefixer": "^10.4.21", "jasmine-core": "~5.9.0", "karma": "~6.4.0", "karma-chrome-launcher": "~3.2.0", "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", "postcss": "^8.5.6", "tailwindcss": "^3.4.15", "typescript": "~5.9.2" } }