From 7d7678e082f6223f29f01270a54ff992748ae0c1 Mon Sep 17 00:00:00 2001 From: terwer Date: Thu, 14 Mar 2024 18:57:06 +0800 Subject: [PATCH] feat: add events support --- libs/Universal-PicGo-Core/src/core/UniversalPicGo.ts | 4 +++- libs/Universal-PicGo-Core/src/index.ts | 5 +---- libs/Universal-PicGo-Core/src/utils/nodePolyfill.ts | 11 +++++++++++ libs/Universal-PicGo-Core/vite.config.ts | 6 ++++++ packages/picgo-plugin-app/src/pages/PicGoIndex.vue | 6 +++--- 5 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 libs/Universal-PicGo-Core/src/utils/nodePolyfill.ts diff --git a/libs/Universal-PicGo-Core/src/core/UniversalPicGo.ts b/libs/Universal-PicGo-Core/src/core/UniversalPicGo.ts index e63019d..7df1ef8 100644 --- a/libs/Universal-PicGo-Core/src/core/UniversalPicGo.ts +++ b/libs/Universal-PicGo-Core/src/core/UniversalPicGo.ts @@ -8,6 +8,7 @@ */ import { simpleLogger } from "zhi-lib-base" +import { EventEmitter } from "../utils/nodePolyfill" /* * 思源笔记内部 PicGO 对象定义 @@ -15,10 +16,11 @@ import { simpleLogger } from "zhi-lib-base" * @version 1.6.0 * @since 1.4.5 */ -class UniversalPicGo { +class UniversalPicGo extends EventEmitter { private logger = simpleLogger("universal-picgo-api", "universal-picgo", false) constructor() { + super() this.logger.info("UniversalPicGo inited") } } diff --git a/libs/Universal-PicGo-Core/src/index.ts b/libs/Universal-PicGo-Core/src/index.ts index 11648ed..e699cf3 100644 --- a/libs/Universal-PicGo-Core/src/index.ts +++ b/libs/Universal-PicGo-Core/src/index.ts @@ -1,6 +1,3 @@ import { UniversalPicGo } from "./core/UniversalPicGo" -/** - * 思源笔记 PicGO API 入口 - */ -export default UniversalPicGo +export { UniversalPicGo } diff --git a/libs/Universal-PicGo-Core/src/utils/nodePolyfill.ts b/libs/Universal-PicGo-Core/src/utils/nodePolyfill.ts new file mode 100644 index 0000000..7d659ff --- /dev/null +++ b/libs/Universal-PicGo-Core/src/utils/nodePolyfill.ts @@ -0,0 +1,11 @@ +/* + * GNU GENERAL PUBLIC LICENSE + * Version 3, 29 June 2007 + * + * Copyright (C) 2024 Terwer, Inc. + * Everyone is permitted to copy and distribute verbatim copies + * of this license document, but changing it is not allowed. + */ +import { EventEmitter } from "node:events" + +export { EventEmitter } diff --git a/libs/Universal-PicGo-Core/vite.config.ts b/libs/Universal-PicGo-Core/vite.config.ts index 0c7cb28..ad7a188 100644 --- a/libs/Universal-PicGo-Core/vite.config.ts +++ b/libs/Universal-PicGo-Core/vite.config.ts @@ -6,6 +6,7 @@ import { viteStaticCopy } from "vite-plugin-static-copy" import dts from "vite-plugin-dts" import minimist from "minimist" import livereload from "rollup-plugin-livereload" +import { nodePolyfills, PolyfillOptions } from "vite-plugin-node-polyfills" const args = minimist(process.argv.slice(2)) const isWatch = args.watch || args.w || false @@ -20,6 +21,11 @@ export default defineConfig({ plugins: [ dts(), + nodePolyfills({ + // Whether to polyfill `node:` protocol imports. + protocolImports: true, + }) as any, + viteStaticCopy({ targets: [ { diff --git a/packages/picgo-plugin-app/src/pages/PicGoIndex.vue b/packages/picgo-plugin-app/src/pages/PicGoIndex.vue index 269de93..17cdb05 100644 --- a/packages/picgo-plugin-app/src/pages/PicGoIndex.vue +++ b/packages/picgo-plugin-app/src/pages/PicGoIndex.vue @@ -8,14 +8,14 @@ -->