Ecosystem

The core and its companion packages. A companion appears when a component must not live in the core: it pulls a heavy dependency, or it simply is not core material. Every package has its own release cycle and its own page.

12
packages
108
components
253
public subpaths
11
packages with zero runtime dependencies

Packages with components

  • @feugene/granularity

    The core: everything an interface is assembled from — buttons, fields, tables, overlays. Zero runtime dependencies, and every component is importable by its own subpath.

    version 0.41.077 components136 subpathszero dependencies

  • @feugene/granularity-charts

    Charts drawn with the same theme tokens as the rest of the interface, in own SVG. Take it when a chart has to match the interface rather than a charting library.

    version 0.11.010 components21 subpathszero dependencies

  • @feugene/granularity-chrono

    Calendar, date and time pickers without a date library underneath. Take it when dates are part of the interface and a third-party widget would bring its own visual language.

    version 0.10.07 components15 subpathszero dependencies

  • @feugene/granularity-code

    Code on the page: viewing, editing and diff. The viewer and the diff carry no dependencies at all; the editor asks for CodeMirror only if you take the editor.

    version 0.1.03 components12 subpathszero dependencies

  • @feugene/granularity-dashboard

    A widget grid with drag, resize, breakpoints and saved layout. Take it when the user owns the layout, not the designer.

    version 0.6.05 components15 subpathszero dependencies

  • @feugene/granularity-editor

    Rich text as a design-system field: a TipTap-backed editor with the toolbar and the states of the rest of the form.

    version 0.3.11 component9 subpathszero dependencies

  • @feugene/granularity-forms-schema

    Forms from a schema: zod or JSON Schema turned into real fields with validation and layout. Take it when the form is data rather than markup.

    version 0.4.01 component21 subpathszero dependencies

  • @feugene/granularity-media

    Working with media: image cropping, camera capture, code scanning, video playback — the parts an application usually pulls four separate libraries for.

    version 0.7.14 components11 subpathszero dependencies

Packages without components

A composable, a devtools panel, test factories and an auto-import resolver. They ship no components, and that is not a shortcoming: they ship no markup either.

  • @feugene/granularity-datasource

    List state behind one composable: sorting, filters, paging, URL sync and race-free fetching. No components — it is the logic that a table and its filter panel share.

    version 0.1.23 subpathszero dependencies

  • @feugene/granularity-devtools

    A Vue DevTools panel: where a prop value came from, what the overlay stack looks like and which design-system rules the application breaks. Development only.

    version 0.3.22 subpaths2 runtime dependencies

  • @feugene/granularity-test-kit

    The contract tests every package of the family owes, as reusable factories. Useful to whoever writes a companion package, not to the application.

    version 0.8.16 subpathszero dependencies

  • @feugene/unplugin-granularity

    A resolver for unplugin-vue-components: components auto-import by their own subpath, so what the application never used never reaches the bundle.

    version 0.7.12 subpathszero dependencies

What is shown, and as of when

The composition is taken from the submodule pinned to core tag v0.41.0. Companions release at their own pace, so npm may carry a newer version — where it does, both are shown side by side.