diff --git a/packages/console/src/index.ts b/packages/console/src/index.ts index a029f4c6..1dd8b238 100644 --- a/packages/console/src/index.ts +++ b/packages/console/src/index.ts @@ -64,18 +64,6 @@ export abstract class Console extends Service { ctx.plugin(SchemaProvider) ctx.plugin(PermissionProvider) this.addListener('ping', () => 'pong') - return new Proxy(this, { - get(target, key) { - if (typeof key === 'symbol' || key in target) return Reflect.get(target, key) - if (ctx[Context.internal][`console.${key}`]) return ctx.get(`console.${key}`) - return Reflect.get(target, key) - }, - set(target, key, value) { - if (typeof key === 'symbol' || key in target) return Reflect.set(target, key, value) - if (ctx[Context.internal][`console.${key}`]) return Reflect.set(ctx, `console.${key}`, value) - return Reflect.set(target, key, value) - }, - }) } protected accept(socket: Universal.WebSocket, request?: IncomingMessage) { diff --git a/plugins/console/src/node/index.ts b/plugins/console/src/node/index.ts index 6b3988b8..c2f71d24 100644 --- a/plugins/console/src/node/index.ts +++ b/plugins/console/src/node/index.ts @@ -32,12 +32,16 @@ interface HeartbeatConfig { class NodeConsole extends Console { static inject = ['server'] + // workaround for edge case (collision with @koishijs/plugin-config) + private _config: NodeConsole.Config + public vite: ViteDevServer public root: string public layer: WebSocketLayer - constructor(public ctx: Context, public config: NodeConsole.Config) { + constructor(public ctx: Context, config: NodeConsole.Config) { super(ctx) + this.config = config this.layer = ctx.server.ws(config.apiPath, (socket, request) => { // @types/ws does not provide typings for `dispatchEvent` @@ -54,6 +58,14 @@ class NodeConsole extends Console { : resolve(__dirname, '../../dist')) } + get config() { + return this._config + } + + set config(value) { + this._config = value + } + createGlobal() { const global = {} as ClientConfig const { devMode, uiPath, apiPath, selfUrl, heartbeat } = this.config diff --git a/plugins/market/src/node/index.ts b/plugins/market/src/node/index.ts index aca463d8..4911eb46 100644 --- a/plugins/market/src/node/index.ts +++ b/plugins/market/src/node/index.ts @@ -157,9 +157,9 @@ export function apply(ctx: Context, config: Config) { ctx.console.addListener('market/install', async (deps, forced) => { const code = await ctx.installer.install(deps, forced) - ctx.console.dependencies?.refresh() - ctx.console.registry?.refresh() - ctx.console.packages?.refresh() + ctx.get('console.dependencies')?.refresh() + ctx.get('console.registry')?.refresh() + ctx.get('console.packages')?.refresh() return code }, { authority: 4 })