Skip to content

Adopt Fallow for client code quality - #39

Merged
thebuilder merged 4 commits into
mainfrom
feat/adopt-fallow-client
Jul 28, 2026
Merged

Adopt Fallow for client code quality#39
thebuilder merged 4 commits into
mainfrom
feat/adopt-fallow-client

Conversation

@thebuilder

Copy link
Copy Markdown
Owner

Summary

  • adopt Fallow 3.9.1 for the backoffice client package
  • remove real dead exports and unused code
  • consolidate duplicated dialog, keyboard, date, chart, and dashboard initialization logic
  • model Umbraco runtime entry points and generated OpenAPI sources explicitly
  • add a client-only fallow audit pull-request gate

Policy

  • report duplicate pairs with minOccurrences: 2
  • gate cyclomatic complexity at 30 and cognitive complexity at 35
  • keep narrow, documented Lit render overrides for the dashboard and connection editor
  • use a finite CRAP ceiling while coverage remains statically estimated
  • exclude generated OpenAPI files and retain exact build/runtime dependencies intentionally

Verification

  • corepack pnpm check
  • corepack pnpm test — 232 tests passed
  • corepack pnpm build
  • npx fallow — 0 dead-code issues, 0 clone groups, 0 functions above thresholds
  • npx fallow dead-code — 0 issues
  • npx fallow dupes — 0 clone groups and 0% duplication
  • npx fallow health — 610 functions analyzed, 0 above thresholds
  • npx fallow audit --base origin/main --gate new-only — pass

Model Umbraco runtime entry points and generated OpenAPI output in client policy, remove real dead code, consolidate dialog lifecycle duplication, and split dashboard initialization paths.

Use Lit-aware 35/40 structural health ceilings and a 65/95 render-only override for the connection editor because its independent provider-capability bindings are declarative form branches. Ignore static CRAP until CI emits real Istanbul coverage. Pin Fallow 3.9.1 and gate pull requests against their base SHA.
Restore pair-level duplicate detection and extract all six remaining clone pairs into focused helpers for tabs, dialogs, breakdown footers, date parts, chart state, and initialization results.

Lower global health ceilings to cyclomatic 30 and cognitive 35. Keep narrow render-only overrides for the declarative dashboard and connection editor, with finite CRAP ceilings of 300 globally and 900 for the connection form until CI provides real Istanbul coverage.
Remove the extra pnpm argument separator so --base reaches Fallow as an option, and use pnpm directly after the workflow's Corepack enable step.
Make targetTabIndex exhaustive for the four supported keys and preserve the current tab for unrelated keyboard events. Add focused regression coverage for supported and unsupported keys.
@thebuilder
thebuilder marked this pull request as ready for review July 28, 2026 07:38
@thebuilder
thebuilder merged commit bb89274 into main Jul 28, 2026
5 checks passed
@thebuilder
thebuilder deleted the feat/adopt-fallow-client branch July 28, 2026 07:38
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.

1 participant