aboutsummaryrefslogtreecommitdiffhomepage
path: root/README.md
blob: ed25296bea7ea348f8ad83b92d6a053fa6b2ba24 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# purs-loader

> [PureScript](http://www.purescript.org) loader for [webpack](http://webpack.github.io)

- Supports hot-reloading and rebuilding of single source files
- Dead code elimination using the `bundle` option
- Colorized build output using `purescript-psa` and the `psc: "psa"` option

## Install

Install with [npm](https://npmjs.org/package/purs-loader).

```
npm install purs-loader --save-dev
```

## Example

```javascript
const webpackConfig = {
  // ...
  loaders: [
    // ...
    {
      test: /\.purs$/,
      loader: 'purs-loader',
      exclude: /node_modules/,
      query: {
        psc: 'psa',
        src: ['bower_components/purescript-*/src/**/*.purs', 'src/**/*.purs'],
        ffi: ['bower_components/purescript-*/src/**/*.js', 'src/**/*.js'],
      }
    }
    // ...
  ]
  // ...
}
```

Default options:

```javascript
{
  psc: 'psc',
  pscArgs: {},
  pscBundle: 'psc-bundle',
  pscBundleArgs: {},
  pscIdeColors: false, // defaults to true if psc === 'psa'
  bundleOutput: 'output/bundle.js',
  bundleNamespace: 'PS',
  bundle: false,
  warnings: true,
  output: 'output',
  src: [
    path.join('src', '**', '*.purs'),
    path.join('bower_components', 'purescript-*', 'src', '**', '*.purs')
  ],
  ffi: [
    path.join('src', '**', '*.js'),
    path.join('bower_components', 'purescript-*', 'src', '**', '*.js')
  ],
}
```