Yireo GraphQL Schema Manipulation

yireo/magento2-graph-ql-schema-manipulation

Provides a framework to manipulate the Magento 2 GraphQL schema before it is used, letting developers remove or alter fields and endpoints added by other extensions.

No errors foundPHPStan level 3Build passingTrusted vendorSemVer compliant

Supported Magento versions: 2.4.9

548 installs★ 0 starsLatest: v0.0.2Released 2025-02-03License: OSL-3.0

composer require yireo/magento2-graph-ql-schema-manipulation

README

Reproduced from the package’s own README, under its own license, as of 2026-09-13. Links and images point back at the source repository.

Yireo GraphQlSchemaManipulation

Magento version PHP version License Latest Version

Magento 2 module to manipulate the GraphQL schema before it is being used. This can be useful when trying to remove endpoints that are added by monolithic extensions and perhaps other use-cases.

Installation

composer require yireo/magento2-graph-ql-schema-manipulation
bin/magento module:enable Yireo_GraphQlSchemaManipulation

Usage

To manipulate the schema yourself, you will need to create a class similar to the following:

class ExampleSchemaManipulator implements \Yireo\GraphQlSchemaManipulation\Schema\ManipulationInterface
{
    public function manipulateFieldsConfig(array $config): array
    {
        foreach ($config as $fieldIndex => $field) {
            if (in_array($fieldIndex, ['isEmailAvailable'])) {
                unset($config[$fieldIndex]);
            }
        }

        return $config;
    }
}

Next, create a di.xml file that adds this class to this module:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Yireo\GraphQlSchemaManipulation\Plugin\AddSchemaManipulators">
        <arguments>
            <argument name="schemaManipulators" xsi:type="array">
                <item name="example" xsi:type="object">ExampleSchemaManipulator</item>
            </argument>
        </arguments>
    </type>
</config>

Current status

Static Tests Unit Tests Integration Tests Playwright DI Compilation

← All packages from yireo