{ "private": true, "scripts": { "start": "concurrently -n w: npm:start:*", "start:front": "max dev", "start:back": "nodemon", "start:public": "ts-node --transpile-only ./back/public.ts", "build:front": "max 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", "public": "npm run build:back && node static/build/public.js", "prettier": "prettier --write '**/*.{js,jsx,tsx,ts,less,md,json}'", "postinstall": "max setup 2>/dev/null || true", "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" ] }, "pnpm": { "peerDependencyRules": { "ignoreMissing": [ "react", "react-dom", "antd", "dva", "postcss", "webpack", "eslint", "stylelint", "redux", "@babel/core", "monaco-editor", "rc-field-form", "@types/lodash.merge", "rollup", "styled-components" ], "allowedVersions": { "react": "18", "react-dom": "18", "dva-core": "2" } } }, "dependencies": { "@otplib/preset-default": "^12.0.1", "@sentry/node": "^7.12.1", "@sentry/tracing": "^7.12.1", "body-parser": "^1.19.2", "celebrate": "^15.0.1", "chokidar": "^3.5.3", "cors": "^2.8.5", "cron-parser": "^4.2.1", "dayjs": "^1.11.2", "dotenv": "^16.0.0", "express": "^4.17.3", "express-jwt": "^6.1.1", "express-urlrewrite": "^1.4.0", "form-data": "^4.0.0", "got": "^11.8.2", "hpagent": "^0.1.2", "iconv-lite": "^0.6.3", "js-yaml": "^4.1.0", "jsonwebtoken": "^8.5.1", "lodash": "^4.17.21", "multer": "^1.4.4", "nedb": "^1.8.0", "node-schedule": "^2.1.0", "nodemailer": "^6.7.2", "pstree.remy": "^1.1.8", "reflect-metadata": "^0.1.13", "sequelize": "^6.25.5", "serve-handler": "^6.1.3", "sockjs": "^0.3.24", "sqlite3": "git+https://github.com/whyour/node-sqlite3.git#v1.0.2", "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.38.22", "@monaco-editor/react": "4.2.1", "@react-hook/resize-observer": "^1.2.6", "@sentry/react": "^7.12.1", "@types/body-parser": "^1.19.2", "@types/cors": "^2.8.12", "@types/express": "^4.17.13", "@types/express-jwt": "^6.0.4", "@types/js-yaml": "^4.0.5", "@types/jsonwebtoken": "^8.5.8", "@types/lodash": "^4.14.185", "@types/multer": "^1.4.7", "@types/nedb": "^1.8.12", "@types/node": "^17.0.21", "@types/node-schedule": "^1.3.2", "@types/nodemailer": "^6.4.4", "@types/qrcode.react": "^1.0.2", "@types/react": "^18.0.20", "@types/react-copy-to-clipboard": "^5.0.4", "@types/react-dom": "^18.0.6", "@types/serve-handler": "^6.1.1", "@types/sockjs": "^0.3.33", "@types/sockjs-client": "^1.5.1", "@types/uuid": "^8.3.4", "@umijs/max": "^4.0.55", "@umijs/ssr-darkreader": "^4.9.45", "ansi-to-react": "^6.1.6", "antd": "^4.24.8", "antd-img-crop": "^4.2.3", "codemirror": "^5.65.2", "compression-webpack-plugin": "9.2.0", "concurrently": "^7.0.0", "lint-staged": "^13.0.3", "monaco-editor": "0.33.0", "nodemon": "^2.0.15", "prettier": "^2.5.1", "qiniu": "^7.4.0", "qrcode.react": "^1.0.1", "query-string": "^7.1.1", "rc-tween-one": "^3.0.6", "react": "18.2.0", "react-codemirror2": "^7.2.1", "react-copy-to-clipboard": "^5.1.0", "react-diff-viewer": "^3.1.1", "react-dnd": "^14.0.2", "react-dnd-html5-backend": "^14.0.0", "react-dom": "18.2.0", "react-split-pane": "^0.1.92", "sockjs-client": "^1.6.0", "ts-node": "^10.6.0", "tslib": "^2.4.0", "typescript": "4.8.4", "umi-request": "^1.4.0", "vh-check": "^2.0.5", "webpack": "^5.70.0", "yorkie": "^2.0.0" } }