mirror of
https://github.com/next-theme/hexo-theme-next.git
synced 2026-01-21 19:32:34 +00:00
Use npm to determine the latest version
This commit is contained in:
parent
c7a6097943
commit
2de50b46be
@ -9,12 +9,12 @@ hexo.on('generateBefore', () => {
|
|||||||
require('./lib/injects')(hexo);
|
require('./lib/injects')(hexo);
|
||||||
});
|
});
|
||||||
|
|
||||||
hexo.on('generateAfter', () => {
|
hexo.on('exit', () => {
|
||||||
if (!hexo.theme.config.reminder) return;
|
if (!hexo.theme.config.reminder) return;
|
||||||
const https = require('https');
|
const https = require('https');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const { version } = require(path.normalize('../../package.json'));
|
const { version } = require(path.normalize('../../package.json'));
|
||||||
https.get('https://api.github.com/repos/hexo-next/hexo-theme-next/releases/latest', {
|
https.get('https://registry.npmjs.org/hexo-theme-next/latest', {
|
||||||
headers: {
|
headers: {
|
||||||
'User-Agent': 'Theme NexT Client'
|
'User-Agent': 'Theme NexT Client'
|
||||||
}
|
}
|
||||||
@ -25,17 +25,9 @@ hexo.on('generateAfter', () => {
|
|||||||
});
|
});
|
||||||
res.on('end', () => {
|
res.on('end', () => {
|
||||||
try {
|
try {
|
||||||
let latest = JSON.parse(result).tag_name.replace('v', '').split('.');
|
const latest = JSON.parse(result).version;
|
||||||
let current = version.split('.');
|
if (latest !== version) {
|
||||||
let isOutdated = false;
|
hexo.log.warn(`Your theme NexT is outdated. Current version: v${version}, latest version: v${latest}`);
|
||||||
for (let i = 0; i < Math.max(latest.length, current.length); i++) {
|
|
||||||
if (!current[i] || latest[i] > current[i]) {
|
|
||||||
isOutdated = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (isOutdated) {
|
|
||||||
hexo.log.warn(`Your theme NexT is outdated. Current version: v${current.join('.')}, latest version: v${latest.join('.')}`);
|
|
||||||
hexo.log.warn('Visit https://github.com/hexo-next/hexo-theme-next/releases for more information.');
|
hexo.log.warn('Visit https://github.com/hexo-next/hexo-theme-next/releases for more information.');
|
||||||
} else {
|
} else {
|
||||||
hexo.log.info('Congratulations! Your are using the latest version of theme NexT.');
|
hexo.log.info('Congratulations! Your are using the latest version of theme NexT.');
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user