{ "private": true, "scripts": { "start": "concurrently -n w: npm:start:*", "start:front": "umi dev", "start:back": "nodemon", "build:front": "umi build", "build:back": "tsc -p tsconfig.back.json", "panel": "npm run build:back && node static/build/app.js", "schedule": "npm run build:back && node static/build/schedule.js", "prettier": "prettier --write '**/*.{js,jsx,tsx,ts,less,md,json}'", "prepare": "umi generate tmp", "test": "umi-test", "test:coverage": "umi-test --coverage" }, "gitHooks": { "pre-commit": "lint-staged" }, "lint-staged": { "*.{js,jsx,less,md,json}": [ "prettier --write" ], "*.ts?(x)": [ "prettier --parser=typescript --write" ] }, "dependencies": { "@otplib/preset-default": "^12.0.1", "@sentry/node": "^6.18.1", "@sentry/tracing": "^6.18.1", "body-parser": "^1.19.2", "celebrate": "^15.0.1", "chokidar": "^3.5.3", "cors": "^2.8.5", "cron-parser": "^4.2.1", "dotenv": "^16.0.0", "express": "^4.17.3", "express-jwt": "^6.1.1", "express-urlrewrite": "^1.4.0", "got": "^11.8.2", "hpagent": "^0.1.2", "iconv-lite": "^0.6.3", "jsonwebtoken": "^8.5.1", "lodash": "^4.17.21", "nedb": "^1.8.0", "node-fetch": "^3.2.1", "node-schedule": "^2.1.0", "nodemailer": "^6.7.2", "p-queue": "7.2.0", "reflect-metadata": "^0.1.13", "sequelize": "^6.17.0", "serve-handler": "^6.1.3", "sockjs": "^0.3.24", "sqlite3": "npm:@louislam/sqlite3@^6.0.1", "toad-scheduler": "^1.6.0", "typedi": "^0.10.0", "uuid": "^8.3.2", "winston": "^3.6.0", "yargs": "^17.3.1" }, "devDependencies": { "@ant-design/icons": "^4.7.0", "@ant-design/pro-layout": "^6.33.1", "@monaco-editor/react": "^4.3.1", "@sentry/react": "^6.18.1", "@types/cors": "^2.8.12", "@types/express": "^4.17.13", "@types/express-jwt": "^6.0.4", "@types/jsonwebtoken": "^8.5.8", "@types/lodash": "^4.14.179", "@types/nedb": "^1.8.12", "@types/node": "^17.0.21", "@types/node-fetch": "^2.6.1", "@types/node-schedule": "^1.3.2", "@types/nodemailer": "^6.4.4", "@types/qrcode.react": "^1.0.2", "@types/react": "^17.0.39", "@types/react-dom": "^17.0.13", "@types/serve-handler": "^6.1.1", "@types/sockjs": "^0.3.33", "@types/sockjs-client": "^1.5.1", "@types/uuid": "^8.3.4", "@umijs/plugin-antd": "^0.15.0", "@umijs/plugin-esbuild": "^1.4.1", "@umijs/test": "^3.5.21", "ansi-to-react": "^6.1.6", "antd": "^4.18.9", "codemirror": "^5.65.2", "compression-webpack-plugin": "9.2.0", "concurrently": "^7.0.0", "darkreader": "4.9.44", "lint-staged": "^12.3.4", "nodemon": "^2.0.15", "prettier": "^2.5.1", "qiniu": "^7.4.0", "qrcode.react": "^1.0.1", "react": "17.x", "react-codemirror2": "^7.2.1", "react-diff-viewer": "^3.1.1", "react-dnd": "^14.0.2", "react-dnd-html5-backend": "^14.0.0", "react-dom": "17.x", "react-split-pane": "^0.1.92", "sockjs-client": "^1.6.0", "ts-node": "^10.6.0", "typescript": "^4.6.2", "umi": "^3.5.21", "umi-request": "^1.4.0", "vh-check": "^2.0.5", "webpack": "^5.70.0", "yorkie": "^2.0.0" } }