From 061043b1cb1f0bf9f29f13f270bf02700a677c9d Mon Sep 17 00:00:00 2001 From: Shigma Date: Mon, 5 Feb 2024 19:48:20 +0800 Subject: [PATCH] feat: separate logger package --- .nycrc.json | 3 +- packages/cordis/package.json | 32 ++++++++------ packages/cordis/src/index.ts | 29 ++++++++++++ packages/cordis/src/worker/daemon.ts | 2 +- packages/cordis/src/worker/logger.ts | 7 +-- packages/core/README.md | 4 +- packages/core/package.json | 8 ++-- packages/hmr/package.json | 8 ++-- packages/loader/package.json | 12 ++--- packages/logger/package.json | 44 +++++++++++++++++++ packages/logger/readme.md | 1 + .../src/logger.ts => logger/src/index.ts} | 2 + packages/logger/tsconfig.json | 10 +++++ packages/timer/package.json | 12 ++--- packages/timer/src/index.ts | 4 +- 15 files changed, 133 insertions(+), 45 deletions(-) create mode 100644 packages/logger/package.json create mode 100644 packages/logger/readme.md rename packages/{cordis/src/logger.ts => logger/src/index.ts} (96%) create mode 100644 packages/logger/tsconfig.json diff --git a/.nycrc.json b/.nycrc.json index c18d882..dfe456d 100644 --- a/.nycrc.json +++ b/.nycrc.json @@ -1,5 +1,6 @@ { "exclude": [ - ".yarn/**" + ".yarn/**", + "scripts" ] } diff --git a/packages/cordis/package.json b/packages/cordis/package.json index 1d1cdc6..bb733d7 100644 --- a/packages/cordis/package.json +++ b/packages/cordis/package.json @@ -1,17 +1,21 @@ { "name": "cordis", "description": "CLI for cordis loader", + "version": "3.8.2", "type": "module", - "version": "3.8.0", - "main": "lib/index.js", + "main": "lib/index.cjs", + "module": "lib/index.mjs", "types": "lib/index.d.ts", - "bin": "lib/bin/cordis.js", + "bin": "lib/bin/cordis.mjs", "exports": { - ".": "./lib/index.js", - "./cli": "./lib/cli.js", - "./logger": "./lib/logger.js", - "./worker": "./lib/worker/index.js", - "./worker/main": "./lib/worker/main.js", + ".": { + "require": "./lib/index.cjs", + "import": "./lib/index.mjs", + "types": "./lib/index.d.ts" + }, + "./cli": "./lib/cli.mjs", + "./worker": "./lib/worker/index.mjs", + "./worker/main": "./lib/worker/main.mjs", "./src/*": "./src/*", "./package.json": "./package.json" }, @@ -26,21 +30,23 @@ "license": "MIT", "repository": { "type": "git", - "url": "git+https://github.com/cordisjs/cordis.git", + "url": "git+https://github.com/cordiverse/cordis.git", "directory": "packages/cli" }, "bugs": { - "url": "https://github.com/cordisjs/cordis/issues" + "url": "https://github.com/cordiverse/cordis/issues" }, - "homepage": "https://github.com/cordisjs/cordis", + "homepage": "https://github.com/cordiverse/cordis", "keywords": [ "cordis", "loader", "cli" ], "dependencies": { - "@cordisjs/core": "3.8.0", - "@cordisjs/loader": "^0.4.0", + "@cordisjs/core": "3.8.2", + "@cordisjs/loader": "^0.4.2", + "@cordisjs/logger": "^0.2.0", + "@cordisjs/timer": "^0.3.0", "cac": "^6.7.14", "cosmokit": "^1.5.2", "kleur": "^4.1.5", diff --git a/packages/cordis/src/index.ts b/packages/cordis/src/index.ts index 79372c8..c485161 100644 --- a/packages/cordis/src/index.ts +++ b/packages/cordis/src/index.ts @@ -1 +1,30 @@ +import * as core from '@cordisjs/core' +import * as logger from '@cordisjs/logger' +import timer from '@cordisjs/timer' + export * from '@cordisjs/core' + +export { Logger } from '@cordisjs/logger' + +export class Service extends core.Service { + public logger: logger.Logger + + constructor(ctx: C, name: string, immediate?: boolean) { + super(ctx, name, immediate) + this.logger = ctx.logger(name) + } +} + +export class Context extends core.Context { + constructor() { + super() + + this.provide('logger', undefined, true) + this.provide('timer', undefined, true) + + this.plugin(logger) + this.plugin(timer) + } +} + +export default function () {} diff --git a/packages/cordis/src/worker/daemon.ts b/packages/cordis/src/worker/daemon.ts index 25f88c8..fa56c68 100644 --- a/packages/cordis/src/worker/daemon.ts +++ b/packages/cordis/src/worker/daemon.ts @@ -1,4 +1,4 @@ -import { Context } from '@cordisjs/core' +import { Context } from '../index.ts' export interface Config { execArgv?: string[] diff --git a/packages/cordis/src/worker/logger.ts b/packages/cordis/src/worker/logger.ts index 7a892bf..624e07e 100644 --- a/packages/cordis/src/worker/logger.ts +++ b/packages/cordis/src/worker/logger.ts @@ -1,4 +1,4 @@ -import { apply as logger, Logger } from '../logger.js' +import { Logger } from '@cordisjs/logger' import { Context } from '@cordisjs/core' declare module '@cordisjs/loader' { @@ -23,11 +23,6 @@ export interface Config { } export function apply(ctx: Context, config: Config = {}) { - ctx.provide('logger', undefined, true) - ctx.provide('timer', undefined, true) - - ctx.plugin(logger) - function handleException(error: any) { new Logger('app').error(error) process.exit(1) diff --git a/packages/core/README.md b/packages/core/README.md index 374ddbc..4006160 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -1,9 +1,9 @@ # Cordis -[![Codecov](https://img.shields.io/codecov/c/github/cordisjs/cordis?style=flat-square)](https://codecov.io/gh/cordisjs/cordis) +[![Codecov](https://img.shields.io/codecov/c/github/cordiverse/cordis?style=flat-square)](https://codecov.io/gh/cordiverse/cordis) [![downloads](https://img.shields.io/npm/dm/cordis?style=flat-square)](https://www.npmjs.com/package/cordis) [![npm](https://img.shields.io/npm/v/cordis?style=flat-square)](https://www.npmjs.com/package/cordis) -[![GitHub](https://img.shields.io/github/license/cordisjs/cordis?style=flat-square)](https://github.com/cordisjs/cordis/blob/master/LICENSE) +[![GitHub](https://img.shields.io/github/license/cordiverse/cordis?style=flat-square)](https://github.com/cordiverse/cordis/blob/master/LICENSE) Cordis is an AOP framework for modern JavaScript applications. You can think of it as a kind of meta-framework as developers can build their own frameworks on top of it. diff --git a/packages/core/package.json b/packages/core/package.json index 735891c..09e3398 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@cordisjs/core", "description": "AOP Framework for Modern JavaScript Applications", - "version": "3.8.0", + "version": "3.8.2", "sideEffects": false, "type": "module", "main": "lib/index.cjs", @@ -22,13 +22,13 @@ ], "repository": { "type": "git", - "url": "git+https://github.com/cordisjs/cordis.git", + "url": "git+https://github.com/cordiverse/cordis.git", "directory": "packages/core" }, "bugs": { - "url": "https://github.com/cordisjs/cordis/issues" + "url": "https://github.com/cordiverse/cordis/issues" }, - "homepage": "https://github.com/cordisjs/cordis", + "homepage": "https://github.com/cordiverse/cordis", "author": "Shigma ", "license": "MIT", "dependencies": { diff --git a/packages/hmr/package.json b/packages/hmr/package.json index 7e4c6cc..60f325a 100644 --- a/packages/hmr/package.json +++ b/packages/hmr/package.json @@ -13,11 +13,11 @@ "license": "MIT", "repository": { "type": "git", - "url": "git+https://github.com/cordisjs/cordis.git", + "url": "git+https://github.com/cordiverse/cordis.git", "directory": "packages/hmr" }, "bugs": { - "url": "https://github.com/cordisjs/cordis/issues" + "url": "https://github.com/cordiverse/cordis/issues" }, "homepage": "https://cordis.moe/", "keywords": [ @@ -38,11 +38,11 @@ } }, "peerDependencies": { - "cordis": "^3.8.0" + "cordis": "^3.8.2" }, "devDependencies": { "@types/babel__code-frame": "^7.0.6", - "cordis": "^3.8.0", + "cordis": "^3.8.2", "esbuild": "^0.18.20" }, "dependencies": { diff --git a/packages/loader/package.json b/packages/loader/package.json index 1734595..9c74a4e 100644 --- a/packages/loader/package.json +++ b/packages/loader/package.json @@ -1,7 +1,7 @@ { "name": "@cordisjs/loader", "description": "Loader for cordis", - "version": "0.4.0", + "version": "0.4.2", "type": "module", "module": "lib/index.js", "typings": "lib/index.d.ts", @@ -22,13 +22,13 @@ "license": "MIT", "repository": { "type": "git", - "url": "git+https://github.com/cordisjs/cordis.git", + "url": "git+https://github.com/cordiverse/cordis.git", "directory": "packages/loader" }, "bugs": { - "url": "https://github.com/cordisjs/cordis/issues" + "url": "https://github.com/cordiverse/cordis/issues" }, - "homepage": "https://github.com/cordisjs/cordis", + "homepage": "https://github.com/cordiverse/cordis", "keywords": [ "cordis", "loader", @@ -37,10 +37,10 @@ "service" ], "devDependencies": { - "@cordisjs/core": "^3.8.0" + "@cordisjs/core": "^3.8.2" }, "peerDependencies": { - "@cordisjs/core": "^3.8.0" + "@cordisjs/core": "^3.8.2" }, "dependencies": { "cosmokit": "^1.5.2", diff --git a/packages/logger/package.json b/packages/logger/package.json new file mode 100644 index 0000000..e19e1be --- /dev/null +++ b/packages/logger/package.json @@ -0,0 +1,44 @@ +{ + "name": "@cordisjs/logger", + "description": "Logger service for cordis", + "version": "0.2.0", + "type": "module", + "main": "lib/index.cjs", + "module": "lib/index.mjs", + "types": "lib/index.d.ts", + "exports": { + ".": { + "require": "./lib/index.cjs", + "import": "./lib/index.mjs", + "types": "./lib/index.d.ts" + }, + "./package.json": "./package.json" + }, + "files": [ + "lib", + "src" + ], + "author": "Shigma ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/cordiverse/cordis.git", + "directory": "packages/logger" + }, + "bugs": { + "url": "https://github.com/cordiverse/cordis/issues" + }, + "homepage": "https://github.com/cordiverse/cordis", + "keywords": [ + "cordis", + "logger", + "service", + "plugin" + ], + "devDependencies": { + "@cordisjs/core": "^3.8.2" + }, + "peerDependencies": { + "@cordisjs/core": "^3.8.2" + } +} diff --git a/packages/logger/readme.md b/packages/logger/readme.md new file mode 100644 index 0000000..5ac3ac3 --- /dev/null +++ b/packages/logger/readme.md @@ -0,0 +1 @@ +# @cordisjs/logger diff --git a/packages/cordis/src/logger.ts b/packages/logger/src/index.ts similarity index 96% rename from packages/cordis/src/logger.ts rename to packages/logger/src/index.ts index 344ed8b..fa98f72 100644 --- a/packages/cordis/src/logger.ts +++ b/packages/logger/src/index.ts @@ -15,6 +15,8 @@ interface LoggerService { } export function apply(ctx: Context) { + ctx.on('fork', () => {}) + ctx.root.baseDir = globalThis.process?.cwd() || '' ctx.provide('logger', undefined, true) diff --git a/packages/logger/tsconfig.json b/packages/logger/tsconfig.json new file mode 100644 index 0000000..42cbe59 --- /dev/null +++ b/packages/logger/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base", + "compilerOptions": { + "rootDir": "src", + "outDir": "lib", + }, + "include": [ + "src", + ], +} diff --git a/packages/timer/package.json b/packages/timer/package.json index 9917fcd..a722092 100644 --- a/packages/timer/package.json +++ b/packages/timer/package.json @@ -1,7 +1,7 @@ { "name": "@cordisjs/timer", "description": "Timer service for cordis", - "version": "0.2.3", + "version": "0.3.0", "type": "module", "main": "lib/index.cjs", "module": "lib/index.mjs", @@ -22,13 +22,13 @@ "license": "MIT", "repository": { "type": "git", - "url": "git+https://github.com/cordisjs/std.git", + "url": "git+https://github.com/cordiverse/cordis.git", "directory": "packages/timer" }, "bugs": { - "url": "https://github.com/cordisjs/std/issues" + "url": "https://github.com/cordiverse/cordis/issues" }, - "homepage": "https://github.com/cordisjs/std", + "homepage": "https://github.com/cordiverse/cordis", "keywords": [ "cordis", "timer", @@ -36,9 +36,9 @@ "plugin" ], "devDependencies": { - "cordis": "^3.8.0" + "@cordisjs/core": "^3.8.2" }, "peerDependencies": { - "cordis": "^3.8.0" + "@cordisjs/core": "^3.8.2" } } diff --git a/packages/timer/src/index.ts b/packages/timer/src/index.ts index 5febb0d..58e9e0b 100644 --- a/packages/timer/src/index.ts +++ b/packages/timer/src/index.ts @@ -1,7 +1,7 @@ -import { Context, Service } from 'cordis' +import { Context, Service } from '@cordisjs/core' import { remove } from 'cosmokit' -declare module 'cordis' { +declare module '@cordisjs/core' { interface Context { timer: TimerService setTimeout(callback: () => void, delay: number): () => void