nitro-graphql 2.0.0-beta.36 → 2.0.0-beta.38
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/dist/cli/commands/generate.d.mts +26 -0
- package/dist/cli/commands/generate.mjs +196 -0
- package/dist/cli/commands/index.d.mts +4 -0
- package/dist/cli/commands/index.mjs +5 -0
- package/dist/cli/commands/init.d.mts +12 -0
- package/dist/cli/commands/init.mjs +100 -0
- package/dist/cli/commands/validate.d.mts +10 -0
- package/dist/cli/commands/validate.mjs +69 -0
- package/dist/cli/config.d.mts +75 -0
- package/dist/cli/config.mjs +20 -0
- package/dist/cli/index.d.mts +24 -0
- package/dist/cli/index.mjs +219 -0
- package/dist/core/codegen/client.d.mts +23 -0
- package/dist/core/codegen/client.mjs +150 -0
- package/dist/core/codegen/document-loader.d.mts +10 -0
- package/dist/core/codegen/document-loader.mjs +18 -0
- package/dist/core/codegen/index.d.mts +8 -0
- package/dist/core/codegen/index.mjs +9 -0
- package/dist/{utils/codegen-plugin.d.mts → core/codegen/plugin.d.mts} +2 -2
- package/dist/{utils/codegen-plugin.mjs → core/codegen/plugin.mjs} +1 -1
- package/dist/core/codegen/runtime.d.mts +20 -0
- package/dist/core/codegen/runtime.mjs +60 -0
- package/dist/core/codegen/schema-loader.d.mts +28 -0
- package/dist/core/codegen/schema-loader.mjs +128 -0
- package/dist/core/codegen/server.d.mts +28 -0
- package/dist/core/codegen/server.mjs +143 -0
- package/dist/{codegen → core/codegen}/validation.d.mts +1 -1
- package/dist/{codegen → core/codegen}/validation.mjs +1 -1
- package/dist/core/config.d.mts +50 -0
- package/dist/core/config.mjs +82 -0
- package/dist/core/constants.d.mts +188 -0
- package/dist/core/constants.mjs +210 -0
- package/dist/core/index.d.mts +32 -0
- package/dist/core/index.mjs +26 -0
- package/dist/core/scanning/ast-scanner.d.mts +23 -0
- package/dist/core/scanning/ast-scanner.mjs +103 -0
- package/dist/core/scanning/common.d.mts +37 -0
- package/dist/core/scanning/common.mjs +60 -0
- package/dist/core/scanning/directives.d.mts +10 -0
- package/dist/core/scanning/directives.mjs +29 -0
- package/dist/core/scanning/documents.d.mts +21 -0
- package/dist/core/scanning/documents.mjs +43 -0
- package/dist/core/scanning/index.d.mts +7 -0
- package/dist/core/scanning/index.mjs +8 -0
- package/dist/core/scanning/resolvers.d.mts +10 -0
- package/dist/core/scanning/resolvers.mjs +58 -0
- package/dist/core/scanning/schemas.d.mts +14 -0
- package/dist/core/scanning/schemas.mjs +64 -0
- package/dist/{utils/schema-builder.d.mts → core/schema/builder.d.mts} +7 -2
- package/dist/{utils/schema-builder.mjs → core/schema/builder.mjs} +22 -3
- package/dist/{utils → core/schema}/federation.d.mts +10 -5
- package/dist/{utils → core/schema}/federation.mjs +1 -1
- package/dist/core/schema/index.d.mts +3 -0
- package/dist/core/schema/index.mjs +4 -0
- package/dist/core/types/adapter.d.mts +58 -0
- package/dist/core/types/codegen.d.mts +133 -0
- package/dist/core/types/config.d.mts +212 -0
- package/dist/{types → core/types}/define.d.mts +3 -7
- package/dist/core/types/index.d.mts +5 -0
- package/dist/core/types/scanning.d.mts +69 -0
- package/dist/core/types/scanning.mjs +1 -0
- package/dist/{utils → core/utils}/directive-parser.d.mts +21 -5
- package/dist/{utils → core/utils}/directive-parser.mjs +25 -36
- package/dist/{utils → core/utils}/errors.d.mts +8 -4
- package/dist/{utils → core/utils}/errors.mjs +8 -4
- package/dist/core/utils/file-io.d.mts +24 -0
- package/dist/core/utils/file-io.mjs +47 -0
- package/dist/{utils → core/utils}/imports.d.mts +1 -1
- package/dist/{utils → core/utils}/imports.mjs +1 -1
- package/dist/core/utils/index.d.mts +7 -0
- package/dist/core/utils/index.mjs +8 -0
- package/dist/core/utils/logger.d.mts +19 -0
- package/dist/core/utils/logger.mjs +38 -0
- package/dist/{utils → core/utils}/ofetch-templates.d.mts +1 -1
- package/dist/{utils → core/utils}/ofetch-templates.mjs +1 -1
- package/dist/core/validation/external-services.d.mts +11 -0
- package/dist/{utils/validation.mjs → core/validation/external-services.mjs} +3 -3
- package/dist/core/validation/index.d.mts +2 -0
- package/dist/core/validation/index.mjs +3 -0
- package/dist/define.d.mts +1 -3
- package/dist/index.d.mts +6 -43
- package/dist/index.mjs +5 -62
- package/dist/nitro/adapter.d.mts +30 -0
- package/dist/nitro/adapter.mjs +97 -0
- package/dist/{utils → nitro}/apollo.d.mts +1 -1
- package/dist/{utils → nitro}/apollo.mjs +1 -1
- package/dist/nitro/codegen.d.mts +19 -0
- package/dist/nitro/codegen.mjs +141 -0
- package/dist/nitro/config.d.mts +52 -0
- package/dist/nitro/config.mjs +58 -0
- package/dist/nitro/index.d.mts +46 -0
- package/dist/nitro/index.mjs +65 -0
- package/dist/{utils/path-resolver.d.mts → nitro/paths.d.mts} +3 -19
- package/dist/{utils/path-resolver.mjs → nitro/paths.mjs} +2 -36
- package/dist/{rollup.d.mts → nitro/rollup.d.mts} +1 -1
- package/dist/{rollup.mjs → nitro/rollup.mjs} +11 -23
- package/dist/{routes → nitro/routes}/apollo-server.d.mts +1 -1
- package/dist/nitro/routes/apollo-server.mjs +71 -0
- package/dist/{routes → nitro/routes}/debug-template.d.mts +1 -1
- package/dist/{routes → nitro/routes}/debug-template.mjs +1 -1
- package/dist/{routes → nitro/routes}/debug.d.mts +10 -16
- package/dist/{routes → nitro/routes}/debug.mjs +2 -2
- package/dist/nitro/routes/graphql-yoga.d.mts +6 -0
- package/dist/{routes → nitro/routes}/graphql-yoga.mjs +21 -10
- package/dist/nitro/routes/health.d.mts +10 -0
- package/dist/{routes → nitro/routes}/health.mjs +1 -1
- package/dist/nitro/setup/file-watcher.d.mts +16 -0
- package/dist/{setup → nitro/setup}/file-watcher.mjs +14 -18
- package/dist/nitro/setup/logging.d.mts +17 -0
- package/dist/nitro/setup/logging.mjs +66 -0
- package/dist/nitro/setup/rollup-integration.d.mts +16 -0
- package/dist/{setup → nitro/setup}/rollup-integration.mjs +2 -2
- package/dist/nitro/setup/routes.d.mts +10 -0
- package/dist/nitro/setup/routes.mjs +35 -0
- package/dist/nitro/setup/ts-config.d.mts +11 -0
- package/dist/{setup → nitro/setup}/ts-config.mjs +3 -3
- package/dist/{setup.d.mts → nitro/setup.d.mts} +3 -2
- package/dist/{setup.mjs → nitro/setup.mjs} +73 -62
- package/dist/nitro/types.d.mts +378 -0
- package/dist/nitro/types.mjs +1 -0
- package/dist/nitro/virtual/generators.d.mts +31 -0
- package/dist/nitro/virtual/generators.mjs +193 -0
- package/dist/nitro/virtual/stubs.d.mts +20 -0
- package/dist/nitro/virtual/stubs.mjs +31 -0
- package/dist/{ecosystem/nuxt.d.mts → nuxt.d.mts} +1 -1
- package/dist/{ecosystem/nuxt.mjs → nuxt.mjs} +2 -2
- package/dist/{graphql/server.d.mts → stubs/index.d.mts} +5 -1
- package/dist/stubs/index.mjs +1 -0
- package/package.json +45 -43
- package/dist/codegen/client-types.d.mts +0 -13
- package/dist/codegen/client-types.mjs +0 -131
- package/dist/codegen/external-types.d.mts +0 -12
- package/dist/codegen/external-types.mjs +0 -88
- package/dist/codegen/index.d.mts +0 -18
- package/dist/codegen/index.mjs +0 -24
- package/dist/codegen/server-types.d.mts +0 -13
- package/dist/codegen/server-types.mjs +0 -64
- package/dist/config/defaults.mjs +0 -36
- package/dist/constants/scalars.mjs +0 -27
- package/dist/constants.mjs +0 -106
- package/dist/graphql/index.d.mts +0 -5
- package/dist/routes/apollo-server.mjs +0 -45
- package/dist/routes/graphql-yoga.d.mts +0 -6
- package/dist/routes/health.d.mts +0 -10
- package/dist/setup/graphql-scanner.mjs +0 -25
- package/dist/setup/scaffold-generator.mjs +0 -109
- package/dist/types/index.d.mts +0 -246
- package/dist/types/standard-schema.d.mts +0 -59
- package/dist/utils/client-codegen.d.mts +0 -41
- package/dist/utils/client-codegen.mjs +0 -267
- package/dist/utils/file-generator.d.mts +0 -37
- package/dist/utils/file-generator.mjs +0 -72
- package/dist/utils/file-writer.d.mts +0 -35
- package/dist/utils/file-writer.mjs +0 -32
- package/dist/utils/index.d.mts +0 -13
- package/dist/utils/index.mjs +0 -13
- package/dist/utils/layers.d.mts +0 -22
- package/dist/utils/layers.mjs +0 -28
- package/dist/utils/scanning/common.d.mts +0 -23
- package/dist/utils/scanning/common.mjs +0 -39
- package/dist/utils/scanning/directives.d.mts +0 -11
- package/dist/utils/scanning/directives.mjs +0 -43
- package/dist/utils/scanning/documents.d.mts +0 -15
- package/dist/utils/scanning/documents.mjs +0 -46
- package/dist/utils/scanning/index.d.mts +0 -6
- package/dist/utils/scanning/index.mjs +0 -7
- package/dist/utils/scanning/resolvers.d.mts +0 -11
- package/dist/utils/scanning/resolvers.mjs +0 -100
- package/dist/utils/scanning/schemas.d.mts +0 -15
- package/dist/utils/scanning/schemas.mjs +0 -29
- package/dist/utils/server-codegen.d.mts +0 -7
- package/dist/utils/server-codegen.mjs +0 -113
- package/dist/utils/type-generation.d.mts +0 -6
- package/dist/utils/type-generation.mjs +0 -7
- package/dist/utils/validation.d.mts +0 -11
- package/dist/virtual/debug-info.d.mts +0 -9
- package/dist/virtual/debug-info.mjs +0 -26
- package/dist/virtual/generators/config.d.mts +0 -22
- package/dist/virtual/generators/config.mjs +0 -36
- package/dist/virtual/generators/debug.d.mts +0 -14
- package/dist/virtual/generators/debug.mjs +0 -53
- package/dist/virtual/generators/directives.d.mts +0 -14
- package/dist/virtual/generators/directives.mjs +0 -52
- package/dist/virtual/generators/index.d.mts +0 -6
- package/dist/virtual/generators/index.mjs +0 -7
- package/dist/virtual/generators/resolvers.d.mts +0 -14
- package/dist/virtual/generators/resolvers.mjs +0 -55
- package/dist/virtual/generators/schemas.d.mts +0 -14
- package/dist/virtual/generators/schemas.mjs +0 -43
- package/dist/virtual/graphql-config.d.mts +0 -9
- package/dist/virtual/graphql-config.mjs +0 -10
- package/dist/virtual/module-config.d.mts +0 -9
- package/dist/virtual/module-config.mjs +0 -10
- package/dist/virtual/server-directives.d.mts +0 -11
- package/dist/virtual/server-directives.mjs +0 -10
- package/dist/virtual/server-resolvers.d.mts +0 -11
- package/dist/virtual/server-resolvers.mjs +0 -10
- package/dist/virtual/server-schemas.d.mts +0 -11
- package/dist/virtual/server-schemas.mjs +0 -10
- /package/dist/{graphql/index.mjs → core/types/adapter.mjs} +0 -0
- /package/dist/{graphql/server.mjs → core/types/codegen.mjs} +0 -0
- /package/dist/{types/define.mjs → core/types/config.mjs} +0 -0
- /package/dist/{types/index.mjs → core/types/define.mjs} +0 -0
- /package/dist/{types/standard-schema.mjs → core/types/index.mjs} +0 -0
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { downloadAndSaveSchema, generateExternalClientTypes, loadExternalSchema, loadGraphQLDocuments } from "../utils/client-codegen.mjs";
|
|
2
|
-
import { writeFileIfNotExists } from "../utils/file-generator.mjs";
|
|
3
|
-
import { generateOfetchTemplate } from "../utils/ofetch-templates.mjs";
|
|
4
|
-
import { getClientUtilsConfig, getDefaultPaths, getSdkConfig, getTypesConfig, resolveFilePath, shouldGenerateClientUtils } from "../utils/path-resolver.mjs";
|
|
5
|
-
import consola from "consola";
|
|
6
|
-
import { dirname } from "pathe";
|
|
7
|
-
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
8
|
-
|
|
9
|
-
//#region src/codegen/external-types.ts
|
|
10
|
-
/**
|
|
11
|
-
* Generate types for all external GraphQL services
|
|
12
|
-
*/
|
|
13
|
-
async function generateExternalServicesTypes(nitro, options = {}) {
|
|
14
|
-
const externalServices = nitro.options.graphql?.externalServices || [];
|
|
15
|
-
for (const service of externalServices) try {
|
|
16
|
-
if (!options.silent) consola.info(`[graphql:${service.name}] Processing external service`);
|
|
17
|
-
await downloadAndSaveSchema(service, nitro.options.buildDir);
|
|
18
|
-
const schema = await loadExternalSchema(service, nitro.options.buildDir);
|
|
19
|
-
if (!schema) {
|
|
20
|
-
consola.warn(`[graphql:${service.name}] Failed to load schema, skipping`);
|
|
21
|
-
continue;
|
|
22
|
-
}
|
|
23
|
-
const documentPatterns = service.documents || [];
|
|
24
|
-
let loadedDocs = [];
|
|
25
|
-
if (documentPatterns.length > 0) try {
|
|
26
|
-
loadedDocs = await loadGraphQLDocuments(documentPatterns);
|
|
27
|
-
if (!loadedDocs || loadedDocs.length === 0) {
|
|
28
|
-
consola.warn(`[graphql:${service.name}] No GraphQL documents found, skipping service generation`);
|
|
29
|
-
continue;
|
|
30
|
-
}
|
|
31
|
-
} catch (error) {
|
|
32
|
-
consola.warn(`[graphql:${service.name}] No documents found, skipping service generation:`, error);
|
|
33
|
-
continue;
|
|
34
|
-
}
|
|
35
|
-
const types = await generateExternalClientTypes(service, schema, loadedDocs);
|
|
36
|
-
if (types === false) {
|
|
37
|
-
consola.warn(`[graphql:${service.name}] Type generation failed`);
|
|
38
|
-
continue;
|
|
39
|
-
}
|
|
40
|
-
const placeholders = {
|
|
41
|
-
...getDefaultPaths(nitro),
|
|
42
|
-
serviceName: service.name
|
|
43
|
-
};
|
|
44
|
-
const typesConfig = getTypesConfig(nitro);
|
|
45
|
-
const sdkConfig = getSdkConfig(nitro);
|
|
46
|
-
const serviceTypesPath = resolveFilePath(service.paths?.types ?? typesConfig.external, typesConfig.enabled, true, "{typesDir}/nitro-graphql-client-{serviceName}.d.ts", placeholders);
|
|
47
|
-
if (serviceTypesPath) {
|
|
48
|
-
mkdirSync(dirname(serviceTypesPath), { recursive: true });
|
|
49
|
-
writeFileSync(serviceTypesPath, types.types, "utf-8");
|
|
50
|
-
if (!options.silent) consola.success(`[graphql:${service.name}] Generated types at: ${serviceTypesPath}`);
|
|
51
|
-
}
|
|
52
|
-
const serviceSdkPath = resolveFilePath(service.paths?.sdk ?? sdkConfig.external, sdkConfig.enabled, true, "{clientGraphql}/{serviceName}/sdk.ts", placeholders);
|
|
53
|
-
if (serviceSdkPath) {
|
|
54
|
-
mkdirSync(dirname(serviceSdkPath), { recursive: true });
|
|
55
|
-
writeFileSync(serviceSdkPath, types.sdk, "utf-8");
|
|
56
|
-
if (!options.silent) consola.success(`[graphql:${service.name}] Generated SDK at: ${serviceSdkPath}`);
|
|
57
|
-
}
|
|
58
|
-
generateExternalOfetchClient(nitro, service, service.endpoint);
|
|
59
|
-
if (!options.silent) consola.success(`[graphql:${service.name}] External service types generated successfully`);
|
|
60
|
-
} catch (error) {
|
|
61
|
-
consola.error(`[graphql:${service.name}] External service generation failed:`, error);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Generate ofetch client for external service
|
|
66
|
-
*/
|
|
67
|
-
function generateExternalOfetchClient(nitro, service, endpoint) {
|
|
68
|
-
if (!shouldGenerateClientUtils(nitro)) return;
|
|
69
|
-
const serviceName = service.name;
|
|
70
|
-
const placeholders = {
|
|
71
|
-
...getDefaultPaths(nitro),
|
|
72
|
-
serviceName
|
|
73
|
-
};
|
|
74
|
-
const clientUtilsConfig = getClientUtilsConfig(nitro);
|
|
75
|
-
const ofetchPath = resolveFilePath(service.paths?.ofetch ?? clientUtilsConfig.ofetch, clientUtilsConfig.enabled, true, "{clientGraphql}/{serviceName}/ofetch.ts", placeholders);
|
|
76
|
-
if (!ofetchPath) return;
|
|
77
|
-
const serviceDir = dirname(ofetchPath);
|
|
78
|
-
if (!existsSync(serviceDir)) mkdirSync(serviceDir, { recursive: true });
|
|
79
|
-
if (!existsSync(ofetchPath)) writeFileIfNotExists(ofetchPath, generateOfetchTemplate({
|
|
80
|
-
serviceName,
|
|
81
|
-
isNuxt: nitro.options.framework?.name === "nuxt",
|
|
82
|
-
endpoint,
|
|
83
|
-
isExternal: true
|
|
84
|
-
}), `${serviceName} external ofetch.ts`);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
//#endregion
|
|
88
|
-
export { generateExternalServicesTypes };
|
package/dist/codegen/index.d.mts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { generateMainClientTypes } from "./client-types.mjs";
|
|
2
|
-
import { generateExternalServicesTypes } from "./external-types.mjs";
|
|
3
|
-
import { generateServerTypes } from "./server-types.mjs";
|
|
4
|
-
import { validateNoDuplicateTypes } from "./validation.mjs";
|
|
5
|
-
import { Nitro } from "nitro/types";
|
|
6
|
-
|
|
7
|
-
//#region src/codegen/index.d.ts
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Generate client-side GraphQL types
|
|
11
|
-
* Generates types for both main service and external services
|
|
12
|
-
*/
|
|
13
|
-
declare function generateClientTypes(nitro: Nitro, options?: {
|
|
14
|
-
silent?: boolean;
|
|
15
|
-
isInitial?: boolean;
|
|
16
|
-
}): Promise<void>;
|
|
17
|
-
//#endregion
|
|
18
|
-
export { generateClientTypes };
|
package/dist/codegen/index.mjs
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { LOG_TAG } from "../constants.mjs";
|
|
2
|
-
import { generateMainClientTypes } from "./client-types.mjs";
|
|
3
|
-
import { generateExternalServicesTypes } from "./external-types.mjs";
|
|
4
|
-
import { validateNoDuplicateTypes } from "./validation.mjs";
|
|
5
|
-
import { generateServerTypes } from "./server-types.mjs";
|
|
6
|
-
import consola from "consola";
|
|
7
|
-
|
|
8
|
-
//#region src/codegen/index.ts
|
|
9
|
-
const logger = consola.withTag(LOG_TAG);
|
|
10
|
-
/**
|
|
11
|
-
* Generate client-side GraphQL types
|
|
12
|
-
* Generates types for both main service and external services
|
|
13
|
-
*/
|
|
14
|
-
async function generateClientTypes(nitro, options = {}) {
|
|
15
|
-
try {
|
|
16
|
-
if (nitro.scanSchemas && nitro.scanSchemas.length > 0) await generateMainClientTypes(nitro, options);
|
|
17
|
-
if (nitro.options.graphql?.externalServices?.length) await generateExternalServicesTypes(nitro, options);
|
|
18
|
-
} catch (error) {
|
|
19
|
-
logger.error("Client schema generation error:", error);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
//#endregion
|
|
24
|
-
export { generateClientTypes };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Nitro } from "nitro/types";
|
|
2
|
-
|
|
3
|
-
//#region src/codegen/server-types.d.ts
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Generate server-side GraphQL types
|
|
7
|
-
* Creates resolver types from GraphQL schemas
|
|
8
|
-
*/
|
|
9
|
-
declare function generateServerTypes(nitro: Nitro, options?: {
|
|
10
|
-
silent?: boolean;
|
|
11
|
-
}): Promise<void>;
|
|
12
|
-
//#endregion
|
|
13
|
-
export { generateServerTypes };
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { LOG_TAG } from "../constants.mjs";
|
|
2
|
-
import { loadFederationSupport } from "../utils/federation.mjs";
|
|
3
|
-
import { getDefaultPaths, getTypesConfig, resolveFilePath, shouldGenerateTypes } from "../utils/path-resolver.mjs";
|
|
4
|
-
import { generateTypes } from "../utils/server-codegen.mjs";
|
|
5
|
-
import { validateNoDuplicateTypes } from "./validation.mjs";
|
|
6
|
-
import consola from "consola";
|
|
7
|
-
import { dirname, resolve } from "pathe";
|
|
8
|
-
import { mkdirSync, writeFileSync } from "node:fs";
|
|
9
|
-
import { buildSchema, parse } from "graphql";
|
|
10
|
-
import { printSchemaWithDirectives } from "@graphql-tools/utils";
|
|
11
|
-
import { loadFilesSync } from "@graphql-tools/load-files";
|
|
12
|
-
import { mergeTypeDefs } from "@graphql-tools/merge";
|
|
13
|
-
|
|
14
|
-
//#region src/codegen/server-types.ts
|
|
15
|
-
const logger = consola.withTag(LOG_TAG);
|
|
16
|
-
/**
|
|
17
|
-
* Generate server-side GraphQL types
|
|
18
|
-
* Creates resolver types from GraphQL schemas
|
|
19
|
-
*/
|
|
20
|
-
async function generateServerTypes(nitro, options = {}) {
|
|
21
|
-
try {
|
|
22
|
-
if (!shouldGenerateTypes(nitro)) {
|
|
23
|
-
logger.debug("Server type generation is disabled");
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const schemas = nitro.scanSchemas || [];
|
|
27
|
-
if (!schemas.length) {
|
|
28
|
-
if (!options.silent) consola.info("No GraphQL definitions found for server type generation.");
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const schemaStrings = loadFilesSync(schemas).map((schema$1) => typeof schema$1 === "string" ? schema$1 : schema$1.loc?.source?.body || "").filter(Boolean);
|
|
32
|
-
if (!validateNoDuplicateTypes(schemas, schemaStrings)) return;
|
|
33
|
-
const federationEnabled = nitro.options.graphql?.federation?.enabled === true;
|
|
34
|
-
const mergedSchemas = mergeTypeDefs([schemaStrings.join("\n\n")], {
|
|
35
|
-
throwOnConflict: true,
|
|
36
|
-
commentDescriptions: true,
|
|
37
|
-
sort: true
|
|
38
|
-
});
|
|
39
|
-
let schema;
|
|
40
|
-
if (federationEnabled) {
|
|
41
|
-
const buildSubgraph = await loadFederationSupport();
|
|
42
|
-
if (!buildSubgraph) throw new Error("Federation is enabled but @apollo/subgraph is not installed. Run: pnpm add @apollo/subgraph");
|
|
43
|
-
schema = buildSubgraph([{ typeDefs: parse(mergedSchemas) }]);
|
|
44
|
-
} else schema = buildSchema(mergedSchemas);
|
|
45
|
-
const data = await generateTypes(nitro.options.graphql?.framework || "graphql-yoga", schema, nitro.options.graphql ?? {});
|
|
46
|
-
const printSchema = printSchemaWithDirectives(schema);
|
|
47
|
-
const schemaPath = resolve(nitro.graphql.buildDir, "schema.graphql");
|
|
48
|
-
mkdirSync(dirname(schemaPath), { recursive: true });
|
|
49
|
-
writeFileSync(schemaPath, printSchema, "utf-8");
|
|
50
|
-
const placeholders = getDefaultPaths(nitro);
|
|
51
|
-
const typesConfig = getTypesConfig(nitro);
|
|
52
|
-
const serverTypesPath = resolveFilePath(typesConfig.server, typesConfig.enabled, true, "{typesDir}/nitro-graphql-server.d.ts", placeholders);
|
|
53
|
-
if (serverTypesPath) {
|
|
54
|
-
mkdirSync(dirname(serverTypesPath), { recursive: true });
|
|
55
|
-
writeFileSync(serverTypesPath, data, "utf-8");
|
|
56
|
-
if (!options.silent) logger.success(`Generated server types at: ${serverTypesPath}`);
|
|
57
|
-
}
|
|
58
|
-
} catch (error) {
|
|
59
|
-
logger.error("Server schema generation error:", error);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
//#endregion
|
|
64
|
-
export { generateServerTypes };
|
package/dist/config/defaults.mjs
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { DEFAULT_CLIENT_TYPES_PATH, DEFAULT_SERVER_TYPES_PATH, ENDPOINT_GRAPHQL, ENDPOINT_HEALTH } from "../constants.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/config/defaults.ts
|
|
4
|
-
/**
|
|
5
|
-
* Default type generation configuration
|
|
6
|
-
*/
|
|
7
|
-
const DEFAULT_TYPES_CONFIG = {
|
|
8
|
-
server: DEFAULT_SERVER_TYPES_PATH,
|
|
9
|
-
client: DEFAULT_CLIENT_TYPES_PATH,
|
|
10
|
-
enabled: true
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Default runtime GraphQL configuration
|
|
14
|
-
*/
|
|
15
|
-
const DEFAULT_RUNTIME_CONFIG = {
|
|
16
|
-
endpoint: {
|
|
17
|
-
graphql: ENDPOINT_GRAPHQL,
|
|
18
|
-
healthCheck: ENDPOINT_HEALTH
|
|
19
|
-
},
|
|
20
|
-
playground: true
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* Default TypeScript strict mode setting
|
|
24
|
-
*/
|
|
25
|
-
const DEFAULT_TYPESCRIPT_STRICT = true;
|
|
26
|
-
/**
|
|
27
|
-
* Default watcher persistence setting
|
|
28
|
-
*/
|
|
29
|
-
const DEFAULT_WATCHER_PERSISTENT = true;
|
|
30
|
-
/**
|
|
31
|
-
* Default watcher ignore initial setting
|
|
32
|
-
*/
|
|
33
|
-
const DEFAULT_WATCHER_IGNORE_INITIAL = true;
|
|
34
|
-
|
|
35
|
-
//#endregion
|
|
36
|
-
export { DEFAULT_RUNTIME_CONFIG, DEFAULT_TYPESCRIPT_STRICT, DEFAULT_TYPES_CONFIG, DEFAULT_WATCHER_IGNORE_INITIAL, DEFAULT_WATCHER_PERSISTENT };
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { CurrencyResolver, DateTimeISOResolver, DateTimeResolver, JSONObjectResolver, JSONResolver, NonEmptyStringResolver, UUIDResolver } from "graphql-scalars";
|
|
2
|
-
|
|
3
|
-
//#region src/constants/scalars.ts
|
|
4
|
-
/**
|
|
5
|
-
* Default GraphQL scalar type definitions
|
|
6
|
-
* Used by both server and client codegen
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Default scalar type mappings for GraphQL codegen
|
|
10
|
-
* These scalars are commonly used and have proper TypeScript type mappings
|
|
11
|
-
*/
|
|
12
|
-
const DEFAULT_GRAPHQL_SCALARS = {
|
|
13
|
-
DateTime: DateTimeResolver.extensions.codegenScalarType,
|
|
14
|
-
DateTimeISO: DateTimeISOResolver.extensions.codegenScalarType,
|
|
15
|
-
UUID: UUIDResolver.extensions.codegenScalarType,
|
|
16
|
-
JSON: JSONResolver.extensions.codegenScalarType,
|
|
17
|
-
JSONObject: JSONObjectResolver.extensions.codegenScalarType,
|
|
18
|
-
NonEmptyString: NonEmptyStringResolver.extensions.codegenScalarType,
|
|
19
|
-
Currency: CurrencyResolver.extensions.codegenScalarType,
|
|
20
|
-
File: {
|
|
21
|
-
input: "File",
|
|
22
|
-
output: "File"
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
//#endregion
|
|
27
|
-
export { DEFAULT_GRAPHQL_SCALARS };
|
package/dist/constants.mjs
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
//#region src/constants.ts
|
|
2
|
-
/**
|
|
3
|
-
* Constants and magic strings used throughout nitro-graphql
|
|
4
|
-
* Centralizing these values prevents typos and makes refactoring easier
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* GraphQL schema file extensions
|
|
8
|
-
*/
|
|
9
|
-
const GRAPHQL_EXTENSIONS = [".graphql", ".gql"];
|
|
10
|
-
/**
|
|
11
|
-
* Resolver file extensions
|
|
12
|
-
*/
|
|
13
|
-
const RESOLVER_EXTENSIONS = [".resolver.ts", ".resolver.js"];
|
|
14
|
-
/**
|
|
15
|
-
* Directive file extensions
|
|
16
|
-
*/
|
|
17
|
-
const DIRECTIVE_EXTENSIONS = [".directive.ts", ".directive.js"];
|
|
18
|
-
/**
|
|
19
|
-
* Combined pattern for glob scanning
|
|
20
|
-
*/
|
|
21
|
-
const GLOB_SCAN_PATTERN = "**/*.{graphql,gql,js,mjs,cjs,ts,mts,cts,tsx,jsx}";
|
|
22
|
-
/**
|
|
23
|
-
* Framework names
|
|
24
|
-
*/
|
|
25
|
-
const FRAMEWORK_NUXT = "nuxt";
|
|
26
|
-
const FRAMEWORK_NITRO = "nitro";
|
|
27
|
-
/**
|
|
28
|
-
* Default directory names for GraphQL files
|
|
29
|
-
*/
|
|
30
|
-
const DIR_SERVER_GRAPHQL = "server/graphql";
|
|
31
|
-
/**
|
|
32
|
-
* Windows-compatible server GraphQL directory
|
|
33
|
-
*/
|
|
34
|
-
const DIR_SERVER_GRAPHQL_WIN = "server\\graphql";
|
|
35
|
-
/**
|
|
36
|
-
* Default GraphQL endpoint paths
|
|
37
|
-
*/
|
|
38
|
-
const ENDPOINT_GRAPHQL = "/api/graphql";
|
|
39
|
-
const ENDPOINT_HEALTH = "/api/graphql/health";
|
|
40
|
-
const ENDPOINT_DEBUG = "/_nitro/graphql/debug";
|
|
41
|
-
/**
|
|
42
|
-
* Configuration and scaffold file names
|
|
43
|
-
*/
|
|
44
|
-
const FILE_GRAPHQL_CONFIG = "graphql.config.ts";
|
|
45
|
-
const FILE_SCHEMA_TS = "schema.ts";
|
|
46
|
-
const FILE_CONFIG_TS = "config.ts";
|
|
47
|
-
const FILE_CONTEXT_DTS = "context.d.ts";
|
|
48
|
-
const FILE_CONTEXT_TS = "context.ts";
|
|
49
|
-
const FILE_INDEX_TS = "index.ts";
|
|
50
|
-
/**
|
|
51
|
-
* Rollup/Rolldown chunk output paths
|
|
52
|
-
*/
|
|
53
|
-
const CHUNK_PATH_GRAPHQL = "chunks/graphql/[name].mjs";
|
|
54
|
-
const CHUNK_PATH_UNKNOWN = "chunks/_/[name].mjs";
|
|
55
|
-
/**
|
|
56
|
-
* Default chunk names
|
|
57
|
-
*/
|
|
58
|
-
const CHUNK_NAME_SCHEMAS = "schemas";
|
|
59
|
-
const CHUNK_NAME_RESOLVERS = "resolvers";
|
|
60
|
-
/**
|
|
61
|
-
* Valid define function names for resolver exports
|
|
62
|
-
*/
|
|
63
|
-
const DEFINE_FUNCTIONS = [
|
|
64
|
-
"defineResolver",
|
|
65
|
-
"defineQuery",
|
|
66
|
-
"defineMutation",
|
|
67
|
-
"defineField",
|
|
68
|
-
"defineSubscription",
|
|
69
|
-
"defineDirective"
|
|
70
|
-
];
|
|
71
|
-
/**
|
|
72
|
-
* Built-in GraphQL scalar types (should not be flagged as duplicates)
|
|
73
|
-
*/
|
|
74
|
-
const BUILTIN_SCALARS = [
|
|
75
|
-
"String",
|
|
76
|
-
"Int",
|
|
77
|
-
"Float",
|
|
78
|
-
"Boolean",
|
|
79
|
-
"ID",
|
|
80
|
-
"DateTime",
|
|
81
|
-
"JSON"
|
|
82
|
-
];
|
|
83
|
-
/**
|
|
84
|
-
* Supported HTTP methods for GraphQL endpoints
|
|
85
|
-
*/
|
|
86
|
-
const GRAPHQL_HTTP_METHODS = [
|
|
87
|
-
"GET",
|
|
88
|
-
"POST",
|
|
89
|
-
"OPTIONS"
|
|
90
|
-
];
|
|
91
|
-
/**
|
|
92
|
-
* Default paths for type generation (relative to buildDir)
|
|
93
|
-
*/
|
|
94
|
-
const DEFAULT_SERVER_TYPES_PATH = ".graphql/nitro-graphql-server.d.ts";
|
|
95
|
-
const DEFAULT_CLIENT_TYPES_PATH = ".graphql/nitro-graphql-client.d.ts";
|
|
96
|
-
/**
|
|
97
|
-
* Logger tag for nitro-graphql module
|
|
98
|
-
*/
|
|
99
|
-
const LOG_TAG = "nitro-graphql";
|
|
100
|
-
/**
|
|
101
|
-
* Default service directory name for main service
|
|
102
|
-
*/
|
|
103
|
-
const SERVICE_DEFAULT = "default";
|
|
104
|
-
|
|
105
|
-
//#endregion
|
|
106
|
-
export { BUILTIN_SCALARS, CHUNK_NAME_RESOLVERS, CHUNK_NAME_SCHEMAS, CHUNK_PATH_GRAPHQL, CHUNK_PATH_UNKNOWN, DEFAULT_CLIENT_TYPES_PATH, DEFAULT_SERVER_TYPES_PATH, DEFINE_FUNCTIONS, DIRECTIVE_EXTENSIONS, DIR_SERVER_GRAPHQL, DIR_SERVER_GRAPHQL_WIN, ENDPOINT_DEBUG, ENDPOINT_GRAPHQL, ENDPOINT_HEALTH, FILE_CONFIG_TS, FILE_CONTEXT_DTS, FILE_CONTEXT_TS, FILE_GRAPHQL_CONFIG, FILE_INDEX_TS, FILE_SCHEMA_TS, FRAMEWORK_NITRO, FRAMEWORK_NUXT, GLOB_SCAN_PATTERN, GRAPHQL_EXTENSIONS, GRAPHQL_HTTP_METHODS, LOG_TAG, RESOLVER_EXTENSIONS, SERVICE_DEFAULT };
|
package/dist/graphql/index.d.mts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { createMergedSchema } from "../utils/schema-builder.mjs";
|
|
2
|
-
import defu from "defu";
|
|
3
|
-
import { importedConfig } from "#nitro-graphql/graphql-config";
|
|
4
|
-
import { moduleConfig } from "#nitro-graphql/module-config";
|
|
5
|
-
import { directives } from "#nitro-graphql/server-directives";
|
|
6
|
-
import { resolvers } from "#nitro-graphql/server-resolvers";
|
|
7
|
-
import { schemas } from "#nitro-graphql/server-schemas";
|
|
8
|
-
import { ApolloServer } from "@apollo/server";
|
|
9
|
-
import { ApolloServerPluginLandingPageLocalDefault } from "@apollo/server/plugin/landingPage/default";
|
|
10
|
-
import { startServerAndCreateH3Handler } from "nitro-graphql/utils/apollo";
|
|
11
|
-
import { defineEventHandler } from "nitro/h3";
|
|
12
|
-
|
|
13
|
-
//#region src/routes/apollo-server.ts
|
|
14
|
-
let apolloServer = null;
|
|
15
|
-
let serverStarted = false;
|
|
16
|
-
async function createApolloServer() {
|
|
17
|
-
if (!apolloServer) {
|
|
18
|
-
apolloServer = new ApolloServer(defu({
|
|
19
|
-
schema: await createMergedSchema({
|
|
20
|
-
schemas,
|
|
21
|
-
resolvers,
|
|
22
|
-
directives,
|
|
23
|
-
moduleConfig
|
|
24
|
-
}),
|
|
25
|
-
introspection: true,
|
|
26
|
-
plugins: [ApolloServerPluginLandingPageLocalDefault({ embed: true })]
|
|
27
|
-
}, importedConfig));
|
|
28
|
-
if (!serverStarted) {
|
|
29
|
-
await apolloServer.start();
|
|
30
|
-
serverStarted = true;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return apolloServer;
|
|
34
|
-
}
|
|
35
|
-
let serverPromise = null;
|
|
36
|
-
var apollo_server_default = defineEventHandler(async (event) => {
|
|
37
|
-
if (!serverPromise) serverPromise = createApolloServer();
|
|
38
|
-
return startServerAndCreateH3Handler(await serverPromise, {
|
|
39
|
-
context: async () => ({ event }),
|
|
40
|
-
serverAlreadyStarted: true
|
|
41
|
-
})(event);
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
//#endregion
|
|
45
|
-
export { apollo_server_default as default };
|
package/dist/routes/health.d.mts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as nitro_deps_h33 from "nitro/deps/h3";
|
|
2
|
-
|
|
3
|
-
//#region src/routes/health.d.ts
|
|
4
|
-
declare const _default: nitro_deps_h33.EventHandlerWithFetch<nitro_deps_h33.EventHandlerRequest, Promise<{
|
|
5
|
-
status: string;
|
|
6
|
-
message: string;
|
|
7
|
-
timestamp: string;
|
|
8
|
-
}>>;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { _default as default };
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { generateDirectiveSchemas } from "../utils/directive-parser.mjs";
|
|
2
|
-
import { scanDirectives } from "../utils/scanning/directives.mjs";
|
|
3
|
-
import { scanDocuments } from "../utils/scanning/documents.mjs";
|
|
4
|
-
import { scanResolvers } from "../utils/scanning/resolvers.mjs";
|
|
5
|
-
import { scanSchemas } from "../utils/scanning/schemas.mjs";
|
|
6
|
-
|
|
7
|
-
//#region src/setup/graphql-scanner.ts
|
|
8
|
-
/**
|
|
9
|
-
* Scan all GraphQL files and update Nitro state
|
|
10
|
-
* Used by both initial setup and dev:start hook
|
|
11
|
-
*/
|
|
12
|
-
async function scanAllGraphQLFiles(nitro) {
|
|
13
|
-
const directives = await scanDirectives(nitro);
|
|
14
|
-
nitro.scanDirectives = directives;
|
|
15
|
-
if (!nitro.scanSchemas) nitro.scanSchemas = [];
|
|
16
|
-
const directivesPath = await generateDirectiveSchemas(nitro, directives);
|
|
17
|
-
const schemas = await scanSchemas(nitro);
|
|
18
|
-
if (directivesPath && !schemas.includes(directivesPath)) schemas.push(directivesPath);
|
|
19
|
-
nitro.scanSchemas = schemas;
|
|
20
|
-
nitro.scanDocuments = await scanDocuments(nitro);
|
|
21
|
-
nitro.scanResolvers = await scanResolvers(nitro);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
//#endregion
|
|
25
|
-
export { scanAllGraphQLFiles };
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { FILE_CONFIG_TS, FILE_CONTEXT_DTS, FILE_CONTEXT_TS, FILE_GRAPHQL_CONFIG, FILE_SCHEMA_TS, LOG_TAG } from "../constants.mjs";
|
|
2
|
-
import { writeFileIfNotExists } from "../utils/file-generator.mjs";
|
|
3
|
-
import { getDefaultPaths, getScaffoldConfig, resolveFilePath, shouldGenerateScaffold } from "../utils/path-resolver.mjs";
|
|
4
|
-
import { relativeWithDot } from "../utils/imports.mjs";
|
|
5
|
-
import consola from "consola";
|
|
6
|
-
import { join, resolve } from "pathe";
|
|
7
|
-
import { existsSync, mkdirSync } from "node:fs";
|
|
8
|
-
|
|
9
|
-
//#region src/setup/scaffold-generator.ts
|
|
10
|
-
const logger = consola.withTag(LOG_TAG);
|
|
11
|
-
/**
|
|
12
|
-
* Generate all scaffold files based on configuration
|
|
13
|
-
* Can be disabled via: scaffold: false or scaffold.enabled: false
|
|
14
|
-
*/
|
|
15
|
-
function generateScaffoldFiles(nitro) {
|
|
16
|
-
if (!shouldGenerateScaffold(nitro)) {
|
|
17
|
-
logger.info("Scaffold file generation is disabled (library mode)");
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
const placeholders = getDefaultPaths(nitro);
|
|
21
|
-
const scaffoldConfig = getScaffoldConfig(nitro);
|
|
22
|
-
generateGraphQLConfig(nitro, scaffoldConfig, placeholders);
|
|
23
|
-
generateServerScaffoldFiles(nitro, scaffoldConfig, placeholders);
|
|
24
|
-
checkOldContextFile(nitro);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Generate graphql.config.ts for IDE tooling support
|
|
28
|
-
*/
|
|
29
|
-
function generateGraphQLConfig(nitro, scaffoldConfig, placeholders) {
|
|
30
|
-
const graphqlConfigPath = resolveFilePath(scaffoldConfig.graphqlConfig, scaffoldConfig.enabled, true, FILE_GRAPHQL_CONFIG, placeholders);
|
|
31
|
-
if (!graphqlConfigPath) return;
|
|
32
|
-
writeFileIfNotExists(graphqlConfigPath, `import type { IGraphQLConfig } from 'graphql-config'
|
|
33
|
-
|
|
34
|
-
export default <IGraphQLConfig> {
|
|
35
|
-
projects: {
|
|
36
|
-
default: {
|
|
37
|
-
schema: [
|
|
38
|
-
'${relativeWithDot(nitro.options.rootDir, resolve(nitro.graphql.buildDir, "schema.graphql"))}',
|
|
39
|
-
],
|
|
40
|
-
documents: [
|
|
41
|
-
'${relativeWithDot(nitro.options.rootDir, resolve(nitro.graphql.clientDir, "**/*.{graphql,js,ts,jsx,tsx}"))}',
|
|
42
|
-
],
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
}`, FILE_GRAPHQL_CONFIG);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Generate server-side scaffold files (schema.ts, config.ts, context.d.ts)
|
|
49
|
-
*/
|
|
50
|
-
function generateServerScaffoldFiles(nitro, scaffoldConfig, placeholders) {
|
|
51
|
-
const serverSchemaPath = resolveFilePath(scaffoldConfig.serverSchema, scaffoldConfig.enabled, true, "{serverGraphql}/schema.ts", placeholders);
|
|
52
|
-
const serverConfigPath = resolveFilePath(scaffoldConfig.serverConfig, scaffoldConfig.enabled, true, "{serverGraphql}/config.ts", placeholders);
|
|
53
|
-
const serverContextPath = resolveFilePath(scaffoldConfig.serverContext, scaffoldConfig.enabled, true, "{serverGraphql}/context.d.ts", placeholders);
|
|
54
|
-
if (serverSchemaPath || serverConfigPath || serverContextPath) {
|
|
55
|
-
if (!existsSync(nitro.graphql.serverDir)) mkdirSync(nitro.graphql.serverDir, { recursive: true });
|
|
56
|
-
}
|
|
57
|
-
if (serverSchemaPath) writeFileIfNotExists(serverSchemaPath, `export default defineSchema({
|
|
58
|
-
|
|
59
|
-
})
|
|
60
|
-
`, `server ${FILE_SCHEMA_TS}`);
|
|
61
|
-
if (serverConfigPath) writeFileIfNotExists(serverConfigPath, `// Example GraphQL config file please change it to your needs
|
|
62
|
-
// import * as tables from '../drizzle/schema/index'
|
|
63
|
-
// import { useDatabase } from '../utils/useDb'
|
|
64
|
-
import { defineGraphQLConfig } from 'nitro-graphql/define'
|
|
65
|
-
|
|
66
|
-
export default defineGraphQLConfig({
|
|
67
|
-
// graphql-yoga example config
|
|
68
|
-
// context: () => {
|
|
69
|
-
// return {
|
|
70
|
-
// context: {
|
|
71
|
-
// useDatabase,
|
|
72
|
-
// tables,
|
|
73
|
-
// },
|
|
74
|
-
// }
|
|
75
|
-
// },
|
|
76
|
-
})
|
|
77
|
-
`, `server ${FILE_CONFIG_TS}`);
|
|
78
|
-
if (serverContextPath) writeFileIfNotExists(serverContextPath, `// Example context definition - please change it to your needs
|
|
79
|
-
// import type { Database } from '../utils/useDb'
|
|
80
|
-
|
|
81
|
-
declare module 'nitro/h3' {
|
|
82
|
-
interface H3EventContext {
|
|
83
|
-
// Add your custom context properties here
|
|
84
|
-
// useDatabase: () => Database
|
|
85
|
-
// tables: typeof import('../drizzle/schema')
|
|
86
|
-
// auth?: {
|
|
87
|
-
// user?: {
|
|
88
|
-
// id: string
|
|
89
|
-
// role: 'admin' | 'user'
|
|
90
|
-
// }
|
|
91
|
-
// }
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export {}
|
|
96
|
-
`, `server ${FILE_CONTEXT_DTS}`);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Check for old context.ts file and warn users to migrate to context.d.ts
|
|
100
|
-
*/
|
|
101
|
-
function checkOldContextFile(nitro) {
|
|
102
|
-
if (existsSync(join(nitro.graphql.serverDir, FILE_CONTEXT_TS))) {
|
|
103
|
-
logger.warn(`Found ${FILE_CONTEXT_TS} file. Please rename it to ${FILE_CONTEXT_DTS} for type-only definitions.`);
|
|
104
|
-
logger.info(`The context file should now be ${FILE_CONTEXT_DTS} instead of ${FILE_CONTEXT_TS}`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
//#endregion
|
|
109
|
-
export { generateScaffoldFiles };
|