@php-wasm/web-service-worker 0.1.60 → 0.2.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@php-wasm/web-service-worker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "PHP.wasm – service worker utils",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,8 +23,12 @@
|
|
|
23
23
|
"type": "module",
|
|
24
24
|
"main": "src/index.js",
|
|
25
25
|
"types": "src/index.d.ts",
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "cd4062de74f7f18058d3f962e124d0fdff78b5a7",
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=16.15.1",
|
|
29
|
+
"npm": ">=8.11.0"
|
|
30
|
+
},
|
|
27
31
|
"dependencies": {
|
|
28
|
-
"@php-wasm/scopes": "0.
|
|
32
|
+
"@php-wasm/scopes": "0.2.0"
|
|
29
33
|
}
|
|
30
34
|
}
|
|
@@ -23,18 +23,11 @@ export declare function convertFetchEventToPHPRequest(event: FetchEvent): Promis
|
|
|
23
23
|
* what this function uses to broadcast the message.
|
|
24
24
|
*
|
|
25
25
|
* @param message The message to broadcast.
|
|
26
|
-
* @param scope Target worker
|
|
26
|
+
* @param scope Target web worker scope.
|
|
27
27
|
* @returns The request ID to receive the reply.
|
|
28
28
|
*/
|
|
29
29
|
export declare function broadcastMessageExpectReply(message: any, scope: string): Promise<number>;
|
|
30
30
|
interface ServiceWorkerConfiguration {
|
|
31
|
-
/**
|
|
32
|
-
* The version of the service worker – exposed via the /version endpoint.
|
|
33
|
-
*
|
|
34
|
-
* This is used by the frontend app to know whether it's time to update
|
|
35
|
-
* the service worker registration.
|
|
36
|
-
*/
|
|
37
|
-
version: string | (() => string);
|
|
38
31
|
handleRequest?: (event: FetchEvent) => Promise<Response> | undefined;
|
|
39
32
|
}
|
|
40
33
|
/**
|
|
@@ -7,54 +7,13 @@ import { getURLScope, isURLScoped, removeURLScope, setURLScope, } from '@php-was
|
|
|
7
7
|
* @param config
|
|
8
8
|
*/
|
|
9
9
|
export function initializeServiceWorker(config) {
|
|
10
|
-
const {
|
|
11
|
-
/**
|
|
12
|
-
* Enable the client app to force-update the service worker
|
|
13
|
-
* registration.
|
|
14
|
-
*/
|
|
15
|
-
self.addEventListener('message', (event) => {
|
|
16
|
-
if (!event.data) {
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
if (event.data === 'skip-waiting') {
|
|
20
|
-
self.skipWaiting();
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
/**
|
|
24
|
-
* Ensure the client gets claimed by this service worker right after the registration.
|
|
25
|
-
*
|
|
26
|
-
* Only requests from the "controlled" pages are resolved via the fetch listener below.
|
|
27
|
-
* However, simply registering the worker is not enough to make it the "controller" of
|
|
28
|
-
* the current page. The user still has to reload the page. If they don't an iframe
|
|
29
|
-
* pointing to /index.php will show a 404 message instead of a homepage.
|
|
30
|
-
*
|
|
31
|
-
* This activation handles saves the user reloading the page after the initial confusion.
|
|
32
|
-
* It immediately makes this worker the controller of any client that registers it.
|
|
33
|
-
*/
|
|
34
|
-
self.addEventListener('activate', (event) => {
|
|
35
|
-
// eslint-disable-next-line no-undef
|
|
36
|
-
event.waitUntil(self.clients.claim());
|
|
37
|
-
});
|
|
10
|
+
const { handleRequest = defaultRequestHandler } = config;
|
|
38
11
|
/**
|
|
39
12
|
* The main method. It captures the requests and loop them back to the
|
|
40
13
|
* Worker Thread using the Loopback request
|
|
41
14
|
*/
|
|
42
15
|
self.addEventListener('fetch', (event) => {
|
|
43
16
|
const url = new URL(event.request.url);
|
|
44
|
-
// Provide a custom JSON response in the special /version endpoint
|
|
45
|
-
// so the frontend app can know whether it's time to update the
|
|
46
|
-
// service worker registration.
|
|
47
|
-
if (url.pathname === '/version') {
|
|
48
|
-
event.preventDefault();
|
|
49
|
-
const currentVersion = typeof version === 'function' ? version() : version;
|
|
50
|
-
event.respondWith(new Response(JSON.stringify({ version: currentVersion }), {
|
|
51
|
-
headers: {
|
|
52
|
-
'Content-Type': 'application/json',
|
|
53
|
-
},
|
|
54
|
-
status: 200,
|
|
55
|
-
}));
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
17
|
// Don't handle requests to the service worker script itself.
|
|
59
18
|
if (url.pathname.startsWith(self.location.pathname)) {
|
|
60
19
|
return;
|
|
@@ -171,7 +130,7 @@ export async function convertFetchEventToPHPRequest(event) {
|
|
|
171
130
|
* what this function uses to broadcast the message.
|
|
172
131
|
*
|
|
173
132
|
* @param message The message to broadcast.
|
|
174
|
-
* @param scope Target worker
|
|
133
|
+
* @param scope Target web worker scope.
|
|
175
134
|
* @returns The request ID to receive the reply.
|
|
176
135
|
*/
|
|
177
136
|
export async function broadcastMessageExpectReply(message, scope) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize-service-worker.js","sourceRoot":"","sources":["../../../../../packages/php-wasm/web-service-worker/src/initialize-service-worker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACN,WAAW,EACX,WAAW,EACX,cAAc,EACd,WAAW,GACX,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAkC;IACzE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"initialize-service-worker.js","sourceRoot":"","sources":["../../../../../packages/php-wasm/web-service-worker/src/initialize-service-worker.ts"],"names":[],"mappings":"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"}
|