/* * Copycat. Copyright (C) 2020 selfisekai and other contributors. * * This is free software, and you are welcome to redistribute it * under the GNU General Public License 3.0 or later; see the LICENSE file for details, * or, if the file is unavailable, visit . */ import { generate } from '@graphql-codegen/cli'; import { safeLoad as yamlLoad } from 'js-yaml'; import { readdirSync, existsSync, readFileSync } from 'fs'; import path from 'path'; const vendorPath = path.join(__dirname, '..', 'src', 'vendor'); const vendors = readdirSync(vendorPath); const gqlVendors = vendors.filter((v) => existsSync(path.join(vendorPath, v, 'codegen.yml'))); Promise.all( gqlVendors .map((v) => path.join(vendorPath, v, 'codegen.yml')) .map((codegenFile) => generate(yamlLoad(readFileSync(codegenFile).toString('utf-8')) as any, true), ), ).then(() => console.log('done!'));