Commit 598c77b6 authored by nanahira's avatar nanahira

catchup

parent 0e2feb3e
......@@ -23,7 +23,7 @@ upload_to_minio:
tags:
- linux
script:
- aws s3 --endpoint=https://minio.mycard.moe:9000 sync --delete dist/ s3://nanahira/koishi-plugin/thesaurus
- aws s3 --endpoint=https://minio.mycard.moe:9000 sync --delete dist/full/ s3://nanahira/koishi-plugin/thesaurus
only:
- master
......
......@@ -9,6 +9,7 @@
"version": "2.0.0",
"license": "MIT",
"dependencies": {
"schemastery-gen": "^1.0.3",
"source-map-support": "^0.5.20"
},
"devDependencies": {
......@@ -19,11 +20,9 @@
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"koishi": "^4.0.0-beta.0",
"koishi-utils-schemagen": "^1.1.7",
"koishi": "^4.0.0-beta.2",
"lodash": "^4.17.21",
"prettier": "^2.4.1",
"proxy-agent": "^5.0.0",
"raw-loader": "^4.0.2",
"ts-loader": "^9.2.6",
"typescript": "^4.4.4",
......@@ -31,7 +30,7 @@
"webpack-cli": "^4.9.1"
},
"peerDependencies": {
"koishi": "^4.0.0-alpha.12"
"koishi": "^4.0.0-beta.2"
}
},
"node_modules/@babel/code-frame": {
......@@ -212,34 +211,35 @@
}
},
"node_modules/@koishijs/core": {
"version": "4.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.0.tgz",
"integrity": "sha512-G40ePYqygU5BUxW62CuqrHF9cK8qfX3Vjcc0k4r92rnGAN6qyxhQY8LMx7ZMBpZmk91x0J+FY7C6KuSIu7smJQ==",
"version": "4.0.0-beta.2",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.2.tgz",
"integrity": "sha512-L3KPpPOXJaxMCezDrn4Yv0whEKeOtLy1Xe71UQ36TKTDaQ/ytHTvu5ShLWxFYFvdh8yCCvcGx+6YErXJogfwmw==",
"dev": true,
"dependencies": {
"@koishijs/utils": "^5.0.0-beta.0",
"fastest-levenshtein": "^1.0.12"
"@koishijs/utils": "^5.0.0-beta.1",
"fastest-levenshtein": "^1.0.12",
"schemastery": "^1.0.0"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/@koishijs/plugin-cache-lru": {
"version": "1.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-beta.0.tgz",
"integrity": "sha512-YhsF2FeBs8/LhGy3VO9pe5JkLAXJ6O40fyoppqLbM99B5ywUavJ4UG/0WidiyQrYZQoz0oB0YWFKEt/Xkn/e/g==",
"version": "1.0.0-beta.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-beta.1.tgz",
"integrity": "sha512-8l5o4RKEZ58wZJIrII3x/2vmZYdxkHGzfuUm5jWOBXzw1bDmJRa0q8RrYhjabs/QKbTa9Q+fzmcMtaMnKEGtaw==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"peerDependencies": {
"koishi": "^4.0.0-beta.0"
"koishi": "^4.0.0-beta.2"
}
},
"node_modules/@koishijs/utils": {
"version": "5.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-5.0.0-beta.0.tgz",
"integrity": "sha512-/FsfumbtI1rMRqZ2djzAgdVGFg3KFrF6ATvqhgsDf3y3EMWY7bs/y9VkpNNMPf+wk//+kBSALk5+xp7XcszqNQ==",
"version": "5.0.0-beta.1",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-5.0.0-beta.1.tgz",
"integrity": "sha512-JZae1kaums2beMH+AVc7jiKYJArnqCgw+1h2kEuvnaiaSHe7qNJp+BAhMJfxrXOe3VZ/oYKoUOd71FNjzaN2RA==",
"dev": true,
"dependencies": {
"supports-color": "^8.1.0"
......@@ -1177,12 +1177,6 @@
"node": ">=6.0"
}
},
"node_modules/class-transformer": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.4.0.tgz",
"integrity": "sha512-ETWD/H2TbWbKEi7m9N4Km5+cw1hNcqJSxlSYhsLsNjQzWWiZIYA1zafxpK9PwVfaZ6AqR5rrjPVUBGESm5tQUA==",
"dev": true
},
"node_modules/clone-deep": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
......@@ -2703,15 +2697,15 @@
}
},
"node_modules/koishi": {
"version": "4.0.0-beta.0",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.0.tgz",
"integrity": "sha512-WtQ2oMREo/ZJKDceSDhz4X15EHJM9O9yXzDZaihchdRJUa95xkt5rVN1RwtRlLdBcahLbZdHyfgmArEuyR8kUw==",
"version": "4.0.0-beta.2",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.2.tgz",
"integrity": "sha512-5nLpioIS/9aboZSQyyB8cacY8PMXUulP2fjDO1uAbacSpSANOGBp+KRvTZYqZPIVZxfKR+T8WdsqNAdcBmrCiQ==",
"dev": true,
"dependencies": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.0.0-beta.0",
"@koishijs/plugin-cache-lru": "^1.0.0-beta.0",
"@koishijs/utils": "^5.0.0-beta.0",
"@koishijs/core": "^4.0.0-beta.2",
"@koishijs/plugin-cache-lru": "^1.0.0-beta.1",
"@koishijs/utils": "^5.0.0-beta.1",
"@types/koa": "*",
"@types/koa__router": "*",
"@types/ws": "^7.4.7",
......@@ -2726,20 +2720,6 @@
"node": ">=12.0.0"
}
},
"node_modules/koishi-utils-schemagen": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/koishi-utils-schemagen/-/koishi-utils-schemagen-1.1.7.tgz",
"integrity": "sha512-0fajhFliGZEUI8/Bt5BqCnvhPw4Aha8ceNxHqpqCE6zwS+9KCkY4WVXGZT1wrtzWxC8WKx8en9LtxerZsJ9TQA==",
"dev": true,
"dependencies": {
"class-transformer": "^0.4.0",
"lodash": "^4.17.21"
},
"peerDependencies": {
"koishi": "^4.0.0-alpha.10",
"reflect-metadata": "^0.1.13"
}
},
"node_modules/levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
......@@ -2791,8 +2771,7 @@
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/lodash.clonedeep": {
"version": "4.5.0",
......@@ -3443,9 +3422,7 @@
"node_modules/reflect-metadata": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
"integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==",
"dev": true,
"peer": true
"integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg=="
},
"node_modules/regexpp": {
"version": "3.2.0",
......@@ -3589,6 +3566,24 @@
"url": "https://opencollective.com/webpack"
}
},
"node_modules/schemastery": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-1.0.0.tgz",
"integrity": "sha512-TwjfFcstdU1rSkV9/dATEk8YFLa1OOxCuGT2mMepZxpMAATQdVm7Fw2tRr4tEsrqAitP+X1/8P5Vv51OUBClAw=="
},
"node_modules/schemastery-gen": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-1.0.3.tgz",
"integrity": "sha512-qJQS0N5ZOsCsMkv4ZhQYS50j9iIEaizIABC3u/331pY737al2E9rrx77cK5yc/ChZUq+ejm3/eKIgATrpLaCnQ==",
"dependencies": {
"lodash": "^4.17.21",
"reflect-metadata": "^0.1.13",
"typed-reflector": "^1.0.5"
},
"peerDependencies": {
"schemastery": "^1.0.0"
}
},
"node_modules/semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
......@@ -4055,6 +4050,14 @@
"node": ">= 0.6"
}
},
"node_modules/typed-reflector": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.5.tgz",
"integrity": "sha512-uVXjRyfia44NftErLxahyXgXN2C9GhLtFvVnUxdjwU4fRn0dFI+MbqEKy8oYAMdVkC8xRh8xm3r4w/C1aYZMXg==",
"dependencies": {
"reflect-metadata": "^0.1.13"
}
},
"node_modules/typescript": {
"version": "4.4.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz",
......@@ -4497,28 +4500,29 @@
}
},
"@koishijs/core": {
"version": "4.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.0.tgz",
"integrity": "sha512-G40ePYqygU5BUxW62CuqrHF9cK8qfX3Vjcc0k4r92rnGAN6qyxhQY8LMx7ZMBpZmk91x0J+FY7C6KuSIu7smJQ==",
"version": "4.0.0-beta.2",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.2.tgz",
"integrity": "sha512-L3KPpPOXJaxMCezDrn4Yv0whEKeOtLy1Xe71UQ36TKTDaQ/ytHTvu5ShLWxFYFvdh8yCCvcGx+6YErXJogfwmw==",
"dev": true,
"requires": {
"@koishijs/utils": "^5.0.0-beta.0",
"fastest-levenshtein": "^1.0.12"
"@koishijs/utils": "^5.0.0-beta.1",
"fastest-levenshtein": "^1.0.12",
"schemastery": "^1.0.0"
}
},
"@koishijs/plugin-cache-lru": {
"version": "1.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-beta.0.tgz",
"integrity": "sha512-YhsF2FeBs8/LhGy3VO9pe5JkLAXJ6O40fyoppqLbM99B5ywUavJ4UG/0WidiyQrYZQoz0oB0YWFKEt/Xkn/e/g==",
"version": "1.0.0-beta.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-beta.1.tgz",
"integrity": "sha512-8l5o4RKEZ58wZJIrII3x/2vmZYdxkHGzfuUm5jWOBXzw1bDmJRa0q8RrYhjabs/QKbTa9Q+fzmcMtaMnKEGtaw==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
}
},
"@koishijs/utils": {
"version": "5.0.0-beta.0",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-5.0.0-beta.0.tgz",
"integrity": "sha512-/FsfumbtI1rMRqZ2djzAgdVGFg3KFrF6ATvqhgsDf3y3EMWY7bs/y9VkpNNMPf+wk//+kBSALk5+xp7XcszqNQ==",
"version": "5.0.0-beta.1",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-5.0.0-beta.1.tgz",
"integrity": "sha512-JZae1kaums2beMH+AVc7jiKYJArnqCgw+1h2kEuvnaiaSHe7qNJp+BAhMJfxrXOe3VZ/oYKoUOd71FNjzaN2RA==",
"dev": true,
"requires": {
"supports-color": "^8.1.0"
......@@ -5266,12 +5270,6 @@
"integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
"dev": true
},
"class-transformer": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.4.0.tgz",
"integrity": "sha512-ETWD/H2TbWbKEi7m9N4Km5+cw1hNcqJSxlSYhsLsNjQzWWiZIYA1zafxpK9PwVfaZ6AqR5rrjPVUBGESm5tQUA==",
"dev": true
},
"clone-deep": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
......@@ -6427,15 +6425,15 @@
}
},
"koishi": {
"version": "4.0.0-beta.0",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.0.tgz",
"integrity": "sha512-WtQ2oMREo/ZJKDceSDhz4X15EHJM9O9yXzDZaihchdRJUa95xkt5rVN1RwtRlLdBcahLbZdHyfgmArEuyR8kUw==",
"version": "4.0.0-beta.2",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.2.tgz",
"integrity": "sha512-5nLpioIS/9aboZSQyyB8cacY8PMXUulP2fjDO1uAbacSpSANOGBp+KRvTZYqZPIVZxfKR+T8WdsqNAdcBmrCiQ==",
"dev": true,
"requires": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.0.0-beta.0",
"@koishijs/plugin-cache-lru": "^1.0.0-beta.0",
"@koishijs/utils": "^5.0.0-beta.0",
"@koishijs/core": "^4.0.0-beta.2",
"@koishijs/plugin-cache-lru": "^1.0.0-beta.1",
"@koishijs/utils": "^5.0.0-beta.1",
"@types/koa": "*",
"@types/koa__router": "*",
"@types/ws": "^7.4.7",
......@@ -6447,16 +6445,6 @@
"proxy-agent": "^5.0.0"
}
},
"koishi-utils-schemagen": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/koishi-utils-schemagen/-/koishi-utils-schemagen-1.1.7.tgz",
"integrity": "sha512-0fajhFliGZEUI8/Bt5BqCnvhPw4Aha8ceNxHqpqCE6zwS+9KCkY4WVXGZT1wrtzWxC8WKx8en9LtxerZsJ9TQA==",
"dev": true,
"requires": {
"class-transformer": "^0.4.0",
"lodash": "^4.17.21"
}
},
"levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
......@@ -6496,8 +6484,7 @@
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"dev": true
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash.clonedeep": {
"version": "4.5.0",
......@@ -6992,9 +6979,7 @@
"reflect-metadata": {
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
"integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==",
"dev": true,
"peer": true
"integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg=="
},
"regexpp": {
"version": "3.2.0",
......@@ -7088,6 +7073,21 @@
"ajv-keywords": "^3.5.2"
}
},
"schemastery": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-1.0.0.tgz",
"integrity": "sha512-TwjfFcstdU1rSkV9/dATEk8YFLa1OOxCuGT2mMepZxpMAATQdVm7Fw2tRr4tEsrqAitP+X1/8P5Vv51OUBClAw=="
},
"schemastery-gen": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-1.0.3.tgz",
"integrity": "sha512-qJQS0N5ZOsCsMkv4ZhQYS50j9iIEaizIABC3u/331pY737al2E9rrx77cK5yc/ChZUq+ejm3/eKIgATrpLaCnQ==",
"requires": {
"lodash": "^4.17.21",
"reflect-metadata": "^0.1.13",
"typed-reflector": "^1.0.5"
}
},
"semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
......@@ -7422,6 +7422,14 @@
"mime-types": "~2.1.24"
}
},
"typed-reflector": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.5.tgz",
"integrity": "sha512-uVXjRyfia44NftErLxahyXgXN2C9GhLtFvVnUxdjwU4fRn0dFI+MbqEKy8oYAMdVkC8xRh8xm3r4w/C1aYZMXg==",
"requires": {
"reflect-metadata": "^0.1.13"
}
},
"typescript": {
"version": "4.4.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz",
......
......@@ -6,7 +6,7 @@
"types": "dist/index.d.ts",
"scripts": {
"lint": "eslint --fix .",
"build": "webpack"
"build": "webpack && env PACK_ALL=1 webpack"
},
"repository": {
"type": "git",
......@@ -25,10 +25,12 @@
},
"homepage": "https://code.mycard.moe/3rdeye/koishi-plugin-thesaurus",
"dependencies": {
"source-map-support": "^0.5.20"
"schemastery-gen": "^1.0.3",
"source-map-support": "^0.5.20",
"lodash": "^4.17.21"
},
"peerDependencies": {
"koishi": "^4.0.0-alpha.12"
"koishi": "^4.0.0-beta.2"
},
"devDependencies": {
"@types/lodash": "^4.14.175",
......@@ -38,11 +40,8 @@
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"koishi": "^4.0.0-beta.0",
"koishi-utils-schemagen": "^1.1.7",
"lodash": "^4.17.21",
"koishi": "^4.0.0-beta.2",
"prettier": "^2.4.1",
"proxy-agent": "^5.0.0",
"raw-loader": "^4.0.2",
"ts-loader": "^9.2.6",
"typescript": "^4.4.4",
......
import 'source-map-support/register';
import { DefineSchema } from 'koishi-utils-schemagen';
import { DefineSchema, RegisterSchema } from 'schemastery-gen';
@RegisterSchema()
export class MyPluginConfig {
@DefineSchema({
desc: '词库本地路径或 URL。',
......
import 'source-map-support/register';
import { Context } from 'koishi';
import { MyPlugin } from './plugin';
import { MyPluginConfigLike } from './config';
import { MyPluginConfig } from './config';
export { MyPluginConfig } from './config';
export { ChatSession } from './plugin';
......@@ -14,6 +14,6 @@ declare module 'koishi' {
export const name = 'thesaurus';
const plugin = new MyPlugin();
export const schema = plugin.schema;
export function apply(ctx: Context, config: Partial<MyPluginConfigLike>) {
export function apply(ctx: Context, config: MyPluginConfig) {
ctx.plugin(plugin, config);
}
......@@ -143,10 +143,10 @@ export class MyPlugin {
return name;
}
name = 'thesaurus-main';
schema: Schema<MyPluginConfigLike> = schemaFromClass(MyPluginConfig);
async apply(ctx: Context, config: MyPluginConfigLike) {
schema = MyPluginConfig;
async apply(ctx: Context, config: MyPluginConfig) {
this.ctx = ctx;
this.config = schemaTransform(MyPluginConfig, config);
this.config = config;
ctx.on('service/database', () => {
if (this.config.useDatabase) this.useDatabase = !!ctx.database;
});
......
const path = require("path");
const path = require('path');
const packgeInfo = require('./package.json');
function externalsFromDep() {
return Object.fromEntries(
[
...Object.keys(packgeInfo.dependencies || {}),
...Object.keys(packgeInfo.peerDependencies || {}),
]
.filter((dep) => dep !== 'source-map-support')
.map((dep) => [dep, dep]),
);
}
const packAll = !!process.env.PACK_ALL;
module.exports = {
entry: "./src/index.ts",
mode: "production",
target: "node",
devtool: "source-map",
entry: './src/index.ts',
mode: 'production',
target: 'node',
devtool: 'source-map',
module: {
rules: [
{
test: /\.tsx?$/,
use: "ts-loader",
use: 'ts-loader',
exclude: /node_modules/,
},
{ test: /\.mustache$/, use: "raw-loader" },
{ test: /\.mustache$/, use: 'raw-loader' },
],
},
resolve: {
extensions: [".tsx", ".ts", ".js"],
extensions: ['.tsx', '.ts', '.js'],
},
output: {
filename: "index.js",
filename: 'index.js',
library: {
type: "commonjs",
type: 'commonjs',
},
path: path.resolve(__dirname, "dist"),
path: path.resolve(__dirname, packAll ? 'dist/full' : 'dist'),
},
externals: {
'koishi': 'koishi',
}
koishi: 'koishi',
...(packAll ? {} : externalsFromDep()),
},
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment