Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
K
Koishi Nestjs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
3rdeye
Koishi Nestjs
Commits
3b23fc5d
Commit
3b23fc5d
authored
Jan 30, 2023
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rework with http server
parent
7eecf9c8
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
108 additions
and
179 deletions
+108
-179
package-lock.json
package-lock.json
+105
-113
package.json
package.json
+1
-1
src/koishi.service.ts
src/koishi.service.ts
+2
-17
src/utility/koa-router.ts
src/utility/koa-router.ts
+0
-31
tests/koishi-tests.spec.ts
tests/koishi-tests.spec.ts
+0
-9
tests/utility/testing-module.ts
tests/utility/testing-module.ts
+0
-8
No files found.
package-lock.json
View file @
3b23fc5d
...
...
@@ -44,7 +44,7 @@
"peerDependencies"
:
{
"@nestjs/common"
:
"^9.0.3 || ^8.0.0"
,
"@nestjs/core"
:
"^9.0.3 || ^8.0.0"
,
"koishi"
:
"^4.11.
1
"
,
"koishi"
:
"^4.11.
4
"
,
"rxjs"
:
"^7.5.5"
}
},
...
...
@@ -1241,23 +1241,23 @@
}
},
"node_modules/@koishijs/core"
:
{
"version"
:
"4.11.
1
"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/core/-/core-4.11.
1
.tgz"
,
"integrity"
:
"sha512-
HrzgBnimg/fgIzxTyH8BJb7nZpgt912i4zcfvRN9kNcPwbdOpjGllCVRuhRxSEBR21OJvCYTmT0dzf1qNPd3V
g=="
,
"version"
:
"4.11.
4
"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/core/-/core-4.11.
4
.tgz"
,
"integrity"
:
"sha512-
biwbprUTBreFgCyRaJc46Oenp/xcrWkxrrQ/9+YxWgSTQ7AF/a1Qz5XW3fN5wGdeHV/MhBTNdoS2y/+0V8Ew0
g=="
,
"peer"
:
true
,
"dependencies"
:
{
"@koishijs/utils"
:
"^
6.4
.0"
,
"@minatojs/core"
:
"^2.1.
1
"
,
"@satorijs/core"
:
"^2.
0.1
"
,
"cordis"
:
"^2.
6.0
"
,
"@koishijs/utils"
:
"^
7.0
.0"
,
"@minatojs/core"
:
"^2.1.
2
"
,
"@satorijs/core"
:
"^2.
1.0
"
,
"cordis"
:
"^2.
7.2
"
,
"cosmokit"
:
"^1.4.0"
,
"fastest-levenshtein"
:
"^1.0.16"
}
},
"node_modules/@koishijs/loader"
:
{
"version"
:
"2.5.
1
"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/loader/-/loader-2.5.
1
.tgz"
,
"integrity"
:
"sha512-
ZNyzmL/sCTENPegZBx5rPs1mb+7YOxCb9Il0vyul9zuGzSJoJklSAIoTpBRt1v6BH/eUHEwY6ngcomkxQlf6x
Q=="
,
"version"
:
"2.5.
4
"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/loader/-/loader-2.5.
4
.tgz"
,
"integrity"
:
"sha512-
MAXhmVsXch7d4RkO3enXC/RG2GXcdu8wm/Vsmv1/G7B21e3UUSr6fubY/b84NA8mfxlpW11jYPh8Y51j7vCsV
Q=="
,
"peer"
:
true
,
"dependencies"
:
{
"dotenv"
:
"^16.0.3"
,
...
...
@@ -1265,7 +1265,7 @@
"ns-require"
:
"^1.1.4"
},
"peerDependencies"
:
{
"@koishijs/core"
:
"
^4.11.1
"
"@koishijs/core"
:
"
4.11.4
"
}
},
"node_modules/@koishijs/loader/node_modules/argparse"
:
{
...
...
@@ -1287,21 +1287,19 @@
}
},
"node_modules/@koishijs/utils"
:
{
"version"
:
"
6.4
.0"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/utils/-/utils-
6.4
.0.tgz"
,
"integrity"
:
"sha512-
GMIBnr4W6JZST5hB8u1sVH3+MH7ZcGIUy3IJU538Z4j/JbCoRnydNnCKggs7tB1JFHqq/7eHAsks/2WrfA/1n
g=="
,
"version"
:
"
7.0
.0"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/utils/-/utils-
7.0
.0.tgz"
,
"integrity"
:
"sha512-
xfz6aoLoCVoX+OiVsy3mpiXPS7hUPiEaTVnPqHpELu9At8Hb2yhexDSBUWmWLvZ70jmJOUNUtCTbkDd+I0S2I
g=="
,
"peer"
:
true
,
"dependencies"
:
{
"cosmokit"
:
"^1.4.0"
,
"inaba"
:
"^1.1.1"
,
"reggol"
:
"^1.3.4"
,
"schemastery"
:
"^3.6.1"
"inaba"
:
"^1.1.1"
}
},
"node_modules/@minatojs/core"
:
{
"version"
:
"2.1.
1
"
,
"resolved"
:
"https://registry.npmjs.org/@minatojs/core/-/core-2.1.
1
.tgz"
,
"integrity"
:
"sha512-
iGx1eydevDiuhaUhO/BkI0L2d+028wsVUMZ/pXi1z5IP1xZJvlr3LMrjr3zG4XdyKPO3JsdZy96G+wQSu6Jltg
=="
,
"version"
:
"2.1.
2
"
,
"resolved"
:
"https://registry.npmjs.org/@minatojs/core/-/core-2.1.
2
.tgz"
,
"integrity"
:
"sha512-
7VDn+G2QybsDVlmZ0wcYeB0IN8q//qO5WZSdYizTcsXx1bCKEU+AUn/UPWN3eHRXvhVNI3YRBAoEKxkp357lDw
=="
,
"dependencies"
:
{
"cosmokit"
:
"^1.4.0"
}
...
...
@@ -1573,17 +1571,17 @@
}
},
"node_modules/@satorijs/core"
:
{
"version"
:
"2.
0.1
"
,
"resolved"
:
"https://registry.npmjs.org/@satorijs/core/-/core-2.
0.1
.tgz"
,
"integrity"
:
"sha512-
K+nNmUtFrU1uDJEn6Xov6TcaKhn8+Q9qtp6iBUh5DIhHO4hzoIHaPntvpoKJ5dfg5EyQyAi+JShTGl4voN5Ung
=="
,
"version"
:
"2.
1.0
"
,
"resolved"
:
"https://registry.npmjs.org/@satorijs/core/-/core-2.
1.0
.tgz"
,
"integrity"
:
"sha512-
2LduZz57SRyJ/Op5iqO1UUv0Q3UkuDIz3gk8j94orDYchN397MfxTv+uy3awGwKUlgfdCw2s3FloE7FL9UgopA
=="
,
"peer"
:
true
,
"dependencies"
:
{
"@satorijs/element"
:
"^2.3.1"
,
"cordis"
:
"^2.
6.0
"
,
"cordis-axios"
:
"^
2.2.1
"
,
"cordis"
:
"^2.
7.2
"
,
"cordis-axios"
:
"^
3.0.0
"
,
"cosmokit"
:
"^1.4.0"
,
"reggol"
:
"^1.3.
4
"
,
"schemastery"
:
"^3.
6.1
"
,
"reggol"
:
"^1.3.
5
"
,
"schemastery"
:
"^3.
7.0
"
,
"ws"
:
"^8.11.0"
}
},
...
...
@@ -1597,13 +1595,13 @@
}
},
"node_modules/@satorijs/satori"
:
{
"version"
:
"2.
0.1
"
,
"resolved"
:
"https://registry.npmjs.org/@satorijs/satori/-/satori-2.
0.1
.tgz"
,
"integrity"
:
"sha512-
Mt8r8rYr7IOWgCKMTfyXaIvZIFQ2FAUXsDlOMnhWu6Sf/Q0KFS/o/aiXFlerhSnii1ptuGAZmSxaBhsGMkPmwg
=="
,
"version"
:
"2.
1.0
"
,
"resolved"
:
"https://registry.npmjs.org/@satorijs/satori/-/satori-2.
1.0
.tgz"
,
"integrity"
:
"sha512-
VZX3cJvuxxWCYpp4hok0NFRsGZL+5jE5EbfyibKL3XjsC/9MmtPSdbECfPstQS1PmGcoOAaq15DCSTy/rnSalA
=="
,
"peer"
:
true
,
"dependencies"
:
{
"@koa/router"
:
"^10.1.1"
,
"@satorijs/core"
:
"2.
0.1
"
,
"@satorijs/core"
:
"2.
1.0
"
,
"@types/koa"
:
"*"
,
"@types/koa__router"
:
"*"
,
"@types/ws"
:
"^8.5.3"
,
...
...
@@ -1615,7 +1613,6 @@
"koa-bodyparser"
:
"^4.3.0"
,
"parseurl"
:
"^1.3.3"
,
"path-to-regexp"
:
"^6.2.1"
,
"schemastery"
:
"^3.6.1"
,
"socks-proxy-agent"
:
"^5.0.1"
,
"ws"
:
"^8.11.0"
},
...
...
@@ -2932,30 +2929,29 @@
"integrity"
:
"sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w=="
},
"node_modules/cordis"
:
{
"version"
:
"2.
6.0
"
,
"resolved"
:
"https://registry.npmjs.org/cordis/-/cordis-2.
6.0
.tgz"
,
"integrity"
:
"sha512-
4VUY2x6ufctBr1zYAML3c+b1eXwgY94nkqLP7/icb3QVGXMBJuH4Nztakf6ADVonN5MvgJ06RRawRvmWdx3LxA
=="
,
"version"
:
"2.
7.2
"
,
"resolved"
:
"https://registry.npmjs.org/cordis/-/cordis-2.
7.2
.tgz"
,
"integrity"
:
"sha512-
bM+4P1bhIawrXRLvBMoxfWwSHebm0B3n0sM+T/FCED/iMUnEs6N9Y7lwJ2gDo2fm0wvu4JzU8cuMKrxqroq16Q
=="
,
"peer"
:
true
,
"dependencies"
:
{
"cosmokit"
:
"^1.
3.3
"
"cosmokit"
:
"^1.
4.0
"
}
},
"node_modules/cordis-axios"
:
{
"version"
:
"
2.2.1
"
,
"resolved"
:
"https://registry.npmjs.org/cordis-axios/-/cordis-axios-
2.2.1
.tgz"
,
"integrity"
:
"sha512-
1OBl1FKLkYa1kEYeX56E13B4VdrxUve4poEYBfsBAygYn0IvcrUauvsdW9cl1rihBXtA/X6/K8BUY9O5KyOSQg
=="
,
"version"
:
"
3.0.0
"
,
"resolved"
:
"https://registry.npmjs.org/cordis-axios/-/cordis-axios-
3.0.0
.tgz"
,
"integrity"
:
"sha512-
fYFw6vezgDP9n8GMCHUW+n8hPkWueX0RpGipu5lU/aRDwNzeGQaYdSv737cRh/N7cPsGqZqGJcZUgYBPzxrB7A
=="
,
"peer"
:
true
,
"dependencies"
:
{
"axios"
:
"~1.1.3"
,
"cosmokit"
:
"^1.4.0"
,
"mime-db"
:
"^1.52.0"
,
"schemastery"
:
"^3.6.1"
"mime-db"
:
"^1.52.0"
},
"engines"
:
{
"node"
:
">=12.0.0"
},
"peerDependencies"
:
{
"cordis"
:
"^2.
6.0
"
"cordis"
:
"^2.
7.2
"
}
},
"node_modules/cordis-decorators"
:
{
...
...
@@ -5344,15 +5340,15 @@
}
},
"node_modules/koishi"
:
{
"version"
:
"4.11.
1
"
,
"resolved"
:
"https://registry.npmjs.org/koishi/-/koishi-4.11.
1
.tgz"
,
"integrity"
:
"sha512-
sHMa8okx+kl5jHBwzT2gb4qGeOJRKG8AfLt4w5BLJwOPpvdo6cW9RiRy1uBwkXM7zf4yOvtr0+6WEu+AuD6bXQ
=="
,
"version"
:
"4.11.
4
"
,
"resolved"
:
"https://registry.npmjs.org/koishi/-/koishi-4.11.
4
.tgz"
,
"integrity"
:
"sha512-
FLngGwsCHvoPdEbzVCGB0KExxh0yJcQ5ivaepTTusqPH7oQeZHo9ROb02ncVAw7ZPpWrUDOzqlyIFdtS6OPcRg
=="
,
"peer"
:
true
,
"dependencies"
:
{
"@koishijs/core"
:
"4.11.
1
"
,
"@koishijs/loader"
:
"
^2.5.1
"
,
"@koishijs/utils"
:
"^
6.4
.0"
,
"@satorijs/satori"
:
"^2.
0.1
"
,
"@koishijs/core"
:
"4.11.
4
"
,
"@koishijs/loader"
:
"
2.5.4
"
,
"@koishijs/utils"
:
"^
7.0
.0"
,
"@satorijs/satori"
:
"^2.
1.0
"
,
"cac"
:
"^6.7.14"
,
"chokidar"
:
"^3.5.3"
,
"kleur"
:
"^4.1.5"
,
...
...
@@ -6389,12 +6385,12 @@
}
},
"node_modules/reggol"
:
{
"version"
:
"1.3.
4
"
,
"resolved"
:
"https://registry.npmjs.org/reggol/-/reggol-1.3.
4
.tgz"
,
"integrity"
:
"sha512-
E/sL4WovP0kR5EHQx3YF4ZDsI5D5baTROXaELCN1mOCB8tEOVOR3PHr807yVcGit2BfmXMSW5KyRaUAV5K8Vzw
=="
,
"version"
:
"1.3.
5
"
,
"resolved"
:
"https://registry.npmjs.org/reggol/-/reggol-1.3.
5
.tgz"
,
"integrity"
:
"sha512-
kzkzs4nhZeiphyh+amekq25/3PndZDq+5Yt8qCJqPSyMXPC1pkwhfYCQyJdXxoRz3/uqt0+VqHulagUCVY84vA
=="
,
"peer"
:
true
,
"dependencies"
:
{
"cosmokit"
:
"^1.
3.6
"
,
"cosmokit"
:
"^1.
4.0
"
,
"object-inspect"
:
"^1.12.2"
,
"supports-color"
:
"^8.1.1"
}
...
...
@@ -6602,12 +6598,12 @@
"integrity"
:
"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/schemastery"
:
{
"version"
:
"3.
6.1
"
,
"resolved"
:
"https://registry.npmjs.org/schemastery/-/schemastery-3.
6.1
.tgz"
,
"integrity"
:
"sha512-
Igh4oqaHco1AYmqpSgYgg411gNomSI9xE35Xo/FuzJZTMYWA5W1o+82Q5qMnt9FAQ76gZig0pea9OcHl0AM/Lw
=="
,
"version"
:
"3.
7.0
"
,
"resolved"
:
"https://registry.npmjs.org/schemastery/-/schemastery-3.
7.0
.tgz"
,
"integrity"
:
"sha512-
vUs5HcWdtpqlL/Z1AwvFApllJk0jLtuItkwH5DDpie3Lw71DIA0Z7ohlnPF+fVN17QxJAI5xJtud62E3/EBoBQ
=="
,
"peer"
:
true
,
"dependencies"
:
{
"cosmokit"
:
"^1.
3.4
"
"cosmokit"
:
"^1.
4.0
"
}
},
"node_modules/schemastery-gen"
:
{
...
...
@@ -8592,23 +8588,23 @@
}
},
"@koishijs/core"
:
{
"version"
:
"4.11.
1
"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/core/-/core-4.11.
1
.tgz"
,
"integrity"
:
"sha512-
HrzgBnimg/fgIzxTyH8BJb7nZpgt912i4zcfvRN9kNcPwbdOpjGllCVRuhRxSEBR21OJvCYTmT0dzf1qNPd3V
g=="
,
"version"
:
"4.11.
4
"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/core/-/core-4.11.
4
.tgz"
,
"integrity"
:
"sha512-
biwbprUTBreFgCyRaJc46Oenp/xcrWkxrrQ/9+YxWgSTQ7AF/a1Qz5XW3fN5wGdeHV/MhBTNdoS2y/+0V8Ew0
g=="
,
"peer"
:
true
,
"requires"
:
{
"@koishijs/utils"
:
"^
6.4
.0"
,
"@minatojs/core"
:
"^2.1.
1
"
,
"@satorijs/core"
:
"^2.
0.1
"
,
"cordis"
:
"^2.
6.0
"
,
"@koishijs/utils"
:
"^
7.0
.0"
,
"@minatojs/core"
:
"^2.1.
2
"
,
"@satorijs/core"
:
"^2.
1.0
"
,
"cordis"
:
"^2.
7.2
"
,
"cosmokit"
:
"^1.4.0"
,
"fastest-levenshtein"
:
"^1.0.16"
}
},
"@koishijs/loader"
:
{
"version"
:
"2.5.
1
"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/loader/-/loader-2.5.
1
.tgz"
,
"integrity"
:
"sha512-
ZNyzmL/sCTENPegZBx5rPs1mb+7YOxCb9Il0vyul9zuGzSJoJklSAIoTpBRt1v6BH/eUHEwY6ngcomkxQlf6x
Q=="
,
"version"
:
"2.5.
4
"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/loader/-/loader-2.5.
4
.tgz"
,
"integrity"
:
"sha512-
MAXhmVsXch7d4RkO3enXC/RG2GXcdu8wm/Vsmv1/G7B21e3UUSr6fubY/b84NA8mfxlpW11jYPh8Y51j7vCsV
Q=="
,
"peer"
:
true
,
"requires"
:
{
"dotenv"
:
"^16.0.3"
,
...
...
@@ -8634,21 +8630,19 @@
}
},
"@koishijs/utils"
:
{
"version"
:
"
6.4
.0"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/utils/-/utils-
6.4
.0.tgz"
,
"integrity"
:
"sha512-
GMIBnr4W6JZST5hB8u1sVH3+MH7ZcGIUy3IJU538Z4j/JbCoRnydNnCKggs7tB1JFHqq/7eHAsks/2WrfA/1n
g=="
,
"version"
:
"
7.0
.0"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/utils/-/utils-
7.0
.0.tgz"
,
"integrity"
:
"sha512-
xfz6aoLoCVoX+OiVsy3mpiXPS7hUPiEaTVnPqHpELu9At8Hb2yhexDSBUWmWLvZ70jmJOUNUtCTbkDd+I0S2I
g=="
,
"peer"
:
true
,
"requires"
:
{
"cosmokit"
:
"^1.4.0"
,
"inaba"
:
"^1.1.1"
,
"reggol"
:
"^1.3.4"
,
"schemastery"
:
"^3.6.1"
"inaba"
:
"^1.1.1"
}
},
"@minatojs/core"
:
{
"version"
:
"2.1.
1
"
,
"resolved"
:
"https://registry.npmjs.org/@minatojs/core/-/core-2.1.
1
.tgz"
,
"integrity"
:
"sha512-
iGx1eydevDiuhaUhO/BkI0L2d+028wsVUMZ/pXi1z5IP1xZJvlr3LMrjr3zG4XdyKPO3JsdZy96G+wQSu6Jltg
=="
,
"version"
:
"2.1.
2
"
,
"resolved"
:
"https://registry.npmjs.org/@minatojs/core/-/core-2.1.
2
.tgz"
,
"integrity"
:
"sha512-
7VDn+G2QybsDVlmZ0wcYeB0IN8q//qO5WZSdYizTcsXx1bCKEU+AUn/UPWN3eHRXvhVNI3YRBAoEKxkp357lDw
=="
,
"requires"
:
{
"cosmokit"
:
"^1.4.0"
}
...
...
@@ -8781,17 +8775,17 @@
}
},
"@satorijs/core"
:
{
"version"
:
"2.
0.1
"
,
"resolved"
:
"https://registry.npmjs.org/@satorijs/core/-/core-2.
0.1
.tgz"
,
"integrity"
:
"sha512-
K+nNmUtFrU1uDJEn6Xov6TcaKhn8+Q9qtp6iBUh5DIhHO4hzoIHaPntvpoKJ5dfg5EyQyAi+JShTGl4voN5Ung
=="
,
"version"
:
"2.
1.0
"
,
"resolved"
:
"https://registry.npmjs.org/@satorijs/core/-/core-2.
1.0
.tgz"
,
"integrity"
:
"sha512-
2LduZz57SRyJ/Op5iqO1UUv0Q3UkuDIz3gk8j94orDYchN397MfxTv+uy3awGwKUlgfdCw2s3FloE7FL9UgopA
=="
,
"peer"
:
true
,
"requires"
:
{
"@satorijs/element"
:
"^2.3.1"
,
"cordis"
:
"^2.
6.0
"
,
"cordis-axios"
:
"^
2.2.1
"
,
"cordis"
:
"^2.
7.2
"
,
"cordis-axios"
:
"^
3.0.0
"
,
"cosmokit"
:
"^1.4.0"
,
"reggol"
:
"^1.3.
4
"
,
"schemastery"
:
"^3.
6.1
"
,
"reggol"
:
"^1.3.
5
"
,
"schemastery"
:
"^3.
7.0
"
,
"ws"
:
"^8.11.0"
}
},
...
...
@@ -8805,13 +8799,13 @@
}
},
"@satorijs/satori"
:
{
"version"
:
"2.
0.1
"
,
"resolved"
:
"https://registry.npmjs.org/@satorijs/satori/-/satori-2.
0.1
.tgz"
,
"integrity"
:
"sha512-
Mt8r8rYr7IOWgCKMTfyXaIvZIFQ2FAUXsDlOMnhWu6Sf/Q0KFS/o/aiXFlerhSnii1ptuGAZmSxaBhsGMkPmwg
=="
,
"version"
:
"2.
1.0
"
,
"resolved"
:
"https://registry.npmjs.org/@satorijs/satori/-/satori-2.
1.0
.tgz"
,
"integrity"
:
"sha512-
VZX3cJvuxxWCYpp4hok0NFRsGZL+5jE5EbfyibKL3XjsC/9MmtPSdbECfPstQS1PmGcoOAaq15DCSTy/rnSalA
=="
,
"peer"
:
true
,
"requires"
:
{
"@koa/router"
:
"^10.1.1"
,
"@satorijs/core"
:
"2.
0.1
"
,
"@satorijs/core"
:
"2.
1.0
"
,
"@types/koa"
:
"*"
,
"@types/koa__router"
:
"*"
,
"@types/ws"
:
"^8.5.3"
,
...
...
@@ -8823,7 +8817,6 @@
"koa-bodyparser"
:
"^4.3.0"
,
"parseurl"
:
"^1.3.3"
,
"path-to-regexp"
:
"^6.2.1"
,
"schemastery"
:
"^3.6.1"
,
"socks-proxy-agent"
:
"^5.0.1"
,
"ws"
:
"^8.11.0"
},
...
...
@@ -9870,24 +9863,23 @@
"integrity"
:
"sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w=="
},
"cordis"
:
{
"version"
:
"2.
6.0
"
,
"resolved"
:
"https://registry.npmjs.org/cordis/-/cordis-2.
6.0
.tgz"
,
"integrity"
:
"sha512-
4VUY2x6ufctBr1zYAML3c+b1eXwgY94nkqLP7/icb3QVGXMBJuH4Nztakf6ADVonN5MvgJ06RRawRvmWdx3LxA
=="
,
"version"
:
"2.
7.2
"
,
"resolved"
:
"https://registry.npmjs.org/cordis/-/cordis-2.
7.2
.tgz"
,
"integrity"
:
"sha512-
bM+4P1bhIawrXRLvBMoxfWwSHebm0B3n0sM+T/FCED/iMUnEs6N9Y7lwJ2gDo2fm0wvu4JzU8cuMKrxqroq16Q
=="
,
"peer"
:
true
,
"requires"
:
{
"cosmokit"
:
"^1.
3.3
"
"cosmokit"
:
"^1.
4.0
"
}
},
"cordis-axios"
:
{
"version"
:
"
2.2.1
"
,
"resolved"
:
"https://registry.npmjs.org/cordis-axios/-/cordis-axios-
2.2.1
.tgz"
,
"integrity"
:
"sha512-
1OBl1FKLkYa1kEYeX56E13B4VdrxUve4poEYBfsBAygYn0IvcrUauvsdW9cl1rihBXtA/X6/K8BUY9O5KyOSQg
=="
,
"version"
:
"
3.0.0
"
,
"resolved"
:
"https://registry.npmjs.org/cordis-axios/-/cordis-axios-
3.0.0
.tgz"
,
"integrity"
:
"sha512-
fYFw6vezgDP9n8GMCHUW+n8hPkWueX0RpGipu5lU/aRDwNzeGQaYdSv737cRh/N7cPsGqZqGJcZUgYBPzxrB7A
=="
,
"peer"
:
true
,
"requires"
:
{
"axios"
:
"~1.1.3"
,
"cosmokit"
:
"^1.4.0"
,
"mime-db"
:
"^1.52.0"
,
"schemastery"
:
"^3.6.1"
"mime-db"
:
"^1.52.0"
}
},
"cordis-decorators"
:
{
...
...
@@ -11705,15 +11697,15 @@
}
},
"koishi"
:
{
"version"
:
"4.11.
1
"
,
"resolved"
:
"https://registry.npmjs.org/koishi/-/koishi-4.11.
1
.tgz"
,
"integrity"
:
"sha512-
sHMa8okx+kl5jHBwzT2gb4qGeOJRKG8AfLt4w5BLJwOPpvdo6cW9RiRy1uBwkXM7zf4yOvtr0+6WEu+AuD6bXQ
=="
,
"version"
:
"4.11.
4
"
,
"resolved"
:
"https://registry.npmjs.org/koishi/-/koishi-4.11.
4
.tgz"
,
"integrity"
:
"sha512-
FLngGwsCHvoPdEbzVCGB0KExxh0yJcQ5ivaepTTusqPH7oQeZHo9ROb02ncVAw7ZPpWrUDOzqlyIFdtS6OPcRg
=="
,
"peer"
:
true
,
"requires"
:
{
"@koishijs/core"
:
"4.11.
1
"
,
"@koishijs/loader"
:
"
^2.5.1
"
,
"@koishijs/utils"
:
"^
6.4
.0"
,
"@satorijs/satori"
:
"^2.
0.1
"
,
"@koishijs/core"
:
"4.11.
4
"
,
"@koishijs/loader"
:
"
2.5.4
"
,
"@koishijs/utils"
:
"^
7.0
.0"
,
"@satorijs/satori"
:
"^2.
1.0
"
,
"cac"
:
"^6.7.14"
,
"chokidar"
:
"^3.5.3"
,
"kleur"
:
"^4.1.5"
,
...
...
@@ -12505,12 +12497,12 @@
"dev"
:
true
},
"reggol"
:
{
"version"
:
"1.3.
4
"
,
"resolved"
:
"https://registry.npmjs.org/reggol/-/reggol-1.3.
4
.tgz"
,
"integrity"
:
"sha512-
E/sL4WovP0kR5EHQx3YF4ZDsI5D5baTROXaELCN1mOCB8tEOVOR3PHr807yVcGit2BfmXMSW5KyRaUAV5K8Vzw
=="
,
"version"
:
"1.3.
5
"
,
"resolved"
:
"https://registry.npmjs.org/reggol/-/reggol-1.3.
5
.tgz"
,
"integrity"
:
"sha512-
kzkzs4nhZeiphyh+amekq25/3PndZDq+5Yt8qCJqPSyMXPC1pkwhfYCQyJdXxoRz3/uqt0+VqHulagUCVY84vA
=="
,
"peer"
:
true
,
"requires"
:
{
"cosmokit"
:
"^1.
3.6
"
,
"cosmokit"
:
"^1.
4.0
"
,
"object-inspect"
:
"^1.12.2"
,
"supports-color"
:
"^8.1.1"
},
...
...
@@ -12648,12 +12640,12 @@
"integrity"
:
"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"schemastery"
:
{
"version"
:
"3.
6.1
"
,
"resolved"
:
"https://registry.npmjs.org/schemastery/-/schemastery-3.
6.1
.tgz"
,
"integrity"
:
"sha512-
Igh4oqaHco1AYmqpSgYgg411gNomSI9xE35Xo/FuzJZTMYWA5W1o+82Q5qMnt9FAQ76gZig0pea9OcHl0AM/Lw
=="
,
"version"
:
"3.
7.0
"
,
"resolved"
:
"https://registry.npmjs.org/schemastery/-/schemastery-3.
7.0
.tgz"
,
"integrity"
:
"sha512-
vUs5HcWdtpqlL/Z1AwvFApllJk0jLtuItkwH5DDpie3Lw71DIA0Z7ohlnPF+fVN17QxJAI5xJtud62E3/EBoBQ
=="
,
"peer"
:
true
,
"requires"
:
{
"cosmokit"
:
"^1.
3.4
"
"cosmokit"
:
"^1.
4.0
"
}
},
"schemastery-gen"
:
{
...
...
package.json
View file @
3b23fc5d
...
...
@@ -33,7 +33,7 @@
"peerDependencies"
:
{
"@nestjs/common"
:
"^9.0.3 || ^8.0.0"
,
"@nestjs/core"
:
"^9.0.3 || ^8.0.0"
,
"koishi"
:
"^4.11.
1
"
,
"koishi"
:
"^4.11.
4
"
,
"rxjs"
:
"^7.5.5"
},
"devDependencies"
:
{
...
...
src/koishi.service.ts
View file @
3b23fc5d
import
{
Command
,
Context
}
from
'
koishi
'
;
import
{
Command
,
Context
,
Router
}
from
'
koishi
'
;
import
{
Inject
,
Injectable
,
...
...
@@ -10,15 +10,13 @@ import {
KoishiCommandInterceptorRegistration
,
KoishiModuleOptions
,
}
from
'
./utility/koishi.interfaces
'
;
import
{
createServer
,
Server
}
from
'
http
'
;
import
{
Server
}
from
'
http
'
;
import
Koa
from
'
koa
'
;
import
KoaBodyParser
from
'
koa-bodyparser
'
;
import
{
KoishiMetascanService
}
from
'
./providers/koishi-metascan.service
'
;
import
{
KOISHI_MODULE_OPTIONS
,
KoishiIpSym
}
from
'
./utility/koishi.constants
'
;
import
{
KoishiLoggerService
}
from
'
./providers/koishi-logger.service
'
;
import
{
KoishiHttpDiscoveryService
}
from
'
./koishi-http-discovery/koishi-http-discovery.service
'
;
import
WebSocket
from
'
ws
'
;
import
{
KoishiNestRouter
}
from
'
./utility/koa-router
'
;
import
'
./utility/koishi.workarounds
'
;
import
'
./utility/koishi.declares
'
;
import
{
selectContext
}
from
'
koishi-thirdeye
'
;
...
...
@@ -43,7 +41,6 @@ export class KoishiService
});
this
.
baseDir
??
=
process
.
cwd
();
this
.
interceptors
=
this
.
koishiModuleOptions
.
globalInterceptors
;
this
.
router
=
new
KoishiNestRouter
();
this
.
_nestKoaTmpInstance
.
use
((
ctx
,
next
)
=>
{
ctx
.
request
.
ip
=
ctx
.
req
[
KoishiIpSym
];
return
next
();
...
...
@@ -63,18 +60,6 @@ export class KoishiService
this
.
router
.
_http
=
httpServer
;
}
else
{
this
.
logger
(
'
app
'
).
info
(
'
No http adapters found from Nest application.
'
);
const
tmpServer
=
createServer
(
this
.
_nestKoaTmpInstance
.
callback
());
this
.
router
.
_http
=
tmpServer
;
this
.
router
.
_ws
=
new
WebSocket
.
Server
({
server
:
tmpServer
,
});
this
.
router
.
_ws
.
on
(
'
connection
'
,
(
socket
,
request
)
=>
{
for
(
const
manager
of
this
.
router
.
wsStack
)
{
if
(
manager
.
accept
(
socket
,
request
))
return
;
}
socket
.
close
();
});
}
}
...
...
src/utility/koa-router.ts
deleted
100644 → 0
View file @
7eecf9c8
import
KoaRouter
from
'
@koa/router
'
;
import
{
Context
,
MaybeArray
,
remove
,
WebSocketLayer
}
from
'
koishi
'
;
import
{
IncomingMessage
}
from
'
http
'
;
import
WebSocket
from
'
ws
'
;
export
class
KoishiNestRouter
extends
KoaRouter
{
wsStack
:
WebSocketLayer
[]
=
[];
/**
* hack into router methods to make sure that koa middlewares are disposable
*/
override
register
(...
args
:
Parameters
<
KoaRouter
[
'
register
'
]
>
)
{
const
layer
=
super
.
register
(...
args
);
const
context
:
Context
=
this
[
Context
.
current
];
context
?.
state
.
disposables
.
push
(()
=>
{
remove
(
this
.
stack
,
layer
);
});
return
layer
;
}
ws
(
path
:
MaybeArray
<
string
|
RegExp
>
,
callback
?:
(
socket
:
WebSocket
,
request
:
IncomingMessage
)
=>
void
,
)
{
const
layer
=
new
WebSocketLayer
(
this
,
path
,
callback
);
this
.
wsStack
.
push
(
layer
);
const
context
:
Context
=
this
[
Context
.
current
];
context
?.
state
.
disposables
.
push
(()
=>
layer
.
close
());
return
layer
;
}
}
tests/koishi-tests.spec.ts
View file @
3b23fc5d
...
...
@@ -186,13 +186,4 @@ describe('Koishi in Nest.js', () => {
expect
(
command
).
toBeDefined
();
expect
(
command
.
execute
({
options
:
{}
})).
resolves
.
toBe
(
'
miiii
'
);
});
it
(
'
should handle partial dep
'
,
async
()
=>
{
koishiApp
[
'
ping
'
]
=
{
ping
:
'
pong
'
};
expect
(
await
koishiApp
.
waterfall
(
<
EventName
>
'
ping
'
)).
toBe
(
'
pong
'
);
koishiApp
[
'
ping
'
]
=
undefined
;
expect
(
await
koishiApp
.
waterfall
(
<
EventName
>
'
ping
'
)).
toBeUndefined
();
koishiApp
[
'
ping
'
]
=
{
ping
:
'
pong
'
};
expect
(
await
koishiApp
.
waterfall
(
<
EventName
>
'
ping
'
)).
toBe
(
'
pong
'
);
});
});
tests/utility/testing-module.ts
View file @
3b23fc5d
...
...
@@ -96,14 +96,6 @@ export class KoishiTestService {
async
onAbstract
(@
PutValue
(
'
{{abstract.content}}
'
)
content
:
string
)
{
return
content
;
}
@
UsingService
(
'
ping
'
)
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
@
UseEvent
(
'
ping
'
)
async
onPing
()
{
return
'
pong
'
;
}
}
@
RegisterSchema
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment