hexo-swpp 3.2.2 → 3.2.4

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
@@ -70,6 +70,9 @@ module.exports.config = {
70
70
  3. 支持发布前自动执行 swpp \[3.2.1]
71
71
  4. 修复构建时报错的**严重漏洞** \[3.2.2]
72
72
  5. 插入的 DOM JS 加载方式改为 async \[3.2.2]
73
+ 6. 修复运行 `hexo s` 时报错的问题 \[3.2.3]
74
+ 7. 支持版本检查 \[3.2.3]
75
+ 8. 版本检查移动到 `generateBefore` 事件中 \[3.2.4]
73
76
  + 3.1+
74
77
 
75
78
  1. 支持 `swpp-backends@1.1` \[3.1.0]
package/dist/index.js CHANGED
@@ -27,6 +27,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const fs = __importStar(require("fs"));
30
+ const node_fetch_1 = __importDefault(require("node-fetch"));
30
31
  const swpp_backends_1 = __importDefault(require("swpp-backends"));
31
32
  const path_1 = __importDefault(require("path"));
32
33
  const logger = require('hexo-log').default();
@@ -36,7 +37,12 @@ function start(hexo) {
36
37
  const pluginConfig = config['swpp'] ?? config.theme_config['swpp'];
37
38
  if (!pluginConfig.enable)
38
39
  return;
40
+ let init = false;
39
41
  hexo.on('generateBefore', () => {
42
+ if (init)
43
+ return;
44
+ checkVersion();
45
+ init = true;
40
46
  loadRules(hexo);
41
47
  sort(hexo);
42
48
  buildServiceWorker(hexo);
@@ -68,6 +74,27 @@ async function runSwpp(hexo) {
68
74
  const dif = swpp_backends_1.default.builder.analyzeVersion();
69
75
  await buildUpdateJson(hexo, dif);
70
76
  }
77
+ function checkVersion() {
78
+ (0, node_fetch_1.default)(`https://registry.npmjs.org/swpp-backends/${swpp_backends_1.default.version}`)
79
+ .then(response => {
80
+ if (![200, 301, 302, 307, 308].includes(response.status))
81
+ return Promise.reject(response.status);
82
+ return response.json();
83
+ }).then(json => {
84
+ if ('deprecated' in json) {
85
+ logger.error(`[SWPP VersionChecker] 您使用的 swpp-backends@${swpp_backends_1.default.version} 已被弃用,请更新版本!`);
86
+ logger.error(`\t补充信息:${json['deprecated']}`);
87
+ }
88
+ else {
89
+ logger.info('[SWPP VersionChecker] 版本检查通过,注意定期检查版本更新。');
90
+ }
91
+ }).catch(err => {
92
+ const isNumber = typeof err === 'number';
93
+ logger.warn(`[SWPP VersionChecker] 版本检查失败${isNumber ? ('(' + err + ')') : ''}`);
94
+ if (!isNumber)
95
+ logger.warn(err);
96
+ });
97
+ }
71
98
  function loadRules(hexo) {
72
99
  const themeName = hexo.config.theme;
73
100
  swpp_backends_1.default.event.addRulesMapEvent(rules => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hexo-swpp",
3
- "version": "3.2.2",
3
+ "version": "3.2.4",
4
4
  "main": "dist/index.js",
5
5
  "types": "types/index.d.ts",
6
6
  "files": [
@@ -23,11 +23,13 @@
23
23
  "homepage": "https://kmar.top/posts/73014407/",
24
24
  "devDependencies": {
25
25
  "@types/node": "^20.4.7",
26
+ "@types/node-fetch": "^2.6.4",
26
27
  "hexo": "7.0.0-rc2",
27
28
  "typescript": "^5.1.6"
28
29
  },
29
30
  "dependencies": {
30
- "hexo-log": "^4.1.0"
31
+ "hexo-log": "^4.1.0",
32
+ "node-fetch": "^2.6.12"
31
33
  },
32
34
  "peerDependencies": {
33
35
  "swpp-backends": "^2.0.0"