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.
|
|
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
package/types/SwppRules.d.ts
CHANGED
|
@@ -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
|
*
|