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 passingSemVer compliant
Supported Magento versions
2.4.9
License
OSL-3.0
Categories
Developer Tools

553 installs★ 0 stars5 downloads/monthLatest: v0.0.2Released 2025-02-03

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

README

Reproduced from the package’s own README, under its own license, as of 2026-10-31. 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