Skip to content

[FEATURE] List type transformers in the Configuration module - #77

Merged
Kanti merged 3 commits into
mainfrom
feature/type-transformer-configuration
Oct 17, 2026
Merged

Kanti merged 3 commits into
mainfrom
feature/type-transformer-configuration

Conversation

@Kanti

@Kanti Kanti commented Oct 17, 2026

Copy link
Copy Markdown
Member

Add Frontend Studio: Type transformers to TYPO3's System → Configuration module so developers can inspect the transformers registered in their project.
Group all registrations by return type and show the handler, method, priority, active registration, input types, required flags, defaults, control overrides, and injected service types.
Keep overridden registrations visible and exclude cached type lookups from the list.

Register the provider when lowlevel is available and add typo3/cms-lowlevel as a development dependency for the tests.
Cover installations with and without the extension and document where to find the configuration.

Verified in an isolated checkout with PHP 8.5 and TYPO3 14.3.9:

  • CI=true ./Build/Scripts/runTests.sh -p 8.5 -s unit — 1,060 tests passed.
  • CI=true ./Build/Scripts/runTests.sh -p 8.5 -s grumphpRun — passed, including PHPStan, Rector, style checks, Composer validation, and security audit.
  • CI=true ./Build/Scripts/runTests.sh -p 8.5 -s functional -d sqlite -- Tests/Functional/ConfigurationModuleProvider — both integration tests passed.

The MySQL integration attempt was blocked because the runner's database container did not become ready on port 3306.

Kanti added 3 commits October 17, 2026 12:12
Expose every registered type transformer with its inputs, defaults,
controls, injected service types and priority so developers can inspect
which registration is selected and which ones have been overridden.

Register the provider when lowlevel is available and cover installations
with and without the extension. Require lowlevel only for development
so the provider tests run in the standalone extension's CI setup.
Format booleans, null and empty strings for TYPO3's Configuration tree
and distinguish missing defaults from explicitly declared null defaults.
Apply the display formatting recursively while preserving array keys,
scalar values and enum defaults.

Cover the rendered HTML through TYPO3's actual ConfigurationController
and verify that transformer arguments and execution retain native values.
Show enum cases explicitly in the Configuration module so a backed enum
with an empty string value remains visible. Apply the same formatting
to enums in nested array defaults.

Cover TypolinkTargetEnum::none in the built-in transformer and the real
TYPO3 tree renderer while preserving native enum values for execution.
@Kanti
Kanti merged commit 4364556 into main Oct 17, 2026
9 checks passed
@Kanti
Kanti deleted the feature/type-transformer-configuration branch October 17, 2026 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant