adnbn 0.2.6 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/builders/app/index.d.ts +2 -1
- package/dist/cli/builders/locale/index.d.ts +2 -1
- package/dist/cli/builders/manifest/index.d.ts +2 -1
- package/dist/cli/entrypoint/finder/AbstractAssetFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/AbstractAssetFinder.js +2 -2
- package/dist/cli/entrypoint/finder/AbstractAssetFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/AbstractEntrypointFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/AbstractFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/AbstractOptionsFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/AbstractPluginFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/AbstractTransportFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/AbstractViewFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/AssetPluginFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/BackgroundFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/CommandFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/ContentFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/IconFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/IconFinder.js +1 -1
- package/dist/cli/entrypoint/finder/IconFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/LocaleFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/OffscreenFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/OffscreenViewFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/PageFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/PluginFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/PopupFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/RelayFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/ServiceFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/SidebarFinder.d.ts +2 -1
- package/dist/cli/entrypoint/finder/index.d.ts +2 -1
- package/dist/cli/entrypoint/index.d.ts +2 -1
- package/dist/cli/entrypoint/parser/AbstractParser.d.ts +2 -1
- package/dist/cli/entrypoint/parser/AbstractParser.js +1 -1
- package/dist/cli/entrypoint/parser/AbstractParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/BackgroundParser.d.ts +2 -1
- package/dist/cli/entrypoint/parser/CommandParser.d.ts +2 -1
- package/dist/cli/entrypoint/parser/ContentParser.d.ts +2 -1
- package/dist/cli/entrypoint/parser/OffscreenParser.d.ts +2 -1
- package/dist/cli/entrypoint/parser/PageParser.d.ts +2 -1
- package/dist/cli/entrypoint/parser/PopupParser.d.ts +2 -1
- package/dist/cli/entrypoint/parser/RelayParser.d.ts +2 -1
- package/dist/cli/entrypoint/parser/ServiceParser.d.ts +2 -1
- package/dist/cli/entrypoint/parser/SidebarParser.d.ts +2 -1
- package/dist/cli/entrypoint/parser/ViewParser.d.ts +84 -84
- package/dist/cli/entrypoint/parser/index.d.ts +2 -1
- package/dist/cli/index.js +2 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/plugins/asset.d.ts +2 -1
- package/dist/cli/plugins/background/Background.d.ts +2 -1
- package/dist/cli/plugins/background/BackgroundEntry.d.ts +2 -1
- package/dist/cli/plugins/background/BackgroundManifest.d.ts +2 -1
- package/dist/cli/plugins/background/Command.d.ts +2 -1
- package/dist/cli/plugins/background/Service.d.ts +2 -1
- package/dist/cli/plugins/background/ServiceDeclaration.d.ts +2 -1
- package/dist/cli/plugins/background/index.d.ts +2 -1
- package/dist/cli/plugins/bundler.d.ts +2 -1
- package/dist/cli/plugins/bundler.js +1 -15
- package/dist/cli/plugins/bundler.js.map +1 -1
- package/dist/cli/plugins/content/Content.d.ts +2 -1
- package/dist/cli/plugins/content/ContentDriver.d.ts +2 -1
- package/dist/cli/plugins/content/ContentManager.d.ts +2 -1
- package/dist/cli/plugins/content/ContentName.d.ts +2 -1
- package/dist/cli/plugins/content/Relay.d.ts +2 -1
- package/dist/cli/plugins/content/RelayDeclaration.d.ts +2 -1
- package/dist/cli/plugins/content/index.d.ts +2 -1
- package/dist/cli/plugins/dotenv/crypt.d.ts +4 -0
- package/dist/cli/plugins/dotenv/crypt.js +26 -0
- package/dist/cli/plugins/dotenv/crypt.js.map +1 -0
- package/dist/cli/plugins/dotenv/index.d.ts +2 -1
- package/dist/cli/plugins/dotenv/index.js +9 -12
- package/dist/cli/plugins/dotenv/index.js.map +1 -1
- package/dist/cli/plugins/dotenv/utils.d.ts +9 -4
- package/dist/cli/plugins/dotenv/utils.js +31 -26
- package/dist/cli/plugins/dotenv/utils.js.map +1 -1
- package/dist/cli/plugins/html.d.ts +2 -1
- package/dist/cli/plugins/icon/Icon.d.ts +2 -1
- package/dist/cli/plugins/icon/Icon.js +1 -1
- package/dist/cli/plugins/icon/Icon.js.map +1 -1
- package/dist/cli/plugins/icon/declaration/IconDeclaration.d.ts +2 -1
- package/dist/cli/plugins/icon/declaration/index.d.ts +2 -1
- package/dist/cli/plugins/icon/index.d.ts +2 -1
- package/dist/cli/plugins/icon/index.js +1 -2
- package/dist/cli/plugins/icon/index.js.map +1 -1
- package/dist/cli/plugins/index.d.ts +2 -1
- package/dist/cli/plugins/locale/Locale.d.ts +2 -1
- package/dist/cli/plugins/locale/declaration/LocaleDeclaration.d.ts +2 -1
- package/dist/cli/plugins/locale/declaration/index.d.ts +2 -1
- package/dist/cli/plugins/locale/index.d.ts +2 -1
- package/dist/cli/plugins/meta/AbstractMeta.d.ts +2 -1
- package/dist/cli/plugins/meta/Author.d.ts +2 -1
- package/dist/cli/plugins/meta/Email.d.ts +2 -1
- package/dist/cli/plugins/meta/Homepage.d.ts +2 -1
- package/dist/cli/plugins/meta/Incognito.d.ts +2 -1
- package/dist/cli/plugins/meta/index.d.ts +2 -1
- package/dist/cli/plugins/offscreen/Offscreen.d.ts +2 -1
- package/dist/cli/plugins/offscreen/OffscreenDeclaration.d.ts +2 -1
- package/dist/cli/plugins/offscreen/index.d.ts +2 -1
- package/dist/cli/plugins/optimization.d.ts +2 -1
- package/dist/cli/plugins/optimization.js +2 -2
- package/dist/cli/plugins/optimization.js.map +1 -1
- package/dist/cli/plugins/output.d.ts +2 -1
- package/dist/cli/plugins/output.js +2 -2
- package/dist/cli/plugins/output.js.map +1 -1
- package/dist/cli/plugins/page/Page.d.ts +2 -1
- package/dist/cli/plugins/page/declaration/PageDeclaration.d.ts +2 -1
- package/dist/cli/plugins/page/declaration/index.d.ts +2 -1
- package/dist/cli/plugins/page/index.d.ts +2 -1
- package/dist/cli/plugins/popup/Popup.d.ts +2 -1
- package/dist/cli/plugins/popup/declaration/PopupDeclaration.d.ts +2 -1
- package/dist/cli/plugins/popup/declaration/index.d.ts +2 -1
- package/dist/cli/plugins/popup/index.d.ts +2 -1
- package/dist/cli/plugins/public.d.ts +2 -1
- package/dist/cli/plugins/react.d.ts +2 -1
- package/dist/cli/plugins/react.js +4 -4
- package/dist/cli/plugins/react.js.map +1 -1
- package/dist/cli/plugins/sidebar/Sidebar.d.ts +2 -1
- package/dist/cli/plugins/sidebar/declaration/SidebarDeclaration.d.ts +2 -1
- package/dist/cli/plugins/sidebar/declaration/index.d.ts +2 -1
- package/dist/cli/plugins/sidebar/index.d.ts +2 -1
- package/dist/cli/plugins/style.d.ts +2 -1
- package/dist/cli/plugins/style.js +4 -4
- package/dist/cli/plugins/style.js.map +1 -1
- package/dist/cli/plugins/typescript/FileBuilder.d.ts +2 -1
- package/dist/cli/plugins/typescript/FileBuilder.js +2 -2
- package/dist/cli/plugins/typescript/FileBuilder.js.map +1 -1
- package/dist/cli/plugins/typescript/TypescriptConfig.d.ts +2 -1
- package/dist/cli/plugins/typescript/TypescriptConfig.js +4 -4
- package/dist/cli/plugins/typescript/TypescriptConfig.js.map +1 -1
- package/dist/cli/plugins/typescript/declaration/VendorDeclaration.d.ts +2 -1
- package/dist/cli/plugins/typescript/declaration/index.d.ts +2 -1
- package/dist/cli/plugins/typescript/declaration/transport/TransportDeclaration.d.ts +2 -1
- package/dist/cli/plugins/typescript/declaration/transport/index.d.ts +2 -1
- package/dist/cli/plugins/typescript/index.d.ts +2 -1
- package/dist/cli/plugins/version/AbstractVersion.d.ts +2 -1
- package/dist/cli/plugins/version/AddonVersion.d.ts +2 -1
- package/dist/cli/plugins/version/AddonVersion.js +2 -2
- package/dist/cli/plugins/version/AddonVersion.js.map +1 -1
- package/dist/cli/plugins/version/BrowserMinimumVersion.d.ts +2 -1
- package/dist/cli/plugins/version/index.d.ts +2 -1
- package/dist/cli/plugins/view/View.d.ts +2 -1
- package/dist/cli/plugins/view/index.d.ts +2 -1
- package/dist/cli/resolvers/bundler.d.ts +2 -1
- package/dist/cli/resolvers/config.d.ts +2 -1
- package/dist/cli/resolvers/config.js +32 -24
- package/dist/cli/resolvers/config.js.map +1 -1
- package/dist/cli/resolvers/path.d.ts +6 -4
- package/dist/cli/resolvers/path.js +24 -14
- package/dist/cli/resolvers/path.js.map +1 -1
- package/dist/cli/resolvers/plugin.d.ts +2 -1
- package/dist/{config-DzmiK3GH.d.ts → config-Ce0Le6r4.d.ts} +90 -59
- package/dist/entry/offscreen/Builder.d.ts +3 -3
- package/dist/entry/relay/Builder.d.ts +3 -3
- package/dist/index.d.ts +2 -1
- package/dist/locale/adapters/react/LocaleProvider.d.ts +8 -0
- package/dist/locale/adapters/react/LocaleProvider.js +47 -0
- package/dist/locale/adapters/react/LocaleProvider.js.map +1 -0
- package/dist/locale/adapters/react/context.d.ts +2 -3
- package/dist/locale/adapters/react/index.d.ts +2 -8
- package/dist/main/config.d.ts +3 -2
- package/dist/main/env.js +1 -1
- package/dist/main/env.js.map +1 -1
- package/dist/main/index.d.ts +2 -1
- package/dist/main/plugin.d.ts +3 -2
- package/dist/message/MessageManager.js +4 -1
- package/dist/message/MessageManager.js.map +1 -1
- package/dist/message/adapters/react/useMessageHandler.d.ts +2 -2
- package/dist/message/adapters/react/useMessageHandler.js +15 -8
- package/dist/message/adapters/react/useMessageHandler.js.map +1 -1
- package/dist/types/config.d.ts +2 -1
- package/dist/types/env.d.ts +9 -0
- package/dist/types/env.js +5 -0
- package/dist/types/env.js.map +1 -0
- package/dist/types/plugin.d.ts +2 -1
- package/package.json +18 -22
|
@@ -33,7 +33,9 @@ class MessageManager {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
listener(message, sender, sendResponse) {
|
|
36
|
-
if (!message || typeof message !== "object" || !message.type)
|
|
36
|
+
if (!message || typeof message !== "object" || !message.type) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
37
39
|
const results = [];
|
|
38
40
|
for (const handler of this.handlers) {
|
|
39
41
|
try {
|
|
@@ -54,6 +56,7 @@ class MessageManager {
|
|
|
54
56
|
results[0].then(sendResponse);
|
|
55
57
|
return true;
|
|
56
58
|
}
|
|
59
|
+
sendResponse();
|
|
57
60
|
}
|
|
58
61
|
}
|
|
59
62
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/message/MessageManager.ts"],"sourcesContent":["import {onMessage} from \"@adnbn/browser\";\n\nimport {\n MessageBody,\n MessageDictionary,\n MessageGlobalKey,\n MessageHandler,\n MessageSender,\n MessageType,\n} from \"@typing/message\";\n\nexport default class MessageManager<T extends MessageDictionary> {\n private handlers: Set<MessageHandler<T>> = new Set();\n private unsubscribe: (() => void) | null = null;\n\n public static getInstance<T extends MessageDictionary>(): MessageManager<T> {\n return (globalThis[MessageGlobalKey] ??= new MessageManager<T>());\n }\n\n constructor() {\n this.listener = this.listener.bind(this);\n }\n\n public add(handler: MessageHandler<T>) {\n this.handlers.add(handler);\n this.updateListener();\n }\n\n public remove(handler: MessageHandler<T>) {\n this.handlers.delete(handler);\n this.updateListener();\n }\n\n public clear() {\n this.handlers = new Set();\n this.updateListener();\n }\n\n private updateListener() {\n if (this.handlers.size > 0 && !this.unsubscribe) {\n this.unsubscribe = onMessage(this.listener);\n } else if (this.handlers.size === 0 && this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n }\n\n private listener<K extends MessageType<T>>(\n message: MessageBody<T, K>,\n sender: MessageSender,\n sendResponse: (response?: any) => void\n ): boolean | void {\n if (!message || typeof message !== \"object\" || !message.type) return;\n\n const results: Promise<any>[] = [];\n\n for (const handler of this.handlers) {\n try {\n const result = handler.run(message.type, message.data, sender);\n if (result !== undefined) {\n results.push(Promise.resolve(result));\n }\n } catch (err) {\n console.error(\"Message handler error:\", err);\n }\n }\n\n if (results.length > 1) {\n throw new Error(\n `Message type \"${message.type}\" has multiple handlers returning a response. Only one response is allowed.`\n );\n }\n\n if (results.length === 1) {\n results[0].then(sendResponse);\n return true;\n }\n }\n}\n"],"mappings":"AAAA,SAAQ,iBAAgB;AAExB;AAAA,EAGI;AAAA,OAIG;AAEP,MAAO,eAA0D;AAAA,EACrD,WAAmC,oBAAI,IAAI;AAAA,EAC3C,cAAmC;AAAA,EAE3C,OAAc,cAA8D;AAfhF;AAgBQ,WAAQ,gBAAW,sBAAX,iBAAiC,IAAI,eAAkB;AAAA,EACnE;AAAA,EAEA,cAAc;AACV,SAAK,WAAW,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3C;AAAA,EAEO,IAAI,SAA4B;AACnC,SAAK,SAAS,IAAI,OAAO;AACzB,SAAK,eAAe;AAAA,EACxB;AAAA,EAEO,OAAO,SAA4B;AACtC,SAAK,SAAS,OAAO,OAAO;AAC5B,SAAK,eAAe;AAAA,EACxB;AAAA,EAEO,QAAQ;AACX,SAAK,WAAW,oBAAI,IAAI;AACxB,SAAK,eAAe;AAAA,EACxB;AAAA,EAEQ,iBAAiB;AACrB,QAAI,KAAK,SAAS,OAAO,KAAK,CAAC,KAAK,aAAa;AAC7C,WAAK,cAAc,UAAU,KAAK,QAAQ;AAAA,IAC9C,WAAW,KAAK,SAAS,SAAS,KAAK,KAAK,aAAa;AACrD,WAAK,YAAY;AACjB,WAAK,cAAc;AAAA,IACvB;AAAA,EACJ;AAAA,EAEQ,SACJ,SACA,QACA,cACc;AACd,QAAI,CAAC,WAAW,OAAO,YAAY,YAAY,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"sources":["../../src/message/MessageManager.ts"],"sourcesContent":["import {onMessage} from \"@adnbn/browser\";\n\nimport {\n MessageBody,\n MessageDictionary,\n MessageGlobalKey,\n MessageHandler,\n MessageSender,\n MessageType,\n} from \"@typing/message\";\n\nexport default class MessageManager<T extends MessageDictionary> {\n private handlers: Set<MessageHandler<T>> = new Set();\n private unsubscribe: (() => void) | null = null;\n\n public static getInstance<T extends MessageDictionary>(): MessageManager<T> {\n return (globalThis[MessageGlobalKey] ??= new MessageManager<T>());\n }\n\n constructor() {\n this.listener = this.listener.bind(this);\n }\n\n public add(handler: MessageHandler<T>) {\n this.handlers.add(handler);\n this.updateListener();\n }\n\n public remove(handler: MessageHandler<T>) {\n this.handlers.delete(handler);\n this.updateListener();\n }\n\n public clear() {\n this.handlers = new Set();\n this.updateListener();\n }\n\n private updateListener() {\n if (this.handlers.size > 0 && !this.unsubscribe) {\n this.unsubscribe = onMessage(this.listener);\n } else if (this.handlers.size === 0 && this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n }\n\n private listener<K extends MessageType<T>>(\n message: MessageBody<T, K>,\n sender: MessageSender,\n sendResponse: (response?: any) => void\n ): boolean | void {\n if (!message || typeof message !== \"object\" || !message.type) {\n return;\n }\n\n const results: Promise<any>[] = [];\n\n for (const handler of this.handlers) {\n try {\n const result = handler.run(message.type, message.data, sender);\n\n if (result !== undefined) {\n results.push(Promise.resolve(result));\n }\n } catch (err) {\n console.error(\"Message handler error:\", err);\n }\n }\n\n if (results.length > 1) {\n throw new Error(\n `Message type \"${message.type}\" has multiple handlers returning a response. Only one response is allowed.`\n );\n }\n\n if (results.length === 1) {\n results[0].then(sendResponse);\n\n return true;\n }\n\n sendResponse();\n }\n}\n"],"mappings":"AAAA,SAAQ,iBAAgB;AAExB;AAAA,EAGI;AAAA,OAIG;AAEP,MAAO,eAA0D;AAAA,EACrD,WAAmC,oBAAI,IAAI;AAAA,EAC3C,cAAmC;AAAA,EAE3C,OAAc,cAA8D;AAfhF;AAgBQ,WAAQ,gBAAW,sBAAX,iBAAiC,IAAI,eAAkB;AAAA,EACnE;AAAA,EAEA,cAAc;AACV,SAAK,WAAW,KAAK,SAAS,KAAK,IAAI;AAAA,EAC3C;AAAA,EAEO,IAAI,SAA4B;AACnC,SAAK,SAAS,IAAI,OAAO;AACzB,SAAK,eAAe;AAAA,EACxB;AAAA,EAEO,OAAO,SAA4B;AACtC,SAAK,SAAS,OAAO,OAAO;AAC5B,SAAK,eAAe;AAAA,EACxB;AAAA,EAEO,QAAQ;AACX,SAAK,WAAW,oBAAI,IAAI;AACxB,SAAK,eAAe;AAAA,EACxB;AAAA,EAEQ,iBAAiB;AACrB,QAAI,KAAK,SAAS,OAAO,KAAK,CAAC,KAAK,aAAa;AAC7C,WAAK,cAAc,UAAU,KAAK,QAAQ;AAAA,IAC9C,WAAW,KAAK,SAAS,SAAS,KAAK,KAAK,aAAa;AACrD,WAAK,YAAY;AACjB,WAAK,cAAc;AAAA,IACvB;AAAA,EACJ;AAAA,EAEQ,SACJ,SACA,QACA,cACc;AACd,QAAI,CAAC,WAAW,OAAO,YAAY,YAAY,CAAC,QAAQ,MAAM;AAC1D;AAAA,IACJ;AAEA,UAAM,UAA0B,CAAC;AAEjC,eAAW,WAAW,KAAK,UAAU;AACjC,UAAI;AACA,cAAM,SAAS,QAAQ,IAAI,QAAQ,MAAM,QAAQ,MAAM,MAAM;AAE7D,YAAI,WAAW,QAAW;AACtB,kBAAQ,KAAK,QAAQ,QAAQ,MAAM,CAAC;AAAA,QACxC;AAAA,MACJ,SAAS,KAAK;AACV,gBAAQ,MAAM,0BAA0B,GAAG;AAAA,MAC/C;AAAA,IACJ;AAEA,QAAI,QAAQ,SAAS,GAAG;AACpB,YAAM,IAAI;AAAA,QACN,iBAAiB,QAAQ,IAAI;AAAA,MACjC;AAAA,IACJ;AAEA,QAAI,QAAQ,WAAW,GAAG;AACtB,cAAQ,CAAC,EAAE,KAAK,YAAY;AAE5B,aAAO;AAAA,IACX;AAEA,iBAAa;AAAA,EACjB;AACJ;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MessageType, MessageDictionary, MessageTargetHandler } from '../../../types/message.js';
|
|
2
2
|
|
|
3
|
-
declare
|
|
3
|
+
declare function useMessageHandler<K extends MessageType<T>, T extends MessageDictionary = MessageDictionary>(type: K, handler: MessageTargetHandler<T, K>): void;
|
|
4
4
|
|
|
5
|
-
export {
|
|
5
|
+
export { useMessageHandler as default };
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import { useEffect, useRef } from "react";
|
|
1
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
2
2
|
import { Message } from "./../../../message/providers/index.js";
|
|
3
|
-
|
|
4
|
-
const messageRef = useRef(
|
|
3
|
+
function useMessageHandler(type, handler) {
|
|
4
|
+
const messageRef = useRef(null);
|
|
5
|
+
if (!messageRef.current) {
|
|
6
|
+
messageRef.current = Message.getInstance();
|
|
7
|
+
}
|
|
8
|
+
const handlerRef = useRef(handler);
|
|
9
|
+
handlerRef.current = handler;
|
|
10
|
+
const stableWrapper = useCallback((data, sender) => {
|
|
11
|
+
return handlerRef.current(data, sender);
|
|
12
|
+
}, []);
|
|
5
13
|
useEffect(() => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
};
|
|
14
|
+
return messageRef.current.watch(type, stableWrapper);
|
|
15
|
+
}, [type, stableWrapper]);
|
|
16
|
+
}
|
|
10
17
|
export {
|
|
11
|
-
|
|
18
|
+
useMessageHandler as default
|
|
12
19
|
};
|
|
13
20
|
//# sourceMappingURL=useMessageHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/message/adapters/react/useMessageHandler.ts"],"sourcesContent":["import {useEffect, useRef} from \"react\";\nimport {MessageDictionary, MessageTargetHandler, MessageType} from \"@typing/message\";\n\nimport {Message} from \"@message/providers\";\n\nexport default <K extends MessageType<T>, T extends MessageDictionary = MessageDictionary>(\n type: K,\n handler: MessageTargetHandler<T, K>\n): void
|
|
1
|
+
{"version":3,"sources":["../../../../src/message/adapters/react/useMessageHandler.ts"],"sourcesContent":["import {useCallback, useEffect, useRef} from \"react\";\nimport {MessageDictionary, MessageTargetHandler, MessageType} from \"@typing/message\";\n\nimport {Message} from \"@message/providers\";\n\nexport default function useMessageHandler<K extends MessageType<T>, T extends MessageDictionary = MessageDictionary>(\n type: K,\n handler: MessageTargetHandler<T, K>\n): void {\n const messageRef = useRef<Message<T> | null>(null);\n\n if (!messageRef.current) {\n messageRef.current = Message.getInstance<T>();\n }\n\n const handlerRef = useRef(handler);\n handlerRef.current = handler;\n\n const stableWrapper = useCallback<MessageTargetHandler<T, K>>((data, sender) => {\n return handlerRef.current(data, sender);\n }, []);\n\n useEffect(() => {\n return messageRef.current!.watch(type, stableWrapper);\n }, [type, stableWrapper]);\n}\n"],"mappings":"AAAA,SAAQ,aAAa,WAAW,cAAa;AAG7C,SAAQ,eAAc;AAEP,SAAR,kBACH,MACA,SACI;AACJ,QAAM,aAAa,OAA0B,IAAI;AAEjD,MAAI,CAAC,WAAW,SAAS;AACrB,eAAW,UAAU,QAAQ,YAAe;AAAA,EAChD;AAEA,QAAM,aAAa,OAAO,OAAO;AACjC,aAAW,UAAU;AAErB,QAAM,gBAAgB,YAAwC,CAAC,MAAM,WAAW;AAC5E,WAAO,WAAW,QAAQ,MAAM,MAAM;AAAA,EAC1C,GAAG,CAAC,CAAC;AAEL,YAAU,MAAM;AACZ,WAAO,WAAW,QAAS,MAAM,MAAM,aAAa;AAAA,EACxD,GAAG,CAAC,MAAM,aAAa,CAAC;AAC5B;","names":[]}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -3,9 +3,10 @@ import 'html-rspack-tags-plugin';
|
|
|
3
3
|
import './app.js';
|
|
4
4
|
import './browser.js';
|
|
5
5
|
import './manifest.js';
|
|
6
|
-
export { C as Config, a as ConfigDefinition, O as OptionalConfig, R as ReadonlyConfig, U as UserConfig, r as UserConfigCallback } from '../config-
|
|
6
|
+
export { C as Config, a as ConfigDefinition, O as OptionalConfig, R as ReadonlyConfig, U as UserConfig, r as UserConfigCallback } from '../config-Ce0Le6r4.js';
|
|
7
7
|
import './locale.js';
|
|
8
8
|
import './helpers.js';
|
|
9
|
+
import './env.js';
|
|
9
10
|
import './content.js';
|
|
10
11
|
import 'react';
|
|
11
12
|
import 'utility-types';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare const ReservedEnvKeys: Set<string>;
|
|
2
|
+
type EnvFilterFunction = (value: string) => boolean;
|
|
3
|
+
type EnvFilterVariant = string | EnvFilterFunction;
|
|
4
|
+
type EnvFilterOptions = {
|
|
5
|
+
filter: EnvFilterVariant;
|
|
6
|
+
crypt: boolean;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { type EnvFilterFunction, type EnvFilterOptions, type EnvFilterVariant, ReservedEnvKeys };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/types/env.ts"],"sourcesContent":["export const ReservedEnvKeys = new Set<string>([\"APP\", \"BROWSER\", \"MODE\", \"MANIFEST_VERSION\"]);\n\nexport type EnvFilterFunction = (value: string) => boolean;\n\nexport type EnvFilterVariant = string | EnvFilterFunction;\n\nexport type EnvFilterOptions = {\n filter: EnvFilterVariant;\n crypt: boolean;\n};\n"],"mappings":"AAAO,MAAM,kBAAkB,oBAAI,IAAY,CAAC,OAAO,WAAW,QAAQ,kBAAkB,CAAC;","names":[]}
|
package/dist/types/plugin.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './manifest.js';
|
|
2
2
|
import '@rspack/core';
|
|
3
|
-
export { P as Plugin, d as PluginAssetKeys, k as PluginBundlerOptions, i as PluginConfigOptions, b as PluginDefinition, o as PluginEntrypointKeys, h as PluginEntrypointResult, e as PluginHandler, n as PluginHandlerCallback, c as PluginHandlerKeys, f as PluginHandlerOptions, q as PluginHandlerResult, p as PluginHandlerType, m as PluginIconResult, l as PluginLocaleResult, j as PluginManifestOptions, g as PluginNameHandlerResult } from '../config-
|
|
3
|
+
export { P as Plugin, d as PluginAssetKeys, k as PluginBundlerOptions, i as PluginConfigOptions, b as PluginDefinition, o as PluginEntrypointKeys, h as PluginEntrypointResult, e as PluginHandler, n as PluginHandlerCallback, c as PluginHandlerKeys, f as PluginHandlerOptions, q as PluginHandlerResult, p as PluginHandlerType, m as PluginIconResult, l as PluginLocaleResult, j as PluginManifestOptions, g as PluginNameHandlerResult } from '../config-Ce0Le6r4.js';
|
|
4
4
|
import './entrypoint.js';
|
|
5
5
|
import './helpers.js';
|
|
6
6
|
import './content.js';
|
|
@@ -12,3 +12,4 @@ import './command.js';
|
|
|
12
12
|
import './locale.js';
|
|
13
13
|
import 'html-rspack-tags-plugin';
|
|
14
14
|
import './app.js';
|
|
15
|
+
import './env.js';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "adnbn",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.8",
|
|
5
5
|
"description": "Addon 💀 Bone - Cross-browser web extension framework with shared code base",
|
|
6
6
|
"homepage": "https://github.com/addonbone/addonbone",
|
|
7
7
|
"repository": {
|
|
@@ -99,19 +99,22 @@
|
|
|
99
99
|
"adnbn": "tsx ./src/cli/index.ts",
|
|
100
100
|
"build": "cross-env NODE_OPTIONS=--max-old-space-size=15046 tsup && node ./scripts/copy-dts.js",
|
|
101
101
|
"format": "prettier --write .",
|
|
102
|
+
"check:deps": "depcheck",
|
|
102
103
|
"test": "jest",
|
|
103
104
|
"test:watch": "jest --watch",
|
|
104
|
-
"test:offscreen": "jest --
|
|
105
|
-
"test:message": "jest --
|
|
106
|
-
"test:storage": "jest --
|
|
107
|
-
"test:service": "jest --
|
|
108
|
-
"test:relay": "jest --
|
|
109
|
-
"test:locale": "jest --
|
|
110
|
-
"test:manifest": "jest --
|
|
111
|
-
"test:entrypoint": "jest --
|
|
105
|
+
"test:offscreen": "jest --testPathPatterns=Offscreen",
|
|
106
|
+
"test:message": "jest --testPathPatterns=src/message",
|
|
107
|
+
"test:storage": "jest --testPathPatterns=Storage",
|
|
108
|
+
"test:service": "jest --testPathPatterns=Service",
|
|
109
|
+
"test:relay": "jest --testPathPatterns=Relay",
|
|
110
|
+
"test:locale": "jest --testPathPatterns=Locale",
|
|
111
|
+
"test:manifest": "jest --testPathPatterns=src/cli/builders/manifest",
|
|
112
|
+
"test:entrypoint": "jest --testPathPatterns=src/cli/entrypoint",
|
|
113
|
+
"test:plugins": "jest --testPathPatterns=src/cli/plugins"
|
|
112
114
|
},
|
|
113
115
|
"devDependencies": {
|
|
114
116
|
"@swc/core": "^1.11.7",
|
|
117
|
+
"@swc/jest": "^0.2.36",
|
|
115
118
|
"@testing-library/jest-dom": "^6.6.3",
|
|
116
119
|
"@testing-library/react": "^16.3.0",
|
|
117
120
|
"@types/chrome": "^0.1.3",
|
|
@@ -122,18 +125,18 @@
|
|
|
122
125
|
"@types/pluralize": "^0.0.33",
|
|
123
126
|
"@types/validator": "^13.15.1",
|
|
124
127
|
"cross-env": "^7.0.3",
|
|
128
|
+
"depcheck": "^1.4.7",
|
|
125
129
|
"dotenv": "^16.4.7",
|
|
126
130
|
"esbuild-fix-imports-plugin": "^1.0.21",
|
|
127
131
|
"esbuild-plugin-raw": "^0.1.8",
|
|
128
132
|
"fs-extra": "^11.3.0",
|
|
129
133
|
"globby": "^14.1.0",
|
|
130
|
-
"jest": "^
|
|
131
|
-
"jest-environment-jsdom": "^
|
|
134
|
+
"jest": "^30.0.0",
|
|
135
|
+
"jest-environment-jsdom": "^30.0.0",
|
|
132
136
|
"jest-webextension-mock": "^4.0.0",
|
|
133
137
|
"prettier": "^3.6.2",
|
|
134
|
-
"ts-jest": "^29.3.1",
|
|
135
138
|
"ts-node": "^10.9.2",
|
|
136
|
-
"tsup": "^8.
|
|
139
|
+
"tsup": "^8.5.0",
|
|
137
140
|
"tsx": "^4.19.2",
|
|
138
141
|
"uglify-js": "^3.19.3",
|
|
139
142
|
"utility-types": "^3.11.0"
|
|
@@ -141,15 +144,13 @@
|
|
|
141
144
|
"dependencies": {
|
|
142
145
|
"@adnbn/browser": "^0.1.7",
|
|
143
146
|
"@adnbn/inject-script": "^0.2.2",
|
|
144
|
-
"@rsdoctor/rspack-plugin": "
|
|
147
|
+
"@rsdoctor/rspack-plugin": "~1.1.11",
|
|
145
148
|
"@rspack/cli": "^1.4.11",
|
|
146
149
|
"@rspack/core": "^1.4.11",
|
|
147
150
|
"@svgr/webpack": "^8.1.0",
|
|
148
|
-
"buffer": "^6.0.3",
|
|
149
151
|
"c12": "^3.0.3",
|
|
150
152
|
"cac": "^6.7.14",
|
|
151
153
|
"consola": "^3.4.2",
|
|
152
|
-
"crypto-browserify": "^3.12.1",
|
|
153
154
|
"css-loader": "^7.1.2",
|
|
154
155
|
"debounce": "^2.2.0",
|
|
155
156
|
"file-loader": "^6.2.0",
|
|
@@ -160,28 +161,23 @@
|
|
|
160
161
|
"lodash": "^4.17.21",
|
|
161
162
|
"mini-css-extract-plugin": "^2.9.2",
|
|
162
163
|
"nanoid": "^5.1.4",
|
|
163
|
-
"path-browserify": "^1.0.1",
|
|
164
164
|
"pluralize": "^8.0.0",
|
|
165
|
-
"process": "^0.11.10",
|
|
166
165
|
"rspack-plugin-virtual-module": "^0.1.13",
|
|
167
166
|
"sass": "^1.83.4",
|
|
168
167
|
"sass-loader": "^16.0.4",
|
|
169
168
|
"semver": "^7.7.2",
|
|
170
169
|
"source-modifier-loader": "^1.0.2",
|
|
171
|
-
"stream-browserify": "^3.0.0",
|
|
172
|
-
"string_decoder": "^1.3.0",
|
|
173
170
|
"tsconfig-paths": "^4.2.0",
|
|
174
171
|
"type-fest": "^4.37.0",
|
|
175
172
|
"typescript": "^5.7.3",
|
|
176
173
|
"validator": "^13.15.15",
|
|
177
|
-
"vm-browserify": "^1.1.2",
|
|
178
174
|
"webpack-merge": "^6.0.1",
|
|
179
175
|
"zod": "^3.24.2"
|
|
180
176
|
},
|
|
181
177
|
"peerDependencies": {
|
|
178
|
+
"@types/chrome": "*",
|
|
182
179
|
"@types/react": "*",
|
|
183
180
|
"@types/react-dom": "*",
|
|
184
|
-
"@types/chrome": "*",
|
|
185
181
|
"react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc",
|
|
186
182
|
"react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc"
|
|
187
183
|
},
|