## 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
## 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.