@php-wasm/web-service-worker 0.9.45 → 1.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/package.json +3 -3
- package/src/index.d.ts +1 -1
- package/src/index.js +1 -1
- package/src/index.js.map +1 -1
- package/src/{initialize-service-worker.d.ts → utils.d.ts} +0 -11
- package/src/{initialize-service-worker.js → utils.js} +1 -60
- package/src/utils.js.map +1 -0
- package/src/initialize-service-worker.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@php-wasm/web-service-worker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "PHP.wasm – service worker utils",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
"type": "module",
|
|
24
24
|
"main": "src/index.js",
|
|
25
25
|
"types": "src/index.d.ts",
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "9461d056ede8310ecfe01b72b5b095998a742ea3",
|
|
27
27
|
"engines": {
|
|
28
28
|
"node": ">=18.18.0",
|
|
29
29
|
"npm": ">=8.11.0"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@php-wasm/scopes": "0.
|
|
32
|
+
"@php-wasm/scopes": "1.0.0"
|
|
33
33
|
}
|
|
34
34
|
}
|
package/src/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './utils';
|
|
2
2
|
export * from './messaging';
|
package/src/index.js
CHANGED
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/php-wasm/web-service-worker/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/php-wasm/web-service-worker/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
|
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
/// <reference lib="webworker" />
|
|
2
|
-
/**
|
|
3
|
-
* Run this function in the service worker to install the required event
|
|
4
|
-
* handlers.
|
|
5
|
-
*
|
|
6
|
-
* @param config
|
|
7
|
-
*/
|
|
8
|
-
export declare function initializeServiceWorker(config: ServiceWorkerConfiguration): void;
|
|
9
2
|
export declare function convertFetchEventToPHPRequest(event: FetchEvent): Promise<Response>;
|
|
10
3
|
/**
|
|
11
4
|
* Sends the message to all the controlled clients
|
|
@@ -27,9 +20,6 @@ export declare function convertFetchEventToPHPRequest(event: FetchEvent): Promis
|
|
|
27
20
|
* @returns The request ID to receive the reply.
|
|
28
21
|
*/
|
|
29
22
|
export declare function broadcastMessageExpectReply(message: any, scope: string): Promise<number>;
|
|
30
|
-
interface ServiceWorkerConfiguration {
|
|
31
|
-
handleRequest?: (event: FetchEvent) => Promise<Response> | undefined;
|
|
32
|
-
}
|
|
33
23
|
/**
|
|
34
24
|
* Copy a request with custom overrides.
|
|
35
25
|
*
|
|
@@ -51,4 +41,3 @@ export declare function cloneRequest(request: Request, overrides: Record<string,
|
|
|
51
41
|
* @returns
|
|
52
42
|
*/
|
|
53
43
|
export declare function getRequestHeaders(request: Request): Record<string, string>;
|
|
54
|
-
export {};
|
|
@@ -1,65 +1,6 @@
|
|
|
1
1
|
/// <reference lib="WebWorker" />
|
|
2
2
|
import { awaitReply, getNextRequestId } from './messaging';
|
|
3
3
|
import { getURLScope, isURLScoped, setURLScope } from '@php-wasm/scopes';
|
|
4
|
-
/**
|
|
5
|
-
* Run this function in the service worker to install the required event
|
|
6
|
-
* handlers.
|
|
7
|
-
*
|
|
8
|
-
* @param config
|
|
9
|
-
*/
|
|
10
|
-
export function initializeServiceWorker(config) {
|
|
11
|
-
const { handleRequest = defaultRequestHandler } = config;
|
|
12
|
-
/**
|
|
13
|
-
* The main method. It captures the requests and loop them back to the
|
|
14
|
-
* Worker Thread using the Loopback request
|
|
15
|
-
*/
|
|
16
|
-
self.addEventListener('fetch', (event) => {
|
|
17
|
-
const url = new URL(event.request.url);
|
|
18
|
-
// Don't handle requests to the service worker script itself.
|
|
19
|
-
if (url.pathname.startsWith(self.location.pathname)) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
// Only handle requests from scoped sites.
|
|
23
|
-
// So – bale out if the request URL is not scoped and the
|
|
24
|
-
// referrer URL is not scoped.
|
|
25
|
-
if (!isURLScoped(url)) {
|
|
26
|
-
let referrerUrl;
|
|
27
|
-
try {
|
|
28
|
-
referrerUrl = new URL(event.request.referrer);
|
|
29
|
-
}
|
|
30
|
-
catch (e) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
if (!isURLScoped(referrerUrl)) {
|
|
34
|
-
// Let the browser handle uncoped requests as is.
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
const responsePromise = handleRequest(event);
|
|
39
|
-
if (responsePromise) {
|
|
40
|
-
event.respondWith(responsePromise);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
async function defaultRequestHandler(event) {
|
|
45
|
-
event.preventDefault();
|
|
46
|
-
const url = new URL(event.request.url);
|
|
47
|
-
const workerResponse = await convertFetchEventToPHPRequest(event);
|
|
48
|
-
if (workerResponse.status === 404 &&
|
|
49
|
-
(workerResponse.headers.get('x-backfill-from') === 'remote-host' ||
|
|
50
|
-
// TODO: Remove this once it become clear we aren't reverting
|
|
51
|
-
// request routing changes
|
|
52
|
-
workerResponse.headers.get('x-file-type') === 'static')) {
|
|
53
|
-
const request = await cloneRequest(event.request, {
|
|
54
|
-
url,
|
|
55
|
-
// Omit credentials to avoid causing cache aborts due to presence of
|
|
56
|
-
// cookies
|
|
57
|
-
credentials: 'omit',
|
|
58
|
-
});
|
|
59
|
-
return fetch(request);
|
|
60
|
-
}
|
|
61
|
-
return workerResponse;
|
|
62
|
-
}
|
|
63
4
|
export async function convertFetchEventToPHPRequest(event) {
|
|
64
5
|
let url = new URL(event.request.url);
|
|
65
6
|
if (!isURLScoped(url)) {
|
|
@@ -205,4 +146,4 @@ export function getRequestHeaders(request) {
|
|
|
205
146
|
});
|
|
206
147
|
return headers;
|
|
207
148
|
}
|
|
208
|
-
//# sourceMappingURL=
|
|
149
|
+
//# sourceMappingURL=utils.js.map
|
package/src/utils.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../packages/php-wasm/web-service-worker/src/utils.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAGjC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,6BAA6B,CAAC,KAAiB;IACpE,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAErC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC;YACJ,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpD,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,WAAW,CAAE,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,SAAS;QACV,CAAC;IACF,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;IAC/D,MAAM,IAAI,GACT,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM;QAC9B,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3D,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,cAAc,GAA2B,EAAE,CAAC;IAClD,KAAK,MAAM,IAAI,IAAK,KAAK,CAAC,OAAO,CAAC,OAAe,CAAC,OAAO,EAAE,EAAE,CAAC;QAC7D,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,WAAW,CAAC;IAChB,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG;YACf,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE;gBACL;oBACC,IAAI;oBACJ,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE;oBACnB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;oBAC5B,OAAO,EAAE;wBACR,GAAG,cAAc;wBACjB,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,sDAAsD;wBACtD,uDAAuD;wBACvD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS;wBACtC,cAAc,EAAE,WAAW;qBAC3B;iBACD;aACD;SACD,CAAC;QACF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACd,WAAW,GAAG,CAAC,QAAQ,EAAE,yCAAyC,CAClE,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,2BAA2B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpE,WAAW,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEhD,4CAA4C;QAC5C,gCAAgC;QAChC,OAAO,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,CAAC,CAAC;IACT,CAAC;IAED,OAAO,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE;QACtC,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,MAAM,EAAE,WAAW,CAAC,cAAc;KAClC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAAY,EAAE,KAAa;IAC5E,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IACrC,KAAK,MAAM,MAAM,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAChD,0DAA0D;QAC1D,0DAA0D;QAC1D,4DAA4D;QAC5D,sCAAsC;QACtC,mBAAmB,EAAE,IAAI;KACzB,CAAC,EAAE,CAAC;QACJ,MAAM,CAAC,WAAW,CAAC;YAClB,GAAG,OAAO;YACV;;;;;;eAMG;YACH,KAAK;YACL,SAAS;SACT,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,OAAgB,EAChB,SAA8B;IAE9B,MAAM,IAAI,GACT,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,SAAS;QAC9D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IAEzB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE;QACnD,IAAI;QACJ,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;QAChE,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG,SAAS;KACZ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IACjD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;QACtD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|