X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=README.md;h=df92e6940ab4971af798cbde078b84656c3fa113;hb=e533e59f321e001c6a6dd1945af546af9b0a4e67;hp=a45573f346dfb71d00a927b4f50cd60fcc3b1d6a;hpb=1d771135e825feaa1fba5177b60796578766b240;p=github%2Ffretlink%2Fpurs-loader.git diff --git a/README.md b/README.md index a45573f..df92e69 100644 --- a/README.md +++ b/README.md @@ -4,102 +4,14 @@ ## 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 - -###### `noPrelude` (Boolean) - -Toggles `--no-prelude` that omits the Prelude. - -###### `noTco` (Boolean) - -Toggles `--no-tco` that disables tail-call optimizations. - -###### `noMagicDo` (Boolean) - -Toggles `--no-magic-do` that disables optimizations overloading the do keyword generating efficient code for the `Eff` monad. - -###### `noOpts` (Boolean) - -Toggles `--no-opts` that skips the optimization phase. - -###### `verboseErrors` (Boolean) - -Toggles `--verbose-errors` that displays verbose error messages. - -###### `comments` (Boolean) - -Toggles `--comments` that includes comments in generated code. - -###### `output` (String) - -Sets `--output=` the specifies the output directory, `output` by default. - -###### `noPrefix` (Boolean) - -Toggles `--no-prefix` that does not include the comment header. - -###### `requirePath` (String) - -Sets `--require-path=` that specifies the path prefix to use for `require()` calls in the generated JavaScript. - -###### `ffi` (String Array) - -Specifies the PureScript FFI files setting `--ffi=`. Glob syntax is supported. This option is specified as `ffi[]=path`. - -###### `src` (String Array) - -Specifies the PureScript source files. Glob syntax is supported. This option is specified as `src[]=path`. - ## Example -```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', - // The output directory is specified here to allow PureScript files in - // your source to import other PureScript modules in your source. - output -]; - -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') } - } - ; - -module.exports = config; -``` - -See the [example](https://github.com/ethul/purs-loader/tree/master/example) directory for a complete example. - -## Notes - -A `.psci` file is generated during each run of the loader. +Refer to the [purescript-webpack-example](https://github.com/ethul/purescript-webpack-example) for an example.