diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 830e4c0..62f9a9a 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: 12 + node-version: 14 registry-url: https://registry.npmjs.org/ - run: npm publish env: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f07778d..1a36dbc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12, latest] + node-version: [14, latest] fail-fast: false steps: - uses: actions/checkout@v3 diff --git a/include/config.js b/include/config.js index 76f1846..184a733 100644 --- a/include/config.js +++ b/include/config.js @@ -3,12 +3,14 @@ const fs = require('fs'); const path = require('path'); const util = require('util'); const crypto = require('crypto'); -const logger = require('hexo-log')(); +const createLogger = require('hexo-log'); const yaml = require('hexo-component-inferno/lib/util/yaml'); const { Migrator } = require('hexo-component-inferno/lib/core/migrate'); const { SchemaLoader } = require('hexo-component-inferno/lib/core/schema'); const { yellow } = require('./util/console'); +const logger = typeof createLogger === "function" ? createLogger() : createLogger.default(); + function loadThemeConfig(hexo, cfgPaths) { const configs = cfgPaths.map(cfgPath => fs.readFileSync(cfgPath)) .map(cfgPath => yaml.parse(cfgPath)); diff --git a/include/dependency.js b/include/dependency.js index 8d08e4e..9e860d5 100644 --- a/include/dependency.js +++ b/include/dependency.js @@ -1,9 +1,11 @@ /* eslint no-process-exit: "off" */ const semver = require('semver'); -const logger = require('hexo-log')(); +const createLogger = require('hexo-log'); const packageInfo = require('../package.json'); const { yellow, red, green } = require('./util/console'); +const logger = typeof createLogger === "function" ? createLogger() : createLogger.default(); + module.exports = hexo => { function checkDependency(name, reqVer) { try { diff --git a/include/migration/v2_v3.js b/include/migration/v2_v3.js index 67cbff5..ab3dd1f 100644 --- a/include/migration/v2_v3.js +++ b/include/migration/v2_v3.js @@ -1,7 +1,9 @@ -const logger = require('hexo-log')(); +const createLogger = require('hexo-log'); const deepmerge = require('deepmerge'); const Migration = require('hexo-component-inferno/lib/core/migrate').Migration; +const logger = typeof createLogger === "function" ? createLogger() : createLogger.default(); + module.exports = class extends Migration { constructor() { super('3.0.0', null); diff --git a/include/register.js b/include/register.js index 06b2e4c..719e240 100644 --- a/include/register.js +++ b/include/register.js @@ -1,4 +1,6 @@ -const logger = require('hexo-log')(); +const createLogger = require('hexo-log'); + +const logger = typeof createLogger === "function" ? createLogger() : createLogger.default(); module.exports = hexo => { logger.info('=== Registering Hexo extensions ==='); diff --git a/layout/common/comment.jsx b/layout/common/comment.jsx index cb9d6e0..d3afed2 100644 --- a/layout/common/comment.jsx +++ b/layout/common/comment.jsx @@ -1,7 +1,9 @@ -const logger = require('hexo-log')(); +const createLogger = require('hexo-log'); const { Component } = require('inferno'); const view = require('hexo-component-inferno/lib/core/view'); +const logger = typeof createLogger === "function" ? createLogger() : createLogger.default(); + module.exports = class extends Component { render() { const { config, page, helper } = this.props; diff --git a/layout/common/donates.jsx b/layout/common/donates.jsx index bafe9d4..05aa5bc 100644 --- a/layout/common/donates.jsx +++ b/layout/common/donates.jsx @@ -1,7 +1,9 @@ -const logger = require('hexo-log')(); +const createLogger = require('hexo-log'); const { Component } = require('inferno'); const view = require('hexo-component-inferno/lib/core/view'); +const logger = typeof createLogger === "function" ? createLogger() : createLogger.default(); + module.exports = class extends Component { render() { const { config, helper } = this.props; diff --git a/layout/common/plugins.jsx b/layout/common/plugins.jsx index 35a2942..baf6082 100644 --- a/layout/common/plugins.jsx +++ b/layout/common/plugins.jsx @@ -1,7 +1,9 @@ -const logger = require('hexo-log')(); +const createLogger = require('hexo-log'); const { Component, Fragment } = require('inferno'); const view = require('hexo-component-inferno/lib/core/view'); +const logger = typeof createLogger === "function" ? createLogger() : createLogger.default(); + module.exports = class extends Component { render() { const { site, config, page, helper, head } = this.props; diff --git a/layout/common/search.jsx b/layout/common/search.jsx index 015a9bb..f097401 100644 --- a/layout/common/search.jsx +++ b/layout/common/search.jsx @@ -1,7 +1,9 @@ -const logger = require('hexo-log')(); +const createLogger = require('hexo-log'); const { Component } = require('inferno'); const view = require('hexo-component-inferno/lib/core/view'); +const logger = typeof createLogger === "function" ? createLogger() : createLogger.default(); + module.exports = class extends Component { render() { const { config, helper } = this.props; diff --git a/layout/common/share.jsx b/layout/common/share.jsx index e2206bb..a37fe77 100644 --- a/layout/common/share.jsx +++ b/layout/common/share.jsx @@ -1,7 +1,9 @@ -const logger = require('hexo-log')(); +const createLogger = require('hexo-log'); const { Component } = require('inferno'); const view = require('hexo-component-inferno/lib/core/view'); +const logger = typeof createLogger === "function" ? createLogger() : createLogger.default(); + module.exports = class extends Component { render() { const { config, page, helper } = this.props; diff --git a/layout/common/widgets.jsx b/layout/common/widgets.jsx index a8f4688..f7c7666 100644 --- a/layout/common/widgets.jsx +++ b/layout/common/widgets.jsx @@ -1,8 +1,10 @@ -const logger = require('hexo-log')(); +const createLogger = require('hexo-log'); const { Component } = require('inferno'); const view = require('hexo-component-inferno/lib/core/view'); const classname = require('hexo-component-inferno/lib/util/classname'); +const logger = typeof createLogger === "function" ? createLogger() : createLogger.default(); + function formatWidgets(widgets) { const result = {}; if (Array.isArray(widgets)) { diff --git a/package.json b/package.json index d88c0ff..f271765 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "url": "https://github.com/ppoffice/hexo-theme-icarus/issues" }, "engines": { - "node": ">=12.4.0" + "node": ">=14" }, "scripts": { "lint": "eslint --ext .js --ext .jsx --ext .json ." @@ -28,17 +28,17 @@ }, "dependencies": { "bulma-stylus": "0.8.0", - "deepmerge": "^4.2.2", - "hexo": "^6.0.0", + "deepmerge": "^4.3.1", + "hexo": "^7.1.1", "hexo-component-inferno": "^2.0.2", - "hexo-log": "^3.0.0", - "hexo-pagination": "^2.0.0", + "hexo-log": "^4.1.0", + "hexo-pagination": "^3.0.0", "hexo-renderer-inferno": "^0.1.3", - "hexo-renderer-stylus": "^2.0.0", - "hexo-util": "^2.4.0", + "hexo-renderer-stylus": "^3.0.1", + "hexo-util": "^3.2.0", "inferno": "^7.3.3", "inferno-create-element": "^7.3.3", - "moment": "^2.22.2", - "semver": ">=5.0.0" + "moment": "^2.30.1", + "semver": "^7.5.4" } } diff --git a/scripts/index.js b/scripts/index.js index 3d72e90..1db65d2 100644 --- a/scripts/index.js +++ b/scripts/index.js @@ -1,5 +1,7 @@ /* global hexo */ -const logger = require('hexo-log')(); +const createLogger = require('hexo-log'); + +const logger = typeof createLogger === "function" ? createLogger() : createLogger.default(); /** * Print welcome message