[arch] use parcel

Signed-off-by: gzezFISHER <fisher@mail.soj.ac.cn>
This commit is contained in:
gzezFISHER 2022-09-20 17:17:48 +08:00
parent f1996f903b
commit f7ddf898c6
8 changed files with 4977 additions and 159 deletions

4
.gitignore vendored
View File

@ -1,3 +1,5 @@
node_modules/ node_modules/
config.json config.json
dist/
.parcel-cache/
.cache/

273
package-lock.json generated
View File

@ -1,11 +1,11 @@
{ {
"name": "wschat-ng", "name": "wschat-ng",
"version": "1.0.0", "version": "1.0.3",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"version": "1.0.0", "version": "1.0.3",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"express": "^4.17.1", "express": "^4.17.1",
@ -18,6 +18,11 @@
"typescript": "^4.2.3" "typescript": "^4.2.3"
} }
}, },
"node_modules/@socket.io/component-emitter": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
"integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
},
"node_modules/@types/body-parser": { "node_modules/@types/body-parser": {
"version": "1.19.0", "version": "1.19.0",
"resolved": "https://registry.npm.taobao.org/@types/body-parser/download/@types/body-parser-1.19.0.tgz", "resolved": "https://registry.npm.taobao.org/@types/body-parser/download/@types/body-parser-1.19.0.tgz",
@ -28,11 +33,6 @@
"@types/node": "*" "@types/node": "*"
} }
}, },
"node_modules/@types/component-emitter": {
"version": "1.2.10",
"resolved": "https://registry.npm.taobao.org/@types/component-emitter/download/@types/component-emitter-1.2.10.tgz?cache=0&sync_timestamp=1613378698401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcomponent-emitter%2Fdownload%2F%40types%2Fcomponent-emitter-1.2.10.tgz",
"integrity": "sha1-71sVibnxZURkLkc9tepWORB+8+o="
},
"node_modules/@types/connect": { "node_modules/@types/connect": {
"version": "3.4.34", "version": "3.4.34",
"resolved": "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.34.tgz", "resolved": "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.34.tgz",
@ -43,14 +43,14 @@
} }
}, },
"node_modules/@types/cookie": { "node_modules/@types/cookie": {
"version": "0.4.0", "version": "0.4.1",
"resolved": "https://registry.npm.taobao.org/@types/cookie/download/@types/cookie-0.4.0.tgz", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
"integrity": "sha1-FPhUwPk9Mm452m47bzT303UT0Qg=" "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
}, },
"node_modules/@types/cors": { "node_modules/@types/cors": {
"version": "2.8.10", "version": "2.8.12",
"resolved": "https://registry.npm.taobao.org/@types/cors/download/@types/cors-2.8.10.tgz", "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
"integrity": "sha1-YcyEaYSeW83QxwRBIiZcOc7BDPQ=" "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
}, },
"node_modules/@types/engine.io": { "node_modules/@types/engine.io": {
"version": "3.1.5", "version": "3.1.5",
@ -160,18 +160,10 @@
"resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
}, },
"node_modules/base64-arraybuffer": {
"version": "0.1.4",
"resolved": "https://registry.npm.taobao.org/base64-arraybuffer/download/base64-arraybuffer-0.1.4.tgz",
"integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=",
"engines": {
"node": ">= 0.6.0"
}
},
"node_modules/base64id": { "node_modules/base64id": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/base64id/download/base64id-2.0.0.tgz", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
"integrity": "sha1-J3Csa8R9MSr5eov5pjQ0LgzSXLY=", "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
"engines": { "engines": {
"node": "^4.5.0 || >= 5.9" "node": "^4.5.0 || >= 5.9"
} }
@ -223,11 +215,6 @@
"node": ">= 0.8" "node": ">= 0.8"
} }
}, },
"node_modules/component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz",
"integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A="
},
"node_modules/content-disposition": { "node_modules/content-disposition": {
"version": "0.5.3", "version": "0.5.3",
"resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz",
@ -248,9 +235,9 @@
} }
}, },
"node_modules/cookie": { "node_modules/cookie": {
"version": "0.4.1", "version": "0.4.2",
"resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.1.tgz?cache=0&sync_timestamp=1599054117231&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcookie%2Fdownload%2Fcookie-0.4.1.tgz", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
"integrity": "sha1-r9cT/ibr0hupXOth+agRblClN9E=", "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
"engines": { "engines": {
"node": ">= 0.6" "node": ">= 0.6"
} }
@ -262,8 +249,8 @@
}, },
"node_modules/cors": { "node_modules/cors": {
"version": "2.8.5", "version": "2.8.5",
"resolved": "https://registry.npm.taobao.org/cors/download/cors-2.8.5.tgz", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
"integrity": "sha1-6sEdpRWS3Ya58G9uesKTs9+HXSk=", "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
"dependencies": { "dependencies": {
"object-assign": "^4", "object-assign": "^4",
"vary": "^1" "vary": "^1"
@ -279,14 +266,19 @@
"dev": true "dev": true
}, },
"node_modules/debug": { "node_modules/debug": {
"version": "4.3.1", "version": "4.3.4",
"resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": { "dependencies": {
"ms": "2.1.2" "ms": "2.1.2"
}, },
"engines": { "engines": {
"node": ">=6.0" "node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
} }
}, },
"node_modules/depd": { "node_modules/depd": {
@ -325,31 +317,31 @@
} }
}, },
"node_modules/engine.io": { "node_modules/engine.io": {
"version": "5.0.0", "version": "6.2.0",
"resolved": "https://registry.npm.taobao.org/engine.io/download/engine.io-5.0.0.tgz", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
"integrity": "sha1-Rw3JSopJB/pNLNH6ZhFCavzuYb8=", "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
"dependencies": { "dependencies": {
"@types/cookie": "^0.4.1",
"@types/cors": "^2.8.12",
"@types/node": ">=10.0.0",
"accepts": "~1.3.4", "accepts": "~1.3.4",
"base64id": "2.0.0", "base64id": "2.0.0",
"cookie": "~0.4.1", "cookie": "~0.4.1",
"cors": "~2.8.5", "cors": "~2.8.5",
"debug": "~4.3.1", "debug": "~4.3.1",
"engine.io-parser": "~4.0.0", "engine.io-parser": "~5.0.3",
"ws": "~7.4.2" "ws": "~8.2.3"
}, },
"engines": { "engines": {
"node": ">=10.0.0" "node": ">=10.0.0"
} }
}, },
"node_modules/engine.io-parser": { "node_modules/engine.io-parser": {
"version": "4.0.2", "version": "5.0.4",
"resolved": "https://registry.npm.taobao.org/engine.io-parser/download/engine.io-parser-4.0.2.tgz?cache=0&sync_timestamp=1607330719219&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fengine.io-parser%2Fdownload%2Fengine.io-parser-4.0.2.tgz", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
"integrity": "sha1-5B0LP7Zve/SjZx0gOKFUAk7bUB4=", "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==",
"dependencies": {
"base64-arraybuffer": "0.1.4"
},
"engines": { "engines": {
"node": ">=8.0.0" "node": ">=10.0.0"
} }
}, },
"node_modules/escape-html": { "node_modules/escape-html": {
@ -583,8 +575,8 @@
}, },
"node_modules/object-assign": { "node_modules/object-assign": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
} }
@ -726,36 +718,32 @@
"integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=" "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM="
}, },
"node_modules/socket.io": { "node_modules/socket.io": {
"version": "4.0.0", "version": "4.5.2",
"resolved": "https://registry.npm.taobao.org/socket.io/download/socket.io-4.0.0.tgz", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz",
"integrity": "sha1-7khKldxqOGmEkar2O27B887qwKg=", "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==",
"dependencies": { "dependencies": {
"@types/cookie": "^0.4.0",
"@types/cors": "^2.8.8",
"@types/node": ">=10.0.0",
"accepts": "~1.3.4", "accepts": "~1.3.4",
"base64id": "~2.0.0", "base64id": "~2.0.0",
"debug": "~4.3.1", "debug": "~4.3.2",
"engine.io": "~5.0.0", "engine.io": "~6.2.0",
"socket.io-adapter": "~2.2.0", "socket.io-adapter": "~2.4.0",
"socket.io-parser": "~4.0.3" "socket.io-parser": "~4.2.0"
}, },
"engines": { "engines": {
"node": ">=10.0.0" "node": ">=10.0.0"
} }
}, },
"node_modules/socket.io-adapter": { "node_modules/socket.io-adapter": {
"version": "2.2.0", "version": "2.4.0",
"resolved": "https://registry.npm.taobao.org/socket.io-adapter/download/socket.io-adapter-2.2.0.tgz", "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
"integrity": "sha1-Q6+RV8RgnnS4rdxoZ4c6x+tI/aI=" "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
}, },
"node_modules/socket.io-parser": { "node_modules/socket.io-parser": {
"version": "4.0.4", "version": "4.2.1",
"resolved": "https://registry.npm.taobao.org/socket.io-parser/download/socket.io-parser-4.0.4.tgz?cache=0&sync_timestamp=1610669810516&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsocket.io-parser%2Fdownload%2Fsocket.io-parser-4.0.4.tgz", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
"integrity": "sha1-nqIbDWFQjRgZbvBKLGuatjD0wrA=", "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
"dependencies": { "dependencies": {
"@types/component-emitter": "^1.2.10", "@socket.io/component-emitter": "~3.1.0",
"component-emitter": "~1.3.0",
"debug": "~4.3.1" "debug": "~4.3.1"
}, },
"engines": { "engines": {
@ -772,9 +760,9 @@
} }
}, },
"node_modules/source-map-support": { "node_modules/source-map-support": {
"version": "0.5.19", "version": "0.5.21",
"resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1589682814927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
"integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"buffer-from": "^1.0.0", "buffer-from": "^1.0.0",
@ -870,11 +858,23 @@
} }
}, },
"node_modules/ws": { "node_modules/ws": {
"version": "7.4.4", "version": "8.2.3",
"resolved": "https://registry.npm.taobao.org/ws/download/ws-7.4.4.tgz?cache=0&sync_timestamp=1615063746103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-7.4.4.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
"integrity": "sha1-ODvJdCyyAikskHfOq29gR7F/LVk=", "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
"engines": { "engines": {
"node": ">=8.3.0" "node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": "^5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
} }
}, },
"node_modules/yn": { "node_modules/yn": {
@ -888,6 +888,11 @@
} }
}, },
"dependencies": { "dependencies": {
"@socket.io/component-emitter": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
"integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
},
"@types/body-parser": { "@types/body-parser": {
"version": "1.19.0", "version": "1.19.0",
"resolved": "https://registry.npm.taobao.org/@types/body-parser/download/@types/body-parser-1.19.0.tgz", "resolved": "https://registry.npm.taobao.org/@types/body-parser/download/@types/body-parser-1.19.0.tgz",
@ -898,11 +903,6 @@
"@types/node": "*" "@types/node": "*"
} }
}, },
"@types/component-emitter": {
"version": "1.2.10",
"resolved": "https://registry.npm.taobao.org/@types/component-emitter/download/@types/component-emitter-1.2.10.tgz?cache=0&sync_timestamp=1613378698401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcomponent-emitter%2Fdownload%2F%40types%2Fcomponent-emitter-1.2.10.tgz",
"integrity": "sha1-71sVibnxZURkLkc9tepWORB+8+o="
},
"@types/connect": { "@types/connect": {
"version": "3.4.34", "version": "3.4.34",
"resolved": "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.34.tgz", "resolved": "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.34.tgz",
@ -913,14 +913,14 @@
} }
}, },
"@types/cookie": { "@types/cookie": {
"version": "0.4.0", "version": "0.4.1",
"resolved": "https://registry.npm.taobao.org/@types/cookie/download/@types/cookie-0.4.0.tgz", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
"integrity": "sha1-FPhUwPk9Mm452m47bzT303UT0Qg=" "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
}, },
"@types/cors": { "@types/cors": {
"version": "2.8.10", "version": "2.8.12",
"resolved": "https://registry.npm.taobao.org/@types/cors/download/@types/cors-2.8.10.tgz", "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
"integrity": "sha1-YcyEaYSeW83QxwRBIiZcOc7BDPQ=" "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
}, },
"@types/engine.io": { "@types/engine.io": {
"version": "3.1.5", "version": "3.1.5",
@ -1027,15 +1027,10 @@
"resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
}, },
"base64-arraybuffer": {
"version": "0.1.4",
"resolved": "https://registry.npm.taobao.org/base64-arraybuffer/download/base64-arraybuffer-0.1.4.tgz",
"integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
},
"base64id": { "base64id": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/base64id/download/base64id-2.0.0.tgz", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
"integrity": "sha1-J3Csa8R9MSr5eov5pjQ0LgzSXLY=" "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
}, },
"body-parser": { "body-parser": {
"version": "1.19.0", "version": "1.19.0",
@ -1080,11 +1075,6 @@
"resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz?cache=0&sync_timestamp=1589682741197&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz", "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz?cache=0&sync_timestamp=1589682741197&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz",
"integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=" "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY="
}, },
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz",
"integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A="
},
"content-disposition": { "content-disposition": {
"version": "0.5.3", "version": "0.5.3",
"resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz",
@ -1099,9 +1089,9 @@
"integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=" "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js="
}, },
"cookie": { "cookie": {
"version": "0.4.1", "version": "0.4.2",
"resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.1.tgz?cache=0&sync_timestamp=1599054117231&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcookie%2Fdownload%2Fcookie-0.4.1.tgz", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
"integrity": "sha1-r9cT/ibr0hupXOth+agRblClN9E=" "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
}, },
"cookie-signature": { "cookie-signature": {
"version": "1.0.6", "version": "1.0.6",
@ -1110,8 +1100,8 @@
}, },
"cors": { "cors": {
"version": "2.8.5", "version": "2.8.5",
"resolved": "https://registry.npm.taobao.org/cors/download/cors-2.8.5.tgz", "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
"integrity": "sha1-6sEdpRWS3Ya58G9uesKTs9+HXSk=", "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
"requires": { "requires": {
"object-assign": "^4", "object-assign": "^4",
"vary": "^1" "vary": "^1"
@ -1124,9 +1114,9 @@
"dev": true "dev": true
}, },
"debug": { "debug": {
"version": "4.3.1", "version": "4.3.4",
"resolved": "https://registry.npm.taobao.org/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1607566533140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"requires": { "requires": {
"ms": "2.1.2" "ms": "2.1.2"
} }
@ -1158,26 +1148,26 @@
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
}, },
"engine.io": { "engine.io": {
"version": "5.0.0", "version": "6.2.0",
"resolved": "https://registry.npm.taobao.org/engine.io/download/engine.io-5.0.0.tgz", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz",
"integrity": "sha1-Rw3JSopJB/pNLNH6ZhFCavzuYb8=", "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==",
"requires": { "requires": {
"@types/cookie": "^0.4.1",
"@types/cors": "^2.8.12",
"@types/node": ">=10.0.0",
"accepts": "~1.3.4", "accepts": "~1.3.4",
"base64id": "2.0.0", "base64id": "2.0.0",
"cookie": "~0.4.1", "cookie": "~0.4.1",
"cors": "~2.8.5", "cors": "~2.8.5",
"debug": "~4.3.1", "debug": "~4.3.1",
"engine.io-parser": "~4.0.0", "engine.io-parser": "~5.0.3",
"ws": "~7.4.2" "ws": "~8.2.3"
} }
}, },
"engine.io-parser": { "engine.io-parser": {
"version": "4.0.2", "version": "5.0.4",
"resolved": "https://registry.npm.taobao.org/engine.io-parser/download/engine.io-parser-4.0.2.tgz?cache=0&sync_timestamp=1607330719219&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fengine.io-parser%2Fdownload%2Fengine.io-parser-4.0.2.tgz", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz",
"integrity": "sha1-5B0LP7Zve/SjZx0gOKFUAk7bUB4=", "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg=="
"requires": {
"base64-arraybuffer": "0.1.4"
}
}, },
"escape-html": { "escape-html": {
"version": "1.0.3", "version": "1.0.3",
@ -1366,8 +1356,8 @@
}, },
"object-assign": { "object-assign": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
}, },
"on-finished": { "on-finished": {
"version": "2.3.0", "version": "2.3.0",
@ -1486,33 +1476,29 @@
"integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=" "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM="
}, },
"socket.io": { "socket.io": {
"version": "4.0.0", "version": "4.5.2",
"resolved": "https://registry.npm.taobao.org/socket.io/download/socket.io-4.0.0.tgz", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz",
"integrity": "sha1-7khKldxqOGmEkar2O27B887qwKg=", "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==",
"requires": { "requires": {
"@types/cookie": "^0.4.0",
"@types/cors": "^2.8.8",
"@types/node": ">=10.0.0",
"accepts": "~1.3.4", "accepts": "~1.3.4",
"base64id": "~2.0.0", "base64id": "~2.0.0",
"debug": "~4.3.1", "debug": "~4.3.2",
"engine.io": "~5.0.0", "engine.io": "~6.2.0",
"socket.io-adapter": "~2.2.0", "socket.io-adapter": "~2.4.0",
"socket.io-parser": "~4.0.3" "socket.io-parser": "~4.2.0"
} }
}, },
"socket.io-adapter": { "socket.io-adapter": {
"version": "2.2.0", "version": "2.4.0",
"resolved": "https://registry.npm.taobao.org/socket.io-adapter/download/socket.io-adapter-2.2.0.tgz", "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz",
"integrity": "sha1-Q6+RV8RgnnS4rdxoZ4c6x+tI/aI=" "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg=="
}, },
"socket.io-parser": { "socket.io-parser": {
"version": "4.0.4", "version": "4.2.1",
"resolved": "https://registry.npm.taobao.org/socket.io-parser/download/socket.io-parser-4.0.4.tgz?cache=0&sync_timestamp=1610669810516&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsocket.io-parser%2Fdownload%2Fsocket.io-parser-4.0.4.tgz", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
"integrity": "sha1-nqIbDWFQjRgZbvBKLGuatjD0wrA=", "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
"requires": { "requires": {
"@types/component-emitter": "^1.2.10", "@socket.io/component-emitter": "~3.1.0",
"component-emitter": "~1.3.0",
"debug": "~4.3.1" "debug": "~4.3.1"
} }
}, },
@ -1523,9 +1509,9 @@
"dev": true "dev": true
}, },
"source-map-support": { "source-map-support": {
"version": "0.5.19", "version": "0.5.21",
"resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1589682814927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
"integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
"dev": true, "dev": true,
"requires": { "requires": {
"buffer-from": "^1.0.0", "buffer-from": "^1.0.0",
@ -1587,9 +1573,10 @@
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
}, },
"ws": { "ws": {
"version": "7.4.4", "version": "8.2.3",
"resolved": "https://registry.npm.taobao.org/ws/download/ws-7.4.4.tgz?cache=0&sync_timestamp=1615063746103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-7.4.4.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
"integrity": "sha1-ODvJdCyyAikskHfOq29gR7F/LVk=" "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
"requires": {}
}, },
"yn": { "yn": {
"version": "3.1.1", "version": "3.1.1",

View File

@ -4,7 +4,8 @@
<head> <head>
<title>WebSocket Chat Room</title> <title>WebSocket Chat Room</title>
<link rel="icon" href="favicon.png"> <link rel="icon" href="favicon.png">
<link rel="stylesheet" type="text/css" href="./style.css" /> <link rel="stylesheet" href="style.css"/>
<script type="module" src="script.js"></script>
</head> </head>
<body> <body>
@ -29,15 +30,6 @@
<input type="button" value="OK" id="confirm-prompt" /> <input type="button" value="OK" id="confirm-prompt" />
</div> </div>
</div> </div>
<script src="https://cdn.jsdelivr.net/npm/es5-shim@4.5.15/es5-shim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/socket.io-client@4.0.0/dist/socket.io.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/dompurify@2.2.7/dist/purify.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
<script src="./script.js"></script>
<script src="https://cdn.jsdelivr.net/npm/remarkable@2.0.1/dist/remarkable.js"></script>
<link rel="stylesheet" href="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.1/build/styles/tomorrow.min.css">
<script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.1/build/highlight.min.js"></script>
</body> </body>
</html> </html>

4803
public/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

24
public/package.json Normal file
View File

@ -0,0 +1,24 @@
{
"name": "public",
"version": "1.0.0",
"description": "",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "MIT",
"devDependencies": {
"buffer": "^6.0.3",
"parcel": "^2.7.0"
},
"dependencies": {
"dompurify": "^2.4.0",
"highlightjs": "^9.16.2",
"jquery": "^3.6.1",
"katex": "^0.16.2",
"remarkable": "^2.0.1",
"remarkable-katex": "^1.2.1",
"socket.io-client": "^4.5.2"
}
}

View File

@ -1,3 +1,12 @@
import io from 'socket.io-client';
import $ from 'jquery';
import {Remarkable} from 'remarkable';
import DOMPurify from 'dompurify';
import rkatex from 'remarkable-katex';
import hljs from 'highlightjs';
import 'katex';
let username; let username;
let is_reconnection = false; let is_reconnection = false;
let last_command = null; let last_command = null;
@ -122,7 +131,7 @@ async function init() {
await login_name(); await login_name();
md = new remarkable.Remarkable({ md = new Remarkable({
highlight: function (str, lang) { highlight: function (str, lang) {
if (lang && hljs.getLanguage(lang)) { if (lang && hljs.getLanguage(lang)) {
try { try {
@ -138,6 +147,7 @@ async function init() {
} }
}); });
md.use(rkatex);
md.inline.ruler.enable(['mark', 'sup', 'sub']); md.inline.ruler.enable(['mark', 'sup', 'sub']);
const ws = new io(server); const ws = new io(server);

View File

@ -1,4 +1,4 @@
@import 'proton-color.css'; @import './proton-color.css';
body { body {
font-family: sans-serif; font-family: sans-serif;

View File

@ -44,7 +44,7 @@ io.on('connection', socket => {
}); });
}); });
app.use('/', Express.static(path.join(__dirname, '../public'))); app.use('/', Express.static(path.join(__dirname, '../public/dist')));
const server_port = parseInt(process.env.PORT) | 4412; const server_port = parseInt(process.env.PORT) | 4412;
http.listen(server_port, () => { http.listen(server_port, () => {