]> git.immae.eu Git - github/fretlink/purs-loader.git/blobdiff - README.md
Merge remote-tracking branch 'fretlink/master' into latest
[github/fretlink/purs-loader.git] / README.md
index 91ccfc0f061a592aa716dd09423316da12674112..b84acae115a1567329763aa6c8224597060ca674 100644 (file)
--- a/README.md
+++ b/README.md
 Install with [npm](https://npmjs.org/package/purs-loader).
 
 ```
-// For PureScript 0.9 and newer
-npm install purs-loader --save-dev
-
-// For PureScript 0.8
-npm install purs-loader@purescript-0.8 --save-dev
+npm install --save-dev fretlink/purs-loader#latest
 ```
 
 ## Example
@@ -48,12 +44,14 @@ Default options:
 
 ```javascript
 const loaderConfig = {
-  psc: 'psc',
+  psc: null, // purs compile
   pscArgs: {},
-  pscBundle: 'psc-bundle',
+  pscBundle: null, // purs bundle
   pscBundleArgs: {},
   pscIde: false, // instant rebuilds using psc-ide-server (experimental)
-  pscIdeArgs: {}, // for example, to use different psc-ide-server port: {port: 4088}
+  pscIdeClient: null, // purs ide client
+  pscIdeClientArgs: {}, // for example, to use different port {port: 4088}
+  pscIdeServer: null, // purs ide server
   pscIdeServerArgs: {}, // for example, to change the port { port: 4088 }
   pscIdeColors: false, // defaults to true if psc === 'psa'
   pscPackage: false,
@@ -116,3 +114,20 @@ const webpackConfig = {
   // ...
 }
 ```
+
+#### Error `spawn ENOENT`
+
+This is caused when the loader tries to spawn a binary that does not exists
+(`file or directory not found`). If you call webpack like `webpack` or
+`webpack --watch`, then ensure that all required binaries that the
+loader depends on are available in your `$PATH`. 
+
+If you run webpack through an npm script (e.g., npm run or npm start) on NixOS, 
+then it will first attempt to find binaries in `node_packages/.bin`. 
+If you have the compiler installed through `npm` and it finds it there, this will 
+cause `ENOENT`on Nix, because [the binary needs to be patched first, but npm will 
+install the binary that is linked with /lib64/ld-linux-x86-64.so.2 - a file that 
+will not exist at that path in NixOS](https://github.com/ethul/purescript-webpack-example/issues/5#issuecomment-282492131).
+The solution is to simply use the compiler from `haskellPackages.purescript` and
+make sure that it's available in `$PATH`. For more information about how to make 
+it work on Nix, see [Purescript Webpack Example](https://github.com/ethul/purescript-webpack-example#using-globally-installed-binaries)