webext-messenger 0.28.0 → 0.29.0-0
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/distribution/receiver.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { serializeError } from "serialize-error";
|
2
|
-
import { getContextName } from "webext-detect
|
2
|
+
import { getContextName } from "webext-detect";
|
3
3
|
import { messenger } from "./sender.js";
|
4
4
|
import { isObject, MessengerError, __webextMessenger } from "./shared.js";
|
5
5
|
import { log } from "./logging.js";
|
package/distribution/sender.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import pRetry from "p-retry";
|
2
|
-
import { isBackground } from "webext-detect
|
2
|
+
import { isBackground } from "webext-detect";
|
3
3
|
import { deserializeError } from "serialize-error";
|
4
4
|
import { isObject, MessengerError, __webextMessenger } from "./shared.js";
|
5
5
|
import { log } from "./logging.js";
|
@@ -113,7 +113,10 @@ async function manageMessage(type, target, seq, retry, sendMessage) {
|
|
113
113
|
log.debug(type, seq, "will retry. Attempt", error.attemptNumber);
|
114
114
|
},
|
115
115
|
}).catch((error) => {
|
116
|
-
if (error
|
116
|
+
if (error &&
|
117
|
+
typeof error === "object" &&
|
118
|
+
"message" in error &&
|
119
|
+
error?.message === _errorNonExistingTarget) {
|
117
120
|
throw new MessengerError(`The target ${JSON.stringify(target)} for ${type} was not found`);
|
118
121
|
}
|
119
122
|
events.dispatchEvent(new CustomEvent("attempts-exhausted", {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { assert, describe, test, vi } from "vitest";
|
2
2
|
import { getActionForMessage } from "./targetLogic.js";
|
3
|
-
import { isContentScript, isBackground } from "webext-detect
|
4
|
-
vi.mock("webext-detect
|
3
|
+
import { isContentScript, isBackground } from "webext-detect";
|
4
|
+
vi.mock("webext-detect");
|
5
5
|
const tab = {
|
6
6
|
id: 1,
|
7
7
|
url: "http://example.com",
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { getContextName, isBackground, isExtensionContext, } from "webext-detect
|
1
|
+
import { getContextName, isBackground, isExtensionContext, isOffscreenDocument, } from "webext-detect";
|
2
2
|
import { messenger } from "./sender.js";
|
3
3
|
import { registerMethods } from "./receiver.js";
|
4
4
|
import { MessengerError, once } from "./shared.js";
|
@@ -28,19 +28,21 @@ import { pEvent } from "p-event";
|
|
28
28
|
// If a message is received before this is ready, it will just have to be ignored.
|
29
29
|
export const thisTarget = isBackground()
|
30
30
|
? { page: "background" }
|
31
|
-
:
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
31
|
+
: (isOffscreenDocument()
|
32
|
+
? { page: "offscreen" }
|
33
|
+
: {
|
34
|
+
get page() {
|
35
|
+
// Extension pages have relative URLs to simplify comparison
|
36
|
+
const origin = location.protocol.startsWith("http")
|
37
|
+
? location.origin
|
38
|
+
: "";
|
39
|
+
// Don't use the hash
|
40
|
+
return origin + location.pathname + location.search;
|
41
|
+
},
|
42
|
+
});
|
41
43
|
let tabDataStatus =
|
42
44
|
// The background page doesn't have a tab
|
43
|
-
isBackground() ? "not-needed" : "needed";
|
45
|
+
isBackground() || isOffscreenDocument() ? "not-needed" : "needed";
|
44
46
|
export function getTabDataStatus() {
|
45
47
|
return tabDataStatus;
|
46
48
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "webext-messenger",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.29.0-0",
|
4
4
|
"description": "Browser Extension component messaging framework",
|
5
5
|
"keywords": [],
|
6
6
|
"repository": "pixiebrix/webext-messenger",
|
@@ -29,31 +29,32 @@
|
|
29
29
|
"p-event": "^6.0.1",
|
30
30
|
"p-retry": "^6.2.0",
|
31
31
|
"serialize-error": "^11.0.3",
|
32
|
-
"type-fest": "^4.
|
33
|
-
"webext-detect
|
32
|
+
"type-fest": "^4.26.1",
|
33
|
+
"webext-detect": "^5.3.1",
|
34
|
+
"webext-events": "^3.1.1"
|
34
35
|
},
|
35
36
|
"@parcel/resolver-default": {
|
36
37
|
"packageExports": true
|
37
38
|
},
|
38
39
|
"devDependencies": {
|
39
40
|
"@parcel/config-webextension": "^2.11.0",
|
40
|
-
"@sindresorhus/tsconfig": "^
|
41
|
-
"@types/chrome": "^0.0.
|
41
|
+
"@sindresorhus/tsconfig": "^6.0.0",
|
42
|
+
"@types/chrome": "^0.0.279",
|
42
43
|
"@types/tape": "^5.6.4",
|
43
|
-
"@types/webextension-polyfill": "^0.
|
44
|
+
"@types/webextension-polyfill": "^0.12.1",
|
44
45
|
"buffer": "^6.0.3",
|
45
46
|
"eslint": "^8.57.0",
|
46
|
-
"eslint-config-pixiebrix": "^0.
|
47
|
+
"eslint-config-pixiebrix": "^0.40.1",
|
47
48
|
"events": "^3.3.0",
|
48
49
|
"npm-run-all": "^4.1.5",
|
49
50
|
"parcel": "^2.11.0",
|
50
51
|
"path-browserify": "^1.0.1",
|
51
52
|
"process": "^0.11.10",
|
52
53
|
"stream-browserify": "^3.0.0",
|
53
|
-
"tape": "^5.
|
54
|
-
"typescript": "^5.
|
55
|
-
"vitest": "^1.
|
56
|
-
"webext-content-scripts": "^2.
|
54
|
+
"tape": "^5.9.0",
|
55
|
+
"typescript": "^5.6.3",
|
56
|
+
"vitest": "^2.1.4",
|
57
|
+
"webext-content-scripts": "^2.7.0",
|
57
58
|
"webextension-polyfill": "^0.12.0"
|
58
59
|
},
|
59
60
|
"targets": {
|
@@ -73,7 +74,8 @@
|
|
73
74
|
"run": {
|
74
75
|
"startUrl": [
|
75
76
|
"https://fregante.github.io/pixiebrix-testing-ground/Will-call-background-methods",
|
76
|
-
"https://fregante.github.io/pixiebrix-testing-ground/Will-call-other-CS-via-background"
|
77
|
+
"https://fregante.github.io/pixiebrix-testing-ground/Will-call-other-CS-via-background",
|
78
|
+
"https://fregante.github.io/pixiebrix-testing-ground/Will-call-offscreen-methods"
|
77
79
|
]
|
78
80
|
}
|
79
81
|
}
|