const dhallVersion = readVersion("dhall");
const dhallJsonVersion = readVersion("dhall-json");
-if (semver.valid(dhallJsonVersion) && semver.lt(dhallJsonVersion, "1.2.8")) {
+
+const isLesserThan = (version, upperBound) =>
+ semver.valid(version) && semver.lt(version, upperBound);
+
+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\`.`);
}
res.pipe(unzipper.Extract({ path: bindir }))
);
} else {
- get("x86_64-linux.tar.bz2", res =>
+ const isDarwin = process.platform === 'darwin';
+
+ if (isDarwin && isLesserThan(dhallJsonVersion, "1.4.0")) {
+ throw new Error(`Static macOS binaries aren’t provided by \`dhall-json@<1.4.0\`.`);
+ }
+
+ get(`x86_64-${isDarwin ? 'macos' : 'linux'}.tar.bz2`, res =>
res.pipe(unbz2()).pipe(tar.x({ C: __dirname }).on("finish", () => {
fs.readdir(bindir, (err, names) => {
if (err) throw err;