hexo-theme-amane/includes/tasks/check_deps.js

33 lines
793 B
JavaScript

const logger = require('hexo-log')();
function checkDependency(name) {
try {
require.resolve(name);
return true;
} catch(e) {
logger.error(`Package ${name} is not installed.`)
}
return false;
}
logger.info('Checking dependencies');
const missingDeps = [
'js-yaml',
'moment',
'cheerio',
'hexo-util',
'hexo-log',
'hexo-pagination',
'hexo-generator-archive',
'hexo-generator-category',
'hexo-generator-index',
'hexo-generator-tag',
'hexo-renderer-ejs',
'hexo-renderer-marked',
'hexo-renderer-stylus',
].map(checkDependency).some(installed => !installed);
if (missingDeps) {
logger.error('Please install the missing dependencies from the root directory of your Hexo site.');
process.exit(-1);
}