From bd2f0b3f9c22a8320b576e5aaefb25ea43a69ccf Mon Sep 17 00:00:00 2001 From: silverwind Date: Sat, 19 Jan 2019 20:05:26 +0100 Subject: [PATCH] rewrite version resolution, add tests and screenshot --- Makefile | 1 + package.json | 1 + screenshot.png | Bin 0 -> 83577 bytes test.js | 50 +++++++++++++++++++++++++++++++++++++ test.json | 6 +++++ updates.js | 66 +++++++++++++++++++++++++++++++++++++++---------- 6 files changed, 111 insertions(+), 13 deletions(-) create mode 100644 screenshot.png create mode 100644 test.js create mode 100644 test.json diff --git a/Makefile b/Makefile index ed714fe..d06ea42 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ .PHONY: test test: npx eslint --color --quiet *.js + node --trace-deprecation --throw-deprecation test.js .PHONY: publish publish: diff --git a/package.json b/package.json index 62d2897..d28e481 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "devDependencies": { "eslint": "5.12.1", "eslint-config-silverwind": "2.0.14", + "execa": "^1.0.0", "ver": "3.0.1" } } diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..b17fe43fc6390ac7d4a6e5ee82bd5b9f9ae049ab GIT binary patch literal 83577 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 z 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 USzR(n65pYzs;%<$ghjyr0OB^Ev;Y7A literal 0 HcmV?d00001 diff --git a/test.js b/test.js new file mode 100644 index 0000000..b17f45b --- /dev/null +++ b/test.js @@ -0,0 +1,50 @@ +"use strict"; + +const assert = require("assert"); +const process = require("process"); +const execa = require("execa"); + +function exit(err) { + if (err) { + console.info(err); + } + process.exit(err ? 1 : 0); +} + +async function run(args) { + return JSON.parse(await execa.stdout("./updates.js", args.split(/\s+/))); +} + +async function main() { + assert.deepStrictEqual(await run("-j -f test.json"), { + results: { + "gulp-sourcemaps": { + old: "2.0.0", + new: "2.6.4", + info: "https://github.com/floridoo/gulp-sourcemaps" + }, + "prismjs": { + old: "1.0.0", + new: "1.15.0", + info: "https://github.com/LeaVerou/prism" + } + } + }); + + assert.deepStrictEqual(await run("-j -g -f test.json"), { + results: { + "gulp-sourcemaps": { + old: "2.0.0", + new: "2.6.4", + info: "https://github.com/floridoo/gulp-sourcemaps" + }, + "prismjs": { + old: "1.0.0", + new: "9000.0.2", + info: "https://github.com/LeaVerou/prism" + } + } + }); +} + +main().then(exit).catch(exit); diff --git a/test.json b/test.json new file mode 100644 index 0000000..f520532 --- /dev/null +++ b/test.json @@ -0,0 +1,6 @@ +{ + "dependencies": { + "gulp-sourcemaps": "2.0.0", + "prismjs": "1.0.0" + } +} diff --git a/updates.js b/updates.js index 0a345ef..06eeb1f 100755 --- a/updates.js +++ b/updates.js @@ -324,7 +324,6 @@ function updatePkg() { return newPkgStr; } -// naive regex replace function updateRange(range, version) { return range.replace(/[0-9]+\.[0-9]+\.[0-9]+(-.+)?/g, version); } @@ -338,9 +337,25 @@ function isValidSemverRange(range) { return valid; } -function findNewVersion(data, opts) { - const versions = Object.keys(data.time).filter(version => semver.valid(version)); - let tempVersion = semver.coerce(opts.range) || "0.0.0"; +function isVersionPrerelease(version) { + return semver.parse(version).prerelease.length; +} + +function isRangePrerelease(range) { + // can not use semver.coerce here because it ignores prerelease tags + return /[0-9]+\.[0-9]+\.[0-9]+-.+/.test(range); +} + +function rangeToVersion(range) { + try { + return semver.coerce(range).version; + } catch (err) { + return "0.0.0"; + } +} + +function findVersion(data, versions, opts) { + let tempVersion = rangeToVersion(opts.range); let tempDate = 0; for (const version of versions) { @@ -353,7 +368,7 @@ function findNewVersion(data, opts) { } if (!opts.semvers.includes(diff)) continue; - if (diff === "prerelease" && !opts.usePre) continue; + if (isVersionPrerelease(parsed.version) && !opts.usePre) continue; if (opts.useGreatest) { if (semver.gte(parsed.version, tempVersion)) { @@ -368,17 +383,42 @@ function findNewVersion(data, opts) { } } - // Special case for when pre-releases are tagged as latest. This ignores the - // --prerelease option, but it's how npm and other tools work so we copy - // their behaviour. - const latestTag = data["dist-tags"].latest; - if (!opts.useGreatest && latestTag !== tempVersion && semver.diff(tempVersion, latestTag) === "prerelease") { - tempVersion = latestTag; - } - return tempVersion === "0.0.0" ? null : tempVersion; } +function findNewVersion(data, opts) { + const versions = Object.keys(data.time).filter(version => semver.valid(version)); + const version = findVersion(data, versions, opts); + + if (opts.useGreatest) { + return version; + } else { + const latestTag = data["dist-tags"].latest; + const oldVersion = semver.coerce(opts.range); + const oldIsPre = isRangePrerelease(opts.range); + const newIsPre = isVersionPrerelease(version); + const isGreater = semver.gt(version, oldVersion); + + // update to new prerelease + if (opts.usePre && newIsPre && isGreater) { + return version; + } + + // update from prerelease to release + if (oldIsPre && !newIsPre && isGreater) { + return version; + } + + // do not downgrade from prerelease to release + if (oldIsPre && !newIsPre && !isGreater) { + return oldVersion; + } + + // in all other cases, return latest dist-tag + return latestTag; + } +} + function parseMixedArg(arg) { if (arg === "") { return true;