• Stars
    star
    20
  • Rank 1,121,974 (Top 23 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Command Line Utility for creating an Elm boilerplate project easy to run, build and get deployed

Elm Boil

NPM version node version Build Status

Handle Elm Project with almost zero effort 🍲.

Quickstart

Node >= 12.10.0

  npm install -g elm-boil
  elm-boil init my-elm-app
  cd ./my-elm-app
  npm start

Create a production build with npm run build -- --output my-elm-build

Note that you can modify your package.json and pass your custom parameters to the elm-boil utility.

Getting Started

Installation

Make sure you have Node >= 12.10.0 installed

npm install -g elm-boil

Create project

This command scaffolds a new Elm project with the support of scss compilation and Elm environment variable handling as it's described in this answer provided by the creator of elm-spa-example.

Usage:

elm-boil init <project_name>

Project structure:

my-elm-app
β”œβ”€β”€ README.md
β”œβ”€β”€ package.json
β”œβ”€β”€ elm.json
β”œβ”€β”€ .gitignore
β”œβ”€β”€ assets
β”‚   β”œβ”€β”€ favicon.ico
β”‚   └── elm-logo.svg
β”œβ”€β”€ env                 - Env variables (not versioned)
β”œβ”€β”€ env-default         - Default Env (versioned)
β”œβ”€β”€ public
|   └── index.html      - index.html template
└── src
    β”œβ”€β”€ Main.elm
    └── Main.scss

Serve Project

This command starts a local webserver helping development phase of the application using live elm and scss compilation plus a livereload functionality.

Usage (inside the project directory):

elm-boil serve [-p|--port=3000] [-h|--host="0.0.0.0"]

Build Project

This command creates a minified and uglified build inside the project directory. A content hash is added to the file name allowing you to use aggressive caching techniques.

Usage (inside the project directory):

elm-boil build [-o|--output=dist]

A good idea to use the output parameter could be a parallel centered distribution of the same frontend for multiple environments.

Why do I chose elm-boil?

  • Single dependency
  • Support of SCSS
  • Lightweight
  • Extremely fast
  • Ease of use

Contributing

Feel free to submit issues and enhancement requests πŸš€πŸš€!.

Popular alternatives