Repository navigation
v0.16.0
What's Changed
Added
- Drupal paragraphs:
fields-lint-drupal --drupal-config=<dir>. A new
binary compares each definition with the paragraph type it describes, as a
drush config:exportdirectory records it. The directory is always an
argument, so a fresh export can replace a laggingconfig/sync. It compares
the field set in both directions, storage type, cardinality, the required
flag, reference targets and nested paragraph bundles, and lists paragraph
types that no component claims. Bundle: the rootdrupal:admin link, else
the component name in snake_case, plusdrupal.bundle_aliases. Field:
drupal.field, elsefield_<leaf>; anobjectwithout a pin is a
field_group on the same bundle. See ADR 0001. fields-migrate --drupal-config=<dir>takes a component's fields from
its paragraph type and setskind: block. The twig front-comment still
gives the metadata.--drupal-display=<php-file>tokenizes (never runs) the
PHP class that fills the template'scontentarray, names each field after
its template prop and pinsdrupal.fieldwhere they differ.
--default-category=<name>fills a missingcategory:.- Per-field
drupal:block incomponent.fields.schema.json:field,
storage,widget,formatter,target_type,target_bundles. It is
closed. The rootdrupal:key stays the admin-link string that
parisek/styleguidereads. The WordPress projection ignores the block. drupal:section indefinition-kit.yaml:field_naming
(generic|prefixed),bundle_aliases,bundles_without_component,
ignore_fields. An unknown key throws and names the file.
Fixed
- The input-contract check resolves named macro arguments on Twig 3.29.
Twig 3.29 compiles a named argument's key as a constant, not a local
variable, som.card(data: content)lost the reads ofdata. CI installs
the newest Twig, so the whole suite failed on it. Both key shapes work now.
Changed
- Without
--drupal-config, a twigfields:annotation on a component whose
drupal:link names a paragraph type migrates as editor-authored
(role: field, written as norole:key) and the component gets
kind: block. It used to need--assume-role, which cannot sayfield.
Pull Requests
- #83 — feat(drupal): migrate and lint definitions against a Drupal config export
Full Changelog: v0.15.0...v0.16.0