wxt 0.20.13 → 0.20.15
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/browser.d.mts +20 -0
- package/dist/browser.mjs +18 -3
- package/dist/builtin-modules/index.mjs +7 -2
- package/dist/builtin-modules/unimport.mjs +69 -75
- package/dist/cli/cli-utils.mjs +54 -50
- package/dist/cli/commands.mjs +78 -103
- package/dist/cli/index.d.mts +1 -0
- package/dist/cli/index.mjs +9 -4
- package/dist/core/{build.d.ts → build.d.mts} +6 -2
- package/dist/core/build.mjs +23 -4
- package/dist/core/builders/vite/index.mjs +293 -343
- package/dist/core/builders/vite/plugins/bundleAnalysis.mjs +11 -12
- package/dist/core/builders/vite/plugins/cssEntrypoints.mjs +27 -20
- package/dist/core/builders/vite/plugins/defineImportMeta.mjs +17 -12
- package/dist/core/builders/vite/plugins/devHtmlPrerender.mjs +105 -136
- package/dist/core/builders/vite/plugins/devServerGlobals.mjs +15 -14
- package/dist/core/builders/vite/plugins/download.mjs +23 -12
- package/dist/core/builders/vite/plugins/entrypointGroupGlobals.mjs +18 -14
- package/dist/core/builders/vite/plugins/extensionApiMock.mjs +31 -33
- package/dist/core/builders/vite/plugins/globals.mjs +14 -13
- package/dist/core/builders/vite/plugins/iifeFooter.mjs +17 -11
- package/dist/core/builders/vite/plugins/index.mjs +18 -16
- package/dist/core/builders/vite/plugins/noopBackground.mjs +21 -15
- package/dist/core/builders/vite/plugins/removeEntrypointMainFunction.mjs +26 -23
- package/dist/core/builders/vite/plugins/resolveAppConfig.mjs +26 -24
- package/dist/core/builders/vite/plugins/resolveVirtualModules.mjs +28 -26
- package/dist/core/builders/vite/plugins/tsconfigPaths.mjs +11 -11
- package/dist/core/builders/vite/plugins/wxtPluginLoader.mjs +42 -47
- package/dist/core/{clean.d.ts → clean.d.mts} +7 -3
- package/dist/core/clean.mjs +38 -35
- package/dist/core/{create-server.d.ts → create-server.d.mts} +6 -2
- package/dist/core/create-server.mjs +236 -247
- package/dist/core/define-config.d.mts +6 -0
- package/dist/core/define-config.mjs +6 -2
- package/dist/core/define-web-ext-config.d.mts +13 -0
- package/dist/core/define-web-ext-config.mjs +16 -7
- package/dist/core/generate-wxt-dir.mjs +110 -148
- package/dist/core/index.d.mts +9 -0
- package/dist/core/index.mjs +12 -8
- package/dist/core/initialize.d.mts +8 -0
- package/dist/core/initialize.mjs +110 -124
- package/dist/core/keyboard-shortcuts.mjs +30 -28
- package/dist/core/package-managers/bun.mjs +18 -16
- package/dist/core/package-managers/deno.mjs +12 -8
- package/dist/core/package-managers/index.mjs +52 -60
- package/dist/core/package-managers/npm.mjs +51 -52
- package/dist/core/package-managers/pnpm.mjs +21 -18
- package/dist/core/package-managers/yarn.mjs +31 -28
- package/dist/core/prepare.d.mts +6 -0
- package/dist/core/prepare.mjs +12 -7
- package/dist/core/resolve-config.mjs +393 -462
- package/dist/core/runners/index.mjs +15 -10
- package/dist/core/runners/manual.mjs +13 -14
- package/dist/core/runners/safari.mjs +13 -14
- package/dist/core/runners/web-ext.mjs +62 -83
- package/dist/core/runners/wsl.mjs +13 -14
- package/dist/core/utils/arrays.mjs +23 -12
- package/dist/core/utils/building/build-entrypoints.mjs +44 -40
- package/dist/core/utils/building/detect-dev-changes.mjs +84 -105
- package/dist/core/utils/building/find-entrypoints.mjs +278 -359
- package/dist/core/utils/building/group-entrypoints.mjs +42 -35
- package/dist/core/utils/building/index.mjs +8 -6
- package/dist/core/utils/building/internal-build.mjs +86 -102
- package/dist/core/utils/building/rebuild.mjs +50 -30
- package/dist/core/utils/cache.mjs +29 -18
- package/dist/core/utils/constants.mjs +9 -1
- package/dist/core/utils/content-scripts.mjs +56 -54
- package/dist/core/utils/content-security-policy.mjs +36 -39
- package/dist/core/utils/entrypoints.mjs +51 -28
- package/dist/core/utils/env.mjs +22 -17
- package/dist/core/utils/environments/browser-environment.mjs +13 -12
- package/dist/core/utils/environments/environment.mjs +36 -33
- package/dist/core/utils/environments/extension-environment.mjs +15 -10
- package/dist/core/utils/environments/index.mjs +4 -2
- package/dist/core/utils/eslint.mjs +11 -10
- package/dist/core/utils/fs.mjs +23 -11
- package/dist/core/utils/globals.mjs +53 -51
- package/dist/core/utils/i18n.mjs +41 -32
- package/dist/core/utils/index.mjs +3 -0
- package/dist/core/utils/log/index.mjs +6 -4
- package/dist/core/utils/log/printBuildSummary.mjs +20 -25
- package/dist/core/utils/log/printFileList.mjs +30 -33
- package/dist/core/utils/log/printHeader.mjs +9 -5
- package/dist/core/utils/log/printTable.mjs +19 -21
- package/dist/core/utils/manifest.mjs +366 -479
- package/dist/core/utils/minimatch-multiple.mjs +26 -15
- package/dist/core/utils/network.mjs +27 -33
- package/dist/core/utils/number.mjs +7 -3
- package/dist/core/utils/package.mjs +20 -13
- package/dist/core/utils/paths.d.mts +8 -0
- package/dist/core/utils/paths.mjs +26 -7
- package/dist/core/utils/strings.mjs +19 -14
- package/dist/core/utils/syntax-errors.mjs +14 -16
- package/dist/core/utils/time.mjs +19 -15
- package/dist/core/utils/transform.mjs +129 -160
- package/dist/core/utils/types.d.mts +6 -0
- package/dist/core/utils/validation.mjs +43 -50
- package/dist/core/utils/virtual-modules.mjs +20 -12
- package/dist/core/utils/wsl.mjs +11 -3
- package/dist/core/wxt.mjs +65 -60
- package/dist/core/{zip.d.ts → zip.d.mts} +6 -2
- package/dist/core/zip.mjs +118 -140
- package/dist/index.d.mts +13 -0
- package/dist/index.mjs +13 -3
- package/dist/{modules.d.ts → modules.d.mts} +14 -16
- package/dist/modules.mjs +179 -51
- package/dist/testing/fake-browser.d.mts +2 -0
- package/dist/testing/fake-browser.mjs +3 -1
- package/dist/testing/index.d.mts +3 -0
- package/dist/testing/index.mjs +4 -2
- package/dist/testing/{wxt-vitest-plugin.d.ts → wxt-vitest-plugin.d.mts} +7 -9
- package/dist/testing/wxt-vitest-plugin.mjs +38 -19
- package/dist/types.d.mts +1475 -0
- package/dist/utils/app-config.d.mts +6 -0
- package/dist/utils/app-config.mjs +8 -2
- package/dist/utils/content-script-context.d.mts +134 -0
- package/dist/utils/content-script-context.mjs +187 -175
- package/dist/utils/content-script-ui/iframe.d.mts +42 -0
- package/dist/utils/content-script-ui/iframe.mjs +42 -27
- package/dist/utils/content-script-ui/integrated.d.mts +37 -0
- package/dist/utils/content-script-ui/integrated.mjs +36 -29
- package/dist/utils/content-script-ui/shadow-root.d.mts +80 -0
- package/dist/utils/content-script-ui/shadow-root.mjs +75 -82
- package/dist/utils/content-script-ui/shared.mjs +115 -150
- package/dist/utils/content-script-ui/types.d.mts +107 -0
- package/dist/utils/content-script-ui/types.mjs +1 -0
- package/dist/utils/{define-app-config.d.ts → define-app-config.d.mts} +5 -3
- package/dist/utils/define-app-config.mjs +22 -2
- package/dist/utils/define-background.d.mts +7 -0
- package/dist/utils/define-background.mjs +7 -3
- package/dist/utils/define-content-script.d.mts +6 -0
- package/dist/utils/define-content-script.mjs +6 -2
- package/dist/utils/define-unlisted-script.d.mts +7 -0
- package/dist/utils/define-unlisted-script.mjs +7 -3
- package/dist/utils/define-wxt-plugin.d.mts +6 -0
- package/dist/utils/define-wxt-plugin.mjs +6 -2
- package/dist/utils/inject-script.d.mts +41 -0
- package/dist/utils/inject-script.mjs +44 -34
- package/dist/utils/internal/custom-events.d.mts +9 -0
- package/dist/utils/internal/custom-events.mjs +18 -10
- package/dist/utils/internal/location-watcher.mjs +23 -20
- package/dist/utils/internal/logger.mjs +15 -12
- package/dist/utils/match-patterns.d.mts +1 -0
- package/dist/utils/match-patterns.mjs +3 -1
- package/dist/utils/{split-shadow-root-css.d.ts → split-shadow-root-css.d.mts} +6 -3
- package/dist/utils/split-shadow-root-css.mjs +16 -7
- package/dist/utils/storage.d.mts +1 -0
- package/dist/utils/storage.mjs +3 -1
- package/dist/version.d.mts +4 -0
- package/dist/version.mjs +5 -1
- package/dist/virtual/background-entrypoint.d.mts +4 -0
- package/dist/virtual/background-entrypoint.mjs +143 -161
- package/dist/virtual/content-script-isolated-world-entrypoint.d.mts +4 -0
- package/dist/virtual/content-script-isolated-world-entrypoint.mjs +26 -27
- package/dist/virtual/content-script-main-world-entrypoint.d.mts +4 -0
- package/dist/virtual/content-script-main-world-entrypoint.mjs +24 -24
- package/dist/virtual/mock-browser.d.mts +6 -0
- package/dist/virtual/mock-browser.mjs +5 -3
- package/dist/virtual/reload-html.d.mts +1 -0
- package/dist/virtual/reload-html.mjs +57 -53
- package/dist/virtual/unlisted-script-entrypoint.d.mts +4 -0
- package/dist/virtual/unlisted-script-entrypoint.mjs +35 -43
- package/package.json +56 -50
- package/dist/browser.d.ts +0 -30
- package/dist/builtin-modules/index.d.ts +0 -2
- package/dist/builtin-modules/unimport.d.ts +0 -5
- package/dist/cli/cli-utils.d.ts +0 -25
- package/dist/cli/commands.d.ts +0 -2
- package/dist/cli/index.d.ts +0 -1
- package/dist/core/builders/vite/index.d.ts +0 -7
- package/dist/core/builders/vite/plugins/bundleAnalysis.d.ts +0 -7
- package/dist/core/builders/vite/plugins/cssEntrypoints.d.ts +0 -13
- package/dist/core/builders/vite/plugins/defineImportMeta.d.ts +0 -14
- package/dist/core/builders/vite/plugins/devHtmlPrerender.d.ts +0 -7
- package/dist/core/builders/vite/plugins/devServerGlobals.d.ts +0 -6
- package/dist/core/builders/vite/plugins/download.d.ts +0 -10
- package/dist/core/builders/vite/plugins/entrypointGroupGlobals.d.ts +0 -6
- package/dist/core/builders/vite/plugins/extensionApiMock.d.ts +0 -6
- package/dist/core/builders/vite/plugins/globals.d.ts +0 -3
- package/dist/core/builders/vite/plugins/iifeFooter.d.ts +0 -8
- package/dist/core/builders/vite/plugins/index.d.ts +0 -16
- package/dist/core/builders/vite/plugins/noopBackground.d.ts +0 -6
- package/dist/core/builders/vite/plugins/removeEntrypointMainFunction.d.ts +0 -6
- package/dist/core/builders/vite/plugins/resolveAppConfig.d.ts +0 -6
- package/dist/core/builders/vite/plugins/resolveVirtualModules.d.ts +0 -6
- package/dist/core/builders/vite/plugins/tsconfigPaths.d.ts +0 -3
- package/dist/core/builders/vite/plugins/wxtPluginLoader.d.ts +0 -6
- package/dist/core/define-config.d.ts +0 -2
- package/dist/core/define-web-ext-config.d.ts +0 -9
- package/dist/core/generate-wxt-dir.d.ts +0 -5
- package/dist/core/index.d.ts +0 -8
- package/dist/core/initialize.d.ts +0 -5
- package/dist/core/keyboard-shortcuts.d.ts +0 -12
- package/dist/core/package-managers/bun.d.ts +0 -2
- package/dist/core/package-managers/deno.d.ts +0 -2
- package/dist/core/package-managers/index.d.ts +0 -2
- package/dist/core/package-managers/npm.d.ts +0 -17
- package/dist/core/package-managers/pnpm.d.ts +0 -2
- package/dist/core/package-managers/types.d.ts +0 -2
- package/dist/core/package-managers/types.mjs +0 -0
- package/dist/core/package-managers/yarn.d.ts +0 -2
- package/dist/core/prepare.d.ts +0 -2
- package/dist/core/resolve-config.d.ts +0 -11
- package/dist/core/runners/index.d.ts +0 -2
- package/dist/core/runners/manual.d.ts +0 -5
- package/dist/core/runners/safari.d.ts +0 -5
- package/dist/core/runners/web-ext.d.ts +0 -5
- package/dist/core/runners/wsl.d.ts +0 -5
- package/dist/core/utils/arrays.d.ts +0 -13
- package/dist/core/utils/building/build-entrypoints.d.ts +0 -3
- package/dist/core/utils/building/detect-dev-changes.d.ts +0 -61
- package/dist/core/utils/building/find-entrypoints.d.ts +0 -5
- package/dist/core/utils/building/group-entrypoints.d.ts +0 -8
- package/dist/core/utils/building/index.d.ts +0 -6
- package/dist/core/utils/building/internal-build.d.ts +0 -12
- package/dist/core/utils/building/rebuild.d.ts +0 -23
- package/dist/core/utils/cache.d.ts +0 -8
- package/dist/core/utils/cli.d.ts +0 -3
- package/dist/core/utils/cli.mjs +0 -26
- package/dist/core/utils/constants.d.ts +0 -5
- package/dist/core/utils/content-scripts.d.ts +0 -12
- package/dist/core/utils/content-security-policy.d.ts +0 -14
- package/dist/core/utils/entrypoints.d.ts +0 -31
- package/dist/core/utils/env.d.ts +0 -5
- package/dist/core/utils/environments/browser-environment.d.ts +0 -3
- package/dist/core/utils/environments/environment.d.ts +0 -8
- package/dist/core/utils/environments/extension-environment.d.ts +0 -6
- package/dist/core/utils/environments/index.d.ts +0 -2
- package/dist/core/utils/eslint.d.ts +0 -1
- package/dist/core/utils/fs.d.ts +0 -13
- package/dist/core/utils/globals.d.ts +0 -11
- package/dist/core/utils/i18n.d.ts +0 -11
- package/dist/core/utils/log/index.d.ts +0 -4
- package/dist/core/utils/log/printBuildSummary.d.ts +0 -2
- package/dist/core/utils/log/printFileList.d.ts +0 -1
- package/dist/core/utils/log/printHeader.d.ts +0 -1
- package/dist/core/utils/log/printTable.d.ts +0 -1
- package/dist/core/utils/manifest.d.ts +0 -40
- package/dist/core/utils/minimatch-multiple.d.ts +0 -15
- package/dist/core/utils/network.d.ts +0 -7
- package/dist/core/utils/number.d.ts +0 -1
- package/dist/core/utils/package.d.ts +0 -6
- package/dist/core/utils/paths.d.ts +0 -11
- package/dist/core/utils/strings.d.ts +0 -14
- package/dist/core/utils/syntax-errors.d.ts +0 -11
- package/dist/core/utils/testing/fake-objects.d.ts +0 -11665
- package/dist/core/utils/testing/fake-objects.mjs +0 -326
- package/dist/core/utils/time.d.ts +0 -9
- package/dist/core/utils/transform.d.ts +0 -11
- package/dist/core/utils/types.d.ts +0 -13
- package/dist/core/utils/types.mjs +0 -0
- package/dist/core/utils/validation.d.ts +0 -15
- package/dist/core/utils/virtual-modules.d.ts +0 -22
- package/dist/core/utils/wsl.d.ts +0 -4
- package/dist/core/wxt.d.ts +0 -24
- package/dist/index.d.ts +0 -11
- package/dist/testing/fake-browser.d.ts +0 -10
- package/dist/testing/index.d.ts +0 -10
- package/dist/types.d.ts +0 -1459
- package/dist/types.mjs +0 -0
- package/dist/utils/app-config.d.ts +0 -2
- package/dist/utils/content-script-context.d.ts +0 -134
- package/dist/utils/content-script-ui/iframe.d.ts +0 -32
- package/dist/utils/content-script-ui/integrated.d.ts +0 -34
- package/dist/utils/content-script-ui/shadow-root.d.ts +0 -76
- package/dist/utils/content-script-ui/shared.d.ts +0 -5
- package/dist/utils/content-script-ui/types.d.ts +0 -104
- package/dist/utils/define-background.d.ts +0 -4
- package/dist/utils/define-content-script.d.ts +0 -3
- package/dist/utils/define-unlisted-script.d.ts +0 -4
- package/dist/utils/define-wxt-plugin.d.ts +0 -3
- package/dist/utils/inject-script.d.ts +0 -36
- package/dist/utils/internal/custom-events.d.ts +0 -10
- package/dist/utils/internal/dev-server-websocket.d.ts +0 -21
- package/dist/utils/internal/dev-server-websocket.mjs +0 -37
- package/dist/utils/internal/location-watcher.d.ts +0 -12
- package/dist/utils/internal/logger.d.ts +0 -9
- package/dist/utils/match-patterns.d.ts +0 -5
- package/dist/utils/storage.d.ts +0 -5
- package/dist/version.d.ts +0 -1
package/dist/types.mjs
DELETED
|
File without changes
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/** @module wxt/utils/content-script-context */
|
|
2
|
-
import { ContentScriptDefinition } from '../types';
|
|
3
|
-
import { WxtLocationChangeEvent } from './internal/custom-events';
|
|
4
|
-
/**
|
|
5
|
-
* Implements [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController).
|
|
6
|
-
* Used to detect and stop content script code when the script is invalidated.
|
|
7
|
-
*
|
|
8
|
-
* It also provides several utilities like `ctx.setTimeout` and `ctx.setInterval` that should be used in
|
|
9
|
-
* content scripts instead of `window.setTimeout` or `window.setInterval`.
|
|
10
|
-
*
|
|
11
|
-
* To create context for testing, you can use the class's constructor:
|
|
12
|
-
*
|
|
13
|
-
* ```ts
|
|
14
|
-
* import { ContentScriptContext } from 'wxt/utils/content-scripts-context';
|
|
15
|
-
*
|
|
16
|
-
* test("storage listener should be removed when context is invalidated", () => {
|
|
17
|
-
* const ctx = new ContentScriptContext('test');
|
|
18
|
-
* const item = storage.defineItem("local:count", { defaultValue: 0 });
|
|
19
|
-
* const watcher = vi.fn();
|
|
20
|
-
*
|
|
21
|
-
* const unwatch = item.watch(watcher);
|
|
22
|
-
* ctx.onInvalidated(unwatch); // Listen for invalidate here
|
|
23
|
-
*
|
|
24
|
-
* await item.setValue(1);
|
|
25
|
-
* expect(watcher).toBeCalledTimes(1);
|
|
26
|
-
* expect(watcher).toBeCalledWith(1, 0);
|
|
27
|
-
*
|
|
28
|
-
* ctx.notifyInvalidated(); // Use this function to invalidate the context
|
|
29
|
-
* await item.setValue(2);
|
|
30
|
-
* expect(watcher).toBeCalledTimes(1);
|
|
31
|
-
* });
|
|
32
|
-
* ```
|
|
33
|
-
*/
|
|
34
|
-
export declare class ContentScriptContext implements AbortController {
|
|
35
|
-
private readonly contentScriptName;
|
|
36
|
-
readonly options?: Omit<ContentScriptDefinition, "main"> | undefined;
|
|
37
|
-
private static SCRIPT_STARTED_MESSAGE_TYPE;
|
|
38
|
-
private isTopFrame;
|
|
39
|
-
private abortController;
|
|
40
|
-
private locationWatcher;
|
|
41
|
-
private receivedMessageIds;
|
|
42
|
-
constructor(contentScriptName: string, options?: Omit<ContentScriptDefinition, "main"> | undefined);
|
|
43
|
-
get signal(): AbortSignal;
|
|
44
|
-
abort(reason?: any): void;
|
|
45
|
-
get isInvalid(): boolean;
|
|
46
|
-
get isValid(): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Add a listener that is called when the content script's context is invalidated.
|
|
49
|
-
*
|
|
50
|
-
* @returns A function to remove the listener.
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
|
-
* browser.runtime.onMessage.addListener(cb);
|
|
54
|
-
* const removeInvalidatedListener = ctx.onInvalidated(() => {
|
|
55
|
-
* browser.runtime.onMessage.removeListener(cb);
|
|
56
|
-
* })
|
|
57
|
-
* // ...
|
|
58
|
-
* removeInvalidatedListener();
|
|
59
|
-
*/
|
|
60
|
-
onInvalidated(cb: () => void): () => void;
|
|
61
|
-
/**
|
|
62
|
-
* Return a promise that never resolves. Useful if you have an async function that shouldn't run
|
|
63
|
-
* after the context is expired.
|
|
64
|
-
*
|
|
65
|
-
* @example
|
|
66
|
-
* const getValueFromStorage = async () => {
|
|
67
|
-
* if (ctx.isInvalid) return ctx.block();
|
|
68
|
-
*
|
|
69
|
-
* // ...
|
|
70
|
-
* }
|
|
71
|
-
*/
|
|
72
|
-
block<T>(): Promise<T>;
|
|
73
|
-
/**
|
|
74
|
-
* Wrapper around `window.setInterval` that automatically clears the interval when invalidated.
|
|
75
|
-
*
|
|
76
|
-
* Intervals can be cleared by calling the normal `clearInterval` function.
|
|
77
|
-
*/
|
|
78
|
-
setInterval(handler: () => void, timeout?: number): number;
|
|
79
|
-
/**
|
|
80
|
-
* Wrapper around `window.setTimeout` that automatically clears the interval when invalidated.
|
|
81
|
-
*
|
|
82
|
-
* Timeouts can be cleared by calling the normal `setTimeout` function.
|
|
83
|
-
*/
|
|
84
|
-
setTimeout(handler: () => void, timeout?: number): number;
|
|
85
|
-
/**
|
|
86
|
-
* Wrapper around `window.requestAnimationFrame` that automatically cancels the request when
|
|
87
|
-
* invalidated.
|
|
88
|
-
*
|
|
89
|
-
* Callbacks can be canceled by calling the normal `cancelAnimationFrame` function.
|
|
90
|
-
*/
|
|
91
|
-
requestAnimationFrame(callback: FrameRequestCallback): number;
|
|
92
|
-
/**
|
|
93
|
-
* Wrapper around `window.requestIdleCallback` that automatically cancels the request when
|
|
94
|
-
* invalidated.
|
|
95
|
-
*
|
|
96
|
-
* Callbacks can be canceled by calling the normal `cancelIdleCallback` function.
|
|
97
|
-
*/
|
|
98
|
-
requestIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): number;
|
|
99
|
-
/**
|
|
100
|
-
* Call `target.addEventListener` and remove the event listener when the context is invalidated.
|
|
101
|
-
*
|
|
102
|
-
* Listeners can be canceled by calling the normal `removeEventListener` function.
|
|
103
|
-
*
|
|
104
|
-
* Includes additional events useful for content scripts:
|
|
105
|
-
*
|
|
106
|
-
* - `"wxt:locationchange"` - Triggered when HTML5 history mode is used to change URL. Content
|
|
107
|
-
* scripts are not reloaded when navigating this way, so this can be used to reset the content
|
|
108
|
-
* script state on URL change, or run custom code.
|
|
109
|
-
*
|
|
110
|
-
* @example
|
|
111
|
-
* ctx.addEventListener(document, "visibilitychange", () => {
|
|
112
|
-
* // ...
|
|
113
|
-
* });
|
|
114
|
-
* ctx.addEventListener(window, "wxt:locationchange", () => {
|
|
115
|
-
* // ...
|
|
116
|
-
* });
|
|
117
|
-
*/
|
|
118
|
-
addEventListener<TType extends keyof WxtWindowEventMap>(target: Window, type: TType, handler: (event: WxtWindowEventMap[TType]) => void, options?: AddEventListenerOptions): void;
|
|
119
|
-
addEventListener<TType extends keyof DocumentEventMap>(target: Document, type: TType, handler: (event: DocumentEventMap[TType]) => void, options?: AddEventListenerOptions): void;
|
|
120
|
-
addEventListener<TTarget extends EventTarget>(target: TTarget, ...params: Parameters<TTarget['addEventListener']>): void;
|
|
121
|
-
/**
|
|
122
|
-
* @internal
|
|
123
|
-
* Abort the abort controller and execute all `onInvalidated` listeners.
|
|
124
|
-
*/
|
|
125
|
-
notifyInvalidated(): void;
|
|
126
|
-
stopOldScripts(): void;
|
|
127
|
-
verifyScriptStartedEvent(event: MessageEvent): boolean;
|
|
128
|
-
listenForNewerScripts(options?: {
|
|
129
|
-
ignoreFirstEvent?: boolean;
|
|
130
|
-
}): void;
|
|
131
|
-
}
|
|
132
|
-
export interface WxtWindowEventMap extends WindowEventMap {
|
|
133
|
-
'wxt:locationchange': WxtLocationChangeEvent;
|
|
134
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { ContentScriptContext } from '../content-script-context';
|
|
2
|
-
import type { ContentScriptUi, ContentScriptUiOptions } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Create a content script UI using an iframe.
|
|
5
|
-
*
|
|
6
|
-
* @see https://wxt.dev/guide/essentials/content-scripts.html#iframe
|
|
7
|
-
*/
|
|
8
|
-
export declare function createIframeUi<TMounted>(ctx: ContentScriptContext, options: IframeContentScriptUiOptions<TMounted>): IframeContentScriptUi<TMounted>;
|
|
9
|
-
export interface IframeContentScriptUi<TMounted> extends ContentScriptUi<TMounted> {
|
|
10
|
-
/**
|
|
11
|
-
* The iframe added to the DOM.
|
|
12
|
-
*/
|
|
13
|
-
iframe: HTMLIFrameElement;
|
|
14
|
-
/**
|
|
15
|
-
* A wrapper div that assists in positioning.
|
|
16
|
-
*/
|
|
17
|
-
wrapper: HTMLDivElement;
|
|
18
|
-
}
|
|
19
|
-
export type IframeContentScriptUiOptions<TMounted> = ContentScriptUiOptions<TMounted> & {
|
|
20
|
-
/**
|
|
21
|
-
* The path to the HTML page that will be shown in the iframe. This string is passed into
|
|
22
|
-
* `browser.runtime.getURL`.
|
|
23
|
-
*/
|
|
24
|
-
page: import('wxt/browser').HtmlPublicPath;
|
|
25
|
-
/**
|
|
26
|
-
* Callback executed when mounting the UI. Use this function to customize the iframe or wrapper
|
|
27
|
-
* element's appearance. It is called every time `ui.mount()` is called.
|
|
28
|
-
*
|
|
29
|
-
* Optionally return a value that can be accessed at `ui.mounted` or in the `onRemove` callback.
|
|
30
|
-
*/
|
|
31
|
-
onMount?: (wrapper: HTMLElement, iframe: HTMLIFrameElement) => TMounted;
|
|
32
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/** @module wxt/utils/content-script-ui/integrated */
|
|
2
|
-
import { ContentScriptContext } from '../content-script-context';
|
|
3
|
-
import type { ContentScriptUi, ContentScriptUiOptions } from './types';
|
|
4
|
-
/**
|
|
5
|
-
* Create a content script UI without any isolation.
|
|
6
|
-
*
|
|
7
|
-
* @see https://wxt.dev/guide/essentials/content-scripts.html#integrated
|
|
8
|
-
*/
|
|
9
|
-
export declare function createIntegratedUi<TMounted>(ctx: ContentScriptContext, options: IntegratedContentScriptUiOptions<TMounted>): IntegratedContentScriptUi<TMounted>;
|
|
10
|
-
/**
|
|
11
|
-
* Shared types for the different `wxt/utils/content-script-ui/*` modules.
|
|
12
|
-
* @module wxt/utils/content-script-ui/types
|
|
13
|
-
*/
|
|
14
|
-
export interface IntegratedContentScriptUi<TMounted> extends ContentScriptUi<TMounted> {
|
|
15
|
-
/**
|
|
16
|
-
* A wrapper div that assists in positioning.
|
|
17
|
-
*/
|
|
18
|
-
wrapper: HTMLElement;
|
|
19
|
-
}
|
|
20
|
-
export type IntegratedContentScriptUiOptions<TMounted> = ContentScriptUiOptions<TMounted> & {
|
|
21
|
-
/**
|
|
22
|
-
* Tag used to create the wrapper element.
|
|
23
|
-
*
|
|
24
|
-
* @default "div"
|
|
25
|
-
*/
|
|
26
|
-
tag?: string;
|
|
27
|
-
/**
|
|
28
|
-
* Callback executed when mounting the UI. This function should create and append the UI to the
|
|
29
|
-
* `wrapper` element. It is called every time `ui.mount()` is called.
|
|
30
|
-
*
|
|
31
|
-
* Optionally return a value that can be accessed at `ui.mounted` or in the `onRemove` callback.
|
|
32
|
-
*/
|
|
33
|
-
onMount: (wrapper: HTMLElement) => TMounted;
|
|
34
|
-
};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { ContentScriptContext } from '../content-script-context';
|
|
2
|
-
import type { ContentScriptUi, ContentScriptUiOptions } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* Create a content script UI inside a [`ShadowRoot`](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot).
|
|
5
|
-
*
|
|
6
|
-
* > This function is async because it has to load the CSS via a network call.
|
|
7
|
-
*
|
|
8
|
-
* @see https://wxt.dev/guide/essentials/content-scripts.html#shadow-root
|
|
9
|
-
*/
|
|
10
|
-
export declare function createShadowRootUi<TMounted>(ctx: ContentScriptContext, options: ShadowRootContentScriptUiOptions<TMounted>): Promise<ShadowRootContentScriptUi<TMounted>>;
|
|
11
|
-
export interface ShadowRootContentScriptUi<TMounted> extends ContentScriptUi<TMounted> {
|
|
12
|
-
/**
|
|
13
|
-
* The `HTMLElement` hosting the shadow root used to isolate the UI's styles. This is the element
|
|
14
|
-
* that get's added to the DOM. This element's style is not isolated from the webpage.
|
|
15
|
-
*/
|
|
16
|
-
shadowHost: HTMLElement;
|
|
17
|
-
/**
|
|
18
|
-
* The container element inside the `ShadowRoot` whose styles are isolated. The UI is mounted
|
|
19
|
-
* inside this `HTMLElement`.
|
|
20
|
-
*/
|
|
21
|
-
uiContainer: HTMLElement;
|
|
22
|
-
/**
|
|
23
|
-
* The shadow root performing the isolation.
|
|
24
|
-
*/
|
|
25
|
-
shadow: ShadowRoot;
|
|
26
|
-
}
|
|
27
|
-
export type ShadowRootContentScriptUiOptions<TMounted> = ContentScriptUiOptions<TMounted> & {
|
|
28
|
-
/**
|
|
29
|
-
* The name of the custom component used to host the ShadowRoot. Must be kebab-case.
|
|
30
|
-
*/
|
|
31
|
-
name: string;
|
|
32
|
-
/**
|
|
33
|
-
* Custom CSS text to apply to the UI. If your content script imports/generates CSS and you've
|
|
34
|
-
* set `cssInjectionMode: "ui"`, the imported CSS will be included automatically. You do not need
|
|
35
|
-
* to pass those styles in here. This is for any additional styles not in the imported CSS.
|
|
36
|
-
*/
|
|
37
|
-
css?: string;
|
|
38
|
-
/**
|
|
39
|
-
* ShadowRoot's mode.
|
|
40
|
-
*
|
|
41
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/mode
|
|
42
|
-
* @default "open"
|
|
43
|
-
*/
|
|
44
|
-
mode?: 'open' | 'closed';
|
|
45
|
-
/**
|
|
46
|
-
* When enabled, `event.stopPropagation` will be called on events trying to bubble out of the
|
|
47
|
-
* shadow root.
|
|
48
|
-
*
|
|
49
|
-
* - Set to `true` to stop the propagation of a default set of events,
|
|
50
|
-
* `["keyup", "keydown", "keypress"]`
|
|
51
|
-
* - Set to an array of event names to stop the propagation of a custom list of events
|
|
52
|
-
*/
|
|
53
|
-
isolateEvents?: boolean | string[];
|
|
54
|
-
/**
|
|
55
|
-
* By default, WXT adds `all: initial` to the shadow root before the rest of
|
|
56
|
-
* your CSS. This resets any inheritable CSS styles that
|
|
57
|
-
* [normally pierce the Shadow DOM](https://open-wc.org/guides/knowledge/styling/styles-piercing-shadow-dom/).
|
|
58
|
-
*
|
|
59
|
-
* WXT resets everything but:
|
|
60
|
-
* - **`rem` Units**: they continue to scale based off the webpage's HTML `font-size`.
|
|
61
|
-
* - **CSS Variables/Custom Properties**: CSS variables defined outside the shadow root can be accessed inside it.
|
|
62
|
-
* - **`@font-face` Definitions**: Fonts defined outside the shadow root can be used inside it.
|
|
63
|
-
*
|
|
64
|
-
* To disable this behavior and inherit styles from the webpage, set `inheritStyles: true`.
|
|
65
|
-
*
|
|
66
|
-
* @default false
|
|
67
|
-
*/
|
|
68
|
-
inheritStyles?: boolean;
|
|
69
|
-
/**
|
|
70
|
-
* Callback executed when mounting the UI. This function should create and append the UI to the
|
|
71
|
-
* `uiContainer` element. It is called every time `ui.mount()` is called.
|
|
72
|
-
*
|
|
73
|
-
* Optionally return a value that can be accessed at `ui.mounted` or in the `onRemove` callback.
|
|
74
|
-
*/
|
|
75
|
-
onMount: (uiContainer: HTMLElement, shadow: ShadowRoot, shadowHost: HTMLElement) => TMounted;
|
|
76
|
-
};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { ContentScriptAnchoredOptions, ContentScriptPositioningOptions, BaseMountFunctions, ContentScriptUiOptions, MountFunctions } from './types';
|
|
2
|
-
export declare function applyPosition(root: HTMLElement, positionedElement: HTMLElement | undefined | null, options: ContentScriptPositioningOptions): void;
|
|
3
|
-
export declare function getAnchor(options: ContentScriptAnchoredOptions): Element | undefined;
|
|
4
|
-
export declare function mountUi(root: HTMLElement, options: ContentScriptAnchoredOptions): void;
|
|
5
|
-
export declare function createMountFunctions<TMounted>(baseFunctions: BaseMountFunctions, options: ContentScriptUiOptions<TMounted>): MountFunctions;
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/** @module wxt/utils/content-script-ui/types */
|
|
2
|
-
export interface ContentScriptUi<TMounted> extends MountFunctions {
|
|
3
|
-
mounted: TMounted | undefined;
|
|
4
|
-
}
|
|
5
|
-
export type ContentScriptUiOptions<TMounted> = ContentScriptPositioningOptions & ContentScriptAnchoredOptions & {
|
|
6
|
-
/**
|
|
7
|
-
* Callback called before the UI is removed from the webpage. Use to cleanup your UI, like
|
|
8
|
-
* unmounting your Vue or React apps.
|
|
9
|
-
*
|
|
10
|
-
* Note that this callback is called only when `ui.remove` is called - that means it is
|
|
11
|
-
* not called automatically when the anchor is removed, unless you use `autoMount`.
|
|
12
|
-
*/
|
|
13
|
-
onRemove?: (mounted: TMounted | undefined) => void;
|
|
14
|
-
};
|
|
15
|
-
export type ContentScriptOverlayAlignment = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
16
|
-
/**
|
|
17
|
-
* 
|
|
18
|
-
*/
|
|
19
|
-
export type ContentScriptAppendMode = 'last' | 'first' | 'replace' | 'before' | 'after' | ((anchor: Element, ui: Element) => void);
|
|
20
|
-
export interface ContentScriptInlinePositioningOptions {
|
|
21
|
-
position: 'inline';
|
|
22
|
-
}
|
|
23
|
-
export interface ContentScriptOverlayPositioningOptions {
|
|
24
|
-
position: 'overlay';
|
|
25
|
-
/**
|
|
26
|
-
* The `z-index` used on the `wrapper` element. Set to a positive number to show your UI over website
|
|
27
|
-
* content.
|
|
28
|
-
*/
|
|
29
|
-
zIndex?: number;
|
|
30
|
-
/**
|
|
31
|
-
* When using `type: "overlay"`, the mounted element is 0px by 0px in size. Alignment specifies
|
|
32
|
-
* which corner is aligned with that 0x0 pixel space.
|
|
33
|
-
*
|
|
34
|
-
* 
|
|
35
|
-
*
|
|
36
|
-
* @default "top-left"
|
|
37
|
-
*/
|
|
38
|
-
alignment?: ContentScriptOverlayAlignment;
|
|
39
|
-
}
|
|
40
|
-
export interface ContentScriptModalPositioningOptions {
|
|
41
|
-
position: 'modal';
|
|
42
|
-
/**
|
|
43
|
-
* The `z-index` used on the `shadowHost`. Set to a positive number to show your UI over website
|
|
44
|
-
* content.
|
|
45
|
-
*/
|
|
46
|
-
zIndex?: number;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Choose between `"inline"`, `"overlay"`, or `"modal"` positions.
|
|
50
|
-
*
|
|
51
|
-
* 
|
|
52
|
-
*/
|
|
53
|
-
export type ContentScriptPositioningOptions = ContentScriptInlinePositioningOptions | ContentScriptOverlayPositioningOptions | ContentScriptModalPositioningOptions;
|
|
54
|
-
export interface ContentScriptAnchoredOptions {
|
|
55
|
-
/**
|
|
56
|
-
* A CSS selector, XPath expression, element, or function that returns one of the three. Along with `append`, the
|
|
57
|
-
* `anchor` dictates where in the page the UI will be added.
|
|
58
|
-
*/
|
|
59
|
-
anchor?: string | Element | null | undefined | (() => string | Element | null | undefined);
|
|
60
|
-
/**
|
|
61
|
-
* In combination with `anchor`, decide how to add the UI to the DOM.
|
|
62
|
-
*
|
|
63
|
-
* - `"last"` (default) - Add the UI as the last child of the `anchor` element
|
|
64
|
-
* - `"first"` - Add the UI as the first child of the `anchor` element
|
|
65
|
-
* - `"replace"` - Replace the `anchor` element with the UI.
|
|
66
|
-
* - `"before"` - Add the UI as the sibling before the `anchor` element
|
|
67
|
-
* - `"after"` - Add the UI as the sibling after the `anchor` element
|
|
68
|
-
* - `(anchor, ui) => void` - Customizable function that let's you add the UI to the DOM
|
|
69
|
-
*/
|
|
70
|
-
append?: ContentScriptAppendMode | ((anchor: Element, ui: Element) => void);
|
|
71
|
-
}
|
|
72
|
-
export interface BaseMountFunctions {
|
|
73
|
-
/**
|
|
74
|
-
* Function that mounts or remounts the UI on the page.
|
|
75
|
-
*/
|
|
76
|
-
mount: () => void;
|
|
77
|
-
/**
|
|
78
|
-
* Function that removes the UI from the webpage.
|
|
79
|
-
*/
|
|
80
|
-
remove: () => void;
|
|
81
|
-
}
|
|
82
|
-
export interface MountFunctions extends BaseMountFunctions {
|
|
83
|
-
/**
|
|
84
|
-
* Call `ui.autoMount()` to automatically mount and remove the UI as the anchor is dynamically added/removed by the webpage.
|
|
85
|
-
*/
|
|
86
|
-
autoMount: (options?: AutoMountOptions) => void;
|
|
87
|
-
}
|
|
88
|
-
export type AutoMountOptions = {
|
|
89
|
-
/**
|
|
90
|
-
* When true, only mount and unmount a UI once.
|
|
91
|
-
*/
|
|
92
|
-
once?: boolean;
|
|
93
|
-
/**
|
|
94
|
-
* The callback triggered when `StopAutoMount` is called.
|
|
95
|
-
*/
|
|
96
|
-
onStop?: () => void;
|
|
97
|
-
};
|
|
98
|
-
export type StopAutoMount = () => void;
|
|
99
|
-
export interface AutoMount {
|
|
100
|
-
/**
|
|
101
|
-
* Stop watching the anchor element for changes, but keep the UI mounted.
|
|
102
|
-
*/
|
|
103
|
-
stopAutoMount: StopAutoMount;
|
|
104
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/** @module wxt/utils/define-background */
|
|
2
|
-
import type { BackgroundDefinition } from '../types';
|
|
3
|
-
export declare function defineBackground(main: () => void): BackgroundDefinition;
|
|
4
|
-
export declare function defineBackground(definition: BackgroundDefinition): BackgroundDefinition;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
/** @module wxt/utils/define-unlisted-script */
|
|
2
|
-
import type { UnlistedScriptDefinition } from '../types';
|
|
3
|
-
export declare function defineUnlistedScript(main: () => void): UnlistedScriptDefinition;
|
|
4
|
-
export declare function defineUnlistedScript(definition: UnlistedScriptDefinition): UnlistedScriptDefinition;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export type ScriptPublicPath = Extract<import('wxt/browser').PublicPath, `${string}.js`>;
|
|
2
|
-
/**
|
|
3
|
-
* This function can only be called inside content scripts.
|
|
4
|
-
*
|
|
5
|
-
* Inject an unlisted script into the page. Scripts are added to the `<head>`
|
|
6
|
-
* element or `document.documentElement` if there is no head.
|
|
7
|
-
*
|
|
8
|
-
* Make sure to add the injected script to your manifest's
|
|
9
|
-
* `web_accessible_resources`.
|
|
10
|
-
*
|
|
11
|
-
* @returns A result object containing the created script element.
|
|
12
|
-
*/
|
|
13
|
-
export declare function injectScript(path: ScriptPublicPath, options?: InjectScriptOptions): Promise<InjectScriptResult>;
|
|
14
|
-
export interface InjectScriptOptions {
|
|
15
|
-
/**
|
|
16
|
-
* By default, the injected script is removed from the DOM after being
|
|
17
|
-
* injected. To disable this behavior, set this flag to true.
|
|
18
|
-
*/
|
|
19
|
-
keepInDom?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Modify the script element just before it is added to the DOM.
|
|
22
|
-
*
|
|
23
|
-
* It can be used to e.g. modify `script.async`/`script.defer`, add event
|
|
24
|
-
* listeners to the element, or pass data to the script via `script.dataset`
|
|
25
|
-
* (which can be accessed by the script via `document.currentScript`).
|
|
26
|
-
*/
|
|
27
|
-
modifyScript?: (script: HTMLScriptElement) => Promise<void> | void;
|
|
28
|
-
}
|
|
29
|
-
export interface InjectScriptResult {
|
|
30
|
-
/**
|
|
31
|
-
* The created script element. It can be used to e.g. send messages to the
|
|
32
|
-
* script in the form of custom events. The script can add an event listener
|
|
33
|
-
* for them via `document.currentScript`.
|
|
34
|
-
*/
|
|
35
|
-
script: HTMLScriptElement;
|
|
36
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export declare class WxtLocationChangeEvent extends Event {
|
|
2
|
-
readonly newUrl: URL;
|
|
3
|
-
readonly oldUrl: URL;
|
|
4
|
-
static EVENT_NAME: string;
|
|
5
|
-
constructor(newUrl: URL, oldUrl: URL);
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Returns an event name unique to the extension and content script that's running.
|
|
9
|
-
*/
|
|
10
|
-
export declare function getUniqueEventName(eventName: string): string;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export interface WxtWebSocket extends WebSocket {
|
|
2
|
-
addWxtEventListener(type: 'wxt:reload-extension', callback: (event: CustomEvent<undefined>) => void, options?: AddEventListenerOptions | boolean): void;
|
|
3
|
-
addWxtEventListener(type: 'wxt:reload-content-script', callback?: (event: CustomEvent<ReloadContentScriptPayload>) => void, options?: AddEventListenerOptions | boolean): void;
|
|
4
|
-
addWxtEventListener(type: 'wxt:reload-page', callback?: (event: CustomEvent<string>) => void, options?: AddEventListenerOptions | boolean): void;
|
|
5
|
-
sendCustom(event: string, payload?: any): void;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Connect to the websocket and listen for messages.
|
|
9
|
-
*
|
|
10
|
-
* @param onMessage Optional callback that is called when a message is recieved and we've verified
|
|
11
|
-
* it's structure is what we expect.
|
|
12
|
-
*/
|
|
13
|
-
export declare function getDevServerWebSocket(): WxtWebSocket;
|
|
14
|
-
export interface ReloadContentScriptPayload {
|
|
15
|
-
registration?: 'manifest' | 'runtime';
|
|
16
|
-
contentScript: {
|
|
17
|
-
matches: string[];
|
|
18
|
-
js?: string[];
|
|
19
|
-
css?: string[];
|
|
20
|
-
};
|
|
21
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { logger } from "./logger.mjs";
|
|
2
|
-
let ws;
|
|
3
|
-
export function getDevServerWebSocket() {
|
|
4
|
-
if (import.meta.env.COMMAND !== "serve")
|
|
5
|
-
throw Error(
|
|
6
|
-
"Must be running WXT dev command to connect to call getDevServerWebSocket()"
|
|
7
|
-
);
|
|
8
|
-
if (ws == null) {
|
|
9
|
-
const serverUrl = __DEV_SERVER_ORIGIN__;
|
|
10
|
-
logger.debug("Connecting to dev server @", serverUrl);
|
|
11
|
-
ws = new WebSocket(serverUrl, "vite-hmr");
|
|
12
|
-
ws.addWxtEventListener = ws.addEventListener.bind(ws);
|
|
13
|
-
ws.sendCustom = (event, payload) => ws?.send(JSON.stringify({ type: "custom", event, payload }));
|
|
14
|
-
ws.addEventListener("open", () => {
|
|
15
|
-
logger.debug("Connected to dev server");
|
|
16
|
-
});
|
|
17
|
-
ws.addEventListener("close", () => {
|
|
18
|
-
logger.debug("Disconnected from dev server");
|
|
19
|
-
});
|
|
20
|
-
ws.addEventListener("error", (event) => {
|
|
21
|
-
logger.error("Failed to connect to dev server", event);
|
|
22
|
-
});
|
|
23
|
-
ws.addEventListener("message", (e) => {
|
|
24
|
-
try {
|
|
25
|
-
const message = JSON.parse(e.data);
|
|
26
|
-
if (message.type === "custom") {
|
|
27
|
-
ws?.dispatchEvent(
|
|
28
|
-
new CustomEvent(message.event, { detail: message.data })
|
|
29
|
-
);
|
|
30
|
-
}
|
|
31
|
-
} catch (err) {
|
|
32
|
-
logger.error("Failed to handle message", err);
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
return ws;
|
|
37
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ContentScriptContext } from '../content-script-context';
|
|
2
|
-
/**
|
|
3
|
-
* Create a util that watches for URL changes, dispatching the custom event when detected. Stops
|
|
4
|
-
* watching when content script is invalidated.
|
|
5
|
-
*/
|
|
6
|
-
export declare function createLocationWatcher(ctx: ContentScriptContext): {
|
|
7
|
-
/**
|
|
8
|
-
* Ensure the location watcher is actively looking for URL changes. If it's already watching,
|
|
9
|
-
* this is a noop.
|
|
10
|
-
*/
|
|
11
|
-
run(): void;
|
|
12
|
-
};
|
package/dist/utils/storage.d.ts
DELETED
package/dist/version.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const version = "{{version}}";
|