diff --git a/bin/semantic-release.js b/bin/semantic-release.js index fb941e8a20..cee3f98ddd 100755 --- a/bin/semantic-release.js +++ b/bin/semantic-release.js @@ -25,7 +25,7 @@ See https://github.com/semantic-release/semantic-release/blob/master/docs/suppor execa("git", ["--version"]) .then(({ stdout }) => { - const gitVersion = findVersions(stdout)[0]; + const gitVersion = findVersions(stdout, { loose: true })[0]; if (lt(gitVersion, MIN_GIT_VERSION)) { console.error(`[semantic-release]: Git version ${MIN_GIT_VERSION} is required. Found ${gitVersion}.`); process.exit(1); diff --git a/lib/plugins/utils.js b/lib/plugins/utils.js index a156c0468d..dbc892d8a2 100644 --- a/lib/plugins/utils.js +++ b/lib/plugins/utils.js @@ -52,9 +52,14 @@ export async function loadPlugin({cwd}, name, pluginsPath) { ? dirname(resolveFrom.silent(__dirname, pluginsPath[name]) || resolveFrom(cwd, pluginsPath[name])) : __dirname; - // See https://github.com/mysticatea/eslint-plugin-node/issues/250 - // eslint-disable-next-line node/no-unsupported-features/es-syntax - return isFunction(name) ? name : (await import(resolveFrom.silent(basePath, name) || resolveFrom(cwd, name))).default; + if (!isFunction(name)) { + const file = resolveFrom.silent(basePath, name) || resolveFrom(cwd, name); + // See https://github.com/mysticatea/eslint-plugin-node/issues/250 + // eslint-disable-next-line node/no-unsupported-features/es-syntax + name = (await import(`file://${file}`)).default; + } + + return name; } export function parseConfig(plugin) {