GioPat / elm-boil

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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

License:MIT License


Languages

Language:JavaScript 87.8%Language:SCSS 5.7%Language:Elm 4.6%Language:HTML 2.0%