swpp-backends 2.3.0 → 2.3.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.
@@ -59,7 +59,7 @@ function buildServiceWorker() {
59
59
  url = new URL(request.url)
60
60
  }
61
61
  `).replaceAll('// [modifyRequest else-if]', `
62
- else if (modify) handleFetch(fetchWithCors(request, false).catch(err => new Response(err, {status: 499})))
62
+ else if (modify) handleFetch(fetchWithCache(request, false).catch(err => new Response(err, {status: 499})))
63
63
  `);
64
64
  }
65
65
  if (skipRequest) {
package/dist/SwppRules.js CHANGED
@@ -80,6 +80,6 @@ exports.addRulesMapEvent = addRulesMapEvent;
80
80
  const defRules = {
81
81
  config: {},
82
82
  // @ts-ignore
83
- isCors: request => !request.headers.get('Accept')?.startsWith('image/'),
83
+ isCors: () => false,
84
84
  isMemoryQueue: () => false
85
85
  };
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.3.0',
13
+ version: '2.3.1',
14
14
  cache: {
15
15
  readEjectData: Utils_1.readEjectData, readUpdateJson: Variant_1.readUpdateJson,
16
16
  readRules: Variant_1.readRules, readMergeVersionMap: Variant_1.readMergeVersionMap,
@@ -136,7 +136,7 @@
136
136
  const spare = getSpareUrls(request.url)
137
137
  if (spare) handleFetch(fetchFile(request, false, spare))
138
138
  // [modifyRequest else-if]
139
- else handleFetch(fetchWithCors(request, false).catch(err => new Response(err, {status: 499})))
139
+ else handleFetch(fetchWithCache(request).catch(err => new Response(err, {status: 499})))
140
140
  }
141
141
  })
142
142
 
@@ -150,22 +150,43 @@
150
150
  })
151
151
 
152
152
  /**
153
- * 添加 cors 配置请求指定资源
153
+ * 基础 fetch
154
154
  * @param request {Request|string}
155
- * @param banCache {boolean} 是否禁用 HTTP 缓存
155
+ * @param banCache {boolean} 是否禁用缓存
156
+ * @param cors {boolean} 是否启用 cors
156
157
  * @param optional {RequestInit?} 额外的配置项
157
158
  * @return {Promise<Response>}
158
159
  */
159
- const fetchWithCors = (request, banCache, optional) => {
160
+ const baseFetcher = (request, banCache, cors, optional) => {
160
161
  if (!optional) optional = {}
161
162
  optional.cache = banCache ? 'no-store' : 'default'
162
- if (isCors(request)) {
163
+ if (cors) {
163
164
  optional.mode = 'cors'
164
165
  optional.credentials = 'same-origin'
165
166
  }
166
167
  return fetch(request, optional)
167
168
  }
168
169
 
170
+ /**
171
+ * 添加 cors 配置请求指定资源
172
+ * @param request {Request}
173
+ * @param optional {RequestInit?} 额外的配置项
174
+ * @return {Promise<Response>}
175
+ */
176
+ const fetchWithCache = (request, optional) =>
177
+ baseFetcher(request, false, isCors(request), optional)
178
+
179
+ // noinspection JSUnusedLocalSymbols
180
+ /**
181
+ * 添加 cors 配置请求指定资源
182
+ * @param request {Request}
183
+ * @param banCache {boolean} 是否禁用 HTTP 缓存
184
+ * @param optional {RequestInit?} 额外的配置项
185
+ * @return {Promise<Response>}
186
+ */
187
+ const fetchWithCors = (request, banCache, optional) =>
188
+ baseFetcher(request, banCache, true, optional)
189
+
169
190
  /**
170
191
  * 判断指定 url 击中了哪一种缓存,都没有击中则返回 null
171
192
  * @param url {URL}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "swpp-backends",
3
- "version": "2.3.0",
3
+ "version": "2.3.1",
4
4
  "main": "dist/index.js",
5
5
  "typings": "types/index.d.ts",
6
6
  "description": "Generate a powerful ServiceWorker for your website.",
@@ -21,10 +21,7 @@ export interface SwppRules {
21
21
  [propName: string]: CacheRules;
22
22
  };
23
23
  /**
24
- * 判断指定请求是否使用 CORS
25
- *
26
- * **注意:对于需要使用缓存、竞速等功能的 URL 必须使用 CORS,否则无法判断状态码从而使得功能失效或工作异常**
27
- *
24
+ * 判断指定请求是否使用 CORS(必须启用 CORS 的请求将不通过该函数判断)
28
25
  * @param request 当前请求的 request
29
26
  */
30
27
  isCors?: (request: Request) => boolean;