nitro-graphql 2.0.0-beta.7 → 2.0.0-beta.72

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.
Files changed (242) hide show
  1. package/README.md +31 -1196
  2. package/dist/cli/adapter.d.mts +13 -0
  3. package/dist/cli/adapter.mjs +67 -0
  4. package/dist/cli/commands/build.d.mts +21 -0
  5. package/dist/cli/commands/build.mjs +50 -0
  6. package/dist/cli/commands/dev.d.mts +40 -0
  7. package/dist/cli/commands/dev.mjs +74 -0
  8. package/dist/cli/commands/generate.d.mts +25 -0
  9. package/dist/cli/commands/generate.mjs +198 -0
  10. package/dist/cli/commands/index.d.mts +5 -0
  11. package/dist/cli/commands/index.mjs +5 -0
  12. package/dist/cli/commands/init.d.mts +45 -0
  13. package/dist/cli/commands/init.mjs +195 -0
  14. package/dist/cli/commands/validate.d.mts +9 -0
  15. package/dist/cli/commands/validate.mjs +65 -0
  16. package/dist/cli/completions.d.mts +6 -0
  17. package/dist/cli/completions.mjs +32 -0
  18. package/dist/cli/config.d.mts +18 -0
  19. package/dist/cli/config.mjs +19 -0
  20. package/dist/cli/index.d.mts +26 -0
  21. package/dist/cli/index.mjs +315 -0
  22. package/dist/cli/server/debug-handler.d.mts +9 -0
  23. package/dist/cli/server/debug-handler.mjs +68 -0
  24. package/dist/cli/server/dev-server.d.mts +29 -0
  25. package/dist/cli/server/dev-server.mjs +62 -0
  26. package/dist/cli/server/graphql-handler.d.mts +21 -0
  27. package/dist/cli/server/graphql-handler.mjs +43 -0
  28. package/dist/cli/server/health-handler.d.mts +12 -0
  29. package/dist/cli/server/health-handler.mjs +29 -0
  30. package/dist/cli/server/loader.d.mts +33 -0
  31. package/dist/cli/server/loader.mjs +144 -0
  32. package/dist/cli/server/sandbox-handler.d.mts +12 -0
  33. package/dist/cli/server/sandbox-handler.mjs +17 -0
  34. package/dist/cli/server/watcher.d.mts +20 -0
  35. package/dist/cli/server/watcher.mjs +64 -0
  36. package/dist/cli/server/ws-handler.d.mts +28 -0
  37. package/dist/cli/server/ws-handler.mjs +48 -0
  38. package/dist/config.d.mts +2 -0
  39. package/dist/config.mjs +2 -0
  40. package/dist/core/codegen/client.d.mts +42 -0
  41. package/dist/core/codegen/client.mjs +551 -0
  42. package/dist/core/codegen/document-loader.d.mts +9 -0
  43. package/dist/core/codegen/document-loader.mjs +16 -0
  44. package/dist/core/codegen/index.d.mts +8 -0
  45. package/dist/core/codegen/index.mjs +8 -0
  46. package/dist/core/codegen/plugin.d.mts +19 -0
  47. package/dist/core/codegen/plugin.mjs +29 -0
  48. package/dist/core/codegen/runtime.d.mts +17 -0
  49. package/dist/core/codegen/runtime.mjs +61 -0
  50. package/dist/core/codegen/schema-loader.d.mts +27 -0
  51. package/dist/core/codegen/schema-loader.mjs +126 -0
  52. package/dist/core/codegen/server.d.mts +27 -0
  53. package/dist/core/codegen/server.mjs +142 -0
  54. package/dist/core/codegen/validation.d.mts +17 -0
  55. package/dist/core/codegen/validation.mjs +33 -0
  56. package/dist/core/config.d.mts +45 -0
  57. package/dist/core/config.mjs +76 -0
  58. package/dist/core/constants.d.mts +188 -0
  59. package/dist/core/constants.mjs +208 -0
  60. package/dist/core/debug/index.d.mts +2 -0
  61. package/dist/core/debug/index.mjs +2 -0
  62. package/dist/core/debug/template.d.mts +52 -0
  63. package/dist/core/debug/template.mjs +384 -0
  64. package/dist/core/extend/index.d.mts +2 -0
  65. package/dist/core/extend/index.mjs +2 -0
  66. package/dist/core/extend/loader.d.mts +40 -0
  67. package/dist/core/extend/loader.mjs +196 -0
  68. package/dist/core/index.d.mts +33 -0
  69. package/dist/core/index.mjs +28 -0
  70. package/dist/core/manifest.d.mts +56 -0
  71. package/dist/core/manifest.mjs +100 -0
  72. package/dist/core/pubsub/index.d.mts +109 -0
  73. package/dist/core/pubsub/index.mjs +146 -0
  74. package/dist/core/scanning/ast-scanner.d.mts +27 -0
  75. package/dist/core/scanning/ast-scanner.mjs +114 -0
  76. package/dist/core/scanning/common.d.mts +25 -0
  77. package/dist/core/scanning/common.mjs +57 -0
  78. package/dist/core/scanning/directives.d.mts +13 -0
  79. package/dist/core/scanning/directives.mjs +28 -0
  80. package/dist/core/scanning/documents.d.mts +20 -0
  81. package/dist/core/scanning/documents.mjs +36 -0
  82. package/dist/core/scanning/index.d.mts +7 -0
  83. package/dist/core/scanning/index.mjs +7 -0
  84. package/dist/core/scanning/resolvers.d.mts +14 -0
  85. package/dist/core/scanning/resolvers.mjs +58 -0
  86. package/dist/core/scanning/schemas.d.mts +13 -0
  87. package/dist/core/scanning/schemas.mjs +50 -0
  88. package/dist/core/schema/builder.d.mts +59 -0
  89. package/dist/core/schema/builder.mjs +76 -0
  90. package/dist/core/schema/federation.d.mts +33 -0
  91. package/dist/core/schema/federation.mjs +38 -0
  92. package/dist/core/schema/index.d.mts +3 -0
  93. package/dist/core/schema/index.mjs +3 -0
  94. package/dist/core/server/index.d.mts +4 -0
  95. package/dist/core/server/index.mjs +3 -0
  96. package/dist/core/server/sandbox.d.mts +18 -0
  97. package/dist/core/server/sandbox.mjs +38 -0
  98. package/dist/core/server/types.d.mts +54 -0
  99. package/dist/core/server/types.mjs +1 -0
  100. package/dist/core/server/yoga.d.mts +42 -0
  101. package/dist/core/server/yoga.mjs +87 -0
  102. package/dist/core/types/adapter.d.mts +55 -0
  103. package/dist/core/types/adapter.mjs +1 -0
  104. package/dist/core/types/codegen.d.mts +136 -0
  105. package/dist/core/types/codegen.mjs +1 -0
  106. package/dist/core/types/config.d.mts +188 -0
  107. package/dist/core/types/config.mjs +1 -0
  108. package/dist/{utils/define.d.ts → core/types/define.d.mts} +2 -30
  109. package/dist/core/types/define.mjs +1 -0
  110. package/dist/core/types/index.d.mts +5 -0
  111. package/dist/core/types/index.mjs +1 -0
  112. package/dist/core/types/scanning.d.mts +64 -0
  113. package/dist/core/types/scanning.mjs +1 -0
  114. package/dist/{utils/directive-parser.d.ts → core/utils/directive-parser.d.mts} +18 -4
  115. package/dist/{utils/directive-parser.js → core/utils/directive-parser.mjs} +29 -36
  116. package/dist/core/utils/errors.d.mts +77 -0
  117. package/dist/core/utils/errors.mjs +91 -0
  118. package/dist/core/utils/file-io.d.mts +24 -0
  119. package/dist/core/utils/file-io.mjs +45 -0
  120. package/dist/core/utils/imports.d.mts +15 -0
  121. package/dist/core/utils/imports.mjs +24 -0
  122. package/dist/core/utils/index.d.mts +7 -0
  123. package/dist/core/utils/index.mjs +7 -0
  124. package/dist/core/utils/logger.d.mts +18 -0
  125. package/dist/core/utils/logger.mjs +36 -0
  126. package/dist/core/utils/ofetch-templates.d.mts +30 -0
  127. package/dist/core/utils/ofetch-templates.mjs +134 -0
  128. package/dist/core/utils/runtime.d.mts +74 -0
  129. package/dist/core/utils/runtime.mjs +109 -0
  130. package/dist/core/utils/subscribe-templates.d.mts +8 -0
  131. package/dist/core/utils/subscribe-templates.mjs +58 -0
  132. package/dist/core/validation/external-services.d.mts +11 -0
  133. package/dist/core/validation/external-services.mjs +33 -0
  134. package/dist/core/validation/index.d.mts +2 -0
  135. package/dist/core/validation/index.mjs +2 -0
  136. package/dist/core/watcher/index.d.mts +107 -0
  137. package/dist/core/watcher/index.mjs +140 -0
  138. package/dist/define.d.mts +294 -0
  139. package/dist/define.mjs +323 -0
  140. package/dist/index.d.mts +6 -0
  141. package/dist/index.mjs +5 -0
  142. package/dist/nitro/adapter.d.mts +28 -0
  143. package/dist/nitro/adapter.mjs +90 -0
  144. package/dist/{utils/apollo.d.ts → nitro/apollo.d.mts} +3 -3
  145. package/dist/nitro/apollo.mjs +57 -0
  146. package/dist/nitro/codegen.d.mts +18 -0
  147. package/dist/nitro/codegen.mjs +171 -0
  148. package/dist/nitro/config.d.mts +50 -0
  149. package/dist/nitro/config.mjs +55 -0
  150. package/dist/nitro/index.d.mts +45 -0
  151. package/dist/nitro/index.mjs +63 -0
  152. package/dist/{utils/path-resolver.d.ts → nitro/paths.d.mts} +8 -25
  153. package/dist/nitro/paths.mjs +97 -0
  154. package/dist/nitro/rollup.d.mts +6 -0
  155. package/dist/nitro/rollup.mjs +52 -0
  156. package/dist/nitro/routes/apollo-sandbox-script.d.mts +6 -0
  157. package/dist/nitro/routes/apollo-sandbox-script.mjs +12 -0
  158. package/dist/nitro/routes/apollo-server-ws.d.mts +15 -0
  159. package/dist/nitro/routes/apollo-server-ws.mjs +50 -0
  160. package/dist/nitro/routes/apollo-server.d.mts +6 -0
  161. package/dist/nitro/routes/apollo-server.mjs +69 -0
  162. package/dist/{routes/debug.d.ts → nitro/routes/debug.d.mts} +12 -19
  163. package/dist/nitro/routes/debug.mjs +98 -0
  164. package/dist/nitro/routes/graphql-yoga-ws.d.mts +12 -0
  165. package/dist/nitro/routes/graphql-yoga-ws.mjs +50 -0
  166. package/dist/nitro/routes/graphql-yoga.d.mts +12 -0
  167. package/dist/nitro/routes/graphql-yoga.mjs +39 -0
  168. package/dist/nitro/routes/health.d.mts +10 -0
  169. package/dist/{routes/health.js → nitro/routes/health.mjs} +5 -6
  170. package/dist/nitro/setup/extend-loader.d.mts +16 -0
  171. package/dist/nitro/setup/extend-loader.mjs +80 -0
  172. package/dist/nitro/setup/file-watcher.d.mts +18 -0
  173. package/dist/nitro/setup/file-watcher.mjs +62 -0
  174. package/dist/nitro/setup/logging.d.mts +16 -0
  175. package/dist/nitro/setup/logging.mjs +64 -0
  176. package/dist/nitro/setup/rollup-integration.d.mts +24 -0
  177. package/dist/nitro/setup/rollup-integration.mjs +64 -0
  178. package/dist/nitro/setup/routes.d.mts +13 -0
  179. package/dist/nitro/setup/routes.mjs +69 -0
  180. package/dist/nitro/setup/scanner.d.mts +59 -0
  181. package/dist/nitro/setup/scanner.mjs +118 -0
  182. package/dist/nitro/setup/ts-config.d.mts +10 -0
  183. package/dist/nitro/setup/ts-config.mjs +67 -0
  184. package/dist/nitro/setup.d.mts +11 -0
  185. package/dist/nitro/setup.mjs +189 -0
  186. package/dist/nitro/types.d.mts +549 -0
  187. package/dist/nitro/types.mjs +1 -0
  188. package/dist/nitro/virtual/generators.d.mts +38 -0
  189. package/dist/nitro/virtual/generators.mjs +190 -0
  190. package/dist/nitro/virtual/stubs.d.mts +21 -0
  191. package/dist/nitro/virtual/stubs.mjs +31 -0
  192. package/dist/{ecosystem/nuxt.d.ts → nuxt.d.mts} +1 -1
  193. package/dist/nuxt.mjs +111 -0
  194. package/dist/{graphql/server.d.ts → stubs/index.d.mts} +5 -1
  195. package/dist/stubs/index.mjs +1 -0
  196. package/dist/subscribe/index.d.mts +78 -0
  197. package/dist/subscribe/index.mjs +205 -0
  198. package/native/index.d.ts +20 -0
  199. package/native/index.js +585 -0
  200. package/package.json +202 -112
  201. package/dist/ecosystem/nuxt.js +0 -67
  202. package/dist/graphql/index.d.ts +0 -5
  203. package/dist/graphql/index.js +0 -1
  204. package/dist/graphql/server.js +0 -1
  205. package/dist/index.d.ts +0 -8
  206. package/dist/index.js +0 -318
  207. package/dist/rollup.js +0 -277
  208. package/dist/routes/apollo-server.d.ts +0 -6
  209. package/dist/routes/apollo-server.js +0 -89
  210. package/dist/routes/debug.js +0 -449
  211. package/dist/routes/graphql-yoga.d.ts +0 -6
  212. package/dist/routes/graphql-yoga.js +0 -91
  213. package/dist/routes/health.d.ts +0 -10
  214. package/dist/types/index.d.ts +0 -246
  215. package/dist/types/standard-schema.d.ts +0 -59
  216. package/dist/utils/apollo.js +0 -61
  217. package/dist/utils/client-codegen.d.ts +0 -38
  218. package/dist/utils/client-codegen.js +0 -290
  219. package/dist/utils/define.js +0 -57
  220. package/dist/utils/file-generator.d.ts +0 -37
  221. package/dist/utils/file-generator.js +0 -72
  222. package/dist/utils/index.d.ts +0 -39
  223. package/dist/utils/index.js +0 -278
  224. package/dist/utils/path-resolver.js +0 -127
  225. package/dist/utils/server-codegen.d.ts +0 -7
  226. package/dist/utils/server-codegen.js +0 -136
  227. package/dist/utils/type-generation.d.ts +0 -7
  228. package/dist/utils/type-generation.js +0 -360
  229. package/dist/virtual/debug-info.d.ts +0 -9
  230. package/dist/virtual/debug-info.js +0 -26
  231. package/dist/virtual/graphql-config.d.ts +0 -9
  232. package/dist/virtual/graphql-config.js +0 -10
  233. package/dist/virtual/module-config.d.ts +0 -9
  234. package/dist/virtual/module-config.js +0 -10
  235. package/dist/virtual/server-directives.d.ts +0 -11
  236. package/dist/virtual/server-directives.js +0 -10
  237. package/dist/virtual/server-resolvers.d.ts +0 -11
  238. package/dist/virtual/server-resolvers.js +0 -10
  239. package/dist/virtual/server-schemas.d.ts +0 -11
  240. package/dist/virtual/server-schemas.js +0 -10
  241. package/dist/vite.d.ts +0 -25
  242. package/dist/vite.js +0 -40
@@ -0,0 +1,11 @@
1
+ import { resolveSecurityConfig } from "./setup/logging.mjs";
2
+ import { Nitro } from "nitro/types";
3
+
4
+ //#region src/nitro/setup.d.ts
5
+ /**
6
+ * Main setup function for nitro-graphql
7
+ * Coordinates all initialization steps for the module
8
+ */
9
+ declare function setupNitroGraphQL(nitro: Nitro): Promise<void>;
10
+ //#endregion
11
+ export { resolveSecurityConfig, setupNitroGraphQL };
@@ -0,0 +1,189 @@
1
+ import { FRAMEWORK_NITRO, FRAMEWORK_NUXT, LOG_TAG } from "../core/constants.mjs";
2
+ import { validateExternalServices } from "../core/validation/external-services.mjs";
3
+ import { getDefaultPaths } from "./paths.mjs";
4
+ import { generateClientTypes, generateServerTypes } from "./codegen.mjs";
5
+ import { DEFAULT_RUNTIME_CONFIG, DEFAULT_TYPES_CONFIG } from "./config.mjs";
6
+ import { rollupConfig } from "./rollup.mjs";
7
+ import { resolveExtendDirs } from "./setup/extend-loader.mjs";
8
+ import { isServerEnabled, logResolverDiagnostics, performGraphQLScan } from "./setup/scanner.mjs";
9
+ import { getWatchDirectories, setupFileWatcher } from "./setup/file-watcher.mjs";
10
+ import { logStartupInfo, resolveSecurityConfig } from "./setup/logging.mjs";
11
+ import { setupNoExternals, setupRollupChunking, setupRollupExternals } from "./setup/rollup-integration.mjs";
12
+ import { registerRouteHandlers } from "./setup/routes.mjs";
13
+ import { setupTypeScriptPaths } from "./setup/ts-config.mjs";
14
+ import defu from "defu";
15
+ import consola from "consola";
16
+ import { relative, resolve } from "pathe";
17
+ //#region src/nitro/setup.ts
18
+ const logger = consola.withTag(LOG_TAG);
19
+ /**
20
+ * Main setup function for nitro-graphql
21
+ * Coordinates all initialization steps for the module
22
+ */
23
+ async function setupNitroGraphQL(nitro) {
24
+ const serverEnabled = isServerEnabled(nitro);
25
+ initializeConfiguration(nitro, serverEnabled);
26
+ validateConfiguration(nitro);
27
+ setupBuildDirectories(nitro);
28
+ if (serverEnabled) {
29
+ setupNoExternals(nitro);
30
+ setupRollupExternals(nitro);
31
+ setupRollupChunking(nitro);
32
+ }
33
+ initializeRuntimeConfig(nitro);
34
+ const extendDirs = await resolveExtendDirs(nitro);
35
+ if (nitro.options.dev) setupFileWatching(nitro, serverEnabled, extendDirs);
36
+ await performGraphQLScan(nitro);
37
+ if (serverEnabled) setupDevHooks(nitro);
38
+ if (serverEnabled) await rollupConfig(nitro);
39
+ await generateTypes(nitro, serverEnabled);
40
+ setupCloseHooks(nitro, serverEnabled);
41
+ if (serverEnabled) registerRouteHandlers(nitro);
42
+ setupTypeScriptConfiguration(nitro);
43
+ setupNuxtIntegration(nitro);
44
+ logStartupInfo(nitro, serverEnabled);
45
+ }
46
+ /**
47
+ * Initialize default configuration values
48
+ */
49
+ function initializeConfiguration(nitro, serverEnabled) {
50
+ nitro.options.graphql ||= {};
51
+ nitro.options.graphql.types = defu(nitro.options.graphql.types, DEFAULT_TYPES_CONFIG);
52
+ if (serverEnabled && !nitro.options.graphql?.framework) logger.warn("No GraphQL framework specified. Please set graphql.framework to \"graphql-yoga\" or \"apollo-server\".");
53
+ const defaultPaths = getDefaultPaths(nitro);
54
+ nitro.graphql ||= {
55
+ buildDir: "",
56
+ watchDirs: [],
57
+ clientDir: defaultPaths.clientDir,
58
+ serverDir: defaultPaths.serverDir,
59
+ dir: {
60
+ build: relative(nitro.options.rootDir, nitro.options.buildDir),
61
+ client: "graphql",
62
+ server: "server"
63
+ },
64
+ directiveSchemas: null,
65
+ extendConfigs: [],
66
+ extendSchemas: []
67
+ };
68
+ nitro.scanSchemas ||= [];
69
+ nitro.scanResolvers ||= [];
70
+ nitro.scanDirectives ||= [];
71
+ nitro.scanDocuments ||= [];
72
+ if (nitro.options.graphql?.subscriptions?.enabled) nitro.options.features = {
73
+ ...nitro.options.features,
74
+ websocket: true
75
+ };
76
+ }
77
+ /**
78
+ * Validate external services configuration
79
+ */
80
+ function validateConfiguration(nitro) {
81
+ if (nitro.options.graphql?.externalServices?.length) {
82
+ const validationErrors = validateExternalServices(nitro.options.graphql.externalServices);
83
+ if (validationErrors.length > 0) {
84
+ logger.error("External services configuration errors:");
85
+ for (const error of validationErrors) logger.error(` - ${error}`);
86
+ throw new Error("Invalid external services configuration");
87
+ }
88
+ logger.info(`Configured ${nitro.options.graphql.externalServices.length} external GraphQL services`);
89
+ }
90
+ if (nitro.options.graphql?.federation?.enabled) logger.info(`Apollo Federation enabled for service: ${nitro.options.graphql.federation.serviceName || "unnamed"}`);
91
+ }
92
+ /**
93
+ * Setup build directories
94
+ */
95
+ function setupBuildDirectories(nitro) {
96
+ const graphqlBuildDir = resolve(nitro.options.rootDir, ".graphql");
97
+ nitro.graphql.buildDir = graphqlBuildDir;
98
+ switch (nitro.options.framework.name) {
99
+ case FRAMEWORK_NUXT:
100
+ nitro.graphql.dir.client = relative(nitro.options.rootDir, nitro.graphql.clientDir);
101
+ nitro.graphql.dir.server = relative(nitro.options.rootDir, nitro.graphql.serverDir);
102
+ break;
103
+ case FRAMEWORK_NITRO:
104
+ nitro.graphql.dir.client = relative(nitro.options.rootDir, nitro.graphql.clientDir);
105
+ nitro.graphql.dir.server = relative(nitro.options.rootDir, nitro.graphql.serverDir);
106
+ break;
107
+ default: break;
108
+ }
109
+ }
110
+ /**
111
+ * Initialize runtime configuration
112
+ */
113
+ function initializeRuntimeConfig(nitro) {
114
+ const securityConfig = resolveSecurityConfig(nitro.options.graphql?.security);
115
+ nitro.options.runtimeConfig.graphql = defu(nitro.options.runtimeConfig.graphql || {}, {
116
+ ...DEFAULT_RUNTIME_CONFIG,
117
+ security: securityConfig
118
+ });
119
+ }
120
+ /**
121
+ * Setup file watching for development mode
122
+ */
123
+ function setupFileWatching(nitro, serverEnabled, extendDirs = []) {
124
+ const watchDirs = serverEnabled ? getWatchDirectories(nitro, extendDirs) : [nitro.graphql.clientDir].filter(Boolean);
125
+ nitro.graphql.watchDirs = watchDirs;
126
+ const watcher = setupFileWatcher(nitro, watchDirs);
127
+ nitro.hooks.hook("close", () => {
128
+ watcher.close();
129
+ });
130
+ }
131
+ /**
132
+ * Setup dev mode hooks for rescanning files
133
+ */
134
+ function setupDevHooks(nitro) {
135
+ let hasShownInitialLogs = false;
136
+ let lastDevStart = 0;
137
+ const DEBOUNCE_MS = 500;
138
+ nitro.hooks.hook("dev:start", async () => {
139
+ const now = Date.now();
140
+ if (now - lastDevStart < DEBOUNCE_MS) return;
141
+ lastDevStart = now;
142
+ await performGraphQLScan(nitro, {
143
+ isRescan: true,
144
+ silent: true
145
+ });
146
+ if (nitro.options.dev && !hasShownInitialLogs) {
147
+ hasShownInitialLogs = true;
148
+ logResolverDiagnostics(nitro);
149
+ }
150
+ });
151
+ }
152
+ /**
153
+ * Generate server and client types
154
+ */
155
+ async function generateTypes(nitro, serverEnabled) {
156
+ if (serverEnabled) {
157
+ await generateServerTypes(nitro);
158
+ await generateClientTypes(nitro, { isInitial: true });
159
+ } else await generateClientTypes(nitro, { isInitial: true });
160
+ }
161
+ /**
162
+ * Setup close hooks for final type generation
163
+ */
164
+ function setupCloseHooks(nitro, serverEnabled) {
165
+ nitro.hooks.hook("close", async () => {
166
+ if (serverEnabled) await generateServerTypes(nitro, { silent: true });
167
+ await generateClientTypes(nitro, { silent: true });
168
+ });
169
+ }
170
+ /**
171
+ * Setup TypeScript configuration and path aliases
172
+ */
173
+ function setupTypeScriptConfiguration(nitro) {
174
+ nitro.options.typescript.strict = true;
175
+ nitro.hooks.hook("types:extend", (types) => {
176
+ setupTypeScriptPaths(nitro, types);
177
+ });
178
+ }
179
+ /**
180
+ * Setup Nuxt-specific integration
181
+ */
182
+ function setupNuxtIntegration(nitro) {
183
+ if (nitro.options.framework?.name === "nuxt" && nitro.options.graphql?.externalServices?.length) nitro.hooks.hook("build:before", () => {
184
+ const nuxtOptions = nitro._nuxt?.options;
185
+ if (nuxtOptions) nuxtOptions.nitroGraphqlExternalServices = nitro.options.graphql?.externalServices || [];
186
+ });
187
+ }
188
+ //#endregion
189
+ export { resolveSecurityConfig, setupNitroGraphQL };