X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=README.md;h=bef16af0be7f7f9b7ff0dab2d82737bf77055f48;hb=2b620717603a6a2ba4d93ee1ca7334dc31500acf;hp=dcbedf285102349f9d2a002448af136529f1625d;hpb=84bdfea8eab66d3f797d1616db0e4fd63138fb6f;p=github%2Ffretlink%2Fpurs-loader.git diff --git a/README.md b/README.md index dcbedf2..bef16af 100644 --- a/README.md +++ b/README.md @@ -12,19 +12,87 @@ 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. - - **verbose-errors**: Boolean value that toggles `--verbose-errors` - - Generate verbose error messages. - - **output**: String value that sets `--output=` - - Write the generated Javascript to the specified file. +###### `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. + +###### `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 -See the [example](https://github.com/ethul/purs-loader/tree/topic/bower-components/example) directory for a complete 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' +]; + +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.