clj-kondo linting for the Vis language surface.
Runs clj-kondo's programmatic API (clj-kondo.core/run!) — never shells out —
over a code string (fed on stdin as -), explicit path(s), or the workspace's
default source paths, and returns a uniform result map (STRING keys — crosses
the strings-only boundary as a tool :result):
{"op" "clj-lint" "error" N "warning" N "info" N "files" N "findings" [...]}
where each finding is {"file" "row" "col" "level" "type" "message" "provider"}
(clj-kondo findings carry "provider" "clj-kondo").
clj-kondo linting for the Vis language surface.
Runs clj-kondo's programmatic API (`clj-kondo.core/run!`) — never shells out —
over a code string (fed on stdin as `-`), explicit path(s), or the workspace's
default source paths, and returns a uniform result map (STRING keys — crosses
the strings-only boundary as a tool `:result`):
`{"op" "clj-lint" "error" N "warning" N "info" N "files" N "findings" [...]}`
where each finding is `{"file" "row" "col" "level" "type" "message" "provider"}`
(clj-kondo findings carry `"provider" "clj-kondo"`).The zeroed lint result (no files, no findings) — identity for merge-results.
The zeroed lint result (no files, no findings) — identity for `merge-results`.
(group-by-dir findings)Regroup a flat findings vector into a directory-nested map that writes each
file's directory ONCE:
{<dir> {<basename> {"error" [...] "warning" [...] "info" [...]}}}.
<dir> is the file's parent ("." when it has none, e.g. <stdin>) and the
inner key is just the basename, so the long directory prefix isn't repeated
per file — saving characters over a flat by-file map. Each finding keeps its
full uniform shape (including its "provider"), so a single file's group can
mix providers (clj-kondo + general). Levels with no findings are absent.
Regroup a flat `findings` vector into a directory-nested map that writes each
file's directory ONCE:
`{<dir> {<basename> {"error" [...] "warning" [...] "info" [...]}}}`.
`<dir>` is the file's parent (`"."` when it has none, e.g. `<stdin>`) and the
inner key is just the basename, so the long directory prefix isn't repeated
per file — saving characters over a flat by-file map. Each finding keeps its
full uniform shape (including its `"provider"`), so a single file's group can
mix providers (clj-kondo + general). Levels with no findings are absent.(lint-code code)Lint a raw code string via stdin.
Lint a raw code string via stdin.
(lint-paths paths)(lint-paths paths config-dir)Lint one or more filesystem paths. With config-dir (a .clj-kondo
directory) it is threaded to clj-kondo as :config-dir, so a NESTED project's
config is honored instead of clj-kondo's process-CWD default resolution.
Lint one or more filesystem paths. With `config-dir` (a `.clj-kondo` directory) it is threaded to clj-kondo as `:config-dir`, so a NESTED project's config is honored instead of clj-kondo's process-CWD default resolution.
(merge-results results)Combine per-config-dir run-lint result maps into one uniform map: summed
counts, concatenated findings. Lets a grouped (monorepo) lint — one run per
nearest .clj-kondo dir — report back as a single result.
Combine per-config-dir `run-lint` result maps into one uniform map: summed counts, concatenated findings. Lets a grouped (monorepo) lint — one run per nearest `.clj-kondo` dir — report back as a single result.
(run-lint lint-arg opts)Run clj-kondo over lint-arg (a vector of paths or ["-"] for stdin) and
shape the result into the uniform lint map. opts is merged into the run
config (e.g. {:config {...}}).
Run clj-kondo over `lint-arg` (a vector of paths or `["-"]` for stdin) and
shape the result into the uniform lint map. `opts` is merged into the run
config (e.g. `{:config {...}}`).cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |