
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
Elm is a functional programming language that compiles to JavaScript.
Head over to The Official Guide to start learning Elm!
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:
elm directly from GitHub with this script. This allows you to skip npm entirely.That said, it works to use the npm installer on CI if you prefer that option.
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.
FAQs
Installer for Elm: just downloads the binary into node_modules
The npm package elm receives a total of 11,879 weekly downloads. As such, elm popularity was classified as popular.
We found that elm demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.