Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
},
},
];
for (const file of files) {
// Load the graph schema.
const schema = projects[file.name].getSchema();
// Create the generated directory.
const dir = path.dirname(file.fileName);
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
}
// Create the types for this file.
const types = await generateTSTypesAsString(schema, {
tabSpaces: 2,
typePrefix: "GQL",
strictNulls: false,
...file.config,
});
fs.writeFileSync(file.fileName, types);
}
return files;
}
const generateGTypes = (schemaDir: string, outputPath: string) => {
const schemasPath = glob.sync(schemaDir + '/*.+(js|ts|jsx|tsx)');
let typeDefs: string[] = [];
schemasPath.forEach(function (schema) {
typeDefs.push(require(schema));
});
const executableSchema = makeExecutableSchema({ typeDefs });
const options: GenerateTypescriptOptions = {
typePrefix: '',
noStringEnum: true,
smartTResult: true,
asyncResult: true
};
return generateTypeScriptTypes(executableSchema, outputPath, options);
};