Files
zammad/.graphql_code_generator.js
Dominik Klein b7c1530a56 Feature: Desktop view - Added ticket right sidebar for issue tracker references.
Co-authored-by: Mantas Masalskis <mm@zammad.com>
Co-authored-by: Benjamin Scharf <bs@zammad.com>
Co-authored-by: Dominik Klein <dk@zammad.com>
2024-10-30 15:11:17 +01:00

70 lines
1.8 KiB
JavaScript

// @ts-check
/** @type {import('@graphql-codegen/cli').CodegenConfig['generates'][string]} */
const mockerPreset = {
documents: ['app/frontend/**/{queries,mutations,subscriptions}/**/*.graphql'],
preset: 'near-operation-file',
presetConfig: {
baseTypesPath: '~#shared/graphql/types.ts',
importTypesNamespace: '',
extension: '.mocks.ts',
},
plugins: ['./app/frontend/build/mocksGraphqlPlugin.js'],
config: {
importOperationTypesFrom: 'Types',
skipDocumentsValidation: {
skipValidationAgainstSchema: true,
},
},
}
/** @type {import('@graphql-codegen/cli').CodegenConfig} */
const config = {
overwrite: true,
schema: 'app/graphql/graphql_introspection.json',
config: {
vueCompositionApiImportFrom: 'vue',
addDocBlocks: false,
},
generates: {
'./app/frontend/shared/graphql/types.ts': {
documents: [
'app/frontend/shared/**/*.graphql',
'app/frontend/apps/**/*.graphql',
],
config: {
scalars: {
BinaryString: 'string',
NonEmptyString: 'string',
FormId: 'string',
ISO8601Date: 'string',
ISO8601DateTime: 'string',
UriHttpString: 'string',
},
},
plugins: ['typescript', 'typescript-operations'],
},
'./app/frontend/': {
documents: [
'app/frontend/shared/**/*.graphql',
'app/frontend/apps/**/*.graphql',
],
preset: 'near-operation-file',
presetConfig: {
baseTypesPath: '~#shared/graphql/types.ts',
importTypesNamespace: '',
extension: '.api.ts',
},
plugins: ['typescript-vue-apollo'],
config: {
importOperationTypesFrom: 'Types',
},
},
// generate mocks
'./app/frontend/apps/': mockerPreset,
'./app/frontend/shared/': mockerPreset,
},
}
module.exports = config