swpp-backends 2.1.10-beta.0 → 2.2.0-beta.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.
@@ -26,7 +26,7 @@ function buildServiceWorker() {
26
26
  const templatePath = path_1.default.resolve('./', module.path, 'resources/sw-template.js');
27
27
  // 获取拓展文件
28
28
  let cache = (0, Utils_1.getSource)(rules, undefined, [
29
- 'cacheRules', 'modifyRequest', 'getRaceUrls', 'getSpareUrls', 'blockRequest', 'fetchFile',
29
+ 'cacheRules', 'modifyRequest', 'getRaceUrls', 'getSpareUrls', 'blockRequest', 'fetchFile', 'skipRequest',
30
30
  ...('external' in rules && Array.isArray(rules.external) ? rules.external : [])
31
31
  ], true) + '\n';
32
32
  if (!fetchFile) {
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ const VersionAnalyzer_1 = require("./VersionAnalyzer");
10
10
  const DomBuilder_1 = require("./DomBuilder");
11
11
  // noinspection JSUnusedGlobalSymbols
12
12
  exports.default = {
13
- version: '2.1.8',
13
+ version: '2.2.0-beta.0',
14
14
  cache: {
15
15
  readEjectData: Utils_1.readEjectData, readUpdateJson: Variant_1.readUpdateJson,
16
16
  readRules: Variant_1.readRules, readMergeVersionMap: Variant_1.readMergeVersionMap,
@@ -45,7 +45,7 @@
45
45
  self.addEventListener('activate', event => event.waitUntil(clients.claim()))
46
46
 
47
47
  // noinspection JSFileReferences
48
- const { cacheRules, fetchFile, getSpareUrls } = require('../sw-rules')
48
+ const { cacheRules, fetchFile, getSpareUrls, skipRequest } = require('../sw-rules')
49
49
 
50
50
  // 检查请求是否成功
51
51
  // noinspection JSUnusedLocalSymbols
@@ -83,6 +83,7 @@
83
83
  // [blockRequest call]
84
84
  if (request.method !== 'GET' || !request.url.startsWith('http')) return
85
85
  // [modifyRequest call]
86
+ if (skipRequest?.(request)) return
86
87
  let cacheKey = url.hostname + url.pathname + url.search
87
88
  let cache = cacheMap.get(cacheKey)
88
89
  if (cache) {
@@ -155,7 +156,8 @@
155
156
  request,
156
157
  Object.assign({
157
158
  cache: optional ? "no-store" : "default",
158
- mode: 'cors'
159
+ mode: 'cors',
160
+ credentials: 'same-origin'
159
161
  }, optional || {})
160
162
  )
161
163
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "swpp-backends",
3
- "version": "2.1.10-beta.0",
3
+ "version": "2.2.0-beta.0",
4
4
  "main": "dist/index.js",
5
5
  "typings": "types/index.d.ts",
6
6
  "description": "Generate a powerful ServiceWorker for your website.",
@@ -27,6 +27,12 @@ export interface SwppRules {
27
27
  * @return 修改后的 Request,不修改的话返回 null 或不返回数据
28
28
  */
29
29
  modifyRequest?: (request: Request, $eject: any) => Request | undefined;
30
+ /**
31
+ * 判断是否跳过处理指定的请求,返回 true 后将完全不对该请求进行任何处理
32
+ *
33
+ * 该方法会在 modifyRequest 执行后触发
34
+ */
35
+ skipRequest?: (request: Request) => boolean;
30
36
  /**
31
37
  * 获取一个 URL 对应的多个 CDN 的 URL
32
38
  *