Решил не очень масштабную, но концептуально интересную задачу.
Есть большое SPA-приложение, в нем идет обмен данными под грибамиgraphQL. Проблема - graphQL разросшийся, и без подсветки синтаксиса непонятно, какое поле что значит, откуда берется и какого типа данными запитывается.
Но ладно, пишем под каждую схему конфиг (поначалу хотелось сгрести все двумя регулярками - одну под схемы другую под клиентские описания запросов/фрагментов/мутаций, но VSCode-graphQL начал путаться и просить, чтобы ему явно дали соответствие "схема-описание").
А потом мне вдруг было видение, что этот же конфиг подходит и для недавно восстановленного скрипта автогенерации (через либу graphql-codegen.js) типов и запросов.
Чтобы была уверенность, что одни и те же схемы вытаскиваются из одних и тех же путей, а также есть возможность адресно обновлять не все схемы разом, а прицельно - только одну, по имени.
А концептуально здесь прикольно то, что я написал конфиг(json с маппингом схема→адрес для скачивания схемы→документы для схемы) для конфига graphql.config.json, который генерирует описания типов typeScript(*.d.ts, что тоже конфиг в своем роде ). Потому что нужно увеличивать глубину рекурсии. И делать это рекурсивно.