Skip to content

Release v20.34.0

Choose a tag to compare

@github-actions github-actions released this 04 Jun 17:10
571235c

Added

  • @cratis/eslint-plugin-arc: ESLint rules for projects that consume Cratis Arc, designed to compose on top of @cratis/eslint-config.
    • skip-generated-proxies (processor) — skips Arc-generated proxy files wholesale. They carry a // @generated by Cratis header (and a **DO NOT EDIT** banner), cannot be edited, and are regenerated by the build, so any lint finding on them is un-actionable. Keyed on the header because generated proxies sit intermixed with hand-written .ts under the same folders, with no path distinction. The pass-through preserves filenames (import resolution is unaffected) and keeps --fix working on hand-written files.
    • no-hooks-in-view-model (rule) — forbids React hook calls inside MVVM view models (classes named *ViewModel). A view model must be a plain, React-free class; inject Cratis abstractions instead of calling hooks. Only bare-identifier hook calls are flagged, so view-model methods that merely start with use are not false positives. The class suffix and hook pattern are configurable.

Notes

  • Named per the ESLint scoped-plugin convention (@scope/eslint-plugin-*). The plugin namespace is @cratis/arc, so rule IDs read @cratis/arc/no-hooks-in-view-model.
  • Ships as raw ESM (no build step), declares only eslint as a peer dependency, and exposes meta.version plus per-rule docs URLs. It owns these rules because Arc owns the proxy generator and @cratis/arc.react.mvvm.

🤖 Generated with Claude Code