@pwa-platform/sw-runtime 0.1.0 → 0.2.1

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/README.md CHANGED
@@ -1,9 +1,83 @@
1
1
  # @pwa-platform/sw-runtime
2
2
 
3
- Service worker and recovery runtime for PWA Platform.
3
+ PWA Platform 的 Service Worker 运行时与恢复 worker。它把编译后的 `PwaPlan` 落成请求路由、预缓存、离线回退、公共读取缓存、更新接管和本应用数据清理行为。
4
4
 
5
- Internal platform service worker and recovery worker implementation. Applications should not register its entries directly.
5
+ ## 谁会使用
6
6
 
7
- The `0.1.0` release provides online use, installation integration, static precaching, a safe offline fallback, and controlled updates. It does not enable runtime business API caching, private data caching, automatic write replay, or Push for applications. Production deployment requires the application and infrastructure checks described in the PWA Platform release runbook.
7
+ 业务应用通常不直接注册本包的 worker entry。`@pwa-platform/vite` 会生成、注入并发布正确的 worker 文件,Vue/React 包负责页面生命周期。只有开发构建适配器、worker 集成或发布恢复工具时才直接依赖本包。
8
+
9
+ ```sh
10
+ npm install @pwa-platform/sw-runtime
11
+ ```
12
+
13
+ 要求 Node.js 22 或更高版本。
14
+
15
+ ## 公开入口
16
+
17
+ | 入口 | 环境 | 作用 |
18
+ | --- | --- | --- |
19
+ | `@pwa-platform/sw-runtime` | Node/构建期 | 从计划创建平台/恢复配置,并注入 worker 源码;也导出路径匹配器 |
20
+ | `@pwa-platform/sw-runtime/worker` | Service Worker | `registerPlatformWorker()` 与请求判定类型 |
21
+ | `@pwa-platform/sw-runtime/recovery-worker` | Service Worker | `registerRecoveryWorker()`,只清理本应用命名空间并接管客户端 |
22
+ | `@pwa-platform/sw-runtime/messages` | 页面与 worker | 更新确认、离线写和运行时缓存信号的消息类型与守卫 |
23
+ | `@pwa-platform/sw-runtime/push-payload` | 环境中立 | Push payload 大小、版本、形状检查;公开 Push 产品能力仍未交付 |
24
+ | `./platform-worker-entry` | 构建适配器 | 平台 worker 模板入口,不供页面直接 import |
25
+ | `./recovery-worker-entry` | 构建适配器 | 恢复 worker 模板入口,不供页面直接 import |
26
+
27
+ ## 平台 worker 行为
28
+
29
+ `registerPlatformWorker()` 会:
30
+
31
+ - 安装计划中的精确预缓存条目并清理过时预缓存;
32
+ - 对导航执行网络优先,并在网络失败或配置的超时后使用已声明离线页;
33
+ - 仅对 PwaPolicy v3 明确允许的同源公共 GET 使用运行时缓存;
34
+ - 对非 GET、跨 Origin、`no-store`、opaque、重定向、WebSocket 与未分类请求保持基础拒绝;
35
+ - 在页面发送 `pwa:skip-waiting` 后才跳过等待;
36
+ - 向页面发送“从运行时缓存提供”的结构化信号;
37
+ - 对工作区离线写扩展使用显式消息协议,不自动拦截业务写请求。
38
+
39
+ 它不会把所有 API 自动缓存,也不会自动重放任意 POST。
40
+
41
+ ## 恢复 worker 行为
42
+
43
+ `registerRecoveryWorker()` 是事故/演练产物,不是日常开关。它只注册 `install` 和 `activate`:
44
+
45
+ 1. 立即接管;
46
+ 2. 删除以当前应用前缀命名的 Cache Storage 条目;
47
+ 3. 清理对应 Workbox expiration 记录和 identity 派生的离线写数据库;
48
+ 4. 尝试取消当前 registration 的 Push subscription;
49
+ 5. 不注册 fetch、push 或 notification click 处理器,让请求回到网络。
50
+
51
+ 它不会删除其他应用的缓存,也不会跨 Origin 清理数据。发布方必须先生成并演练恢复产物,再在事故中把它部署到原 worker URL。
52
+
53
+ ## 构建期 API
54
+
55
+ ```ts
56
+ import {
57
+ createPlatformWorkerConfig,
58
+ createRecoveryWorkerConfig,
59
+ injectWorkerConfig,
60
+ } from "@pwa-platform/sw-runtime";
61
+
62
+ const platformConfig = createPlatformWorkerConfig(plan);
63
+ const worker = injectWorkerConfig(workerTemplate, platformConfig);
64
+ ```
65
+
66
+ `createPathMatcher()` 可让构建适配器按与 worker 相同的完整路径段语义匹配规则。
67
+
68
+ ## 消息与 Push payload
69
+
70
+ `SKIP_WAITING_MESSAGE` 是页面确认更新时发送的唯一接管消息。`isSkipWaitingMessage()`、`isOfflineWriteMessage()`、`isRuntimeCacheServedMessage()` 等守卫只接受闭合的纯数据对象,避免调用不可信 accessor。
71
+
72
+ `checkPushPayload()`/`checkPushPayloadText()`/`validatePushPayload()` 只验证 payload 契约;它们不代表 `@pwa-platform/push` 已公开。当前正式版(0.2.1)的公开接入面不包含 Push 订阅与后端发送服务。
73
+
74
+ ## 安全边界
75
+
76
+ - 不要绕过 `@pwa-platform/core` 自行构造 worker 配置。
77
+ - 不要把 entry 文件当成通用 Service Worker 模板直接注册。
78
+ - 公共读取缓存需要业务证明响应与身份无关,并正确设置 `Cache-Control`;worker 看不到的 `Set-Cookie` 风险不能只靠运行时解决。
79
+ - 更新接管不等于页面刷新,刷新时机由宿主应用决定。
80
+
81
+ 接入应用请从[Vite + 框架指南](https://github.com/haigeerlab/pwa-platform/blob/main/website/start/choose.md)开始;事故流程见[部署与发布](https://github.com/haigeerlab/pwa-platform/blob/main/website/operations/release.md)。
8
82
 
9
83
  License: MIT.
@@ -29,14 +29,24 @@ export function registerRecoveryWorker({ scope, config }) {
29
29
  * identity-derived queue database, cancels this registration's push subscription (if any), then claims the open
30
30
  * clients so they stop being controlled by the broken worker. Cancelling the subscription never blocks deletion or
31
31
  * takeover: it runs after deletion and before claim, and its own failure is swallowed.
32
+ *
33
+ * One failed deletion never stops the others (review #15): the activate event runs once, so whatever is skipped here
34
+ * would stay behind until the next deployment. After every deletion was attempted, any failure rejects before the
35
+ * push step and the claim, so recovery still fails closed.
32
36
  */
33
37
  async function recover(scope, appCachePrefix, offlineWriteDatabaseName) {
38
+ const failures = [];
39
+ const record = (error) => {
40
+ failures.push(error);
41
+ };
34
42
  for (const name of await scope.caches.keys()) {
35
43
  if (name.startsWith(appCachePrefix))
36
- await scope.caches.delete(name);
44
+ await scope.caches.delete(name).catch(record);
37
45
  }
38
46
  await deleteExpirationRecordsBestEffort(appCachePrefix);
39
- await deleteOfflineWriteDatabase(offlineWriteDatabaseName);
47
+ await deleteOfflineWriteDatabase(offlineWriteDatabaseName).catch(record);
48
+ if (failures.length > 0)
49
+ throw failures[0];
40
50
  await cancelPushSubscription(scope);
41
51
  await scope.clients.claim();
42
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recovery-worker/index.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G,yGAAyG;AACzG,2GAA2G;AAC3G,+DAA+D;AAC/D,OAAO,EAAE,4BAA4B,EAAgC,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAQ1E;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAA4B;IAChF,MAAM,EAAE,cAAc,EAAE,wBAAwB,EAAE,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAE1F,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,wGAAwG;QACxG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3C,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,OAAO,CAAC,KAA+B,EAAE,cAAsB,EAAE,wBAAgC;IAC9G,KAAK,MAAM,IAAI,IAAI,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YAAE,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,iCAAiC,CAAC,cAAc,CAAC,CAAC;IACxD,MAAM,0BAA0B,CAAC,wBAAwB,CAAC,CAAC;IAC3D,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iCAAiC,CAAC,cAAsB;IACrE,IAAI,CAAC;QACH,MAAM,uBAAuB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,wCAAwC;IAC1C,CAAC;AACH,CAAC;AAED,mHAAmH;AACnH,SAAS,0BAA0B,CAAC,IAAY;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,SAAS,GAAG,GAAS,EAAE,CAAC,OAAO,EAAE,CAAC;QAC1C,OAAO,CAAC,OAAO,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAC3G,OAAO,CAAC,SAAS,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,qHAAqH;AACrH,KAAK,UAAU,sBAAsB,CAAC,KAA+B;IACnE,IAAI,CAAC,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC;QAAE,OAAO;IACnD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAC5E,IAAI,YAAY,KAAK,IAAI;YAAE,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,6FAA6F;IAC/F,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recovery-worker/index.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ export type PwaRuntimeAdmitOptions = {
3
3
  readonly strategy: "network-first" | "stale-while-revalidate";
4
4
  readonly maxEntryBytes: number;
5
5
  };
6
+ /** Why a response was not written to the runtime cache, one per admission condition (spec "响应准入"). */
7
+ export type PwaRuntimeRejectionReason = "response-type" | "status" | "redirected" | "content-type" | "cache-control" | "vary" | "size";
6
8
  /** True only if `response` may be written to the runtime cache. Never consumes `response` itself. */
7
9
  export declare function admitRuntimeResponse(response: Response, options: PwaRuntimeAdmitOptions): Promise<boolean>;
10
+ /** The first admission condition `response` fails, or undefined when it may be written. Never consumes `response`. */
11
+ export declare function runtimeAdmissionRejection(response: Response, options: PwaRuntimeAdmitOptions): Promise<PwaRuntimeRejectionReason | undefined>;
8
12
  //# sourceMappingURL=admit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admit.d.ts","sourceRoot":"","sources":["../../src/worker/admit.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,2BAA2B,CAAC;IACpE,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,wBAAwB,CAAC;IAC9D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAIF,qGAAqG;AACrG,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAQhH"}
1
+ {"version":3,"file":"admit.d.ts","sourceRoot":"","sources":["../../src/worker/admit.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,2BAA2B,CAAC;IACpE,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,wBAAwB,CAAC;IAC9D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAAC;AAIF,sGAAsG;AACtG,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvI,qGAAqG;AACrG,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhH;AAED,sHAAsH;AACtH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAUhD"}
@@ -4,17 +4,25 @@
4
4
  const ALLOWED_VARY_TOKENS = new Set(["accept", "accept-encoding"]);
5
5
  /** True only if `response` may be written to the runtime cache. Never consumes `response` itself. */
6
6
  export async function admitRuntimeResponse(response, options) {
7
- if (response.type !== "basic" || response.status !== 200 || response.redirected)
8
- return false;
7
+ return (await runtimeAdmissionRejection(response, options)) === undefined;
8
+ }
9
+ /** The first admission condition `response` fails, or undefined when it may be written. Never consumes `response`. */
10
+ export async function runtimeAdmissionRejection(response, options) {
11
+ if (response.type !== "basic")
12
+ return "response-type";
13
+ if (response.status !== 200)
14
+ return "status";
15
+ if (response.redirected)
16
+ return "redirected";
9
17
  if (!admittedMediaType(response.headers.get("content-type"), options.resourceClass))
10
- return false;
18
+ return "content-type";
11
19
  if (!admittedCacheControl(response.headers.get("cache-control"), options.strategy))
12
- return false;
20
+ return "cache-control";
13
21
  if (!admittedVary(response.headers.get("vary")))
14
- return false;
22
+ return "vary";
15
23
  // `Set-Cookie` is intentionally not checked: the Fetch spec makes it a forbidden response-header name on a basic
16
24
  // response, so a worker can never read it (see spec.public-read-cache "响应准入").
17
- return admittedSize(response, options.maxEntryBytes);
25
+ return (await admittedSize(response, options.maxEntryBytes)) ? undefined : "size";
18
26
  }
19
27
  function admittedMediaType(contentType, resourceClass) {
20
28
  if (contentType === null)
@@ -1 +1 @@
1
- {"version":3,"file":"admit.js","sourceRoot":"","sources":["../../src/worker/admit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admit.js","sourceRoot":"","sources":["../../src/worker/admit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../src/worker/decide.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,qBAAqB,CAAC;AAG9F,MAAM,MAAM,oBAAoB;AAC9B,+DAA+D;AAC7D,SAAS,GACT,cAAc;AAChB;;;GAGG;GACD,UAAU;AACZ;;;GAGG;GACD,QAAQ,GACR,cAAc;AAChB,8FAA8F;GAC5F,eAAe;AACjB,qCAAqC;GACnC,YAAY;AACd;;;;;;GAMG;GACD,OAAO;AACT;;;GAGG;GACD,eAAe,CAAC;AAEpB,MAAM,MAAM,kBAAkB;AAC5B,wGAAwG;AACtG;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;CAAE;AACzE,sDAAsD;GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE;AAC7D;;;GAGG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE;AACtE;;;;;GAKG;GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,wBAAwB,CAAC;IAC9D,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,2BAA2B,CAAC;IACpE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC,CAAC;AAEN,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4BAA4B;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,uGAAuG;IACvG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,mHAAmH;IACnH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,yFAAyF;IACzF,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IAAE,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,kBAAkB,CAAA;CAAE,CAAC;AAIjF,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,SAAS,CA8D1F"}
1
+ {"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../src/worker/decide.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,qBAAqB,CAAC;AAG9F,MAAM,MAAM,oBAAoB;AAC9B,+DAA+D;AAC7D,SAAS,GACT,cAAc;AAChB;;;GAGG;GACD,UAAU;AACZ;;;GAGG;GACD,QAAQ,GACR,cAAc;AAChB,8FAA8F;GAC5F,eAAe;AACjB,qCAAqC;GACnC,YAAY;AACd;;;;;;GAMG;GACD,OAAO;AACT;;;GAGG;GACD,eAAe,CAAC;AAEpB,MAAM,MAAM,kBAAkB;AAC5B,wGAAwG;AACtG;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;CAAE;AACzE,sDAAsD;GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE;AAC7D;;;GAGG;GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE;AACtE;;;;;GAKG;GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,wBAAwB,CAAC;IAC9D,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,2BAA2B,CAAC;IACpE,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC,CAAC;AAEN,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4BAA4B;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,uGAAuG;IACvG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,mHAAmH;IACnH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,yFAAyF;IACzF,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IAAE,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,kBAAkB,CAAA;CAAE,CAAC;AAIjF,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,SAAS,CA+D1F"}
@@ -35,8 +35,9 @@ export function createRouter({ config, manifestUrls, origin }) {
35
35
  if (navigation) {
36
36
  const fallbacks = navigationFallbacks(config, manifest, requested);
37
37
  // Only a navigation-public-dynamic rule turns a navigation into a runtime decision; a navigation under a
38
- // public-data rule behaves exactly as it does without runtime caching.
39
- if (runtimeRule !== undefined && runtimeRule.resourceClass === "navigation-public-dynamic") {
38
+ // public-data rule behaves exactly as it does without runtime caching. So does one carrying Authorization:
39
+ // the runtime cache never reads or writes such a request (spec.public-read-cache "请求判断").
40
+ if (runtimeRule !== undefined && runtimeRule.resourceClass === "navigation-public-dynamic" && !authorization) {
40
41
  return { kind: "runtime", cache: "pages", strategy: runtimeRule.strategy, resourceClass: runtimeRule.resourceClass, fallbacks };
41
42
  }
42
43
  return { kind: "navigate", fallbacks };
@@ -1 +1 @@
1
- {"version":3,"file":"decide.js","sourceRoot":"","sources":["../../src/worker/decide.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decide.js","sourceRoot":"","sources":["../../src/worker/decide.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import type { createRuntimeCacheEngine, PwaPrecacheEngine } from "@pwa-platform/engine-workbox/worker";
1
+ import type { createRuntimeCacheEngine, PwaPrecacheEngine, registerRuntimeCacheQuotaCleanup } from "@pwa-platform/engine-workbox/worker";
2
2
  import type { PwaPlatformWorkerConfig } from "../shared/config.js";
3
+ import type { PwaOfflineWriteStore } from "./offline-write-store.js";
3
4
  export type PwaPlatformWorkerHandlers = {
4
5
  readonly scope: ServiceWorkerGlobalScope;
5
6
  /** Already validated by `registerPlatformWorker`. */
@@ -10,6 +11,19 @@ export type PwaPlatformWorkerHandlers = {
10
11
  * always supplies the real Workbox-backed factory. Tests inject a fake so they never need to load Workbox.
11
12
  */
12
13
  readonly createRuntimeCacheEngine?: typeof createRuntimeCacheEngine;
14
+ /**
15
+ * Registers the worker-wide quota cleanup (R12, spec.public-read-cache "响应准入", ADR-0035 探路 2). Used whenever
16
+ * `config.runtimeCache.enabled` is true, independently of `createRuntimeCacheEngine`/`buildRuntimeEngines`'s lazy
17
+ * per-key engine building below — so a quota error clears every current runtime cache even when this worker's
18
+ * lifetime never built an engine for one of them. `registerPlatformWorker` always supplies the real Workbox-backed
19
+ * function; tests inject a fake to capture and invoke the registered callback directly.
20
+ */
21
+ readonly registerRuntimeCacheQuotaCleanup?: typeof registerRuntimeCacheQuotaCleanup;
22
+ /**
23
+ * Overrides the offline-write store `attachPlatformWorker` would otherwise build from `config.offlineWrites`.
24
+ * Real store transactions need a real IndexedDB, which the browser tests exercise; unit tests inject a fake here.
25
+ */
26
+ readonly offlineWriteStore?: PwaOfflineWriteStore;
13
27
  };
14
28
  /**
15
29
  * Registers `install`, `activate`, `fetch`, `message`, `push` and `notificationclick`, and nothing else. The worker
@@ -17,5 +31,5 @@ export type PwaPlatformWorkerHandlers = {
17
31
  * `notificationclick` are always on: see ADR-0021 for why a fixed pair of listeners has no observable effect on an
18
32
  * application that never subscribes to push.
19
33
  */
20
- export declare function attachPlatformWorker({ scope, config, engine, createRuntimeCacheEngine: runtimeCacheEngineFactory, }: PwaPlatformWorkerHandlers): void;
34
+ export declare function attachPlatformWorker({ scope, config, engine, createRuntimeCacheEngine: runtimeCacheEngineFactory, registerRuntimeCacheQuotaCleanup: registerQuotaCleanup, offlineWriteStore: offlineWriteStoreOverride, }: PwaPlatformWorkerHandlers): void;
21
35
  //# sourceMappingURL=handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/worker/handlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAyB,MAAM,qCAAqC,CAAC;AAI9H,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAUnE,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,wBAAwB,CAAC;CACrE,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,MAAM,EACN,MAAM,EACN,wBAAwB,EAAE,yBAAyB,GACpD,EAAE,yBAAyB,GAAG,IAAI,CAyFlC"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/worker/handlers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAyB,gCAAgC,EAAE,MAAM,qCAAqC,CAAC;AAIhK,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAQnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIrE,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,wBAAwB,CAAC;IACpE;;;;;;OAMG;IACH,QAAQ,CAAC,gCAAgC,CAAC,EAAE,OAAO,gCAAgC,CAAC;IACpF;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;CACnD,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,MAAM,EACN,MAAM,EACN,wBAAwB,EAAE,yBAAyB,EACnD,gCAAgC,EAAE,oBAAoB,EACtD,iBAAiB,EAAE,yBAAyB,GAC7C,EAAE,yBAAyB,GAAG,IAAI,CAmGlC"}
@@ -1,6 +1,6 @@
1
1
  import { isOfflineWriteMessage, isRuntimeCachePendingMessage, isSkipWaitingMessage } from "../messages/index.js";
2
2
  import { validatePushPayload } from "../push-payload/index.js";
3
- import { admitRuntimeResponse } from "./admit.js";
3
+ import { runtimeAdmissionRejection } from "./admit.js";
4
4
  import { createRouter } from "./decide.js";
5
5
  import { validateOfflineWriteEnqueue, validateOfflineWriteFlush } from "./offline-write-intent.js";
6
6
  import { flushOfflineWrites } from "./offline-write-flush.js";
@@ -15,13 +15,23 @@ const PENDING_SIGNAL_TTL_MS = 30_000;
15
15
  * `notificationclick` are always on: see ADR-0021 for why a fixed pair of listeners has no observable effect on an
16
16
  * application that never subscribes to push.
17
17
  */
18
- export function attachPlatformWorker({ scope, config, engine, createRuntimeCacheEngine: runtimeCacheEngineFactory, }) {
18
+ export function attachPlatformWorker({ scope, config, engine, createRuntimeCacheEngine: runtimeCacheEngineFactory, registerRuntimeCacheQuotaCleanup: registerQuotaCleanup, offlineWriteStore: offlineWriteStoreOverride, }) {
19
19
  const origin = new URL(scope.location.href).origin;
20
20
  const router = createRouter({ config, manifestUrls: engine.urls(), origin });
21
- const offlineWriteStore = config.offlineWrites.enabled ? createOfflineWriteStore(config.offlineWrites) : undefined;
21
+ const offlineWriteStore = config.offlineWrites.enabled ? (offlineWriteStoreOverride ?? createOfflineWriteStore(config.offlineWrites)) : undefined;
22
+ // Single-flight per session binding (spec "同一会话绑定的 flush 单飞", R5): a flush already in flight for a binding
23
+ // is awaited and its result reused, instead of a second concurrent message starting a second `prepareFlush`/send
24
+ // pass that would resend the same idempotency keys. Different bindings never share an entry.
25
+ const inFlightFlushes = new Map();
22
26
  const runtimeEngines = config.runtimeCache.enabled
23
27
  ? buildRuntimeEngines(config.runtimeCache, config.networkTimeoutSeconds, requireRuntimeCacheEngineFactory(runtimeCacheEngineFactory))
24
28
  : undefined;
29
+ // R12 (spec.public-read-cache "响应准入", ADR-0035 探路 2): registered once here, independently of which of the
30
+ // engines above `buildRuntimeEngines` actually builds on demand, so a quota error clears every current runtime
31
+ // cache rather than only the ones this worker's lifetime happened to build an engine for.
32
+ if (config.runtimeCache.enabled && registerQuotaCleanup !== undefined) {
33
+ registerQuotaCleanup(() => deleteRuntimeCaches(scope, config.runtimeCache).catch(() => undefined));
34
+ }
25
35
  const pendingSignals = createPendingSignalStore();
26
36
  scope.addEventListener("install", (event) => {
27
37
  // The engine passes its work to event.waitUntil, so a failed download fails the install; the rejection is only
@@ -91,7 +101,7 @@ export function attachPlatformWorker({ scope, config, engine, createRuntimeCache
91
101
  if (event.data.type === "pwa:offline-write:enqueue")
92
102
  event.waitUntil(enqueue(event.data, config, origin, offlineWriteStore, port));
93
103
  if (event.data.type === "pwa:offline-write:flush")
94
- event.waitUntil(flush(event.data, config, origin, offlineWriteStore, port, scope.fetch));
104
+ event.waitUntil(flush(event.data, config, origin, offlineWriteStore, inFlightFlushes, port, scope.fetch));
95
105
  });
96
106
  scope.addEventListener("push", (event) => {
97
107
  const payload = event.data === null ? null : validatePushPayload(event.data.text());
@@ -137,18 +147,34 @@ async function clear(message, store, port, scope, runtimeCache) {
137
147
  }
138
148
  replyClear(port, message.requestId);
139
149
  }
140
- async function flush(message, config, origin, store, port, send) {
150
+ async function flush(message, config, origin, store, inFlightFlushes, port, send) {
141
151
  const checked = validateOfflineWriteFlush(message, config);
142
152
  if (!checked.ok)
143
153
  return reply(port, message.requestId, "rejected", checked.code);
144
154
  try {
145
- const result = await flushOfflineWrites(store, checked.binding, origin, send);
155
+ const result = await flushOnce(store, checked.binding, origin, send, inFlightFlushes);
146
156
  replyFlush(port, message.requestId, result);
147
157
  }
148
158
  catch {
149
159
  reply(port, message.requestId, "rejected", "offline-write.storage");
150
160
  }
151
161
  }
162
+ /**
163
+ * Starts `flushOfflineWrites` for `binding` unless one is already in flight, in which case its promise is reused —
164
+ * every waiter observes the exact same settlement (fulfillment or rejection). Once it settles, the entry is removed
165
+ * so the next flush request for `binding` starts a fresh pass.
166
+ */
167
+ function flushOnce(store, binding, origin, send, inFlightFlushes) {
168
+ const existing = inFlightFlushes.get(binding);
169
+ if (existing !== undefined)
170
+ return existing;
171
+ const run = flushOfflineWrites(store, binding, origin, send);
172
+ inFlightFlushes.set(binding, run);
173
+ // Settlement cleanup must not itself become an unhandled rejection; the run's own rejection is still delivered to
174
+ // every caller awaiting `run` directly (this catch is on a separate chained promise nobody else awaits).
175
+ void run.finally(() => inFlightFlushes.delete(binding)).catch(() => undefined);
176
+ return run;
177
+ }
152
178
  async function enqueue(message, config, origin, store, port) {
153
179
  const checked = validateOfflineWriteEnqueue(message, config, origin);
154
180
  if (!checked.ok)
@@ -325,6 +351,7 @@ function requireRuntimeCacheEngineFactory(factory) {
325
351
  */
326
352
  function buildRuntimeEngines(runtimeCache, networkTimeoutSeconds, factory) {
327
353
  const built = new Map();
354
+ const reported = new Set();
328
355
  return (key) => {
329
356
  const existing = built.get(key);
330
357
  if (existing !== undefined)
@@ -335,7 +362,7 @@ function buildRuntimeEngines(runtimeCache, networkTimeoutSeconds, factory) {
335
362
  strategy: "network-first",
336
363
  maxEntries: runtimeCache.maxEntries,
337
364
  maxAgeSeconds: runtimeCache.maxAgeSeconds,
338
- admit: (response) => admitRuntimeResponse(response, {
365
+ admit: (response) => admitAndReport(response, key, reported, {
339
366
  resourceClass: "navigation-public-dynamic",
340
367
  strategy: "network-first",
341
368
  maxEntryBytes: runtimeCache.maxEntryBytes,
@@ -347,7 +374,7 @@ function buildRuntimeEngines(runtimeCache, networkTimeoutSeconds, factory) {
347
374
  strategy: key === "data-network-first" ? "network-first" : "stale-while-revalidate",
348
375
  maxEntries: runtimeCache.maxEntries,
349
376
  maxAgeSeconds: runtimeCache.maxAgeSeconds,
350
- admit: (response) => admitRuntimeResponse(response, {
377
+ admit: (response) => admitAndReport(response, key, reported, {
351
378
  resourceClass: "public-data",
352
379
  strategy: key === "data-network-first" ? "network-first" : "stale-while-revalidate",
353
380
  maxEntryBytes: runtimeCache.maxEntryBytes,
@@ -358,6 +385,28 @@ function buildRuntimeEngines(runtimeCache, networkTimeoutSeconds, factory) {
358
385
  return engine;
359
386
  };
360
387
  }
388
+ /**
389
+ * Runs the admission check and, the first time an (engine, reason) pair rejects a response in this worker's lifetime,
390
+ * reports it with `console.warn` (spec.public-read-cache "响应准入", review risk R8). The report is a debugging aid only:
391
+ * it names the reason and the response's path — never its query string — plus the `Vary` value when that was the
392
+ * cause, and never changes the admission result.
393
+ */
394
+ async function admitAndReport(response, key, reported, options) {
395
+ const reason = await runtimeAdmissionRejection(response, options);
396
+ if (reason === undefined)
397
+ return true;
398
+ const reportKey = `${key}:${reason}`;
399
+ if (!reported.has(reportKey)) {
400
+ reported.add(reportKey);
401
+ console.warn(rejectionMessage(response, reason));
402
+ }
403
+ return false;
404
+ }
405
+ function rejectionMessage(response, reason) {
406
+ const path = URL.canParse(response.url) ? new URL(response.url).pathname : "(unknown path)";
407
+ const vary = reason === "vary" ? ` (Vary: ${response.headers.get("vary") ?? ""})` : "";
408
+ return `[pwa-platform] runtime cache did not store ${path}: ${reason}${vary}. Further ${reason} rejections from this cache are not reported.`;
409
+ }
361
410
  /** `decide()` only ever returns a `"runtime"` decision once `config.runtimeCache.enabled` made `runtimeEngines` non-undefined. */
362
411
  function runtimeEngineFor(runtimeEngines, decision) {
363
412
  if (runtimeEngines === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/worker/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/worker/handlers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkD,KAAK,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AACpI,OAAO,EAAgC,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGjG,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,iGAAiG;IACjG,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACxD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,wBAAwB,GAAG,IAAI,CAIlG;AAED,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoF,KAAK,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AACtK,OAAO,EAAgC,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGjG,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;IACzC,iGAAiG;IACjG,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACxD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,wBAAwB,GAAG,IAAI,CAIlG;AAED,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
@@ -1,6 +1,6 @@
1
1
  // Platform worker (service worker scope): registers install, activate, fetch and message listeners.
2
2
  // It imports only @pwa-platform/engine-workbox/worker.
3
- import { createPrecacheEngine, createRuntimeCacheEngine } from "@pwa-platform/engine-workbox/worker";
3
+ import { createPrecacheEngine, createRuntimeCacheEngine, registerRuntimeCacheQuotaCleanup } from "@pwa-platform/engine-workbox/worker";
4
4
  import { validatePlatformWorkerConfig } from "../shared/config.js";
5
5
  import { attachPlatformWorker } from "./handlers.js";
6
6
  /**
@@ -11,6 +11,6 @@ import { attachPlatformWorker } from "./handlers.js";
11
11
  export function registerPlatformWorker({ scope, config, manifest }) {
12
12
  const validated = validatePlatformWorkerConfig(config);
13
13
  const engine = createPrecacheEngine({ cacheName: validated.precacheCacheName, entries: manifest });
14
- attachPlatformWorker({ scope, config: validated, engine, createRuntimeCacheEngine });
14
+ attachPlatformWorker({ scope, config: validated, engine, createRuntimeCacheEngine, registerRuntimeCacheQuotaCleanup });
15
15
  }
16
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,uDAAuD;AACvD,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAiC,MAAM,qCAAqC,CAAC;AACpI,OAAO,EAAE,4BAA4B,EAAgC,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAUrD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAA4B;IAC1F,MAAM,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnG,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;AACvF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,uDAAuD;AACvD,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,gCAAgC,EAAiC,MAAM,qCAAqC,CAAC;AACtK,OAAO,EAAE,4BAA4B,EAAgC,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAUrD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAA4B;IAC1F,MAAM,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnG,oBAAoB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,gCAAgC,EAAE,CAAC,CAAC;AACzH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pwa-platform/sw-runtime",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Service worker and recovery runtime for PWA Platform.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -38,15 +38,15 @@
38
38
  "dist"
39
39
  ],
40
40
  "dependencies": {
41
- "@pwa-platform/engine-workbox": "0.1.0",
42
- "@pwa-platform/contracts": "0.1.0"
41
+ "@pwa-platform/engine-workbox": "0.2.1",
42
+ "@pwa-platform/contracts": "0.2.1"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@playwright/test": "1.63.0",
46
46
  "@types/node": "24.13.4",
47
47
  "vite": "8.3.0",
48
- "@pwa-platform/core": "0.1.0",
49
- "@pwa-platform/browser-test-harness": "0.0.0"
48
+ "@pwa-platform/browser-test-harness": "0.0.0",
49
+ "@pwa-platform/core": "0.2.1"
50
50
  },
51
51
  "engines": {
52
52
  "node": ">=22.0.0"
@@ -60,6 +60,7 @@
60
60
  "build": "tsc --project tsconfig.build.json && tsc --project tsconfig.worker.build.json",
61
61
  "test": "vitest run",
62
62
  "test:browser": "playwright test",
63
+ "test:browser:engines": "playwright install webkit firefox && playwright test --config playwright.engines.config.ts",
63
64
  "typecheck": "tsc --noEmit --project tsconfig.json && tsc --noEmit --project tsconfig.worker.json && tsc --noEmit --project tsconfig.browser.json"
64
65
  }
65
66
  }