-```js
-// webpack.config.js
-
-var path = require('path');
-
-var srcs = ['src[]=bower_components/purescript-*/src/**/*.purs', 'src[]=src/**/*.purs'];
-
-var ffis = ['ffi[]=bower_components/purescript-*/src/**/*.js'];
-
-var output = 'output';
-
-var modulesDirectories = [
- 'node_modules',
- // The bower component for purescript-prelude is specified here to
- // allow JavaScript files to require the 'Prelude' module globally.
- 'bower_components/purescript-prelude/src'
-];
-
-var config
- = { entry: './src/entry'
- , output: { path: __dirname
- , pathinfo: true
- , filename: 'bundle.js'
- }
- , module: { loaders: [ { test: /\.purs$/
- , loader: 'purs-loader?output=' + output + '&' + srcs.concat(ffis).join('&')
- } ] }
- , resolve: { modulesDirectories: modulesDirectories
- , extensions: ['', '.js', '.purs']
- }
- , resolveLoader: { root: path.join(__dirname, 'node_modules') }
+```javascript
+const webpackConfig = {
+ // ...
+ loaders: [
+ // ...
+ {
+ test: /\.purs$/,
+ loader: 'purs-loader',
+ exclude: /node_modules/,
+ query: {
+ psc: 'psa',
+ src: ['bower_components/purescript-*/src/**/*.purs', 'src/**/*.purs']
+ }