build-purescript
A Node.js module to build a PureScript binary from source
const execFile = ;const buildPurescript = ; ;
Installation
Make sure stack
command is installed in your $PATH
, then install build-purescript
via npm CLI.
npm install build-purescript
API
const buildPurescript = ;
buildPurescript([options])
options: Object
Return: Observable
(Kevin Smith's implementation)
When the Observable
is subscribed, it starts to download PureScript source from the GitHub repository, build it and put a built binary onto the current working directory, successively sending event objects to its Observer
.
Events
Each event object has id
property with one of these values:
download
Sent to the Observer
while downloading and extracting the PureScript source archive to the default temporary directory of the current OS.
entry
and response
properties are derived from dl-tar
.
id: 'download' entry: <ReadEntry> response: bytes: <number> headers: <Object> url: <string>
download:complete
Sent to the Observer
when the PureScript source is completely downloaded.
id: 'download:complete'
setup
Sent to the Observer
while running stack setup
command.
command
property is the command currently running, and output
property is each line of stderr.
id: 'setup' command 'stack setup ...' output: <string>
setup:complete
Sent to the Observer
when stack setup
command exits with code 0
.
id: 'setup:complete'
build
Sent to the Observer
while running stack install
command.
command
property is the command currently running, and output
property is each line of stderr.
id: 'build' command 'stack install ...' output: <string>
build:complete
Sent to the Observer
when stack install
command exits with code 0
.
id: 'build:complete'
async { await ; console;};
✓ download
✓ setup
✓ build
Completed.
Errors
Each error passed to the Observer
have id
property that indicates which step the error occurred at.
// When your machine have no network connection; // When the `stack` command is not installed;
Options
Options are directly passed to the underlying donwload-purescript-source
and spawn-stack
. Also you can use the following:
args
Type: Array<string>
Additional command-line arguments passed to stack setup
and stack install
. Note:
--local-bin-path
is automatically set to the first argument ofbuildPurescript
.- Build-only flags, for example
--fast
and--pedantic
, won't be passed tostack setup
.
License
ISC License © 2017 - 2019 Shinnosuke Watanabe