From 2451ded74efb2c6a70c93e3f4342ce3dcc1369fd Mon Sep 17 00:00:00 2001 From: tpluscode Date: Sat, 30 Jan 2021 16:19:26 +0100 Subject: [PATCH] refactor: use semver to compare versions --- app/main.js | 7 ++++--- app/package-lock.json | 31 +++++++++++++++++++++++++++---- app/package.json | 3 ++- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/app/main.js b/app/main.js index 4a5b8d9..96ed4fd 100644 --- a/app/main.js +++ b/app/main.js @@ -1,5 +1,6 @@ import core from '@actions/core' import os from 'os' +import semver from 'semver' import Setup from './lib/setup.js' import Package from './lib/package.js' import Tag from './lib/tag.js' @@ -17,7 +18,7 @@ async function run () { // Identify the tag parsing strategy const root = core.getInput('root', { required: false }) || core.getInput('package_root', { required: false }) || './' const strategy = (core.getInput('regex_pattern', { required: false }) || '').trim().length > 0 ? 'regex' : ((core.getInput('strategy', { required: false }) || 'package').trim().toLowerCase()) - + // Extract the version number using the supplied strategy let version = core.getInput('root', { required: false }) @@ -48,9 +49,9 @@ async function run () { if (!version) { throw new Error(`No version identified${msg}`) } - + const minVersion = core.getInput('minVersion', { required: false }) - if (version < minVersion) { + if (semver.lt(version, minVersion)) { core.warning(`Version "${version}" is lower than minimum "${minVersion}"`) return } diff --git a/app/package-lock.json b/app/package-lock.json index 864e226..dc7637f 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,6 +1,6 @@ { "name": "autotag-action", - "version": "1.0.3", + "version": "1.1.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -211,6 +211,13 @@ "semver": "^5.5.0", "shebang-command": "^1.2.0", "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, "deprecation": { @@ -278,6 +285,14 @@ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, "macos-release": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz", @@ -343,9 +358,12 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "requires": { + "lru-cache": "^6.0.0" + } }, "shebang-command": { "version": "1.2.0", @@ -400,6 +418,11 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } } diff --git a/app/package.json b/app/package.json index 1fa06e5..9927468 100644 --- a/app/package.json +++ b/app/package.json @@ -20,7 +20,8 @@ "license": "MIT", "dependencies": { "@actions/core": "^1.2.2", - "@actions/github": "^2.1.0" + "@actions/github": "^2.1.0", + "semver": "^7.3.4" }, "type": "module" }