@shopify/api-codegen-preset
Version:
Preset for graphql-codegen to parse and type queries to Shopify APIs
32 lines (29 loc) • 1.31 kB
JavaScript
import { preset as preset$1 } from '@shopify/graphql-codegen';
import { apiConfigs } from './helpers/api-configs.mjs';
import { getOutputFiles } from './helpers/get-output-files.mjs';
const preset = {
buildGeneratesSection: (options) => {
const apiType = options.presetConfig.apiType;
const { interfaceExtension, module, presetConfigs } = apiConfigs[apiType];
// Determine if the output file is a declaration file
const isDts = options.baseOutputDir.endsWith('.d.ts');
// Get the correct filename with extension (.d.ts or .ts)
const { typesFile } = getOutputFiles(apiType, isDts);
return preset$1.buildGeneratesSection({
...options,
presetConfig: {
...presetConfigs,
importTypes: {
namespace: presetConfigs.importTypes.namespace,
from: `./${typesFile}`,
},
interfaceExtension: ({ queryType, mutationType, }) => interfaceExtension
.replace('%%MODULE%%', options.presetConfig.module ?? module)
.replace('%%QUERY%%', queryType)
.replace('%%MUTATION%%', mutationType),
},
});
},
};
export { preset };
//# sourceMappingURL=preset.mjs.map