• Stars
    star
    1,670
  • Rank 27,991 (Top 0.6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 8 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

πŸƒ Create Elm apps with zero configuration

Create Elm App npm version Build Status Build Status

Create Elm apps with no build configuration.

Quickstart

npm install create-elm-app -g
create-elm-app my-app
cd my-app/
elm-app start

Create a production build with elm-app build

Getting Started

Installation

Node >=8 is required for installation.

Yarn

yarn global add create-elm-app

NPM

npm install create-elm-app -g

If you are running Linux OS, you should install it as the superuser:

sudo npm install create-elm-app -g

Creating an App

To create a new app, run:

create-elm-app my-app
cd my-app/

create-elm-app

Create a new my-app folder with files for your future project.

my-app/
β”œβ”€β”€ .gitignore
β”œβ”€β”€ README.md
β”œβ”€β”€ elm.json
β”œβ”€β”€ elm-stuff
β”œβ”€β”€ public
β”‚   β”œβ”€β”€ favicon.ico
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ logo.svg
β”‚   └── manifest.json
β”œβ”€β”€ src
β”‚   β”œβ”€β”€ Main.elm
β”‚   β”œβ”€β”€ index.js
β”‚   β”œβ”€β”€ main.css
β”‚   └── serviceWorker.js
└── tests
    └── Tests.elm

You are ready to employ the full power of Create Elm App!

elm-app start

Run the app in development mode. Open http://localhost:3000 to view it in the browser.

elm-app-start

The page will reload if you make edits. You will see the build errors and lint warnings in the console and the browser window.

elm-app build

Builds the app for production to the build folder. It bundles Elm app and optimizes the build for the best performance.

The build is minified, and the filenames include the hashes.

Guide

Every generated project will contain a readme with guidelines for future development. The latest version is available here

Why use this?

Developing with Elm is fun and easy, but at some point, you will hit a couple of limitations.

Create Elm App adds a tool for optimizing production builds and running a development server with your app, which supports HMR.

All of that, combined with all the functionality of elm in a single command line tool, which you might use as a dependency or eject anytime.

Want a custom setup?

Not happy with the default configuration? Use elm-app eject and customize your process.

That way, you can use Create Elm App as a tool for a boilerplate generation.

Philosophy

Inspired by create-react-app

  • One Dependency: There is just one build dependency. It uses Elm Platform, Webpack, and other amazing projects, but provides a cohesive curated experience on top of them.

  • Zero Configuration: No configuration files or command line options required to start working with Elm. Configuring both development and production builds is handled for you so you can focus on writing code.

  • No Lock-In: You can β€œeject” to a custom setup at any time. Run a single command, and all the configuration and build dependencies will be moved directly into your project, so you can pick up right where you left off.

What is inside

The tools used by Create Elm App are subject to change. Currently it is a thin layer on top of many amazing community projects, such as:

All of them are transitive dependencies of the provided npm package.

Contributing

We would love to get you involved! Please check our Contributing Guide to get started!

Alternatives

More Repositories

1

elm-examples

πŸ“– Practical examples in Elm
JavaScript
210
star
2

chilled-js

πŸ‘Œ Resilient error handling pattern for JavaScript
JavaScript
13
star
3

web-development-with-elm

πŸ“– Course materials for my course on Web Development with Elm
Elm
13
star
4

rust-reqwest-warp-example

πŸ¦€ 😎 Rust HTTP server basics with async-await
Rust
7
star
5

elm-sierpinski

❄️ Sierpinski triangle in Elm
JavaScript
6
star
6

rust-ingress

🚢🚢🚢 Kafka ingress using Rust
Rust
5
star
7

tokio-cron-async

πŸ•’ CRON scheduler using Tokio for async jobs.
Rust
5
star
8

nok

πŸ‘Ÿ Running scripts from package.json using a prompt
JavaScript
4
star
9

effekt

➰ Redux enhancer for state-driven I/O
TypeScript
2
star
10

jquery-rhythmplease

Vertical rhythm for responsive blocks and images
JavaScript
2
star
11

jquery-masonry-autofill

2
star
12

rust-smart-pointers-examples

Rust smart pointer examples from Rustbook
Rust
2
star
13

elm-mathml

2
star
14

parsimmon-experiment

TypeScript
2
star
15

scheduled-discord-message

Rust
2
star
16

learning-rust

Rust
2
star
17

parser-experiment

πŸ”¬ an experiment with traceable parsers
TypeScript
1
star
18

tokio-graceful-shutdown-example

Graceful shutdown example for UNIX signals
Rust
1
star
19

catalogue-builder-challenge

TypeScript
1
star
20

react-infinite-range

∞ React Component for creating infinite range inputs
JavaScript
1
star
21

mastermind

Elm
1
star
22

learning-c

πŸ€– My notes for learning C
C
1
star
23

rust-transaction-engine

πŸ”„ Simple transaction engine as a CLI written in Rust
Rust
1
star
24

test-react

JavaScript
1
star
25

golang-course

Code exercises from golang course
Go
1
star
26

rust-env-replacer

πŸ¦€πŸ’‰ Inject env vars into static files
Rust
1
star
27

elm-live-test

Running tests and the development server concurrently
Elm
1
star
28

dotfiles

1
star
29

tail-recursion-benchmark

πŸ§ͺ JavaScript benchmark for tail recursion optimisation
JavaScript
1
star
30

rust-win-keyboard-experiment

A program that keeps your keyboard language in check by binding it to specific applications.
Rust
1
star
31

algebraic-actions

🌈 Algebraic Actions in Redux
JavaScript
1
star