opam-version: "2.0" synopsis: "A library to create dunolint configs" maintainer: ["Mathieu Barbin "] authors: ["Mathieu Barbin"] license: "LGPL-3.0-or-later WITH LGPL-3.0-linking-exception" homepage: "https://github.com/mbarbin/dunolint" doc: "https://mbarbin.github.io/dunolint/" bug-reports: "https://github.com/mbarbin/dunolint/issues" depends: [ "dune" {>= "3.17"} "ocaml" {>= "5.3"} "base" {>= "v0.17"} "dune-glob" {>= "3.17"} "fpath-base" {>= "0.2.2"} "ppx_compare" {>= "v0.17"} "ppx_enumerate" {>= "v0.17"} "ppx_hash" {>= "v0.17"} "ppx_here" {>= "v0.17"} "ppx_let" {>= "v0.17"} "ppx_sexp_conv" {>= "v0.17"} "ppx_sexp_value" {>= "v0.17"} "ppxlib" {>= "0.35.0"} "re" {>= "1.8.0"} "sexplib0" {>= "v0.17"} "odoc" {with-doc} ] build: [ ["dune" "subst"] {dev} [ "dune" "build" "-p" name "-j" jobs "@install" "@runtest" {with-test} "@doc" {with-doc} ] ] dev-repo: "git+https://github.com/mbarbin/dunolint.git" description: """\ [dunolint] is a set of OCaml libraries and a cli tool to lint and help manage files in (large) dune projects. [dunolint-lib] is the package you need as a user to define a dunolint config, without pulling all the dependencies required by the linter engine and command line. It defines a configuration language in which you can express linting invariants for your projects. The tool will enforce these invariants, applying global and systematic changes automatically when able, and help with general ergonomics questions. For example: "I want for all libs in this subdirectory to enable `bisect_ppx`, please go patch my dune files". Or, "I would like all libraries that verify this particular predicate to supply the ppx flag `-unused-code-warnings=force`", and more. You can setup [dunolint] as part of your CI checks to help enforcing properties and linting checks going forward. """ tags: [ "dune" "linter" ] x-maintenance-intent: [ "(latest)" ] url { src: "https://github.com/mbarbin/dunolint/releases/download/0.0.20250310/dunolint-0.0.20250310.tbz" checksum: [ "sha256=b44119c96aeabb960e852711c2f20ae43f0011e796f05e012141ba980a5b58f6" "sha512=5bf76732adc940db6cac0875e94c3eaff436288faba95388b9675c68b3f30f5362e01f289fc8a096325f7db812ace273773a1e051ab7d7ace3b8db4a57a0e070" ] } x-commit-hash: "8c0c34d8f7c250aff52881a2fe25569488c8dbf5"