File size: 5,898 Bytes
61f8246
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
{
  "name": "@whyour/qinglong",
  "version": "2.17.9-rc.5",
  "description": "Timed task management platform supporting Python3, JavaScript, Shell, Typescript",
  "repository": {
    "type": "git",
    "url": "https://github.com/whyour/qinglong.git"
  },
  "author": "whyour",
  "license": "Apache License 2.0",
  "bugs": {
    "url": "https://github.com/whyour/qinglong/issues"
  },
  "scripts": {
    "start": "concurrently -n w: npm:start:*",
    "start:front": "max dev",
    "start:back": "nodemon",
    "start:update": "ts-node -P tsconfig.back.json ./back/update.ts",
    "start:public": "ts-node -P tsconfig.back.json ./back/public.ts",
    "start:rpc": "ts-node -P tsconfig.back.json ./back/schedule/index.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/index.js",
    "public": "npm run build:back && node static/build/public.js",
    "update": "npm run build:back && node static/build/update.js",
    "gen:proto": "protoc --experimental_allow_proto3_optional --plugin=./node_modules/.bin/protoc-gen-ts_proto ./back/protos/*.proto --ts_proto_out=./ --ts_proto_opt=outputServices=grpc-js,env=node,esModuleInterop=true",
    "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"
    ]
  },
  "bin": {
    "ql": "shell/update.sh",
    "task": "shell/task.sh",
    "qinglong": "shell/start.sh"
  },
  "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": {
    "@grpc/grpc-js": "^1.8.13",
    "@otplib/preset-default": "^12.0.1",
    "@sentry/node": "^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",
    "cross-spawn": "^7.0.3",
    "dayjs": "^1.11.2",
    "dotenv": "^16.0.0",
    "express": "^4.17.3",
    "express-jwt": "^6.1.1",
    "express-rate-limit": "^7.0.0",
    "express-urlrewrite": "^1.4.0",
    "form-data": "^4.0.0",
    "got": "^11.8.2",
    "hpagent": "^1.2.0",
    "http-proxy-middleware": "^2.0.6",
    "iconv-lite": "^0.6.3",
    "js-yaml": "^4.1.0",
    "jsonwebtoken": "^8.5.1",
    "lodash": "^4.17.21",
    "multer": "1.4.5-lts.1",
    "nedb": "^1.8.0",
    "node-schedule": "^2.1.0",
    "nodemailer": "^6.7.2",
    "p-queue-cjs": "7.3.4",
    "protobufjs": "^7.3.0",
    "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.3",
    "toad-scheduler": "^1.6.0",
    "typedi": "^0.10.0",
    "uuid": "^8.3.2",
    "winston": "^3.6.0",
    "winston-daily-rotate-file": "^4.7.1",
    "yargs": "^17.3.1",
    "tough-cookie": "^4.0.0",
    "request-ip": "3.3.0",
    "ip2region": "2.3.0"
  },
  "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/cross-spawn": "^6.0.2",
    "@types/express": "^4.17.13",
    "@types/express-jwt": "^6.0.4",
    "@types/file-saver": "2.0.2",
    "@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",
    "@types/request-ip": "0.0.41",
    "@uiw/codemirror-extensions-langs": "^4.21.9",
    "@uiw/react-codemirror": "^4.21.9",
    "@umijs/max": "^4.0.72",
    "@umijs/ssr-darkreader": "^4.9.45",
    "ahooks": "^3.7.8",
    "ansi-to-react": "^6.1.6",
    "antd": "^4.24.8",
    "antd-img-crop": "^4.2.3",
    "axios": "^1.4.0",
    "compression-webpack-plugin": "9.2.0",
    "concurrently": "^7.0.0",
    "react-hotkeys-hook": "^4.4.1",
    "file-saver": "2.0.2",
    "lint-staged": "^13.0.3",
    "monaco-editor": "0.33.0",
    "nodemon": "^3.0.1",
    "prettier": "^2.5.1",
    "pretty-bytes": "6.1.1",
    "qiniu": "^7.4.0",
    "qrcode.react": "^1.0.1",
    "query-string": "^7.1.1",
    "rc-tween-one": "^3.0.6",
    "rc-virtual-list": "3.5.3",
    "react": "18.2.0",
    "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-intl-universal": "^2.6.21",
    "react-split-pane": "^0.1.92",
    "sockjs-client": "^1.6.0",
    "ts-node": "^10.9.2",
    "ts-proto": "^1.146.0",
    "tslib": "^2.4.0",
    "typescript": "5.2.2",
    "vh-check": "^2.0.5",
    "virtualizedtableforantd4": "1.3.0",
    "webpack": "^5.70.0",
    "yorkie": "^2.0.0"
  }
}