57 lines
1.6 KiB
Markdown
57 lines
1.6 KiB
Markdown
|
# purescript-halogen-template
|
||
|
|
||
|
This is a template for starting a fresh project using the [purescript-halogen](https://github.com/slamdata/purescript-halogen) library for declarative user interfaces.
|
||
|
|
||
|
## Prerequisites
|
||
|
|
||
|
This guide assumes you already have Git and Node.js installed with `npm` somewhere on your path.
|
||
|
|
||
|
In the PureScript ecosystem [Bower](http://bower.io/) is the most commonly used package manager and we'll be relying on it for this project, so if you don't already have it, you can install it like this:
|
||
|
|
||
|
``` shell
|
||
|
npm install --global bower
|
||
|
```
|
||
|
|
||
|
## Getting started
|
||
|
|
||
|
First clone the repo and step into it:
|
||
|
|
||
|
``` shell
|
||
|
git clone https://github.com/slamdata/purescript-halogen-template.git my-halogen-project
|
||
|
cd my-halogen-project
|
||
|
```
|
||
|
|
||
|
If you already have a global installation of the PureScript compiler and [Pulp](https://github.com/bodil/pulp), you can run:
|
||
|
|
||
|
``` shell
|
||
|
npm install --production
|
||
|
```
|
||
|
|
||
|
If you want to install a local copy of the PureScript compiler and Pulp then just run the usual:
|
||
|
|
||
|
``` shell
|
||
|
npm install
|
||
|
```
|
||
|
|
||
|
`npm install` is required for Halogen due to its dependency on `virtual-dom`. A postinstall script should have installed the remaining Bower dependencies.
|
||
|
|
||
|
## Building
|
||
|
|
||
|
The project can now be built with:
|
||
|
|
||
|
``` shell
|
||
|
npm run build
|
||
|
```
|
||
|
|
||
|
This will build the PureScript source code, run Browserify on the output, and produce a bundled JS file with `virtual-dom` and the PureScript-compiled JS as `dist/app.js`.
|
||
|
|
||
|
This is an alias for the Pulp command:
|
||
|
|
||
|
``` shell
|
||
|
pulp browserify --to dist/app.js
|
||
|
```
|
||
|
|
||
|
If you open `dist/index.html` you should now have a basic working Halogen app.
|
||
|
|
||
|
That's pretty much it. Have fun with Halogen!
|