elm
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/elm package

0.19.1-6 • Public • Published

Elm Installer

Elm is a functional programming language that compiles to JavaScript.

Head over to The Official Guide to start learning Elm!


What is this package for?

For normal installs, I reccomend using the instructions here instead. This package is only for people who enjoy using npm even when it is not necessary, or for people who want to use npm for certain scenarios such as:

Multiple versions

People using Elm at work may use different versions of Elm in different projects. They can run npm install elm@latest-0.19.1 in each project and use the binary at ./node_modules/.bin/elm for compilation.

Continuous integration

The npm installer works for this, but there are faster and more reliable options:

  1. You can download elm directly from GitHub with this script. This allows you to skip npm entirely.
  2. Many continuous integration have ways to cache files (example) to make builds faster and more reliable. This is the ideal setup.

That said, it works to use the npm installer on CI if you prefer that option.


Install Locally

The following command should download the latest Elm 0.19.1 binary:

npm install elm@latest-0.19.1

You should be able to run ./node_modules/bin/elm --version within your project and see 0.19.1. Now you can compile with ./node_modules/bin/elm make src/Main.elm and not disrupt other packages.

Use npm install elm@latest-0.19.0 or npm install elm@latest-0.18.0 for earlier versions.

Note: The latest-X.Y.Z convention is used in case we need to publish patches for the npm installer within a given Elm release. For example, say npm decides that some transitive dependency is not secure. Nothing is changing about Elm or the binaries, but we need to publish a new npm installer that fixes this issue.

Package Sidebar

Install

npm i elm

Weekly Downloads

22,333

Version

0.19.1-6

License

BSD-3-Clause

Unpacked Size

7.75 kB

Total Files

5

Last publish

Collaborators

  • evancz
  • rtfeldman
  • brianhicks