Skip to content

Commit

Permalink
feat(core): support internal/info event
Browse files Browse the repository at this point in the history
  • Loading branch information
shigma committed Feb 8, 2024
1 parent e0d96b4 commit 159742e
Show file tree
Hide file tree
Showing 7 changed files with 24 additions and 21 deletions.
15 changes: 8 additions & 7 deletions packages/cordis/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "cordis",
"description": "CLI for cordis loader",
"version": "3.8.2",
"description": "Meta-Framework for Modern JavaScript Applications",
"version": "3.9.1",
"type": "module",
"main": "lib/index.cjs",
"module": "lib/index.mjs",
Expand Down Expand Up @@ -49,17 +49,18 @@
"homepage": "https://github.com/cordiverse/cordis",
"keywords": [
"cordis",
"loader",
"cli"
"effect",
"framework"
],
"dependencies": {
"@cordisjs/core": "3.8.2",
"@cordisjs/loader": "^0.4.2",
"@cordisjs/core": "3.9.1",
"@cordisjs/loader": "^0.4.7",
"@cordisjs/logger": "^0.2.0",
"@cordisjs/timer": "^0.3.0",
"cac": "^6.7.14",
"cosmokit": "^1.5.2",
"kleur": "^4.1.5",
"reggol": "^1.6.3"
"reggol": "^1.6.3",
"schemastery": "^3.14.3"
}
}
11 changes: 4 additions & 7 deletions packages/cordis/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
import * as core from '@cordisjs/core'
import * as logger from '@cordisjs/logger'
import { TimerService } from '@cordisjs/timer'
import Schema from 'schemastery'

export * from '@cordisjs/core'

export { Schema }

export { default as Schema, default as z } from 'schemastery'
export { Logger } from '@cordisjs/logger'

export type EffectScope<C extends Context = Context> = core.EffectScope<C>
export type ForkScope<C extends Context = Context> = core.ForkScope<C>
export type MainScope<C extends Context = Context> = core.MainScope<C>
export interface EffectScope<C extends Context = Context> extends core.EffectScope<C> {}
export interface ForkScope<C extends Context = Context> extends core.ForkScope<C> {}
export interface MainScope<C extends Context = Context> extends core.MainScope<C> {}

export interface Events<C extends Context = Context> extends core.Events<C> {}

Expand Down
4 changes: 4 additions & 0 deletions packages/cordis/src/worker/logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ export function apply(ctx: Context, config: Config = {}) {
new Logger('app').warn(error)
})

ctx.on('loader/entry', (type, entry) => {
ctx.logger('loader').info('%s plugin %c', type, entry.name)
})

ctx.loader.prolog = []

Logger.targets.push({
Expand Down
4 changes: 2 additions & 2 deletions packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@cordisjs/core",
"description": "AOP Framework for Modern JavaScript Applications",
"version": "3.8.2",
"description": "Meta-Framework for Modern JavaScript Applications",
"version": "3.9.1",
"sideEffects": false,
"type": "module",
"main": "lib/index.cjs",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ export class Lifecycle {

for (const level of ['info', 'error', 'warning']) {
defineProperty(this.on(`internal/${level}`, (format, ...param) => {
if (this._hooks['internal/info'].length > 1) return
if (this._hooks[`internal/${level}`].length > 1) return
console.info(format, ...param)
}), Context.static, root.scope)
}
Expand Down
2 changes: 1 addition & 1 deletion packages/loader/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@cordisjs/loader",
"description": "Loader for cordis",
"version": "0.4.2",
"version": "0.4.7",
"type": "module",
"module": "lib/index.js",
"typings": "lib/index.d.ts",
Expand Down
7 changes: 4 additions & 3 deletions packages/loader/src/shared.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ declare module '@cordisjs/core' {
interface Events {
'config'(): void
'exit'(signal: NodeJS.Signals): Promise<void>
'loader/entry'(type: string, entry: Entry): void
}

interface Context {
Expand Down Expand Up @@ -214,7 +215,7 @@ export abstract class Loader<T extends Loader.Options = Loader.Options> {
state.fork.update(entry.config)
} else {
if (!this.isTruthyLike(entry.when)) return
parent.emit('internal/info', 'apply plugin %c', entry.name)
parent.emit('loader/entry', 'apply', entry)
const plugin = await this.resolve(entry.name)
if (!plugin) return
const ctx = parent.extend()
Expand All @@ -230,7 +231,7 @@ export abstract class Loader<T extends Loader.Options = Loader.Options> {
unload(parent: Context, entry: Entry) {
const state = this.states[entry.id]
if (state?.fork) {
parent.emit('internal/info', 'unload plugin %c', entry.name)
parent.emit('loader/entry', 'unload', entry)
state.fork.dispose()
}
}
Expand Down Expand Up @@ -260,7 +261,7 @@ export abstract class Loader<T extends Loader.Options = Loader.Options> {
this.app.on('internal/update', (fork) => {
const state = this.states[fork.id!]
if (!state) return
fork.parent.emit('internal/info', 'reload plugin %c', state.entry.name)
fork.parent.emit('loader/entry', 'reload', state.entry)
})

this.app.on('internal/before-update', (fork, config) => {
Expand Down

0 comments on commit 159742e

Please sign in to comment.