From 46bedc3542b2834a42855dd743a3afc44a1cef26 Mon Sep 17 00:00:00 2001 From: XLor Date: Sun, 30 Apr 2023 23:08:32 +0800 Subject: [PATCH] feat: init animegarden package --- packages/animegarden/README.md | 5 +++ packages/animegarden/build.config.ts | 11 ++++++ packages/animegarden/package.json | 52 ++++++++++++++++++++++++++++ packages/animegarden/src/index.ts | 7 ++++ packages/animegarden/tsconfig.json | 6 ++++ packages/cli/README.md | 2 +- packages/cli/package.json | 3 +- packages/cli/src/system/system.ts | 10 ++++-- packages/core/README.md | 2 +- pnpm-lock.yaml | 9 +++++ tsconfig.json | 3 ++ 11 files changed, 105 insertions(+), 5 deletions(-) create mode 100644 packages/animegarden/README.md create mode 100644 packages/animegarden/build.config.ts create mode 100644 packages/animegarden/package.json create mode 100644 packages/animegarden/src/index.ts create mode 100644 packages/animegarden/tsconfig.json diff --git a/packages/animegarden/README.md b/packages/animegarden/README.md new file mode 100644 index 000000000..cad1ba22f --- /dev/null +++ b/packages/animegarden/README.md @@ -0,0 +1,5 @@ +# AnimeGarden Integrations + +## License + +AGPL-3.0 License © 2023 [XLor](https://github.com/yjl9903) diff --git a/packages/animegarden/build.config.ts b/packages/animegarden/build.config.ts new file mode 100644 index 000000000..ec2f5cefd --- /dev/null +++ b/packages/animegarden/build.config.ts @@ -0,0 +1,11 @@ +import { defineBuildConfig } from 'unbuild'; + +export default defineBuildConfig({ + entries: ['src/index'], + declaration: true, + clean: true, + rollup: { + emitCJS: true + }, + externals: ['breadc'] +}); diff --git a/packages/animegarden/package.json b/packages/animegarden/package.json new file mode 100644 index 000000000..57619a393 --- /dev/null +++ b/packages/animegarden/package.json @@ -0,0 +1,52 @@ +{ + "name": "@animepaste/animegarden", + "version": "0.0.6", + "description": "Paste your favourite anime online", + "keywords": [ + "anime", + "animegarden", + "dmhy", + "AnimePaste", + "XLorPaste", + "cli" + ], + "homepage": "https://anime.docs.xlorpaste.cn/", + "bugs": { + "url": "https://github.com/XLorPaste/AnimePaste/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/XLorPaste/AnimePaste.git" + }, + "license": "AGPL-3.0", + "author": "XLor", + "sideEffects": false, + "type": "module", + "exports": { + ".": { + "require": "./dist/index.cjs", + "import": "./dist/index.mjs", + "types": "./dist/index.d.ts" + } + }, + "main": "./dist/index.cjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "files": [ + "dist", + "*.mjs" + ], + "scripts": { + "build": "unbuild", + "dev": "unbuild --stub", + "format": "prettier --write src/**/*.ts", + "test": "vitest", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@animepaste/core": "workspace:*" + }, + "engines": { + "node": ">=v16.0.0" + } +} \ No newline at end of file diff --git a/packages/animegarden/src/index.ts b/packages/animegarden/src/index.ts new file mode 100644 index 000000000..7bbb261ca --- /dev/null +++ b/packages/animegarden/src/index.ts @@ -0,0 +1,7 @@ +import type { Plugin } from '@animepaste/core'; + +export function AnimeGarden(options: {}): Plugin { + return { + name: 'animegarden' + }; +} diff --git a/packages/animegarden/tsconfig.json b/packages/animegarden/tsconfig.json new file mode 100644 index 000000000..8c895d0ef --- /dev/null +++ b/packages/animegarden/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "../../tsconfig.json", + "include": [ + "src/**/*.ts" + ], +} \ No newline at end of file diff --git a/packages/cli/README.md b/packages/cli/README.md index e4ed2d11e..7885485b1 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -97,4 +97,4 @@ It will automatically search the resources, download, and upload them to OSS bas ## License -AGPL-3.0 License © 2021 [XLor](https://github.com/yjl9903) +AGPL-3.0 License © 2023 [XLor](https://github.com/yjl9903) diff --git a/packages/cli/package.json b/packages/cli/package.json index 3d66c39b1..d70d38cc9 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,5 +1,5 @@ { - "name": "animepaste", + "name": "animespace", "version": "0.0.6", "description": "Paste your favourite anime online", "keywords": [ @@ -48,6 +48,7 @@ }, "dependencies": { "@animepaste/core": "workspace:*", + "@animepaste/animegarden": "workspace:*", "@breadc/color": "^0.9.3", "@onekuma/map": "^0.1.9", "axios": "^1.3.6", diff --git a/packages/cli/src/system/system.ts b/packages/cli/src/system/system.ts index bfc3d0d16..4d4b34718 100644 --- a/packages/cli/src/system/system.ts +++ b/packages/cli/src/system/system.ts @@ -5,8 +5,14 @@ import { loadSpace, createAnimeSystem } from '@animepaste/core'; export async function makeSystem() { const root = inferRoot(); - const space = await loadSpace(root, (entry) => { - return undefined; + const space = await loadSpace(root, async (entry) => { + switch (entry.name) { + case 'animegarden': + const { AnimeGarden } = await import('@animepaste/animegarden'); + return AnimeGarden(entry); + default: + return undefined; + } }); const system = createAnimeSystem(space); return system; diff --git a/packages/core/README.md b/packages/core/README.md index 80f08034c..e9a6253cd 100644 --- a/packages/core/README.md +++ b/packages/core/README.md @@ -4,4 +4,4 @@ It provides internal abstraction for [AnimePaste](https://github.com/XLorPaste/A ## License -AGPL-3.0 License © 2021 [XLor](https://github.com/yjl9903) +AGPL-3.0 License © 2023 [XLor](https://github.com/yjl9903) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c896c8429..68bf0e942 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -75,8 +75,17 @@ importers: specifier: ^6.5.4 version: 6.5.4 + packages/animegarden: + dependencies: + '@animepaste/core': + specifier: workspace:* + version: link:../core + packages/cli: dependencies: + '@animepaste/animegarden': + specifier: workspace:* + version: link:../animegarden '@animepaste/core': specifier: workspace:* version: link:../core diff --git a/tsconfig.json b/tsconfig.json index afe673777..d6713b399 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,6 +16,9 @@ "@animepaste/core": [ "./packages/core/src/index.ts" ], + "@animepaste/animegarden": [ + "./packages/animegarden/src/index.ts" + ], } }, "exclude": [