Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add clj-kondo export config #449

Merged
merged 8 commits into from
May 30, 2022
Merged

Conversation

lread
Copy link
Collaborator

@lread lread commented May 29, 2022

Export config uses call hooks for better error reporting for users of our
public API. Still using macro expand hooks for internal only macros.

Using the brand spanking new .clj_kondo extension for hook source.
This is nice to keep tooling less confused, but also keeps my brain less
confused.

Etaoin has a relatively large number of macros. I think I hit the
important ones. But some macros are not under test and not verified
by me as clj-kondo friendly. We'll add in support for any uncovered
macros as needed.

Ran a lint and turfed an unused var.
Also added a sanity test for an etaoin.api2 macro.

Added the lint task as a job to our CI build matrix.
This helps to verify our clj-kondo config.

Closes #413

Export config uses call hooks for better error reporting for users of our
public API. Still using macro expand hooks for internal only macros.

Using the brand spanking new `.clj_kondo` extension for hook source.
This is nice to keep tooling less confused, but also keeps my brain less
confused.

Etaoin has a relatively large number of macros. I think I hit the
important ones. But some macros are not under test and not verified
by me as clj-kondo friendly. We'll add in support for any uncovered
macros as needed.

Ran a lint and turfed an unused var.
Also added a sanity test for an etaoin.api2 macro.

Added the lint task as a job to our CI build matrix.
This helps to verify our clj-kondo config.

Closes clj-commons#413
@lread lread requested review from borkdude and slipset as code owners May 29, 2022 03:42
Forgot that CI does not have clojure cli installed!
@lread lread removed the request for review from slipset May 29, 2022 03:54
@lread lread marked this pull request as draft May 29, 2022 12:33
lread added 6 commits May 29, 2022 12:44
Move them from ./clj-kondo` to` `./clj-kondo/hooks`.
This might arguably be a bit awkard for macroexpand hooks.
But seems quite valuable to me for analyze call hooks.
It was a bit awkward.
Clj-kondo, by design, suppresses warning from exported hooks.
I could make it work but, in my opinion, the convolutions aren't worth
the benefit. We'll just rely on editor lint integrations for the hooks
which is a totally reasonable approach.
Moved local etaoin hooks under .clj-kondo/hooks so there is no longer
and overlap with etaoin imported export hooks.
@lread lread marked this pull request as ready for review May 30, 2022 15:49
@lread
Copy link
Collaborator Author

lread commented May 30, 2022

@borkdude, when you find a moment, I'd love to hear your feedback on this one.
Do you see any obvious flaws or some opportunities?

One thing I punted on a bit was throwing instead of registering findings.
I think this is ok-ish, but if you have strong opinions otherwise, I am happy to hear them.

@borkdude
Copy link
Contributor

LGTM!

@lread lread merged commit f95a323 into clj-commons:master May 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create a clj-kondo export config
2 participants