mix joby_kit.lint (JobyKit v0.1.0)

Copy Markdown View Source

Verifies the JobyKit wrapper contract for this app.

Checks every component registered in the host's DesignManifest:

  • Every entry points at a real Phoenix function component (:manifest_drift).
  • Every wrapper carries data-component="Module.function" on its root element (:missing_data_component).
  • Every wrapper declares attr :rest, :global (:missing_rest_global).

Plus a sweep across the host's source tree for any function that carries data-component=... but is not registered in the manifest (:unregistered_wrapper) — i.e. wrappers invisible to /design.json and to agents.

Usage

mix joby_kit.lint
mix joby_kit.lint --format json
mix joby_kit.lint --manifest MyAppWeb.DesignManifest
mix joby_kit.lint --paths "lib/**/components/**/*.ex"
mix joby_kit.lint --strict      # warnings count as failures

Options

  • --manifest — manifest module to lint. Defaults to <App>Web.DesignManifest derived from mix.exs.
  • --paths — glob pattern(s) to scan for unregistered wrappers. Repeatable. Defaults to lib/**/*.ex.
  • --formattext (default) or json.
  • --strict — exit non-zero on warnings as well as errors.

Exit codes

  • 0 — clean.
  • 1 — at least one error (or any violation under --strict).