Skip to content

Create formatting-stack.classpath-linter #113

@vemv

Description

@vemv

Context

There are 3 sets of defaults: defaults, branch-formatter, project-formatter.

None of those can lint clj nses beyond a given project, e.g. reachable through the classpath.

That's generally reasonable (one doesn't want to lint 3rd-party code), but now the new formatting-stack.linters.one-resource-per-ns linter would maximise its usefulness by linting these nses.

Task

  • Create formatting-stack.classpath-linter, analog to project-formatter
    • but with a classpath-wide scope
    • should only lint, not format
    • should only run formatting-stack.linters.one-resource-per-ns
      • No much point in a broader linting for 3rd party code
  • Create a strategy that traverses clj namespaces recursively
    • project namespaces -> namespaces from our deps -> namespaces from transitive deps -> ...

Acceptance criteria

One can catch this specific instance:

'("jar:file:/Users/vemv/.m2/repository/clojure-future-spec/clojure-future-spec/1.9.0-beta4/clojure-future-spec-1.9.0-beta4.jar!/clojure/core/specs/alpha.clj"
  "jar:file:/Users/vemv/.m2/repository/org/clojure/core.specs.alpha/0.2.44/core.specs.alpha-0.2.44.jar!/clojure/core/specs/alpha.clj")

Additional resources

#112

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions