hexo-swpp 3.2.2 → 3.2.3

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.
Files changed (2) hide show
  1. package/dist/index.js +27 -0
  2. package/package.json +4 -2
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
+ checkVersion();
41
+ let init = false;
39
42
  hexo.on('generateBefore', () => {
43
+ if (init)
44
+ return;
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.3",
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"