elm-new
v2.0.0
Published
Generates a project scaffolding for rapid prototyping of Elm apps.
Downloads
4
Readme
elm-new
Clojure has
lein new
, Elixir hasmix new
and now Elm haselm new
!
With elm new
you can easily start a new Elm project from the command line.
The idea is to be able to start coding right away instead of wasting time setting up the initial Elm architecture boilerplate. This is especially useful if you do a lot of prototyping.
Features
- No dependencies — all you need is a shell (like bash, zsh, fish, etc.)
- Very simple to install and use. Auto-completion included.
- 100% test covered. It just works!
Simply choose between:
- sandbox — good for learning about the Elm Architecture
- element — an Elm application embedded in an HTML element
- document — an application that has control over the full HTML document
- application — a single-page app
Usage
elm-new # Initialize a Browser.document in the current directory
elm-new my-project # Initialize a Browser.document in my-project/
elm-new my-project --beginner # Initialize a Browser.sandbox in my-project/
elm-new my-spa --navigation # Initialize a Browser.application in my-spa/
elm-new hello --hello-world # Initialize a "Hello, world!" program in hello/
elm-new --version # Prints the installed version
elm-new --help # Prints all possible commands
Example
$ elm-new my-awesome-project
my-awesome-project
├── .gitignore
├── README.md
├── elm.json
└── src
└── Main.elm
1 directory, 4 files
Your Elm program has been created successfully.
You can use "elm make" to compile it:
cd my-awesome-project
elm make src/Main.elm
Run "elm" for more commands.
Installation
Linux, Mac OS X and Windows are supported.
npm
npm install -g elm-new
Homebrew
brew install https://raw.githubusercontent.com/simonewebdesign/elm-new/master/elm-new.rb
Git
git clone https://github.com/simonewebdesign/elm-new.git
cd elm-new && sudo make install
See here for other installation options.
Support for older Elm versions
Older versions of Elm are also supported:
- Elm 0.19 => elm-new v2.0.0+
- Elm 0.18 => elm-new v1.3.0
- Elm 0.17 => elm-new v1.1.3
- Elm 0.16 => elm-new v0.1.0
So, for example, if you're using Elm 0.18, you'll want to grab elm-new v1.3.0. You can either install it via brew
or npm
, or download it straight from the releases page.
The choices also differ depending on the Elm version. For example, for Elm 0.18 you could choose between:
Html.program
— the default. Run:elm-new my-project-name
Html.beginnerProgram
— good for learning. Run:elm-new my-project --beginner
Navigation.program
— SPA with routing. Run:elm-new my-project --navigation
Contributing
Contributors are welcome! Just fork this repo and start hacking away.
Make sure to check out CONTRIBUTING.md to get started.