Skip to content

ADR-0089 D3b: @objectstack/lint rule for deprecated visibility aliases + mismatched binding root #2903

Description

@os-zhuang

Follow-up to #2642 / #2900 (ADR-0089). D1 + D2 have landed; this tracks D3b.

Goal

Add a @objectstack/lint rule that flags, in freshly authored source:

  1. Deprecated alias usage — a visibleOn (view form) or visibility (page component) key → autofix to visibleWhen.
  2. Mismatched binding root — a predicate whose root doesn't match its layer:
    • data. in a runtime form/page predicate (should be record. / current_user / page.<var>), or
    • record. in a metadata-editing form (*.form.ts, should be data.).

Notes

Tasks

  • Rule + autofix for deprecated aliases → visibleWhen.
  • Rule for binding-root/layer mismatch.
  • Tests; wire into the lint ruleset; run across packages/ + examples/.

References

Metadata

Metadata

Assignees

No one assigned

    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