← Vissza a katalógushoz

Skill · 1.0.0 verzió

Közös komponensek csomagolása

Kifejezett verziózott szerződésként csomagolja a UI-komponenst és stílust több alkalmazás és fordítási környezet számára.

component-packaging-versioning

Nézd meg, miben segít

Mikor hasznos?

Akkor használd, ha UI-könyvtáradat több alkalmazás vagy munkaterület használja.

Miben segít neked?

  • Kifejezett exportokat, keretrendszer-társfüggőségeket és elhagyható használatlan modulokat határoz meg.
  • A szükséges CSS elvesztése nélkül terjeszti a stílusokat, tokeneket és erőforrásokat.
  • Ellenőrzi a szerveroldali megjelenítést, verziózza a nyilvános API- és méretváltozásokat.

Például ezt kérheted

Csomagold a gomb- és dialóguskönyvtárat úgy, hogy egy gomb importja ne hozza a szerkesztőt. Vizsgáld egy minimális fogyasztó éles csomagját. Tartalmazza a gomb szükséges stílusait, de szerkesztőkódot és duplikált keretrendszert ne.

Részletes dokumentáció

Itt a skill eredeti útmutatóját, példáit és ellenőrzési szempontjait olvashatod az eredeti nyelven.

Részletek…Összecsukás

Component Packaging & Versioning

When a design system or shared UI library is consumed across multiple packages, apps or workspaces (packages/ui, @org/design-system, @org/tokens), packaging mistakes can break bundler resolution, bloat client bundles, leak server-incompatible globals into SSR, or break consumers on minor updates.

1. Clean Package Exports & Tree-Shaking

  • Explicit package.json exports map:
    • Declare entry points clearly (".", "./tokens.css", "./components/*") with matching types, import (ESM) and default conditions.
    • Set "sideEffects": ["*.css"] accurately so bundlers (Vite, Rollup, webpack, esbuild) tree-shake unused components without accidentally stripping required CSS imports!
  • Avoid heavy barrel-file traps:
    • Ensure importing a lightweight <Button> does not eagerly pull in heavy optional dependencies (such as a rich-text editor, chart library, date-fns locales or syntax highlighter) via a single monolithic barrel file.
  • Peer Dependencies vs. Direct Dependencies:
    • Declare host UI frameworks (react, react-dom, vue, @angular/core) as peerDependencies so consumers never bundle two competing copies of the framework runtime (which breaks hooks, reactivity and context/DI!).

2. CSS, Token & Asset Distribution

  • Predictable style loading: decide and document clearly how styles are consumed:
    • A shared token/base stylesheet (@org/ui/tokens.css) imported once at the app root, plus either scoped component styles, CSS Modules, zero-runtime CSS-in-JS or utility classes.
  • Font & icon paths: avoid hardcoded relative asset paths (url(../assets/font.woff2)) that break when consumed from a different workspace directory or bundler config.
  • SSR & Hydration safety: never access window, document, localStorage or ResizeObserver unconditionally at module import time or during initial render — guard browser-only APIs inside lifecycle hooks (onMounted, useEffect, afterNextRender) and use deterministic ID generation (useId()) so server and client markup match.

3. Semantic Versioning (SemVer) & Deprecation Discipline

Treat every public surface of a shared component as a versioned contract:

  • Patch: bug fixes, internal refactors and accessibility fixes that do not alter public props, slots or visual layout measurements.
  • Minor: backward-compatible new components, new optional props/variants (with unchanged defaults) and new semantic tokens.
  • Major (Breaking): removing or renaming a prop/slot/token, changing default prop behavior, altering public TypeScript types incompatibly, or changing layout dimensions in a way that breaks parent containers.
  • Always accompany breaking changes with a clear migration guide, deprecation warnings and coordinated rollout across workspace consumers.

Csomagban lévő fájlok 1

  • SKILL.md

A skillcsomag bemutatása

component-packaging-versioning

component-packaging-versioning: Az ismétlődő UI-mintákból egységes dizájnrendszert készít újrahasználható komponensekkel, témákkal, dokumentációval és akadálymentes működéssel.

Részletek…Összecsukás

component-packaging-versioning

component-packaging-versioning: Az ismétlődő UI-mintákból egységes dizájnrendszert készít újrahasználható komponensekkel, témákkal, dokumentációval és akadálymentes működéssel.

A teljes skillt és a hozzá tartozó fájlokat tartalmazza (1 fájl). Az alábbi eredeti leírás rögzíti a pontos alkalmazási területét.

A skill eredeti leírása (a forrás nyelvén)

Use when packaging shared UI libraries and design tokens across monorepo workspaces or npm packages with clean exports, tree-shaking, CSS bundling and SemVer discipline.

Telepítsd a skillt, nézd át a forrását és a megbízhatósági beállításait, majd engedélyezd a megfelelő projektben vagy ügynöknél.

Előfeltételek

  • A számítógépedre telepített Orqestria.