@trackunit/graphql-build-tools 0.0.15 → 0.0.17-alpha-7bce9c1cf2a.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/bin/index.js.map +0 -1
- package/src/cli.js.map +0 -1
- package/src/commands/build.js.map +0 -1
- package/src/commands/bundle.js.map +0 -1
- package/src/index.js.map +0 -1
- package/src/transformers/authorization-directive.js.map +0 -1
- package/src/transformers/complexity-directive.js.map +0 -1
- package/src/transformers/context.js.map +0 -1
- package/src/transformers/global-id-transformer.js.map +0 -1
- package/src/transformers/hidden-directive.js.map +0 -1
- package/src/transformers/map-id-values.js.map +0 -1
- package/src/transformers/preview-directive.js.map +0 -1
- package/src/transformers/transformer-chain.js.map +0 -1
package/package.json
CHANGED
package/bin/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/graphql/build-tools/bin/index.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AAEpC,KAAK,IAAA,YAAM,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;IACjC,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,MAAM,EAAE,OAAO,CAAC,MAAM;CACvB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;IACjB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC,CAAC,CAAC","sourcesContent":["#!/usr/bin/env node\nimport { runCli } from \"../src/cli\";\n\nvoid runCli(process.argv.slice(2), {\n stdout: process.stdout,\n stderr: process.stderr,\n}).then(exitCode => {\n process.exitCode = exitCode;\n});\n"]}
|
package/src/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../../libs/graphql/build-tools/src/cli.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\nimport { buildSchemaFile } from \"./commands/build\";\nimport { bundleSchemas } from \"./commands/bundle\";\nimport { graphqlGatewayNames } from \"./transformers/transformer-chain\";\n\ntype WritableStream = {\n readonly write: (message: string) => void;\n};\n\ntype CliStreams = {\n readonly stdout: WritableStream;\n readonly stderr: WritableStream;\n};\n\nconst graphqlGatewayNameSchema = z.enum(graphqlGatewayNames);\n\nconst getErrorMessage = (error: unknown): string => {\n if (error instanceof Error) {\n return error.message;\n }\n return String(error);\n};\n\nconst HELP_TEXT = `Usage: graphql-build-tools [command]\n\nBuild Manager-compatible GraphQL SDLs\n\nCommands:\n bundle <inputGlob> <outputFile>\n Collect many raw .graphqls files into one SDL\n\n build --server <server> <input> <output>\n Render a gateway-specific Manager SDL from bundled input\n Servers: ${graphqlGatewayNames.join(\", \")}\n Use \"-\" as <output> to write transformed SDL to stdout\n\nOptions:\n --help Show this help message\n`;\n\nconst parseBuildArgs = (\n args: ReadonlyArray<string>\n): { server: string; input: string; output: string } | { error: string } => {\n let server: string | undefined;\n const positional: Array<string> = [];\n\n for (let i = 0; i < args.length; i++) {\n const arg = args[i];\n if (arg === undefined) continue;\n if (arg.startsWith(\"--server=\")) {\n server = arg.slice(\"--server=\".length);\n } else if (arg === \"--server\") {\n const next = args[i + 1];\n if (next !== undefined) {\n server = next;\n i++;\n }\n } else {\n positional.push(arg);\n }\n }\n\n if (!server) {\n return { error: `required option --server missing. Expected one of: ${graphqlGatewayNames.join(\", \")}` };\n }\n\n const [input, output] = positional;\n if (!input || !output) {\n return { error: \"build requires <input> and <output> arguments\" };\n }\n\n return { server, input, output };\n};\n\nexport const runCli = async (argv: ReadonlyArray<string>, streams: CliStreams): Promise<number> => {\n const [subcommand, ...rest] = argv;\n\n if (!subcommand || subcommand === \"--help\" || subcommand === \"-h\") {\n streams.stdout.write(HELP_TEXT);\n return 0;\n }\n\n if (subcommand === \"bundle\") {\n const [inputGlob, outputFile] = rest;\n if (!inputGlob || !outputFile) {\n streams.stderr.write(\"Error: bundle requires <inputGlob> and <outputFile> arguments\\n\");\n return 1;\n }\n try {\n await bundleSchemas({ inputGlob, outputFile });\n return 0;\n } catch (error) {\n streams.stderr.write(`Error: ${getErrorMessage(error)}\\n`);\n return 1;\n }\n }\n\n if (subcommand === \"build\") {\n const parsed = parseBuildArgs(rest);\n if (\"error\" in parsed) {\n streams.stderr.write(`Error: ${parsed.error}\\n`);\n return 1;\n }\n\n const parsedServer = graphqlGatewayNameSchema.safeParse(parsed.server);\n if (!parsedServer.success) {\n streams.stderr.write(\n `Error: Unknown server \"${parsed.server}\". Expected one of: ${graphqlGatewayNames.join(\", \")}\\n`\n );\n return 1;\n }\n\n try {\n const outputSdl = await buildSchemaFile({\n inputFile: parsed.input,\n outputFile: parsed.output,\n server: parsedServer.data,\n });\n if (parsed.output === \"-\") {\n streams.stdout.write(`${outputSdl}\\n`);\n }\n return 0;\n } catch (error) {\n streams.stderr.write(`Error: ${getErrorMessage(error)}\\n`);\n return 1;\n }\n }\n\n streams.stderr.write(`Error: unknown command \"${subcommand}\"\\n`);\n return 1;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../../libs/graphql/build-tools/src/commands/build.ts"],"names":[],"mappings":";;;AAAA,+CAA8D;AAC9D,yCAAoC;AACpC,yEAAuG;AAQhG,MAAM,kBAAkB,GAAG,CAAC,MAA0B,EAAE,QAAgB,EAAU,EAAE;IACzF,OAAO,IAAA,6CAAyB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AAEK,MAAM,eAAe,GAAG,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAsB,EAAmB,EAAE;IAC9G,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAA,0BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEvD,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,MAAM,IAAA,gBAAK,EAAC,IAAA,mBAAO,EAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAVW,QAAA,eAAe,mBAU1B","sourcesContent":["import { mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport { dirname } from \"node:path\";\nimport { buildTransformedSchemaSdl, type GraphqlGatewayName } from \"../transformers/transformer-chain\";\n\nexport type BuildSchemaOptions = {\n readonly inputFile: string;\n readonly outputFile: string;\n readonly server: GraphqlGatewayName;\n};\n\nexport const buildGraphqlSchema = (server: GraphqlGatewayName, inputSdl: string): string => {\n return buildTransformedSchemaSdl(server, inputSdl);\n};\n\nexport const buildSchemaFile = async ({ inputFile, outputFile, server }: BuildSchemaOptions): Promise<string> => {\n const inputSdl = await readFile(inputFile, \"utf8\");\n const outputSdl = buildGraphqlSchema(server, inputSdl);\n\n if (outputFile !== \"-\") {\n await mkdir(dirname(outputFile), { recursive: true });\n await writeFile(outputFile, outputSdl);\n }\n\n return outputSdl;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../../../../libs/graphql/build-tools/src/commands/bundle.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,+CAA8D;AAC9D,yCAAoC;AAO7B,MAAM,aAAa,GAAG,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAwB,EAAiB,EAAE;IACpG,MAAM,KAAK,GAAG,CAAC,MAAM,IAAA,WAAI,EAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7G,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,mBAAQ,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAA,gBAAK,EAAC,IAAA,mBAAO,EAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC;AATW,QAAA,aAAa,iBASxB","sourcesContent":["import { glob } from \"glob\";\nimport { mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport { dirname } from \"node:path\";\n\nexport type BundleSchemasOptions = {\n readonly inputGlob: string;\n readonly outputFile: string;\n};\n\nexport const bundleSchemas = async ({ inputGlob, outputFile }: BundleSchemasOptions): Promise<void> => {\n const files = (await glob(inputGlob, { nodir: true })).filter(file => file.endsWith(\".graphqls\")).toSorted();\n if (files.length === 0) {\n throw new Error(`No schema files found for pattern: ${inputGlob}`);\n }\n\n const contents = await Promise.all(files.map(file => readFile(file, \"utf8\")));\n await mkdir(dirname(outputFile), { recursive: true });\n await writeFile(outputFile, contents.join(\"\\n\"));\n};\n"]}
|
package/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/graphql/build-tools/src/index.ts"],"names":[],"mappings":";;;;AAAA,6BAA+B;AAAtB,6FAAA,MAAM,OAAA;AACf,0CAAuE;AAA9D,2GAAA,kBAAkB,OAAA;AAAE,wGAAA,eAAe,OAAA;AAE5C,4CAAkD;AAAzC,uGAAA,aAAa,OAAA;AAEtB,iFAAuD;AACvD,8EAAoD;AACpD,+EAAqD;AACrD,0EAAgD;AAChD,2EAAiD;AACjD,2EAAiD","sourcesContent":["export { runCli } from \"./cli\";\nexport { buildGraphqlSchema, buildSchemaFile } from \"./commands/build\";\nexport type { BuildSchemaOptions } from \"./commands/build\";\nexport { bundleSchemas } from \"./commands/bundle\";\nexport type { BundleSchemasOptions } from \"./commands/bundle\";\nexport * from \"./transformers/authorization-directive\";\nexport * from \"./transformers/complexity-directive\";\nexport * from \"./transformers/global-id-transformer\";\nexport * from \"./transformers/hidden-directive\";\nexport * from \"./transformers/preview-directive\";\nexport * from \"./transformers/transformer-chain\";\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authorization-directive.js","sourceRoot":"","sources":["../../../../../../libs/graphql/build-tools/src/transformers/authorization-directive.ts"],"names":[],"mappings":"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","sourcesContent":["import { getDirective, MapperKind, mapSchema } from \"@graphql-tools/utils\";\nimport type { GraphQLSchema } from \"graphql\";\n\nexport type AuthorizationDirectiveArgs = {\n readonly allow: Array<string>;\n};\n\nexport const getAuthorizationDirectiveArgs = (\n directive: Record<string, unknown> | undefined\n): AuthorizationDirectiveArgs | undefined => {\n if (directive === undefined) {\n return undefined;\n }\n if (!Array.isArray(directive.allow) || !directive.allow.every(scope => typeof scope === \"string\")) {\n throw new Error(\"Missing allow array on authorization directive\");\n }\n return { allow: directive.allow };\n};\n\nconst getRequiredScopesDescription = (allowedScopes: ReadonlyArray<string>): string =>\n `Required scopes: ${allowedScopes.join(\" or \")}`;\n\nconst appendRequiredScopesDescription = (\n description: string | null | undefined,\n requiredScopesDescription: string\n): string => {\n const existingDescription = description ?? \"\";\n if (existingDescription.includes(requiredScopesDescription)) {\n return existingDescription.trim();\n }\n return `${existingDescription}\\n\\n${requiredScopesDescription}`.trim();\n};\n\nexport const authorizationDirective = (directiveName = \"authorization\") => {\n const typeDirectiveArgumentMaps: Record<string, AuthorizationDirectiveArgs> = {};\n return {\n authorizationDirectiveTypeDefs: `\n \"\"\"The authorization directive marks elements requiring a special scope.\"\"\"\n directive @${directiveName}(\n \"\"\" The allowed scopes for the call. Token should have at least one of the listed scopes.\"\"\"\n allow: [String!]!\n ) on OBJECT | FIELD_DEFINITION`,\n authorizationDirectiveTransformer: (schema: GraphQLSchema): GraphQLSchema =>\n mapSchema(schema, {\n [MapperKind.TYPE]: type => {\n const directive = getAuthorizationDirectiveArgs(getDirective(schema, type, directiveName)?.[0]);\n if (directive) {\n typeDirectiveArgumentMaps[type.name] = directive;\n }\n return undefined;\n },\n [MapperKind.OBJECT_FIELD]: (fieldConfig, _fieldName, typeName) => {\n const directive =\n getAuthorizationDirectiveArgs(getDirective(schema, fieldConfig, directiveName)?.[0]) ??\n typeDirectiveArgumentMaps[typeName];\n if (directive) {\n const allowedScopes = directive.allow;\n const requiredScopesDescription = getRequiredScopesDescription(allowedScopes);\n\n fieldConfig.description = appendRequiredScopesDescription(\n fieldConfig.description,\n requiredScopesDescription\n );\n if (fieldConfig.astNode?.description) {\n fieldConfig.astNode = {\n ...fieldConfig.astNode,\n description: { ...fieldConfig.astNode.description, value: fieldConfig.description },\n };\n }\n }\n return fieldConfig;\n },\n }),\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"complexity-directive.js","sourceRoot":"","sources":["../../../../../../libs/graphql/build-tools/src/transformers/complexity-directive.ts"],"names":[],"mappings":";;;AAAA,gDAA2E;AAG3E,MAAM,aAAa,GAAG,CAAC,KAAc,EAA6B,EAAE;IAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3E,CAAC,CAAC;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,aAAa,GAAG,YAAY,CAAC;IACnC,OAAO;QACL,2BAA2B,EAAE;;iBAEhB,aAAa;;;;;;0BAMJ;QACtB,8BAA8B,EAAE,CAAC,MAAqB,EAAiB,EAAE,CACvE,IAAA,iBAAS,EAAC,MAAM,EAAE;YAChB,CAAC,kBAAU,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,EAAE;gBACvC,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxE,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;oBAC5B,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;oBAEzD,WAAW,CAAC,WAAW,GAAG,CACxB,CAAC,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC;wBAC/B,wBAAwB,KAAK,EAAE;wBAC/B,CAAC,WAAW;4BACV,CAAC,CAAC,4EAA4E,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BACtG,CAAC,CAAC,EAAE,CAAC,CACR,CAAC,IAAI,EAAE,CAAC;oBACT,IAAI,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;wBACrC,WAAW,CAAC,OAAO,GAAG;4BACpB,GAAG,WAAW,CAAC,OAAO;4BACtB,WAAW,EAAE,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE;yBACpF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,OAAO,WAAW,CAAC;YACrB,CAAC;SACF,CAAC;KACL,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,mBAAmB,uBAsC9B","sourcesContent":["import { getDirective, MapperKind, mapSchema } from \"@graphql-tools/utils\";\nimport type { GraphQLSchema } from \"graphql\";\n\nconst getStringList = (value: unknown): Array<string> | undefined => {\n if (!Array.isArray(value)) {\n return undefined;\n }\n return value.every(item => typeof item === \"string\") ? value : undefined;\n};\n\nexport const complexityDirective = () => {\n const directiveName = \"complexity\";\n return {\n complexityDirectiveTypeDefs: `\n \"\"\"The complexity cost\"\"\"\n directive @${directiveName}(\n # The complexity value for the field\n value: Int!\n\n # Optional multipliers\n multipliers: [String!]\n ) on FIELD_DEFINITION`,\n complexityDirectiveTransformer: (schema: GraphQLSchema): GraphQLSchema =>\n mapSchema(schema, {\n [MapperKind.OBJECT_FIELD]: fieldConfig => {\n const directive = getDirective(schema, fieldConfig, directiveName)?.[0];\n if (directive) {\n const { value } = directive;\n const multipliers = getStringList(directive.multipliers);\n\n fieldConfig.description = (\n (fieldConfig.description ?? \"\") +\n `\\n\\nComplexity cost: ${value}` +\n (multipliers\n ? `, multiplied by the smallest numeric argument value or list length among ${multipliers.join(\", \")}`\n : \"\")\n ).trim();\n if (fieldConfig.astNode?.description) {\n fieldConfig.astNode = {\n ...fieldConfig.astNode,\n description: { ...fieldConfig.astNode.description, value: fieldConfig.description },\n };\n }\n }\n return fieldConfig;\n },\n }),\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../libs/graphql/build-tools/src/transformers/context.ts"],"names":[],"mappings":"","sourcesContent":["export type TrackunitSchemaTransformerToken = {\n readonly aud?: string;\n readonly cid?: string;\n readonly irisAppId?: string;\n readonly organizationId?: string;\n readonly sub?: string;\n readonly scp?: Array<string>;\n};\n\nexport type SchemaTransformerContext = {\n readonly apollographqlClientName?: string;\n readonly apollographqlClientVersion?: string;\n readonly graphqlClientName?: string;\n readonly graphqlClientVersion?: string;\n readonly trackunitAppVersion?: string;\n readonly trackunitManifestScopes?: Array<string>;\n readonly trackunitPreviewFeatures?: Array<string>;\n readonly trackunitToken?: TrackunitSchemaTransformerToken;\n readonly userAgent?: string;\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"global-id-transformer.js","sourceRoot":"","sources":["../../../../../../libs/graphql/build-tools/src/transformers/global-id-transformer.ts"],"names":[],"mappings":";;;AAAA,gDAA6D;AAC7D,8CAAiD;AACjD,2CAAwC;AACxC,qCAA2F;AAC3F,mDAA8C;AAE9C,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAMnB,QAAA,aAAa,GAAG,mBAAmB,CAAC;AAEjD,MAAM,WAAW,GAAG,IAAI,2BAAW,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;IACtD,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAa,CAAC,CAAC;QACzC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC,CAAC;AAEI,MAAM,mBAAmB,GAAG,CAAC,MAAqB,EAAiB,EAAE,CAC1E,IAAA,iBAAU,EAAC;IACT,UAAU,EAAE,CAAC,WAAW,CAAC;IACzB,MAAM,EAAE,IAAA,iBAAS,EAAC,MAAM,EAAE;QACxB,CAAC,kBAAU,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;gBAC3C,IAAI,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC/B,MAAM,cAAc,GAAG,GAAG,IAAA,uBAAU,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpD,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG;wBAC9B,IAAI,EAAE,IAAI,wBAAc,CAAC,mBAAS,CAAC;wBACnC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,YAAY;wBACrC,IAAI,EAAE,EAAE;wBACR,OAAO,CAAC,MAAgB;4BACtB,OAAO,MAAM,CAAC,EAAE,CAAC;wBACnB,CAAC;qBACF,CAAC;oBACF,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG;wBACjB,IAAI,EAAE,IAAI,wBAAc,CAAC,mBAAS,CAAC;wBACnC,WAAW,EAAE,0BAA0B,IAAI,CAAC,IAAI,EAAE;wBAClD,IAAI,EAAE,EAAE;wBACR,OAAO,CAAC,MAAgB;4BACtB,OAAO,GAAG,iBAAiB,GAAG,IAAI,CAAC,IAAI,GAAG,iBAAiB,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC;wBAC5E,CAAC;qBACF,CAAC;oBACF,OAAO,IAAI,2BAAiB,CAAC,MAAM,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;CACH,CAAC,CAAC;AAhCQ,QAAA,mBAAmB,uBAgC3B","sourcesContent":["import { MapperKind, mapSchema } from \"@graphql-tools/utils\";\nimport { wrapSchema } from \"@graphql-tools/wrap\";\nimport { lowerFirst } from \"es-toolkit\";\nimport { GraphQLID, GraphQLNonNull, GraphQLObjectType, type GraphQLSchema } from \"graphql\";\nimport { MapIDValues } from \"./map-id-values\";\n\nconst globalIdSeparator = \"___\";\n\ntype NodeLike = {\n readonly id: string;\n};\n\nexport const globalIdRegex = /___([^_]+)___(.+)/;\n\nconst mapIDValues = new MapIDValues((typeName, value) => {\n if (typeName === \"ID\" && typeof value === \"string\" && value.startsWith(globalIdSeparator)) {\n const match = value.match(globalIdRegex);\n return match?.[2];\n }\n return undefined;\n});\n\nexport const globalIdTransformer = (schema: GraphQLSchema): GraphQLSchema =>\n wrapSchema({\n transforms: [mapIDValues],\n schema: mapSchema(schema, {\n [MapperKind.OBJECT_TYPE]: type => {\n const typeInterfaces = type.getInterfaces();\n for (const typeInterface of typeInterfaces) {\n if (typeInterface.name === \"Node\") {\n const config = type.toConfig();\n const rawIdFieldName = `${lowerFirst(type.name)}Id`;\n config.fields[rawIdFieldName] = {\n type: new GraphQLNonNull(GraphQLID),\n description: `${type.name} Entity ID`,\n args: {},\n resolve(object: NodeLike) {\n return object.id;\n },\n };\n config.fields.id = {\n type: new GraphQLNonNull(GraphQLID),\n description: `Globally unique ID for ${type.name}`,\n args: {},\n resolve(object: NodeLike) {\n return `${globalIdSeparator}${type.name}${globalIdSeparator}${object.id}`;\n },\n };\n return new GraphQLObjectType(config);\n }\n }\n return undefined;\n },\n }),\n });\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hidden-directive.js","sourceRoot":"","sources":["../../../../../../libs/graphql/build-tools/src/transformers/hidden-directive.ts"],"names":[],"mappings":"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","sourcesContent":["import { filterSchema, getDirective, mapSchema } from \"@graphql-tools/utils\";\nimport { FilterObjectFieldDirectives, PruneSchema, wrapSchema } from \"@graphql-tools/wrap\";\nimport { isNamedType, type GraphQLEnumValueConfig, type GraphQLSchema } from \"graphql\";\n\nconst shouldPreserveDirective = (directive: Record<string, unknown> | undefined, currentServer: string): boolean => {\n if (directive === undefined) {\n return true;\n }\n\n if (directive.servers === undefined) {\n return false;\n }\n if (!Array.isArray(directive.servers)) {\n return false;\n }\n\n return !directive.servers.some(server => server === currentServer);\n};\n\n// Schema-stitching entry points. A subgraph whose only root fields are @hidden @merge resolvers\n// (e.g. a service that just extends a shared type) would otherwise be pruned to an empty schema.\n// Keeping these fields preserves the stitching scaffolding so the per-server SDL stays valid and composable.\nconst STITCHING_FIELD_DIRECTIVES = [\"merge\", \"computed\"] as const;\n\nconst hasStitchingDirective = (schema: GraphQLSchema, fieldConfig: Parameters<typeof getDirective>[1]): boolean =>\n STITCHING_FIELD_DIRECTIVES.some(name => (getDirective(schema, fieldConfig, name)?.length ?? 0) > 0);\n\nclass RemoveHiddenElementsTransform {\n public constructor(\n private readonly currentServer: string,\n private readonly directiveName: string,\n private readonly preserveStitchingEntrypoints: boolean\n ) {}\n\n public transformSchema(originalWrappingSchema: GraphQLSchema): GraphQLSchema {\n return filterSchema({\n schema: originalWrappingSchema,\n typeFilter: (_typeName, type) => {\n if (!isNamedType(type)) {\n return true;\n }\n return shouldPreserveDirective(\n getDirective(originalWrappingSchema, type, this.directiveName)?.[0],\n this.currentServer\n );\n },\n rootFieldFilter: (_operationName, _fieldName, fieldConfig) => {\n if (this.preserveStitchingEntrypoints && hasStitchingDirective(originalWrappingSchema, fieldConfig)) {\n return true;\n }\n return shouldPreserveDirective(\n getDirective(originalWrappingSchema, fieldConfig, this.directiveName)?.[0],\n this.currentServer\n );\n },\n fieldFilter: (_typeName, _fieldName, fieldConfig) => {\n if (this.preserveStitchingEntrypoints && hasStitchingDirective(originalWrappingSchema, fieldConfig)) {\n return true;\n }\n return shouldPreserveDirective(\n getDirective(originalWrappingSchema, fieldConfig, this.directiveName)?.[0],\n this.currentServer\n );\n },\n argumentFilter: (_typeName, _fieldName, _argName, argumentConfig) => {\n if (argumentConfig === undefined) {\n return true;\n }\n return shouldPreserveDirective(\n getDirective(originalWrappingSchema, argumentConfig, this.directiveName)?.[0],\n this.currentServer\n );\n },\n enumValueFilter: (_typeName: string, _valueName: string, valueConfig: GraphQLEnumValueConfig) => {\n return shouldPreserveDirective(\n getDirective(originalWrappingSchema, valueConfig, this.directiveName)?.[0],\n this.currentServer\n );\n },\n });\n }\n}\n\nexport type HiddenDirectiveOptions = {\n readonly directiveName?: string;\n /**\n * When true, root/object fields that carry a schema-stitching directive (@merge, @computed) are kept\n * even if marked @hidden. This is only relevant when building a single subgraph's SDL (the CLI build\n * path); the runtime gateway must keep the default (false) so stitching entry points stay hidden from users.\n */\n readonly preserveStitchingEntrypoints?: boolean;\n};\n\nexport const hiddenDirective = (\n currentServer: string,\n // Accepts the legacy `directiveName` string form for backwards compatibility, or an options object.\n optionsOrDirectiveName: string | HiddenDirectiveOptions = {}\n) => {\n const { directiveName = \"hidden\", preserveStitchingEntrypoints = false } =\n typeof optionsOrDirectiveName === \"string\" ? { directiveName: optionsOrDirectiveName } : optionsOrDirectiveName;\n\n return {\n hiddenDirectiveTypeDefs: `\n \"\"\"The hidden directive will be used to mark elements that should not be presented in the public graph.\"\"\"\n directive @${directiveName}(\n # The servers on which the properties should be hidden\n servers: [String]\n ) on ARGUMENT_DEFINITION | ENUM | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION`,\n hiddenDirectiveTransformer: (schema: GraphQLSchema): GraphQLSchema =>\n mapSchema(\n wrapSchema({\n schema,\n transforms: [\n new RemoveHiddenElementsTransform(currentServer, directiveName, preserveStitchingEntrypoints),\n new FilterObjectFieldDirectives(directive => directive !== directiveName),\n new PruneSchema({}),\n ],\n }),\n {}\n ),\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"map-id-values.js","sourceRoot":"","sources":["../../../../../../libs/graphql/build-tools/src/transformers/map-id-values.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DelegationContext, SubschemaConfig, Transform } from \"@graphql-tools/delegate\";\nimport { transformInputValue, type ExecutionRequest } from \"@graphql-tools/utils\";\nimport type { LeafValueTransformer } from \"@graphql-tools/wrap\";\nimport {\n GraphQLNonNull,\n Kind,\n TypeInfo,\n astFromValue,\n valueFromAST,\n valueFromASTUntyped,\n visit,\n visitWithTypeInfo,\n type ArgumentNode,\n type FieldNode,\n type FragmentDefinitionNode,\n type GraphQLSchema,\n type OperationDefinitionNode,\n} from \"graphql\";\n\ntype MapLeafValuesTransformationContext = {\n transformedRequest: ExecutionRequest;\n};\n\nexport class MapIDValues<TContext = Record<string, unknown>>\n implements Transform<MapLeafValuesTransformationContext, TContext>\n{\n private readonly inputValueTransformer: LeafValueTransformer;\n private typeInfo?: TypeInfo;\n\n public constructor(inputValueTransformer: LeafValueTransformer) {\n this.inputValueTransformer = inputValueTransformer;\n }\n\n public transformSchema(\n originalWrappingSchema: GraphQLSchema,\n _subschemaConfig: SubschemaConfig<unknown, unknown, unknown, TContext>\n ): GraphQLSchema {\n this.typeInfo = new TypeInfo(originalWrappingSchema);\n return originalWrappingSchema;\n }\n\n public transformRequest(\n originalRequest: ExecutionRequest,\n delegationContext: DelegationContext<TContext>,\n transformationContext: MapLeafValuesTransformationContext\n ): ExecutionRequest {\n const document = originalRequest.document;\n const variableValues = originalRequest.variables ?? {};\n\n const operations: Array<OperationDefinitionNode> = document.definitions.filter(\n def => def.kind === Kind.OPERATION_DEFINITION\n );\n const fragments: Array<FragmentDefinitionNode> = document.definitions.filter(\n def => def.kind === Kind.FRAGMENT_DEFINITION\n );\n\n const newOperations = this.transformOperations(operations, variableValues, delegationContext.args);\n\n const transformedRequest = {\n ...originalRequest,\n document: {\n ...document,\n definitions: [...newOperations, ...fragments],\n },\n variables: variableValues,\n };\n\n transformationContext.transformedRequest = transformedRequest;\n return transformedRequest;\n }\n\n private transformOperations(\n operations: Array<OperationDefinitionNode>,\n variableValues: Record<string, unknown>,\n args?: Record<string, unknown>\n ): Array<OperationDefinitionNode> {\n const typeInfo = this.typeInfo;\n if (!typeInfo) {\n throw new Error(\n `The MapLeafValues transform's \"transformRequest\" and \"transformResult\" methods cannot be used without first calling \"transformSchema\".`\n );\n }\n return operations.map((operation: OperationDefinitionNode) =>\n visit(\n operation,\n visitWithTypeInfo(typeInfo, {\n [Kind.FIELD]: node => this.transformFieldNode(node, variableValues, args),\n [Kind.SELECTION_SET]: node => {\n const nodeIdFieldName = \"id\";\n let type = typeInfo.getType();\n if (type) {\n if (type instanceof GraphQLNonNull) {\n type = type.ofType;\n }\n if (\n \"getInterfaces\" in type &&\n type.getInterfaces().some(typeInterface => typeInterface.name === \"Node\")\n ) {\n if (\n !node.selections.some(\n selection => selection.kind === Kind.FIELD && selection.name.value === nodeIdFieldName\n )\n ) {\n return {\n ...node,\n selections: [\n ...node.selections,\n {\n kind: Kind.FIELD,\n name: {\n kind: Kind.NAME,\n value: nodeIdFieldName,\n },\n },\n ],\n };\n }\n }\n }\n return undefined;\n },\n })\n )\n );\n }\n\n private transformFieldNode(\n field: FieldNode,\n variableValues: Record<string, unknown>,\n args?: Record<string, unknown>\n ): FieldNode | undefined {\n if (!this.typeInfo) {\n throw new Error(\n `The MapLeafValues transform's \"transformRequest\" and \"transformResult\" methods cannot be used without first calling \"transformSchema\".`\n );\n }\n const targetField = this.typeInfo.getFieldDef();\n\n if (!targetField) {\n return undefined;\n }\n\n if (targetField.name === \"node\" || targetField.name.startsWith(\"__\")) {\n return undefined;\n }\n\n const argumentNodes = field.arguments;\n if (!Array.isArray(argumentNodes)) {\n return undefined;\n }\n\n const argumentNodeMap: Record<string, ArgumentNode> = {};\n for (const argument of argumentNodes) {\n argumentNodeMap[argument.name.value] = argument;\n }\n\n for (const argument of targetField.args) {\n const argName = argument.name;\n const argType = argument.type;\n if (args?.[argName] !== undefined) {\n args[argName] = transformInputValue(argType, args[argName], (type, inputValue) => {\n const newValue = this.inputValueTransformer(type.name, inputValue);\n return newValue === undefined ? inputValue : newValue;\n });\n }\n\n const argumentNode = argumentNodeMap[argName];\n let value: unknown;\n const argValue = argumentNode?.value;\n if (argValue !== undefined) {\n value = valueFromAST(argValue, argType, variableValues);\n if (value === undefined || value === null) {\n value = valueFromASTUntyped(argValue, variableValues);\n }\n }\n\n const transformedValue = transformInputValue(argType, value, (type, inputValue) => {\n const newValue = this.inputValueTransformer(type.name, inputValue);\n return newValue === undefined ? inputValue : newValue;\n });\n\n if (argValue?.kind === Kind.VARIABLE) {\n variableValues[argValue.name.value] = transformedValue;\n } else {\n const newValueNode = astFromValue(transformedValue, argType);\n if (newValueNode !== undefined && newValueNode !== null && argumentNode !== undefined) {\n argumentNodeMap[argName] = {\n ...argumentNode,\n value: newValueNode,\n };\n }\n }\n }\n\n return {\n ...field,\n arguments: Object.values(argumentNodeMap),\n };\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preview-directive.js","sourceRoot":"","sources":["../../../../../../libs/graphql/build-tools/src/transformers/preview-directive.ts"],"names":[],"mappings":"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","sourcesContent":["import { getDirective, MapperKind, mapSchema } from \"@graphql-tools/utils\";\nimport {\n defaultFieldResolver,\n GraphQLError,\n GraphQLNonNull,\n type GraphQLFieldResolver,\n type GraphQLSchema,\n} from \"graphql\";\nimport type { SchemaTransformerContext } from \"./context\";\n\ntype PreviewDirectiveArgs = {\n readonly codename: string;\n};\n\nconst getPreviewDirectiveArgs = (directive: Record<string, unknown> | undefined): PreviewDirectiveArgs | undefined => {\n if (directive === undefined) {\n return undefined;\n }\n return typeof directive.codename === \"string\" ? { codename: directive.codename } : undefined;\n};\n\nexport const previewDirective = (directiveName = \"preview\") => {\n const typeDirectiveArgumentMaps: Record<string, PreviewDirectiveArgs> = {};\n return {\n previewDirectiveTypeDefs: `\n \"\"\"The preview directive will be used to indicate fields that are still under development\"\"\"\n directive @${directiveName}(\n # Indicates the code name for this feature, which should be included in the TU-PREVIEW HTTP header.\n codename: String!\n ) on ARGUMENT_DEFINITION | ENUM | ENUM_VALUE | FIELD_DEFINITION | INPUT_FIELD_DEFINITION | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION`,\n previewDirectiveTransformer: (schema: GraphQLSchema): GraphQLSchema =>\n mapSchema(schema, {\n [MapperKind.TYPE]: type => {\n const directive = getPreviewDirectiveArgs(getDirective(schema, type, directiveName)?.[0]);\n if (directive) {\n typeDirectiveArgumentMaps[type.name] = directive;\n }\n return undefined;\n },\n [MapperKind.OBJECT_FIELD]: (fieldConfig, fieldName, typeName) => {\n const directive =\n getPreviewDirectiveArgs(getDirective(schema, fieldConfig, directiveName)?.[0]) ??\n typeDirectiveArgumentMaps[typeName];\n if (directive) {\n const { codename } = directive;\n if (fieldConfig.type instanceof GraphQLNonNull) {\n if (typeName !== \"Query\" && typeName !== \"Mutation\" && typeName !== \"Subscription\") {\n throw new Error(`Preview field ${typeName}.${fieldName} cannot be non-null`);\n }\n }\n\n const resolve: GraphQLFieldResolver<unknown, SchemaTransformerContext> =\n fieldConfig.resolve ?? defaultFieldResolver;\n fieldConfig.resolve = (source, args, context: SchemaTransformerContext, info) => {\n const previewFeatures = context.trackunitPreviewFeatures;\n const errorMessage = `Requested field '${fieldName}' is a preview feature. This means it may change without notice. To indicate you accept these terms pass the HTTP header 'TU-PREVIEW: ${codename}' with your query requests.`;\n if (!previewFeatures) {\n throw new GraphQLError(errorMessage, { extensions: { code: \"BAD_USER_INPUT\" } });\n }\n if (!previewFeatures.includes(\"*\") && !previewFeatures.includes(codename)) {\n throw new GraphQLError(errorMessage, { extensions: { code: \"BAD_USER_INPUT\" } });\n }\n return resolve(source, args, context, info);\n };\n\n fieldConfig.description = (\n (fieldConfig.description ?? \"\") +\n `\\n\\n**This is a preview feature.** This means it may change without notice. To indicate you accept these terms pass the HTTP header 'TU-PREVIEW: ${codename}' with your query requests.`\n ).trim();\n if (fieldConfig.astNode?.description) {\n fieldConfig.astNode = {\n ...fieldConfig.astNode,\n description: { ...fieldConfig.astNode.description, value: fieldConfig.description },\n };\n }\n }\n return fieldConfig;\n },\n }),\n };\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transformer-chain.js","sourceRoot":"","sources":["../../../../../../libs/graphql/build-tools/src/transformers/transformer-chain.ts"],"names":[],"mappings":";;;AAAA,kDAA6D;AAC7D,gDAAiE;AAEjE,uEAAmE;AACnE,iEAA6D;AAC7D,mEAA8D;AAC9D,yDAAqD;AACrD,2DAAuD;AAE1C,QAAA,mBAAmB,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAC;AAanF,MAAM,6BAA6B,GAAG,CAC3C,MAAqB,EACrB,WAA+B,EAC/B,EAAE,4BAA4B,GAAG,KAAK,KAA2C,EAAE,EACpE,EAAE;IACjB,MAAM,EAAE,8BAA8B,EAAE,GAAG,IAAA,0CAAmB,GAAE,CAAC;IACjE,MAAM,EAAE,2BAA2B,EAAE,GAAG,IAAA,oCAAgB,GAAE,CAAC;IAC3D,MAAM,EAAE,0BAA0B,EAAE,GAAG,IAAA,kCAAe,EAAC,WAAW,EAAE,EAAE,4BAA4B,EAAE,CAAC,CAAC;IACtG,MAAM,EAAE,iCAAiC,EAAE,GAAG,IAAA,gDAAsB,GAAE,CAAC;IACvE,MAAM,YAAY,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;IAE1G,OAAO,iCAAiC,CAAC,8BAA8B,CAAC,IAAA,2CAAmB,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC/G,CAAC,CAAC;AAbW,QAAA,6BAA6B,iCAaxC;AAEW,QAAA,0BAA0B,GAAG,qCAA6B,CAAC;AAEjE,MAAM,yBAAyB,GAAG,CAAC,WAA+B,EAAE,QAAgB,EAAU,EAAE;IACrG,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,OAAO,IAAA,iCAAyB,EAC9B,IAAA,qCAA6B,EAAC,MAAM,EAAE,WAAW,EAAE,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAC3F,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,yBAAyB,6BAKpC","sourcesContent":["import { makeExecutableSchema } from \"@graphql-tools/schema\";\nimport { printSchemaWithDirectives } from \"@graphql-tools/utils\";\nimport type { GraphQLSchema } from \"graphql\";\nimport { authorizationDirective } from \"./authorization-directive\";\nimport { complexityDirective } from \"./complexity-directive\";\nimport { globalIdTransformer } from \"./global-id-transformer\";\nimport { hiddenDirective } from \"./hidden-directive\";\nimport { previewDirective } from \"./preview-directive\";\n\nexport const graphqlGatewayNames = [\"internal\", \"public\", \"report\", \"v3-mobile\"] as const;\n\nexport type GraphqlGatewayName = (typeof graphqlGatewayNames)[number];\n\nexport type ApplySdlDirectiveTransformersOptions = {\n /**\n * Keep schema-stitching entry points (@merge / @computed fields) even when they are @hidden.\n * Enabled when rendering a single subgraph's SDL so a pure-stitch subgraph does not collapse to an\n * empty schema. The runtime gateway omits this so those internal fields stay hidden from users.\n */\n readonly preserveStitchingEntrypoints?: boolean;\n};\n\nexport const applySdlDirectiveTransformers = (\n schema: GraphQLSchema,\n gatewayName: GraphqlGatewayName,\n { preserveStitchingEntrypoints = false }: ApplySdlDirectiveTransformersOptions = {}\n): GraphQLSchema => {\n const { complexityDirectiveTransformer } = complexityDirective();\n const { previewDirectiveTransformer } = previewDirective();\n const { hiddenDirectiveTransformer } = hiddenDirective(gatewayName, { preserveStitchingEntrypoints });\n const { authorizationDirectiveTransformer } = authorizationDirective();\n const hiddenSchema = hiddenDirectiveTransformer(schema);\n const previewSchema = gatewayName === \"report\" ? hiddenSchema : previewDirectiveTransformer(hiddenSchema);\n\n return authorizationDirectiveTransformer(complexityDirectiveTransformer(globalIdTransformer(previewSchema)));\n};\n\nexport const applyDirectiveTransformers = applySdlDirectiveTransformers;\n\nexport const buildTransformedSchemaSdl = (gatewayName: GraphqlGatewayName, inputSdl: string): string => {\n const schema = makeExecutableSchema({ typeDefs: inputSdl });\n return printSchemaWithDirectives(\n applySdlDirectiveTransformers(schema, gatewayName, { preserveStitchingEntrypoints: true })\n );\n};\n"]}
|