Repository navigation
v0.18.1
What's Changed
Fixed
- A Drupal
entity_referenceto an entity type outsidepost/term/media
(a config entity such aswebform, or a content entity Drupal-side only)
now has anof:vocabulary —entity:<target_type>[:<bundle>,…](ADR
0009).fields-migrate --drupal-configused to write such a field with no
of:at all, which every consumer read back as'', an unhandled value
AbstractTypeReverseMapper::reference()threw aDomainExceptionfor —
uncaught, since that reverse mapper runs unconditionally inside
fields-validate/fields-generate(both build the WP reconstruction tree
as a key-resolution check regardless of target). A Drupal-only project
therefore could not validate its own migrated output for such a field.
Fixed at the source (DrupalParagraphReader::reference()now writes a
validof:) and defensively (AbstractTypeReverseMapper::reference()
falls back to an unrestrictedpost_objectforentity:instead of
throwing;bin/fields-validatealso now catches\DomainException
around itsFieldsGenerator::generate()call and reports a cleanFAIL
instead of crashing, for any other cause of the same shape). - Omitting
entity:<target_type>'s bundle list is a declared "any
bundle", andfields-lint-drupal/fields-generate --target=drupalnow
treat it consistently with the real Drupaltarget_bundles: null
sentinel.DrupalTypeMap::expectedTargetBundles()returns[](compared
against the field's real, equally empty bundle list) rather thannull
(which means "the definition does not say — skip the check"), and
DrupalConfigPlannernow writes real Drupalnullback for an empty
wanted-bundles list wherever it buildshandler_settings.target_bundles—
previously a literal[], which is not the same sentinel and round-tripped
to DRIFT against itself. Together these give arkero'sfield_webforma
correctof: entity:webformwith 0 DRIFT and 0 UPDATE, replacing the
semantically wrongof: 'post:any'workaround (a webform is not a post)
that still left both.
Pull Requests
- #86 — fix(drupal): entity_reference vocabulary for non-post/term/media targets
Full Changelog: v0.18.0...v0.18.1