package dunolint
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=b44119c96aeabb960e852711c2f20ae43f0011e796f05e012141ba980a5b58f6
sha512=5bf76732adc940db6cac0875e94c3eaff436288faba95388b9675c68b3f30f5362e01f289fc8a096325f7db812ace273773a1e051ab7d7ace3b8db4a57a0e070
Description
[dunolint] is a set of OCaml libraries and a cli tool to lint and help manage files in (large) dune projects.
[dunolint] is the package that implements the linter engine for dunolint configs as well as the [dunolint] command line tool.
You may install it to get the [dunolint] cli, and/or if you want to use the linting libraries to write custom rewriters and linters.
README
dunolint
Introduction
Welcome to dunolint, a project composed of libraries and a CLI designed to assist with maintaining build files typically found in OCaml repos managed by the Dune build system (e.g., files named dune, dune-project, etc.).
Project Goals
The goal of dunolint is to check customizable invariants in your repo and help with ergonomic issues, such as applying systematic changes across many files. It supports things like enabling instrumentation, configuring recurring lint or preprocess flags, sorting libraries alphabetically, and more. You can use it at your convenience during development, and enforce consistency by integrating it into your CI pipeline.
Documentation
Published here.
Current State
It's currently in the early stages of development and there's little code and features at this point. I'm seeking feedback and early discussions about the project next steps.
Get Involved
I would love to hear your thoughts about dunolint. If you're interested in this project and would like to engage in discussions or provide feedback, please feel free to open an issue or start a discussion in the GitHub space of the project.
Thank you for your interest in dunolint!
Acknowledgements
We're very thankful to:
Dependencies (27)
-
stdio
>= "v0.17"
-
sexps-rewriter
>= "0.0.3"
-
sexplib0
>= "v0.17"
-
ppxlib
>= "0.35.0"
-
ppx_sexp_value
>= "v0.17"
-
ppx_sexp_conv
>= "v0.17"
-
ppx_let
>= "v0.17"
-
ppx_here
>= "v0.17"
-
ppx_hash
>= "v0.17"
-
ppx_enumerate
>= "v0.17"
-
ppx_compare
>= "v0.17"
-
pplumbing
>= "0.0.10"
-
pp
>= "2.0.0"
-
patdiff
>= "v0.17"
-
parsexp
>= "v0.17"
-
logs
>= "0.7.0"
-
loc
>= "0.2.2"
-
fpath-sexp0
>= "0.2.2"
-
fpath-base
>= "0.2.2"
-
fpath
>= "0.7.3"
-
fmt
>= "0.9.0"
-
file-rewriter
>= "0.0.3"
-
dunolint-lib
= version
-
cmdlang
>= "0.0.9"
-
base
>= "v0.17"
-
ocaml
>= "5.3"
-
dune
>= "3.17"
Dev Dependencies (1)
-
odoc
with-doc
Used by
None
Conflicts
None