Salta ai contenuti

Migrazione da FireCMS 2.0 a FireCMS 3.0

FireCMS 3.0 è una release principale che introduce molti cambiamenti. Questa pagina descrive i cambiamenti principali e come migrare da FireCMS 2.0.

FireCMS Community e PRO sono le versioni self-hosted di FireCMS. Consente di ospitare il proprio backend e usare FireCMS senza restrizioni. È la versione più simile a FireCMS 2.0, ma con molti miglioramenti e nuove funzionalità.

La maggior parte dei concetti è la stessa di FireCMS 2.0, ma ci sono alcuni cambiamenti di cui devi essere a conoscenza. Consigliamo di iniziare un nuovo progetto con:

npx create-firecms-app --pro

o

yarn create firecms-app --pro

Il cambiamento principale riguarda le importazioni. Devi aggiornarle nel tuo progetto. Prima importavi tutto da firecms (o anche @camberi/firecms). Ora devi importare da pacchetti diversi:

  • Tutti i componenti UI sono ora in @firecms/ui.
  • Il core di FireCMS è in @firecms/core.
  • Tutto il codice Firebase-related è in @firecms/firebase.

Le collezioni hanno subito modifiche minime:

  • Devi definire un id per ogni collezione, che tipicamente può essere uguale al path.
  • La prop views è stata rinominata in entityViews.
  • Per AdditionalFieldDelegate: la prop id è stata rinominata in key, e builder in Builder.

L’autenticatore ora restituisce un dataSourceDelegate invece di un dataSource.

  • useNavigationContext è stato rinominato in useNavigationController.
  • FieldDescription è stato rinominato in FieldCaption.
  • PropertyPreview non ha più bisogno di una prop entity.

FireCMS 3.0 è basato su tailwindcss al posto di mui.

Puoi provare a sostituire le importazioni da @mui/material con @firecms/ui e vedrai che molte cose funzionano direttamente.

import { AddIcon } from "@firecms/ui";

La prop fontSize si chiama size in FireCMS.

  • Box: Usa un div con classi tailwind.
  • Link: Usa a invece.
  • Menu e MenuItem: Le voci di menu non hanno più un id.
  • Select non usa più labelId.
  • CircularProgress la dimensione è ora una stringa (size="small" o size="large").