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/granularityThe 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-chartsCharts 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-chronoCalendar, 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-codeCode 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-dashboardA 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-editorRich 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-schemaForms 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-mediaWorking 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-datasourceList 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-devtoolsA 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-kitThe 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-granularityA 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.
Why the core is not split into packagesChangelogs of every packageHow a companion package is built — the library guide