]> git.immae.eu Git - github/fretlink/node-dhall-json-bin.git/commitdiff
Add support for macOS
authorCyril Sobierajewicz <cyril.sobierajewicz@fretlink.com>
Thu, 1 Aug 2019 16:06:12 +0000 (18:06 +0200)
committerCyril Sobierajewicz <cyril.sobierajewicz@fretlink.com>
Fri, 2 Aug 2019 08:54:10 +0000 (10:54 +0200)
README.md
package.json
preinstall.js

index 4e4fc3bf66f705189862a294f2bb81ef5d8b7621..8cf297d70485193fd8ce82262777ca45b2ba44fe 100644 (file)
--- a/README.md
+++ b/README.md
@@ -3,14 +3,12 @@ NPM package for `dhall-json`, based on https://github.com/justinwoo/npm-psc-pack
 
 ## Installation
 
-:warning: This package should be installed as an optional dependency until static macOS builds are available from [`dhall-haskell` releases](https://github.com/dhall-lang/dhall-haskell/releases).
-
 There’s two installation modes:
 
 ### Locked
 
 ```
-npm install --save-optional fretlink/node-dhall-json-bin#v<dhall-json version>-<dhall version>-<package version>
+npm install fretlink/node-dhall-json-bin#v<dhall-json version>-<dhall version>-<package version>
 ```
 
 This will install a specific version of `dhall-json`. Replace `<dhall-json version>`, `<dhall version>` and `<package version>` with appropriate versions of `dhall-json`, `dhall` and this package.
@@ -20,7 +18,7 @@ See [the releases](https://github.com/fretlink/node-dhall-json-bin/releases).
 ### Dynamic
 
 ```
-npm install --save-optional fretlink/node-dhall-json-bin
+npm install fretlink/node-dhall-json-bin
 ```
 
 This will install a version of `dhall-json` matching the `DHALL_JSON_VERSION` and `DHALL_VERSION` environment variables or the `dhall-json:dhall-json-version` and `dhall-json:dhall-version` [npm configuration settings](https://docs.npmjs.com/misc/config#per-package-config-settings).
index d55964a200909a0898dd5e88bf198f609353d2ef..e01f821ce6e2c028ff089a5cacd411902220feaa 100644 (file)
@@ -3,6 +3,7 @@
   "version": "1.0.1",
   "description": "NPM package for `dhall-json`, based on https://github.com/justinwoo/npm-psc-package-bin-simple.",
   "os": [
+    "darwin",
     "linux",
     "win32"
   ],
index d53bca25827bca92282f3b542604d15237edfe04..91c3a523f0ac26616a2d79147d88621e1f78774c 100644 (file)
@@ -85,7 +85,13 @@ if (process.platform === "win32") {
     res.pipe(unzipper.Extract({ path: bindir }))
   );
 } else {
-  get("x86_64-linux.tar.bz2", res =>
+  const isDarwin = process.platform === 'darwin';
+
+  if (isDarwin && isLowerThan(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;