Janiczek / elm-dev

elm-dev fork for Bend, sourcemaps, etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Elm Dev

Elm Dev is a version of the Elm compiler that is made to support editing tools.

Not to be confused with Elm itself which lives here: https://elm-lang.org/

This package is for toolmakers, so if you're just starting out using Elm, you likely don't need this tool directly.

Install via npm install -g elm-dev if you want to play with it. It's currently experimental, but will likely be stable soon.

Currently this is a command line tool with the following commands that print or output JSON.

  • warnings - List missing type signatures and unused values.
  • entrypoints - Detect what .elm files are the potential roots of a project. This will also report any ports relevant to a specific entrypoint as well as the type signatures of those ports.
  • docs - Generate docs.json for any package, or any local .elm file.
  • imports - Given a list of modules, report all files and packages that they collectively depends on. This is useful for
  • usage - Given a module, return all usages of that module in a given project.
  • explain - Given a fully qualified type name, provide it's full definition.

Each command may instead report compilation errors if the file or project fails to compile.

Roadmap

The above functionality is a first pass on what would be useful for elm-dev to report and has been published to allow downstream projects to try stuff out.

In the medium term, the intention is to support the language-server protocol and to adjust functionaltiy based on downstream projects.

About

elm-dev fork for Bend, sourcemaps, etc.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 64.6%Language:JavaScript 19.8%Language:Elm 11.4%Language:TypeScript 3.0%Language:Shell 0.6%Language:NSIS 0.3%Language:CSS 0.1%Language:Dockerfile 0.1%Language:Rust 0.0%Language:Rich Text Format 0.0%Language:Python 0.0%Language:VBScript 0.0%Language:Nix 0.0%Language:Batchfile 0.0%