swpp-backends 2.2.0 → 2.2.2
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/dist/ServiceWorkerBuilder.js +5 -2
- package/dist/index.js +1 -1
- package/dist/resources/sw-template.js +11 -10
- package/package.json +1 -1
|
@@ -17,7 +17,7 @@ const Variant_1 = require("./Variant");
|
|
|
17
17
|
function buildServiceWorker() {
|
|
18
18
|
const rules = (0, Variant_1.readRules)();
|
|
19
19
|
const eject = (0, Utils_1.readEjectData)();
|
|
20
|
-
const { modifyRequest, fetchFile, getRaceUrls, getSpareUrls, blockRequest, config } = rules;
|
|
20
|
+
const { modifyRequest, skipRequest, fetchFile, getRaceUrls, getSpareUrls, blockRequest, config } = rules;
|
|
21
21
|
if (!config.serviceWorker) {
|
|
22
22
|
(0, Utils_1.error)('ServiceWorkerBuilder', '插件未开启该项');
|
|
23
23
|
throw '功能未开启';
|
|
@@ -44,7 +44,7 @@ function buildServiceWorker() {
|
|
|
44
44
|
cache += `(${(0, Utils_1.getSource)(rules['afterJoin'])})()\n`;
|
|
45
45
|
if ('afterTheme' in rules)
|
|
46
46
|
cache += `(${(0, Utils_1.getSource)(rules['afterTheme'])})()\n`;
|
|
47
|
-
const keyword = "const { cacheRules, fetchFile, getSpareUrls
|
|
47
|
+
const keyword = "const { cacheRules, fetchFile, getSpareUrls } = require('../sw-rules')";
|
|
48
48
|
// noinspection JSUnresolvedVariable
|
|
49
49
|
let content = fs_1.default.readFileSync(templatePath, 'utf8')
|
|
50
50
|
.replaceAll("// [insertion site] values", eject?.strValue ?? '')
|
|
@@ -62,6 +62,9 @@ function buildServiceWorker() {
|
|
|
62
62
|
else if (modify) handleFetch(fetchWithCors(request, false).catch(err => new Response(err, {status: 499})))
|
|
63
63
|
`);
|
|
64
64
|
}
|
|
65
|
+
if (skipRequest) {
|
|
66
|
+
content = content.replaceAll('// [skipRequest call]', `if (skipRequest(request)) return;`);
|
|
67
|
+
}
|
|
65
68
|
if (blockRequest) {
|
|
66
69
|
content = content.replace('// [blockRequest call]', `
|
|
67
70
|
if (blockRequest(url))
|
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.2.
|
|
13
|
+
version: '2.2.2',
|
|
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
|
|
48
|
+
const { cacheRules, fetchFile, getSpareUrls } = require('../sw-rules')
|
|
49
49
|
|
|
50
50
|
// 检查请求是否成功
|
|
51
51
|
// noinspection JSUnusedLocalSymbols
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
// [blockRequest call]
|
|
84
84
|
if (request.method !== 'GET' || !request.url.startsWith('http')) return
|
|
85
85
|
// [modifyRequest call]
|
|
86
|
-
|
|
86
|
+
// [skipRequest call]
|
|
87
87
|
let cacheKey = url.hostname + url.pathname + url.search
|
|
88
88
|
let cache = cacheMap.get(cacheKey)
|
|
89
89
|
if (cache) {
|
|
@@ -152,14 +152,15 @@
|
|
|
152
152
|
* @param optional {RequestInit?} 额外的配置项
|
|
153
153
|
* @return {Promise<Response>}
|
|
154
154
|
*/
|
|
155
|
-
const fetchWithCors = (request, banCache, optional) =>
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
mode
|
|
160
|
-
credentials
|
|
161
|
-
}
|
|
162
|
-
|
|
155
|
+
const fetchWithCors = (request, banCache, optional) => {
|
|
156
|
+
if (!optional) optional = {}
|
|
157
|
+
optional.cache = banCache ? 'no-store' : 'default'
|
|
158
|
+
if (request.headers.get('Content-Type')?.startsWith('image/')) {
|
|
159
|
+
optional.mode = 'cors'
|
|
160
|
+
optional.credentials = 'same-origin'
|
|
161
|
+
}
|
|
162
|
+
return fetch(request, optional)
|
|
163
|
+
}
|
|
163
164
|
|
|
164
165
|
/**
|
|
165
166
|
* 判断指定 url 击中了哪一种缓存,都没有击中则返回 null
|