Skip to content

Releases: Wilkes-Liberty/graphql_compose_codegen

1.1.1

Choose a tag to compare

@jmcerda jmcerda released this 25 Aug 18:28
8c62b4a

Changed

  • CI now runs against the declared Drupal 10.6 and 11.3 support floors as well as the current Drupal 11 release. Each job asserts the resolved core version and collected test count.
  • The attribution check now calls the public Wilkes-Liberty/shared-ci@v1 workflow. Concurrent deliveries queue instead of cancelling required checks.
  • The changelog gate is self-contained and opt-in through the changelog label. Dependabot pull requests are exempt, and the deprecated autoupdate workflow has been removed.

Fixed

  • The public GitHub mirror no longer calls private reusable workflows for Dependabot auto-merge or changelog handling. Dependabot patch and minor updates retain auto-merge; major updates remain manual (issue #3614589).
  • Composer network-fetching steps retry transient failures with bounded backoff while preserving final dependency-resolution failures.
  • PHPStan handles PHPUnit 9's missing attribute namespace on the Drupal 10.6 job without failing the current-core job on an unmatched compatibility ignore.

1.1.0

Choose a tag to compare

@jmcerda jmcerda released this 25 Jul 20:14
81fecf7

Paragraph bundles are now first-class scaffold targets, closing the gap where gqcc:inspect and gqcc:generate covered node bundles only.

Added

  • gqcc:inspect lists paragraph bundles enabled in graphql_compose (entity_config enabled + query_load_enabled, per-field field_config enablement; both the 2.x config name and 3.x per-server names), with a nested-only marker for bundles that render inside their parents. (#3613218)
  • Four paragraph artefacts mirroring the node set: paragraphs/types.generated.d.ts (types joining the DrupalParagraph union), paragraphs/fragments.generated.ts (the PARAGRAPH_FRAGMENTS block), paragraphs/paragraph-renderer-cases.generated.tsx, and one {Name}Paragraph component stub per bundle.
  • Response-key collision handling: when two bundles select the same field name with incompatible shapes (required vs optional sub-fields), the later bundle's field is aliased (tabItems: items) and the TypeScript property follows the alias; aliases are stable across --bundles subset runs.
  • Nested paragraph references emit nested inline fragments for handler_settings.target_bundles, one level deep, with bundle-specific TypeScript types.
  • WebformMapper: webform fields map to a DrupalWebform type with the full graphql_compose_webform selection instead of unknown. (#3613232)

Changed

  • --bundles now filters paragraph bundles for generate, diff, validate, and inspect; a paragraph-only run no longer aborts or overwrites node artefacts.
  • Paragraph component stubs use the data prop and {Name}Paragraph naming.
  • Generated fields are emitted in machine-name order for deterministic output.
  • Schema-change log notices emit a working command for paragraph bundles and name the matching renderer on bundle deletion.

Fixed

  • PathGuard rejects the macOS /private variants of dangerous filesystem roots. (#3613237)

Full details in CHANGELOG.md. Test suite: 45 tests across Drupal 10.6, 11.3, and 11.

1.0.0

Choose a tag to compare

@jmcerda jmcerda released this 23 Jul 21:33
2656ece

First stable release of the 1.0.0 line.

Since 1.0.0-rc1

  • Narrowed the supported core range to Drupal 10.6 and 11.3+, and added a CI matrix that runs the Unit + Kernel suites against each supported floor plus the 11 ceiling — the support claim is exercised, not just declared.
  • Fixed: the Status report requirements checks now run on Drupal 10.x (moved from the OOP hook_runtime_requirements / #[Hook] form, which is 11.1/11.2+ only, to the procedural hook_requirements()).

graphql_compose_codegen is a Drush-powered scaffold generator that turns your graphql_compose schema into TypeScript type definitions, GraphQL fragments, and React component stubs for a Next.js frontend.

Install: composer require 'drupal/graphql_compose_codegen:^1.0'

1.0.0-rc1

Choose a tag to compare

@jmcerda jmcerda released this 18 Aug 03:12
d59fccb

[1.0.0-rc1] — 2026-07-21

Added

  • Compatible with graphql_compose 3.x (GraphQL 5 / webonyx 15): the composer constraint
    is ^2.1 || ^3.0, so the module installs and generates against both the 2.x and 3.x lines.
  • gqcc:inspect Drush command — enumerate node bundles and their extra
    (non-base-type) fields with GraphQL names, TypeScript types, cardinality,
    and required status.
  • gqcc:generate Drush command — scaffold four artefact types per run:
    • types.generated.d.ts — TypeScript type definitions
    • fragments.generated.ts — GraphQL inline fragments
    • node-renderer-cases.generated.tsx — NodeRenderer switch-case stubs
    • components/{Name}.generated.tsx — one React component stub per bundle
  • gqcc:diff Drush command — compare current schema against last generation snapshot.
  • gqcc:validate Drush command — verify scaffold files on disk are in sync with the live schema.
  • Settings form at /admin/config/development/graphql-compose-codegen.
  • hook_help page at /admin/help/graphql_compose_codegen.
  • hook_requirements checks at /admin/reports/status (bundles exposed, stale base fields).
  • Schema-change hooks for node and paragraph bundles/fields, with actionable log notices.
  • Full paragraph bundle introspection (TypeScript types, GQL fragments, component stubs).
  • Attribute-based plugin system for custom Drupal-type → TypeScript-type mappers.
  • hook_graphql_compose_codegen_pre_generate / _post_generate for extensibility.
  • --dry-run, --allow-external, idempotency (skip write when content unchanged), output-dir safety guard.
  • Drush 12+ attribute-style commands with AutowireTrait.
  • PHPUnit Unit + Kernel test suites.
  • PHPStan and phpcs configurations.
  • CI: Slack release notification (.github/workflows/release-notify.yml) — posts to the
    maintainers' release channel on release tags; no-ops without the SLACK_WEBHOOK_RELEASES secret.
  • CI: Dependabot patch/minor PRs now auto-merge once checks pass (majors still
    reviewed), via the org reusable workflow
    (.github/workflows/dependabot-automerge.yml calls the shared
    dependabot-automerge.yml in Wilkes-Liberty/.github).
  • Org governance baseline: changelog-check and changelog-autoupdate GitHub
    Actions callers, Dependabot config (composer + github-actions, weekly), and a
    non-blocking composer audit workflow for PHP dependency security scanning.

Changed

  • Development branch is now 1.x, not 1.0.x. A 1.x branch ships every 1.y release from
    one line; 1.0.x is patch-only for the 1.0 series. Track dev with
    composer require 'drupal/graphql_compose_codegen:1.x-dev'. Standardizes the branch model
    across the W&L drupal.org modules.

Fixed

  • Replaced hook_field_storage_config_insert/delete with hook_field_config_insert/delete
    so the bundle name is available when the field is attached (previously logged []).
  • README no longer claims an admin UI that didn't exist — the settings form now ships in this release.