Skip to content

Measure and evaluate a renderer-exclusive slim distribution #214

Description

@woksin

Problem

Selecting MUI or PrimeReact changes declared slots but does not remove the built-in React Aria implementation from the @cratis/components installation. Components 4 accepts this to preserve a zero-configuration fallback and avoid a premature package split.

A future renderer-exclusive distribution could reduce install cost, but only if measured consumer demand and package overhead justify the permanent release/identity burden.

Direction

Measure before designing:

  • install size and cold-install time;
  • production bundle closure for representative Foundation/Advanced profiles;
  • duplicated React Aria usage in applications that directly use the same packages;
  • SSR/runtime memory and startup;
  • independent release-cadence pressure;
  • migration and provider-identity costs of an additional distribution.

If justified, add a new slim package behind unchanged component subpath contracts. Do not reshape @cratis/components or remove its fallback in place.

Acceptance criteria

  • At least two representative, anonymized capability profiles provide measurements and demand.
  • A package split meets the documented split criteria in Documentation/ui-foundation.md.
  • Provider/context identity, CSS, types, and adapter compatibility are proven across full and slim distributions.
  • Existing @cratis/components imports and zero-config behavior remain source-compatible.
  • If measurements do not justify the split, close with the evidence rather than implementing one.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions