Integrations rework
Pre-release
Pre-release
Changes
-
Integration System Overhaul
- Local Integrations Only: From this release onward, only local (ejected) integrations are supported. Handoff will automatically use the locally found integration.
- Create a new local integration using
handoff-app make:integration
(oreject:integration
which is still supported as an alias). - Since there is no need to specify integration information, integration options in
handoff.config.json
such as name and version are no longer recognized, making the integration section ofhandoff.config.json
obsolete.
- Create a new local integration using
- Introduction of
integration.config.json
:- This new file replaces the old
figma.options
section inhandoff.config.json
as well as all transformer related options within the legacy schemas as this file now contains all integration-specific details, including those options previously managed manually across different places. - This change leaves the
figma.options
section inhandoff.config.json
no longer supported and also means that all transformer options have been removed from legacy schemas (exportables), rendering this section no longer supported as well.
- This new file replaces the old
- Documentation App Configuration Changes:
- View of the component pages is now managed from within the integration(s), more specifically within the newly introduced
view.config.json
files, located in the respective component’s directory within the integration’s templates folder. - As a result the
demo
options section in all legacy schemas has now been removed and is no longer supported by Handoff.
- View of the component pages is now managed from within the integration(s), more specifically within the newly introduced
- Local Integrations Only: From this release onward, only local (ejected) integrations are supported. Handoff will automatically use the locally found integration.
-
Legacy Schema Updates
- Local Schema Requirement: Legacy schemas (exportables) are now only supported if ejected. The
use_legacy_definitions
option inhandoff.config.json
is no longer supported. - Automatic Schema Consumption: Handoff now automatically consumes all locally found schemas. The
figma.definitions
section inhandoff.config.json
is deprecated.
- Local Schema Requirement: Legacy schemas (exportables) are now only supported if ejected. The
Upgrading from Earlier Releases
- For Projects with Local Integrations:
- Temporarily rename your current local integration directory.
- Create a new local integration using
handoff-app make:integration
. - Transfer the contents from your old integration (excluding
integration.config.json
) to the new directory (merge). - Update options in
integration.config.json
if needed. - Remove the old integration directory.
- For Projects Without Local Integrations:
- Create a new local integration using
handoff-app make:integration
. This will use a Bootstrap 5.3 template. - If previously using Bootstrap 5.2, update the integration contents accordingly. Bootstrap 5.2 template.
- Update
integration.config.json
options if necessary.
- Create a new local integration using
- For Projects with Legacy Schemas:
- Eject legacy schemas using
handoff-app eject:exportables
. - If schemas are already ejected:
- Verify that transformer options are in
integration.config.json
. - Verify that demo options are in
view.config.json
files of respective components. - Temporarily rename the directory containing legacy schemas.
- Re-eject schemas and move custom schemas into the new exportables.
- Optionally, update custom schemas to remove obsolete options.
- Eject legacy schemas using
- For Projects with
handoff.config.json
:- Merge options from
figma.options
to theintegration.config.json
file as necessary. - Optionally remove deprecated sections:
figma.options
,figma.definitions
,figma
,integration
, anduse_legacy_definitions
.
- Merge options from