webext-messenger 0.27.0 → 0.28.0
Sign up to get free protection for your applications and to get access to all the features.
- package/distribution/thisTarget.js +6 -0
- package/package.json +8 -7
- package/readme.md +1 -1
@@ -2,6 +2,7 @@ import { getContextName, isBackground, isExtensionContext, } 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";
|
5
|
+
import { pEvent } from "p-event";
|
5
6
|
/**
|
6
7
|
* @file This file exists because `runtime.sendMessage` acts as a broadcast to
|
7
8
|
* all open extension pages, so the receiver needs a way to figure out if the
|
@@ -47,6 +48,11 @@ const storeTabData = once(async () => {
|
|
47
48
|
if (tabDataStatus !== "needed") {
|
48
49
|
return;
|
49
50
|
}
|
51
|
+
// If the page is prerendering, wait for the change to be able to get the tab data so the frameId is correct
|
52
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/Document/prerenderingchange_event
|
53
|
+
if ("prerendering" in document && Boolean(document.prerendering)) {
|
54
|
+
await pEvent(document, 'prerenderingchange');
|
55
|
+
}
|
50
56
|
try {
|
51
57
|
tabDataStatus = "pending";
|
52
58
|
Object.assign(thisTarget, await messenger("__getTabData", {}, { page: "any" }));
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "webext-messenger",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.28.0",
|
4
4
|
"description": "Browser Extension component messaging framework",
|
5
5
|
"keywords": [],
|
6
6
|
"repository": "pixiebrix/webext-messenger",
|
@@ -26,9 +26,10 @@
|
|
26
26
|
"watch": "tsc --watch"
|
27
27
|
},
|
28
28
|
"dependencies": {
|
29
|
+
"p-event": "^6.0.1",
|
29
30
|
"p-retry": "^6.2.0",
|
30
31
|
"serialize-error": "^11.0.3",
|
31
|
-
"type-fest": "^4.
|
32
|
+
"type-fest": "^4.18.3",
|
32
33
|
"webext-detect-page": "^5.0.1"
|
33
34
|
},
|
34
35
|
"@parcel/resolver-default": {
|
@@ -37,12 +38,12 @@
|
|
37
38
|
"devDependencies": {
|
38
39
|
"@parcel/config-webextension": "^2.11.0",
|
39
40
|
"@sindresorhus/tsconfig": "^5.0.0",
|
40
|
-
"@types/chrome": "^0.0.
|
41
|
+
"@types/chrome": "^0.0.268",
|
41
42
|
"@types/tape": "^5.6.4",
|
42
43
|
"@types/webextension-polyfill": "^0.10.7",
|
43
44
|
"buffer": "^6.0.3",
|
44
45
|
"eslint": "^8.57.0",
|
45
|
-
"eslint-config-pixiebrix": "^0.
|
46
|
+
"eslint-config-pixiebrix": "^0.39.0",
|
46
47
|
"events": "^3.3.0",
|
47
48
|
"npm-run-all": "^4.1.5",
|
48
49
|
"parcel": "^2.11.0",
|
@@ -50,10 +51,10 @@
|
|
50
51
|
"process": "^0.11.10",
|
51
52
|
"stream-browserify": "^3.0.0",
|
52
53
|
"tape": "^5.7.5",
|
53
|
-
"typescript": "^5.4.
|
54
|
-
"vitest": "^1.
|
54
|
+
"typescript": "^5.4.5",
|
55
|
+
"vitest": "^1.6.0",
|
55
56
|
"webext-content-scripts": "^2.6.1",
|
56
|
-
"webextension-polyfill": "^0.
|
57
|
+
"webextension-polyfill": "^0.12.0"
|
57
58
|
},
|
58
59
|
"targets": {
|
59
60
|
"main": false,
|
package/readme.md
CHANGED
@@ -17,7 +17,7 @@ import messenger from "webext-messenger";
|
|
17
17
|
|
18
18
|
## Context
|
19
19
|
|
20
|
-
- [Initial
|
20
|
+
- [Initial considerations for this library](https://github.com/pixiebrix/webext-messenger/issues/1)
|
21
21
|
|
22
22
|
|
23
23
|
## npm publishing
|