• Stars
    star
    417
  • Rank 103,829 (Top 3 %)
  • Language
    Elm
  • License
    MIT License
  • Created almost 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

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

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.

More Repositories

1

elm-syntax

Elm syntax in Elm
Elm
92
star
2

transmission-rpc-java

Java implementation of the Transmission RPC API.
Java
33
star
3

mollie-api

Mollie API for Java
Java
14
star
4

project-typo

A chat client written in Clojure(Script)
Clojure
7
star
5

atom-linter-elm-analyse

Elm Analyser linter for Atom
JavaScript
6
star
6

ideal-api

Mollie iDeal API
Java
6
star
7

elm-tetris

Tetris game continued from youtube tutorial (https://www.youtube.com/playlist?list=PL7C8fMD-89DKhlerIE3BrYNd0PlhA6Zch)
HTML
4
star
8

imdb-api

IMDb API
Java
3
star
9

elm-devcards

Devcards in Elm. Inspired by https://github.com/bhauman/devcards
Elm
3
star
10

master-se

Repository for all my stuff related to the Master Software Engineering at the UvA
JavaScript
3
star
11

elm-maven-plugin

Maven plugin to perform elm-make within the maven lifecycle
Java
3
star
12

angular-two-legged-oauth

Module for Angular to add 2-legged OAuth
JavaScript
3
star
13

elm-netherlands-meetup

Elm Netherlands Meetup group repository to share code/presentation/information
HTML
2
star
14

elm-workshop-20190402

Elm
2
star
15

elm-offline-documentation

Elm Offline Documentation
JavaScript
1
star
16

aws-workshop

AWS Workshop
TypeScript
1
star
17

techday-elm

Techday for Avisi on the programming language Elm
HTML
1
star
18

structured-writer

Elm writer for structured values such Json, Xml and programming languages (such as Elm)
Elm
1
star
19

20161117-functional-rotterdam

Presentation for the Functional Rotterdam Meetup
HTML
1
star
20

dash-client

Dash Client
JavaScript
1
star
21

tvrage-wrapper

TVRage Wrapper
Java
1
star
22

elm-fullproof

Demo repo for presentation
Elm
1
star
23

software-evolution-series-1

Repository for the first assignment on the course Software Evolution for the Master Software Engineering at the UvA
HTML
1
star
24

trakt-tv-status

Node webkit application to view the progress on your TV shows within a desktop application (uses the trakt API and requires your personal api key)
JavaScript
1
star