Potrebujeme dobre nastavit exportovani z design-system package. Aktualne exportujeme fonty, zkompilovany Tailwind css soubor a komponenty.
Vzhledem k tomu, ze primarne budeme pouzivat NextJS (ale neni to nutnost, ten design-system musi byt funkcni i mimo nej, e.g. ve Storybooku, nebo klasickem Reactu), tak si chceme pomoct a exportovat client komponenty s "use client" hlavickou. Potom nebude treba vytvaret jim “use client” wrappery v Nextu.
Navrh
Vytvorime v components dve podslozky:
server=> pro komponenty bez lifecycle hooku, ktere funguji v SSRclient=> pro interaktivni komponenty a do jejich barrel file pridame “use client” hlavicku.
Napriklad:
"exports": {
".": {
"types": "./dist/src/server/index.d.ts",
"import": "./dist/src/server/index.js"
},
"./client": {
"types": "./dist/src/client/index.d.ts",
"import": "./dist/src/client/index.js"
},
}