All Projects → stil4m → Elm Analyse

stil4m / Elm Analyse

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

Programming Languages

elm
856 projects

Projects that are alternatives of or similar to Elm Analyse

Bellybutton
Custom Python linting through AST expressions
Stars: ✭ 196 (-53.11%)
Mutual labels:  linter, ast
constyble
CSS complexity linter
Stars: ✭ 92 (-77.99%)
Mutual labels:  analysis, linter
Querly
Query Method Calls from Ruby Programs
Stars: ✭ 226 (-45.93%)
Mutual labels:  linter, analysis
Static Analysis
⚙️ A curated list of static analysis (SAST) tools for all programming languages, config files, build tools, and more.
Stars: ✭ 9,310 (+2127.27%)
Mutual labels:  linter, analysis
Go Ruleguard
Define and run pattern-based custom linting rules.
Stars: ✭ 402 (-3.83%)
Mutual labels:  linter, analysis
Unimport
A linter, formatter for finding and removing unused import statements.
Stars: ✭ 96 (-77.03%)
Mutual labels:  linter, ast
predeclared
Find definitions and declarations in Go source code that shadow predeclared identifiers
Stars: ✭ 26 (-93.78%)
Mutual labels:  linter, ast
lints
Lint all your JavaScript, CSS, HTML, Markdown and Dockerfiles with a single command
Stars: ✭ 14 (-96.65%)
Mutual labels:  analysis, linter
Exakat
The Exakat Engine : smart static analysis for PHP
Stars: ✭ 346 (-17.22%)
Mutual labels:  linter, analysis
unimport
A linter, formatter for finding and removing unused import statements.
Stars: ✭ 119 (-71.53%)
Mutual labels:  linter, ast
Kube Score
Kubernetes object analysis with recommendations for improved reliability and security
Stars: ✭ 1,128 (+169.86%)
Mutual labels:  linter, analysis
Solhint
Solhint is an open source project created by https://protofire.io. Its goal is to provide a linting utility for Solidity code.
Stars: ✭ 363 (-13.16%)
Mutual labels:  linter, ast
Vermin
Concurrently detect the minimum Python versions needed to run code
Stars: ✭ 218 (-47.85%)
Mutual labels:  analysis, ast
Graphql Go Tools
Tools to write high performance GraphQL applications using Go/Golang.
Stars: ✭ 96 (-77.03%)
Mutual labels:  linter, ast
dedupimport
Deduplicate named/unnamed imports that have the same import path in Go files
Stars: ✭ 20 (-95.22%)
Mutual labels:  linter, ast
Detekt
Static code analysis for Kotlin
Stars: ✭ 4,169 (+897.37%)
Mutual labels:  linter, analysis
Verible
Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, and formatter.
Stars: ✭ 384 (-8.13%)
Mutual labels:  linter, analysis
Adhrit
Android Security Suite for in-depth reconnaissance and static bytecode analysis based on Ghera benchmarks.
Stars: ✭ 399 (-4.55%)
Mutual labels:  analysis
Clusterlint
A best practices checker for Kubernetes clusters. 🤠
Stars: ✭ 409 (-2.15%)
Mutual labels:  linter
Credo
A static code analysis tool for the Elixir language with a focus on code consistency and teaching.
Stars: ✭ 4,144 (+891.39%)
Mutual labels:  linter

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].