nitro-graphql 2.0.0-beta.70 → 2.0.0-beta.73

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 (228) hide show
  1. package/README.md +1 -1
  2. package/dist/cli/adapter.d.mts +0 -3
  3. package/dist/cli/adapter.mjs +7 -32
  4. package/dist/cli/commands/build.d.mts +2 -2
  5. package/dist/cli/commands/build.mjs +1 -3
  6. package/dist/cli/commands/dev.d.mts +2 -2
  7. package/dist/cli/commands/dev.mjs +1 -3
  8. package/dist/cli/commands/generate.mjs +10 -10
  9. package/dist/cli/commands/init.mjs +4 -4
  10. package/dist/cli/commands/validate.mjs +1 -3
  11. package/dist/cli/completions.mjs +1 -3
  12. package/dist/cli/config.d.mts +4 -5
  13. package/dist/cli/config.mjs +4 -3
  14. package/dist/cli/index.d.mts +3 -6
  15. package/dist/cli/index.mjs +2 -4
  16. package/dist/cli/server/debug-handler.mjs +2 -5
  17. package/dist/cli/server/dev-server.mjs +1 -3
  18. package/dist/cli/server/graphql-handler.mjs +3 -4
  19. package/dist/cli/server/health-handler.mjs +1 -2
  20. package/dist/cli/server/loader.mjs +1 -3
  21. package/dist/cli/server/sandbox-handler.mjs +1 -3
  22. package/dist/cli/server/watcher.mjs +2 -4
  23. package/dist/cli/server/ws-handler.mjs +1 -3
  24. package/dist/config.mjs +1 -2
  25. package/dist/core/codegen/client.d.mts +4 -27
  26. package/dist/core/codegen/client.mjs +26 -447
  27. package/dist/core/codegen/document-loader.mjs +1 -3
  28. package/dist/core/codegen/file-header.d.mts +7 -0
  29. package/dist/core/codegen/file-header.mjs +12 -0
  30. package/dist/core/codegen/index.d.mts +7 -5
  31. package/dist/core/codegen/index.mjs +7 -6
  32. package/dist/core/codegen/{runtime.d.mts → runtime-generator.d.mts} +1 -3
  33. package/dist/core/codegen/{runtime.mjs → runtime-generator.mjs} +7 -6
  34. package/dist/core/codegen/schema-loader.d.mts +2 -7
  35. package/dist/core/codegen/schema-loader.mjs +66 -73
  36. package/dist/core/codegen/server-type-helpers.d.mts +14 -0
  37. package/dist/core/codegen/server-type-helpers.mjs +76 -0
  38. package/dist/core/codegen/server.d.mts +1 -15
  39. package/dist/core/codegen/server.mjs +15 -107
  40. package/dist/core/codegen/subscription-extractor.d.mts +20 -0
  41. package/dist/core/codegen/subscription-extractor.mjs +30 -0
  42. package/dist/core/codegen/validation.mjs +1 -3
  43. package/dist/core/codegen/vue-subscription-builder.d.mts +10 -0
  44. package/dist/core/codegen/vue-subscription-builder.mjs +351 -0
  45. package/dist/core/constants.d.mts +5 -53
  46. package/dist/core/constants.mjs +13 -56
  47. package/dist/core/create-config.d.mts +31 -0
  48. package/dist/core/create-config.mjs +42 -0
  49. package/dist/core/debug/index.d.mts +2 -2
  50. package/dist/core/debug/index.mjs +2 -3
  51. package/dist/core/debug/template.d.mts +1 -5
  52. package/dist/core/debug/template.mjs +5 -4
  53. package/dist/core/extend/index.mjs +1 -2
  54. package/dist/core/extend/loader.d.mts +0 -1
  55. package/dist/core/extend/loader.mjs +60 -92
  56. package/dist/core/index.d.mts +22 -21
  57. package/dist/core/index.mjs +19 -16
  58. package/dist/core/manifest.mjs +4 -4
  59. package/dist/core/pubsub/index.d.mts +2 -109
  60. package/dist/core/pubsub/index.mjs +2 -148
  61. package/dist/core/pubsub/memory-pubsub.d.mts +109 -0
  62. package/dist/core/pubsub/memory-pubsub.mjs +146 -0
  63. package/dist/core/scanning/ast-scanner.mjs +5 -5
  64. package/dist/core/scanning/directives.mjs +3 -5
  65. package/dist/core/scanning/documents.d.mts +4 -3
  66. package/dist/core/scanning/documents.mjs +4 -5
  67. package/dist/core/scanning/{common.d.mts → file-scanner.d.mts} +1 -1
  68. package/dist/core/scanning/{common.mjs → file-scanner.mjs} +3 -13
  69. package/dist/core/scanning/index.d.mts +3 -3
  70. package/dist/core/scanning/index.mjs +3 -4
  71. package/dist/core/scanning/resolvers.mjs +9 -11
  72. package/dist/core/scanning/schemas.d.mts +1 -5
  73. package/dist/core/scanning/schemas.mjs +2 -26
  74. package/dist/core/schema/builder.d.mts +4 -2
  75. package/dist/core/schema/builder.mjs +4 -4
  76. package/dist/core/schema/federation.mjs +1 -3
  77. package/dist/core/schema/index.d.mts +2 -2
  78. package/dist/core/schema/index.mjs +2 -3
  79. package/dist/core/server/apollo.d.mts +20 -0
  80. package/dist/core/server/apollo.mjs +54 -0
  81. package/dist/core/server/index.d.mts +4 -2
  82. package/dist/core/server/index.mjs +3 -3
  83. package/dist/core/server/sandbox.mjs +1 -2
  84. package/dist/core/server/types.d.mts +7 -14
  85. package/dist/core/server/types.mjs +15 -1
  86. package/dist/core/server/yoga.d.mts +1 -7
  87. package/dist/core/server/yoga.mjs +4 -15
  88. package/dist/core/types/adapter.d.mts +3 -40
  89. package/dist/core/types/adapter.mjs +1 -1
  90. package/dist/core/types/codegen.d.mts +22 -45
  91. package/dist/core/types/codegen.mjs +1 -1
  92. package/dist/core/types/config.d.mts +33 -121
  93. package/dist/core/types/config.mjs +1 -1
  94. package/dist/core/types/define.d.mts +8 -5
  95. package/dist/core/types/define.mjs +1 -1
  96. package/dist/core/types/index.d.mts +5 -4
  97. package/dist/core/types/index.mjs +1 -1
  98. package/dist/core/types/scanning.d.mts +4 -1
  99. package/dist/core/types/scanning.mjs +1 -1
  100. package/dist/core/types/standard-schema.d.mts +64 -0
  101. package/dist/core/types/standard-schema.mjs +1 -0
  102. package/dist/core/utils/directive-parser.d.mts +8 -63
  103. package/dist/core/utils/directive-parser.mjs +114 -167
  104. package/dist/core/utils/errors.mjs +1 -3
  105. package/dist/core/utils/file-io.d.mts +1 -5
  106. package/dist/core/utils/file-io.mjs +1 -13
  107. package/dist/core/utils/imports.mjs +3 -4
  108. package/dist/core/utils/index.d.mts +5 -4
  109. package/dist/core/utils/index.mjs +6 -6
  110. package/dist/core/utils/logger.d.mts +1 -10
  111. package/dist/core/utils/logger.mjs +1 -21
  112. package/dist/core/utils/ofetch-templates.mjs +4 -6
  113. package/dist/core/utils/runtime.d.mts +1 -30
  114. package/dist/core/utils/runtime.mjs +2 -46
  115. package/dist/core/utils/string.d.mts +10 -0
  116. package/dist/core/utils/string.mjs +12 -0
  117. package/dist/core/utils/subscribe-templates.mjs +1 -2
  118. package/dist/core/validation/external-services.mjs +3 -3
  119. package/dist/core/validation/index.mjs +1 -2
  120. package/dist/core/watcher/create-watcher.d.mts +103 -0
  121. package/dist/core/watcher/create-watcher.mjs +143 -0
  122. package/dist/core/watcher/index.d.mts +2 -107
  123. package/dist/core/watcher/index.mjs +2 -141
  124. package/dist/define.d.mts +4 -2
  125. package/dist/define.mjs +8 -9
  126. package/dist/index.d.mts +4 -3
  127. package/dist/index.mjs +3 -4
  128. package/dist/nitro/adapter.d.mts +6 -11
  129. package/dist/nitro/adapter.mjs +12 -45
  130. package/dist/nitro/apollo.mjs +1 -3
  131. package/dist/nitro/codegen/client-types.d.mts +12 -0
  132. package/dist/nitro/codegen/client-types.mjs +73 -0
  133. package/dist/nitro/codegen/external-types.d.mts +8 -0
  134. package/dist/nitro/codegen/external-types.mjs +47 -0
  135. package/dist/nitro/codegen/index.d.mts +4 -0
  136. package/dist/nitro/codegen/index.mjs +4 -0
  137. package/dist/nitro/codegen/server-types.d.mts +12 -0
  138. package/dist/nitro/codegen/server-types.mjs +81 -0
  139. package/dist/nitro/defaults.d.mts +28 -0
  140. package/dist/nitro/defaults.mjs +34 -0
  141. package/dist/nitro/index.d.mts +11 -3
  142. package/dist/nitro/index.mjs +4 -6
  143. package/dist/nitro/paths.d.mts +3 -2
  144. package/dist/nitro/paths.mjs +14 -5
  145. package/dist/nitro/rollup.mjs +8 -8
  146. package/dist/nitro/routes/_ws-handler.d.mts +6 -0
  147. package/dist/nitro/routes/_ws-handler.mjs +49 -0
  148. package/dist/nitro/routes/apollo-sandbox-script.d.mts +2 -2
  149. package/dist/nitro/routes/apollo-sandbox-script.mjs +1 -3
  150. package/dist/nitro/routes/apollo-server-ws.d.mts +1 -1
  151. package/dist/nitro/routes/apollo-server-ws.mjs +10 -48
  152. package/dist/nitro/routes/apollo-server.d.mts +2 -2
  153. package/dist/nitro/routes/apollo-server.mjs +17 -58
  154. package/dist/nitro/routes/debug.d.mts +2 -2
  155. package/dist/nitro/routes/debug.mjs +4 -7
  156. package/dist/nitro/routes/graphql-yoga-ws.d.mts +3 -3
  157. package/dist/nitro/routes/graphql-yoga-ws.mjs +7 -48
  158. package/dist/nitro/routes/graphql-yoga.d.mts +2 -2
  159. package/dist/nitro/routes/graphql-yoga.mjs +8 -8
  160. package/dist/nitro/routes/health.d.mts +2 -2
  161. package/dist/nitro/routes/health.mjs +23 -27
  162. package/dist/nitro/setup/extend-loader.d.mts +6 -5
  163. package/dist/nitro/setup/extend-loader.mjs +31 -61
  164. package/dist/nitro/setup/file-watcher.mjs +9 -8
  165. package/dist/nitro/setup/logging.d.mts +1 -8
  166. package/dist/nitro/setup/logging.mjs +7 -24
  167. package/dist/nitro/setup/rollup-integration.mjs +36 -4
  168. package/dist/nitro/setup/routes.mjs +1 -3
  169. package/dist/nitro/setup/scanner.d.mts +8 -43
  170. package/dist/nitro/setup/scanner.mjs +56 -60
  171. package/dist/nitro/setup/security.d.mts +10 -0
  172. package/dist/nitro/setup/security.mjs +17 -0
  173. package/dist/nitro/setup/ts-config.mjs +1 -3
  174. package/dist/nitro/setup/type-generation.d.mts +13 -0
  175. package/dist/nitro/setup/type-generation.mjs +16 -0
  176. package/dist/nitro/setup.d.mts +4 -3
  177. package/dist/nitro/setup.mjs +88 -77
  178. package/dist/nitro/state.d.mts +32 -0
  179. package/dist/nitro/state.mjs +58 -0
  180. package/dist/nitro/types/augmentation.d.mts +59 -0
  181. package/dist/nitro/types/augmentation.mjs +1 -0
  182. package/dist/nitro/types/config.d.mts +327 -0
  183. package/dist/nitro/types/config.mjs +1 -0
  184. package/dist/nitro/types/define.d.mts +13 -0
  185. package/dist/nitro/types/define.mjs +1 -0
  186. package/dist/nitro/types/index.d.mts +10 -0
  187. package/dist/nitro/types/index.mjs +1 -0
  188. package/dist/nitro/virtual/debug-info.d.mts +9 -0
  189. package/dist/nitro/virtual/debug-info.mjs +35 -0
  190. package/dist/nitro/virtual/graphql-config.d.mts +9 -0
  191. package/dist/nitro/virtual/graphql-config.mjs +33 -0
  192. package/dist/nitro/virtual/index.d.mts +25 -0
  193. package/dist/nitro/virtual/index.mjs +45 -0
  194. package/dist/nitro/virtual/module-config.d.mts +9 -0
  195. package/dist/nitro/virtual/module-config.mjs +10 -0
  196. package/dist/nitro/virtual/pubsub.d.mts +9 -0
  197. package/dist/nitro/virtual/pubsub.mjs +17 -0
  198. package/dist/nitro/virtual/server-directives.d.mts +9 -0
  199. package/dist/nitro/virtual/server-directives.mjs +12 -0
  200. package/dist/nitro/virtual/server-resolvers.d.mts +9 -0
  201. package/dist/nitro/virtual/server-resolvers.mjs +17 -0
  202. package/dist/nitro/virtual/server-schemas.d.mts +9 -0
  203. package/dist/nitro/virtual/server-schemas.mjs +31 -0
  204. package/dist/nitro/virtual/stubs.d.mts +42 -10
  205. package/dist/nitro/virtual/stubs.mjs +1 -7
  206. package/dist/nitro/virtual/utils.d.mts +15 -0
  207. package/dist/nitro/virtual/utils.mjs +26 -0
  208. package/dist/nitro/virtual/validation-schemas.d.mts +9 -0
  209. package/dist/nitro/virtual/validation-schemas.mjs +33 -0
  210. package/dist/nuxt.mjs +4 -5
  211. package/dist/stubs/index.mjs +1 -1
  212. package/dist/subscribe/index.mjs +3 -4
  213. package/native/index.js +52 -52
  214. package/package.json +41 -41
  215. package/dist/cli/commands/index.d.mts +0 -5
  216. package/dist/cli/commands/index.mjs +0 -6
  217. package/dist/core/codegen/plugin.d.mts +0 -19
  218. package/dist/core/codegen/plugin.mjs +0 -30
  219. package/dist/core/config.d.mts +0 -45
  220. package/dist/core/config.mjs +0 -78
  221. package/dist/nitro/codegen.d.mts +0 -18
  222. package/dist/nitro/codegen.mjs +0 -173
  223. package/dist/nitro/config.d.mts +0 -50
  224. package/dist/nitro/config.mjs +0 -57
  225. package/dist/nitro/types.d.mts +0 -549
  226. package/dist/nitro/types.mjs +0 -1
  227. package/dist/nitro/virtual/generators.d.mts +0 -38
  228. package/dist/nitro/virtual/generators.mjs +0 -192
@@ -1,192 +0,0 @@
1
- import { resolve } from "pathe";
2
- import { existsSync, readFileSync } from "node:fs";
3
- import { genImport } from "knitwork";
4
-
5
- //#region src/nitro/virtual/generators.ts
6
- function generateImportModule(items, exportName, wrapperKey) {
7
- if (!items.length) return `export const ${exportName} = []`;
8
- const imports = items.flatMap(({ specifier, imports: list, options }) => list?.length ? [genImport(specifier, list, options)] : []);
9
- const data = items.flatMap(({ imports: list }) => list.map((i) => `{ ${wrapperKey}: ${i.as || i.name} }`));
10
- return `${imports.join("\n")}\n\nexport const ${exportName} = [\n${data.join(",\n")}\n]`;
11
- }
12
- function safeGenerateModuleCode(nitro, moduleName) {
13
- try {
14
- const generator = nitro.options.virtual?.[moduleName];
15
- if (generator && typeof generator === "function") return generator();
16
- return "// Module not found";
17
- } catch (error) {
18
- return `// Error: ${error instanceof Error ? error.message : String(error)}`;
19
- }
20
- }
21
- const serverSchemas = {
22
- id: "#nitro-graphql/server-schemas",
23
- getCode: (nitro) => {
24
- const schemas = [...nitro.scanSchemas, ...nitro.options.graphql?.typedefs ?? []];
25
- const directiveSchemas = nitro.graphql.directiveSchemas;
26
- if (!schemas.length && !directiveSchemas) {
27
- if (nitro.options.dev) nitro.logger.warn(`[nitro-graphql] No schemas found. Using demo schema. Add .graphql files to ${nitro.graphql.serverDir}`);
28
- return `export const schemas = [
29
- { def: \`type Query {
30
- hello: String!
31
- }
32
- \` }
33
- ]`;
34
- }
35
- const schemaArray = schemas.map((schemaPath) => {
36
- try {
37
- const content = readFileSync(schemaPath, "utf-8");
38
- return `{ def: ${JSON.stringify(content)} }`;
39
- } catch {
40
- return `{ def: '' }`;
41
- }
42
- });
43
- if (directiveSchemas) schemaArray.push(`{ def: ${JSON.stringify(directiveSchemas)} }`);
44
- return `export const schemas = [\n${schemaArray.join(",\n")}\n];`;
45
- }
46
- };
47
- const serverResolvers = {
48
- id: "#nitro-graphql/server-resolvers",
49
- getCode: (nitro) => {
50
- const imports = [...nitro.scanResolvers];
51
- if (!imports.length) {
52
- if (nitro.options.dev) nitro.logger.warn(`[nitro-graphql] No resolvers found. Using demo resolver. Add .resolver.ts files to ${nitro.graphql.serverDir}`);
53
- return `export const resolvers = [
54
- { resolver: { Query: { hello: () => 'Hello from nitro-graphql!' } } }
55
- ]`;
56
- }
57
- return generateImportModule(imports, "resolvers", "resolver");
58
- }
59
- };
60
- const serverDirectives = {
61
- id: "#nitro-graphql/server-directives",
62
- getCode: (nitro) => {
63
- const imports = nitro.scanDirectives || [];
64
- if (!imports.length) return "export const directives = []";
65
- return generateImportModule(imports, "directives", "directive");
66
- }
67
- };
68
- const graphqlConfig = {
69
- id: "#nitro-graphql/graphql-config",
70
- getCode: (nitro) => {
71
- const localConfigPath = resolve(nitro.graphql.serverDir, "config.ts");
72
- const extendConfigs = nitro.graphql.extendConfigs || [];
73
- const hasLocalConfig = existsSync(localConfigPath);
74
- if (!hasLocalConfig && extendConfigs.length === 0) return `const importedConfig = {}
75
- export { importedConfig }
76
- `;
77
- const imports = ["import { defu } from 'defu'"];
78
- const configNames = [];
79
- extendConfigs.forEach((configPath, index) => {
80
- const configName = `extendConfig${index}`;
81
- imports.push(`import ${configName} from '${configPath}'`);
82
- configNames.push(configName);
83
- });
84
- if (hasLocalConfig) {
85
- imports.push(`import localConfig from '${localConfigPath}'`);
86
- configNames.push("localConfig");
87
- }
88
- const mergeArgs = configNames.reverse().join(", ");
89
- return `${imports.join("\n")}
90
-
91
- const importedConfig = defu(${mergeArgs})
92
- export { importedConfig }
93
- `;
94
- }
95
- };
96
- const moduleConfig = {
97
- id: "#nitro-graphql/module-config",
98
- getCode: (nitro) => {
99
- const config = nitro.options.graphql || {};
100
- return `export const moduleConfig = ${JSON.stringify(config, null, 2)};`;
101
- }
102
- };
103
- const validationSchemas = {
104
- id: "#nitro-graphql/validation-schemas",
105
- getCode: (nitro) => {
106
- const localSchemaPath = resolve(nitro.graphql.serverDir, "schema.ts");
107
- const extendSchemas = nitro.graphql.extendSchemas || [];
108
- const hasLocalSchema = existsSync(localSchemaPath);
109
- if (!hasLocalSchema && extendSchemas.length === 0) return `const mergedSchemas = {}
110
- export default mergedSchemas
111
- `;
112
- const imports = [];
113
- const schemaNames = [];
114
- extendSchemas.forEach((schemaPath, index) => {
115
- const schemaName = `extendSchema${index}`;
116
- imports.push(`import ${schemaName} from '${schemaPath}'`);
117
- schemaNames.push(schemaName);
118
- });
119
- if (hasLocalSchema) {
120
- imports.push(`import localSchema from '${localSchemaPath}'`);
121
- schemaNames.push("localSchema");
122
- }
123
- const mergeExpression = schemaNames.length === 1 ? schemaNames[0] : `{ ${schemaNames.map((name) => `...${name}`).join(", ")} }`;
124
- return `${imports.join("\n")}
125
-
126
- const mergedSchemas = ${mergeExpression}
127
- export default mergedSchemas
128
- `;
129
- }
130
- };
131
- const pubsub = {
132
- id: "#nitro-graphql/pubsub",
133
- getCode: (nitro) => {
134
- const subscriptions = nitro.options.graphql?.subscriptions;
135
- const pubsubConfig = subscriptions?.pubsub;
136
- if (!subscriptions?.enabled) return `export const pubsub = null`;
137
- if (pubsubConfig?.customPath) return `import customPubSub from '${pubsubConfig.customPath}'
138
- export const pubsub = customPubSub
139
- `;
140
- return `import { createPubSub } from 'nitro-graphql/pubsub'
141
- export const pubsub = createPubSub()
142
- `;
143
- }
144
- };
145
- const debugInfo = {
146
- id: "#nitro-graphql/debug-info",
147
- getCode: (nitro) => {
148
- const virtualModuleCodes = {
149
- "server-schemas": safeGenerateModuleCode(nitro, "#nitro-graphql/server-schemas"),
150
- "server-resolvers": safeGenerateModuleCode(nitro, "#nitro-graphql/server-resolvers"),
151
- "server-directives": safeGenerateModuleCode(nitro, "#nitro-graphql/server-directives"),
152
- "module-config": safeGenerateModuleCode(nitro, "#nitro-graphql/module-config"),
153
- "graphql-config": safeGenerateModuleCode(nitro, "#nitro-graphql/graphql-config"),
154
- "pubsub": safeGenerateModuleCode(nitro, "#nitro-graphql/pubsub")
155
- };
156
- const info = {
157
- isDev: nitro.options.dev,
158
- framework: nitro.options.framework.name,
159
- graphqlFramework: nitro.options.graphql?.framework,
160
- federation: nitro.options.graphql?.federation,
161
- scanned: {
162
- schemas: nitro.scanSchemas?.length || 0,
163
- schemaFiles: nitro.scanSchemas || [],
164
- resolvers: nitro.scanResolvers?.length || 0,
165
- resolverFiles: nitro.scanResolvers || [],
166
- directives: nitro.scanDirectives?.length || 0,
167
- directiveFiles: nitro.scanDirectives || [],
168
- documents: nitro.scanDocuments?.length || 0,
169
- documentFiles: nitro.scanDocuments || []
170
- },
171
- virtualModules: virtualModuleCodes
172
- };
173
- return `export const debugInfo = ${JSON.stringify(info, null, 2)};`;
174
- }
175
- };
176
- const allModules = [
177
- serverSchemas,
178
- serverResolvers,
179
- serverDirectives,
180
- graphqlConfig,
181
- moduleConfig,
182
- validationSchemas,
183
- pubsub,
184
- debugInfo
185
- ];
186
- function registerAllVirtualModules(nitro) {
187
- nitro.options.virtual ??= {};
188
- for (const mod of allModules) nitro.options.virtual[mod.id] = () => mod.getCode(nitro);
189
- }
190
-
191
- //#endregion
192
- export { debugInfo, graphqlConfig, moduleConfig, pubsub, registerAllVirtualModules, serverDirectives, serverResolvers, serverSchemas, validationSchemas };