elm-kitchen
elm-kitchen copied to clipboard
DEPRECATED - Easily bootstrap a new Elm SPA
DEPRECATED elm-kitchen
This is no longer supported, please consider using elm-kitten instead.
This is a modest attempt at providing a simplistic yet opinionated Elm SPA application skeleton based on rtfeldman's Elm Example SPA, for Allo-Media's own needs.
Features
- Elm 0.19 ready
- Multiple pages navigation & routing, based on URL fragments
- Live development server with hot reloading
- elm-test support
- JavaScript build minification using UglifyJS.
Code organization
The application stores Elm source code in the src
directory:
$ tree --dirsfirst skeleton/src
src
├── Data
│ └── Session.elm
├── Page
│ ├── Home.elm
│ └── SecondPage.elm
├── Request
│ └── Github.elm
├── Views
│ ├── Page.elm
│ └── Theme.elm
├── Main.elm
└── Route.elm
Richard Feldman explains this organization in a dedicated blog post.
Installation
$ npm install -g elm-kitchen
$ elm-kitchen my-app
$ cd my-app
$ npm install
Usage
To start the development server:
$ npm start
This will serve and recompile Elm code when source files change. Served application is available at localhost:3000.
Tests
$ npm test
Tests are located in the tests
folder and are powered by elm-test.
Build
$ npm run build
The resulting build is available in the build
folder.
Deploy
A convenient deploy
command is provided to publish code on Github Pages.
$ npm run deploy