]> git.immae.eu Git - github/fretlink/purs-loader.git/blobdiff - README.md
Merge pull request #38 from ethul/topic/dependency-graph
[github/fretlink/purs-loader.git] / README.md
index 17fe7357f5c80152e9f53e31bce92c012fd78dbf..0e1ce2fc1b1b5529409ca588a80d73b9da890cc8 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,10 +1,12 @@
 # purs-loader
 
-> [PureScript](http://www.purescript.org) loader for [webpack](https://github.com/webpack/webpack)
+> [PureScript](http://www.purescript.org) loader for [webpack](http://webpack.github.io)
 
 ## Install
 
-Install with [npm](https://npmjs.org/package/purs-loader)
+Install with [npm](https://npmjs.org/package/purs-loader).
+
+This loader works in conjunction with the [PureScript webpack plugin](https://npmjs.org/package/purescript-webpack-plugin). Ensure the plugin is installed and configured accordingly.
 
 ```
 npm install purs-loader --save-dev
@@ -12,46 +14,42 @@ npm install purs-loader --save-dev
 
 ## Options
 
-#### options
-
- - **no-prelude**: Boolean value that toggles `--no-prelude`
-  - Do not include the Prelude in the generated Javascript.
- - **no-opts**: Boolean value that toggles `--no-opts`
-  - Disable all optimizations.
- - **no-magic-do**: Boolean value that toggles `--no-magic-do`
-  - Turn off optimizations which inline calls to >>= for the Eff monad.
- - **no-tco**: Boolean value that toggles `--no-tco`
-  - Turn off tail-call elimination.
- - **runtime-type-checks**: Boolean value that toggles `--runtime-type-checks`
-  - Generate simple runtime type checks for function arguments with simple types.
- - **verbose-errors**: Boolean value that toggles `--verbose-errors`
-  - Generate verbose error messages.
- - **output**: String value that sets `--output=<string>`
-  - Write the generated Javascript to the specified file.
+###### `bundleOutput` (String)
+
+Relative path to the bundled JavaScript file generated by the `PurescriptWebpackPlugin`. The default value is `output/bundle.js`.
 
 ## Example
 
 ```js
-var path = require('path');
-
-module.exports = {
-  entry: './src/test',
-  output: {
-    path: path.join(__dirname, 'dist'),
-    filename: 'app.js'
-  },
-  module: {
-    loaders: [{
-      test: /\.purs$/,
-      loader: 'purs-loader?no-prelude&output=output'
-    }]
-  },
-  resolve: {
-    modulesDirectories: [
-      'node_modules',
-      'web_modules',
-      'output'
-    ]
-  }
-};
+// webpack.config.js
+'use strict';
+
+var PurescriptWebpackPlugin = require('purescript-webpack-plugin');
+
+var src = ['bower_components/purescript-*/src/**/*.purs', 'src/**/*.purs'];
+
+var ffi = ['bower_components/purescript-*/src/**/*.js', 'src/**/*FFI.js'];
+
+var modulesDirectories = [
+  'node_modules',
+  'bower_components'
+];
+
+var config
+  = { entry: './src/entry'
+    , output: { path: __dirname
+              , pathinfo: true
+              , filename: 'bundle.js'
+              }
+    , module: { loaders: [ { test: /\.purs$/
+                           , loader: 'purs-loader'
+                           } ] }
+    , resolve: { modulesDirectories: modulesDirectories }
+    , plugins: [ new PurescriptWebpackPlugin({src: src, ffi: ffi}) ]
+    }
+    ;
+
+module.exports = config;
 ```
+
+See the [example](https://github.com/ethul/purs-loader/tree/master/example) directory for a complete example.