Skip to content
A tool that allows you to analyse your Elm code, identify deficiencies and apply best practices.
Branch: master
Clone or download
Latest commit ed63e9f Jan 5, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist
docs
html
images Issue #119: Update docs Nov 11, 2017
src Elm 0.19: Url changes browser app Dec 26, 2018
tests Fix #185. Upgrade elm-syntax to 7.0.5 Jan 5, 2019
ts
.editorconfig
.eslintignore
.eslintrc.js Issue #121: Add eslint and editorconfig Nov 8, 2017
.gitattributes Ignore files for language statistics Dec 24, 2017
.gitignore Migration to typescript Jul 6, 2018
.nvmrc Fix #180. Add security updates bump to node 8" Nov 30, 2018
.travis.yml Migration to typescript Jul 6, 2018
CHANGELOG.md Version 0.16.1 Jan 5, 2019
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Jun 19, 2017
LICENSE.md
Makefile fix npm audit reported vulnerabilities Jan 5, 2019
README.md
appveyor.yml Elm 0.19: Appveyor build Sep 5, 2018
build-editor.js Migration to typescript Jul 6, 2018
elm-analyse.json
elm.json Fix #185. Upgrade elm-syntax to 7.0.5 Jan 5, 2019
gulpfile.js fix npm audit reported vulnerabilities Jan 5, 2019
nodemon.json
package-lock.json
package.json Version 0.16.1 Jan 5, 2019
prettier-check.sh
prettier-run.sh Elm 0.19: Formatting TS Nov 18, 2018
tsconfig.json

README.md

Elm Analyse

A tool that allows you to analyse your Elm code, identify deficiencies and apply best practices.

Preview


Usage

Prerequisites

The following binaries should be available on the path:

node >=8
elm  0.19.x
elm-format (a version that is compatible with the source code you wish to analyse)

Install

npm install -g elm-analyse

or if using yarn:

yarn global add elm-analyse

Run

Change to the directory of Elm project you want to analyse and run elm-analyse.

Add the -s option for server mode. This will allow you to view results in your browser. To change the port use -p XXXX

CLI Options

Option Description
--help or -h Print the help output.
--serve or -s Enable server mode. Disabled by default.
--port or -p The port on which the server should listen. Defaults to 3000 (--port=3000).
--open or -o Open default browser when server goes live.
--elm-format-path Path to elm-format. Defaults to elm-format.
--version or -v Print version of software.
--format Output format for CLI. Defaults to "human". Valid values are either "human" or "json".

Supported Checks

All supported checks can be found in the check documentation.


Analysis Configuration

Checks can be enable or configured based on your preferences. For this see the Configuration Docs.


Issues

If you have feature ideas or checks that you wish to see, please create an issue. Please check that you do not create duplicate issues or a check for which we already have a report.

Contributing

Please see the docs

Library Setup

The library is divided into the following main modules:

  • Analyser: The main file that bootstraps the analysis and maintains the core state.
  • ASTUtil.*: Utility functions for fact extraction on the AST.
  • Analyser.Checks.*: All the checks that are performed.
  • Analyser.Fixes.*: All the fixes that can be performed.
  • Analyser.Messages.*: All messages that can be produced and the supporting functions.
  • Client.*: Front-end code for running in 'server' mode.

The code that represents the Elm syntax and the parsing is supported by the elm-syntax package.

You can’t perform that action at this time.