const dhallVersion = readVersion("dhall");
const dhallJsonVersion = readVersion("dhall-json");
-const isLowerThan = (version, upperBound) =>
+const isLesserThan = (version, upperBound) =>
semver.valid(version) && semver.lt(version, upperBound);
+const isGreaterThan = (version, lowerBound) =>
+ semver.valid(version) && semver.gt(version, lowerBound);
-if (isLowerThan(dhallJsonVersion, "1.2.8")) {
+if (isLesserThan(dhallJsonVersion, "1.2.8")) {
throw new Error(`This release of the \`${pkg.name}\` npm package installs \`json-to-dhall\`, which isn’t provided by \`dhall-json@<1.2.8\`.`);
}
-if (isLowerThan(dhallJsonVersion, "1.3.0")) {
- throw new Error(`This release of the \`${pkg.name}\` npm package installs \`yaml-to-dhall\`, which isn’t provided by \`dhall-json@<1.3.0\`.`);
+if (isLesserThan(dhallJsonVersion, "1.3.0") || isGreaterThan(dhallJsonVersion, "1.5.0")) {
+ throw new Error(`This release of the \`${pkg.name}\` npm package installs \`yaml-to-dhall\`, which isn’t provided by \`dhall-json@<1.3.0 >1.5.0\`.`);
}
const release = `https://github.com/dhall-lang/dhall-haskell/releases/download/${dhallVersion}/dhall-json-${dhallJsonVersion}`;
} else {
const isDarwin = process.platform === 'darwin';
- if (isDarwin && isLowerThan(dhallJsonVersion, "1.4.0")) {
+ if (isDarwin && isLesserThan(dhallJsonVersion, "1.4.0")) {
throw new Error(`Static macOS binaries aren’t provided by \`dhall-json@<1.4.0\`.`);
}