nitro-graphql 0.0.1 → 0.0.2

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 (44) hide show
  1. package/README.md +14 -14
  2. package/dist/client-watcher-DpYM5JpN.js +101 -0
  3. package/dist/client-watcher-DpYM5JpN.js.map +1 -0
  4. package/dist/client-watcher.d.ts +1 -1
  5. package/dist/client-watcher.d.ts.map +1 -1
  6. package/dist/client-watcher.js +4 -91
  7. package/dist/{codegen-Dbw6gEZt.js → codegen-JCUglvgC.js} +1 -1
  8. package/dist/{codegen-Dbw6gEZt.js.map → codegen-JCUglvgC.js.map} +1 -1
  9. package/dist/codegen.d.ts +16 -2
  10. package/dist/codegen.d.ts.map +1 -0
  11. package/dist/codegen.js +1 -1
  12. package/dist/context.d.ts +13 -2
  13. package/dist/context.d.ts.map +1 -0
  14. package/dist/context.js +0 -1
  15. package/dist/index.d.ts +1 -5
  16. package/dist/index.js +158 -323
  17. package/dist/index.js.map +1 -1
  18. package/dist/prerender-BWFqvlWv.js +280 -0
  19. package/dist/prerender-BWFqvlWv.js.map +1 -0
  20. package/dist/{scanner-BdcKEPQk.js → scanner-DA9Zg-ri.js} +4 -4
  21. package/dist/scanner-DA9Zg-ri.js.map +1 -0
  22. package/dist/{types-D_NqyCcy.d.ts → types-BLYuSc3f.d.ts} +3 -2
  23. package/dist/{types-D_NqyCcy.d.ts.map → types-BLYuSc3f.d.ts.map} +1 -1
  24. package/dist/utils-C7-cM2zI.js +24 -0
  25. package/dist/utils-C7-cM2zI.js.map +1 -0
  26. package/dist/utils.d.ts +16 -3
  27. package/dist/utils.d.ts.map +1 -0
  28. package/dist/utils.js +2 -2
  29. package/package.json +4 -4
  30. package/dist/client-watcher.js.map +0 -1
  31. package/dist/codegen-DWJuLowd.d.ts +0 -16
  32. package/dist/codegen-DWJuLowd.d.ts.map +0 -1
  33. package/dist/context-BgqNJFCT.d.ts +0 -13
  34. package/dist/context-BgqNJFCT.d.ts.map +0 -1
  35. package/dist/context-CZdhkJYD.js +0 -0
  36. package/dist/scanner-BdcKEPQk.js.map +0 -1
  37. package/dist/utils-87_22aIA.js +0 -41
  38. package/dist/utils-87_22aIA.js.map +0 -1
  39. package/dist/utils-BuYDOLIi.d.ts +0 -22
  40. package/dist/utils-BuYDOLIi.d.ts.map +0 -1
  41. package/dist/watcher.d.ts +0 -9
  42. package/dist/watcher.d.ts.map +0 -1
  43. package/dist/watcher.js +0 -96
  44. package/dist/watcher.js.map +0 -1
package/dist/watcher.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import { Nitro } from "nitropack/types";
2
-
3
- //#region src/watcher.d.ts
4
- declare function setupGraphQLWatcher(nitro: Nitro): Promise<void>;
5
- //# sourceMappingURL=watcher.d.ts.map
6
-
7
- //#endregion
8
- export { setupGraphQLWatcher };
9
- //# sourceMappingURL=watcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"watcher.d.ts","names":[],"sources":["../src/watcher.ts"],"sourcesContent":[],"mappings":";;;iBA6DsB,mBAAA,QAA2B,QAAK"}
package/dist/watcher.js DELETED
@@ -1,96 +0,0 @@
1
- import { scanGraphQLFiles } from "./scanner-BdcKEPQk.js";
2
- import { debounce } from "./utils-87_22aIA.js";
3
- import { mkdir, writeFile } from "node:fs/promises";
4
- import { mergeTypeDefs } from "@graphql-tools/merge";
5
- import { makeExecutableSchema } from "@graphql-tools/schema";
6
- import { consola } from "consola";
7
- import { join } from "node:path";
8
-
9
- //#region src/watcher.ts
10
- const logger = consola.withTag("graphql");
11
- async function regenerateGraphQLTypes(nitro) {
12
- try {
13
- const scanResult = await scanGraphQLFiles(nitro);
14
- if (scanResult.typeDefs.length === 0) {
15
- logger.warn("⚠️ No schema files found");
16
- return;
17
- }
18
- const mergedTypeDefs = mergeTypeDefs(scanResult.typeDefs);
19
- const schema = makeExecutableSchema({
20
- typeDefs: mergedTypeDefs,
21
- resolvers: {}
22
- });
23
- const { generateTypes } = await import("./codegen.js");
24
- const generatedTypes = await generateTypes(schema);
25
- const outputPath = join(nitro.options.buildDir, "types", "graphql-types.generated.ts");
26
- const typesDir = join(nitro.options.buildDir, "types");
27
- await mkdir(typesDir, { recursive: true });
28
- await writeFile(outputPath, generatedTypes);
29
- const graphqlDtsPath = join(typesDir, "graphql.d.ts");
30
- const graphqlDtsContent = `// Auto-generated by nitro-graphql
31
- import type { Resolvers as Test } from './graphql-types.generated'
32
-
33
- declare module 'nitro-graphql' {
34
- interface Resolvers extends Test {}
35
- }
36
- `;
37
- await writeFile(graphqlDtsPath, graphqlDtsContent);
38
- } catch (error) {
39
- const errorMessage = error instanceof Error ? error.message : String(error);
40
- logger.error("❌ Type generation failed:", errorMessage);
41
- }
42
- }
43
- async function setupGraphQLWatcher(nitro) {
44
- const watchPatterns = nitro.options.scanDirs.flatMap((dir) => [
45
- join(dir, "graphql", "**/*.graphql"),
46
- join(dir, "graphql", "**/*.gql"),
47
- join(dir, "graphql", "**/*.{js,mjs,cjs,ts,mts,cts,tsx,jsx}")
48
- ]);
49
- const generateTypesDebounced = debounce(async () => {
50
- await regenerateGraphQLTypes(nitro);
51
- }, 300);
52
- const { watch } = await import("chokidar");
53
- const existingFiles = await Promise.all(nitro.options.scanDirs.map(async (scanDir) => {
54
- const { globby } = await import("globby");
55
- const graphqlDir = join(scanDir, "graphql");
56
- return globby([
57
- join(graphqlDir, "**/*.graphql"),
58
- join(graphqlDir, "**/*.gql"),
59
- join(graphqlDir, "**/*.{js,mjs,cjs,ts,mts,cts,tsx,jsx}")
60
- ], { absolute: true });
61
- })).then((results) => results.flat());
62
- const watcher = watch(existingFiles.length > 0 ? existingFiles : watchPatterns, {
63
- persistent: true,
64
- ignoreInitial: true,
65
- ignored: /(^|[/\\])\../,
66
- followSymlinks: false,
67
- depth: 10,
68
- usePolling: true,
69
- interval: 1e3,
70
- binaryInterval: 1e3
71
- });
72
- watcher.on("change", (_path) => {
73
- generateTypesDebounced();
74
- });
75
- watcher.on("add", (_path) => {
76
- generateTypesDebounced();
77
- });
78
- watcher.on("unlink", (_path) => {
79
- generateTypesDebounced();
80
- });
81
- watcher.on("error", (error) => {
82
- const errorMessage = error instanceof Error ? error.message : String(error);
83
- logger.error("❌ Watcher error:", errorMessage);
84
- });
85
- nitro.hooks.hook("close", () => {
86
- watcher.close();
87
- });
88
- nitro.hooks.hook("dev:reload", () => {
89
- generateTypesDebounced();
90
- });
91
- logger.success("✅ Watcher ready");
92
- }
93
-
94
- //#endregion
95
- export { setupGraphQLWatcher };
96
- //# sourceMappingURL=watcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"watcher.js","names":["nitro: Nitro"],"sources":["../src/watcher.ts"],"sourcesContent":["import type { Nitro } from 'nitropack/types'\nimport { mkdir, writeFile } from 'node:fs/promises'\nimport { join } from 'node:path'\nimport { mergeTypeDefs } from '@graphql-tools/merge'\nimport { makeExecutableSchema } from '@graphql-tools/schema'\nimport { consola } from 'consola'\n// import { generateTypes } from './codegen' // Conditionally imported to prevent bundling\nimport { scanGraphQLFiles } from './scanner'\nimport { debounce } from './utils'\n\nconst logger = consola.withTag('graphql')\n\n// Type generation function that can be called from hooks\nasync function regenerateGraphQLTypes(nitro: Nitro) {\n try {\n // Scan all GraphQL files and resolvers\n const scanResult = await scanGraphQLFiles(nitro)\n\n if (scanResult.typeDefs.length === 0) {\n logger.warn('⚠️ No schema files found')\n return\n }\n\n // Merge all type definitions\n const mergedTypeDefs = mergeTypeDefs(scanResult.typeDefs)\n\n // Create schema\n const schema = makeExecutableSchema({\n typeDefs: mergedTypeDefs,\n resolvers: {}, // Empty resolvers for type generation\n })\n\n // Generate types using dynamic import\n const { generateTypes } = await import('./codegen')\n const generatedTypes = await generateTypes(schema)\n\n // Write to file\n const outputPath = join(nitro.options.buildDir, 'types', 'graphql-types.generated.ts')\n const typesDir = join(nitro.options.buildDir, 'types')\n await mkdir(typesDir, { recursive: true })\n await writeFile(outputPath, generatedTypes)\n\n // Update graphql.d.ts\n const graphqlDtsPath = join(typesDir, 'graphql.d.ts')\n const graphqlDtsContent = `// Auto-generated by nitro-graphql\nimport type { Resolvers as Test } from './graphql-types.generated'\n\ndeclare module 'nitro-graphql' {\n interface Resolvers extends Test {}\n}\n`\n await writeFile(graphqlDtsPath, graphqlDtsContent)\n\n // Types updated silently\n }\n catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error)\n logger.error('❌ Type generation failed:', errorMessage)\n }\n}\n\nexport async function setupGraphQLWatcher(nitro: Nitro) {\n // Use chokidar directly for reliable file watching\n const watchPatterns = nitro.options.scanDirs.flatMap(dir => [\n join(dir, 'graphql', '**/*.graphql'),\n join(dir, 'graphql', '**/*.gql'),\n join(dir, 'graphql', '**/*.{js,mjs,cjs,ts,mts,cts,tsx,jsx}'),\n ])\n\n // Setup file watcher\n\n // Create debounced function for type generation\n const generateTypesDebounced = debounce(async () => {\n // Regenerate types silently\n await regenerateGraphQLTypes(nitro)\n }, 300)\n\n // Use chokidar for reliable file watching with specific files\n const { watch } = await import('chokidar')\n\n // Watch specific existing files instead of patterns for better reliability\n const existingFiles = await Promise.all(nitro.options.scanDirs.map(async (scanDir) => {\n const { globby } = await import('globby')\n const graphqlDir = join(scanDir, 'graphql')\n return globby([\n join(graphqlDir, '**/*.graphql'),\n join(graphqlDir, '**/*.gql'),\n join(graphqlDir, '**/*.{js,mjs,cjs,ts,mts,cts,tsx,jsx}'),\n ], { absolute: true })\n })).then(results => results.flat())\n\n // File watching setup complete\n\n const watcher = watch(existingFiles.length > 0 ? existingFiles : watchPatterns, {\n persistent: true,\n ignoreInitial: true,\n ignored: /(^|[/\\\\])\\../, // ignore dotfiles\n followSymlinks: false,\n depth: 10,\n usePolling: true, // Enable polling for better compatibility\n interval: 1000, // Check every second\n binaryInterval: 1000,\n })\n\n // watcher.on('ready', () => {})\n\n watcher.on('change', (_path) => {\n generateTypesDebounced()\n })\n\n watcher.on('add', (_path) => {\n generateTypesDebounced()\n })\n\n watcher.on('unlink', (_path) => {\n generateTypesDebounced()\n })\n\n watcher.on('error', (error) => {\n const errorMessage = error instanceof Error ? error.message : String(error)\n logger.error('❌ Watcher error:', errorMessage)\n })\n\n // Hook into Nitro's lifecycle to clean up watcher\n nitro.hooks.hook('close', () => {\n watcher.close()\n })\n\n // Also try to hook into Nitro's dev:reload for additional triggering\n nitro.hooks.hook('dev:reload', () => {\n generateTypesDebounced()\n })\n\n logger.success('✅ Watcher ready')\n}\n"],"mappings":";;;;;;;;;AAUA,MAAM,SAAS,QAAQ,QAAQ,UAAU;AAGzC,eAAe,uBAAuBA,OAAc;AAClD,KAAI;EAEF,MAAM,aAAa,MAAM,iBAAiB,MAAM;AAEhD,MAAI,WAAW,SAAS,WAAW,GAAG;AACpC,UAAO,KAAK,4BAA4B;AACxC;EACD;EAGD,MAAM,iBAAiB,cAAc,WAAW,SAAS;EAGzD,MAAM,SAAS,qBAAqB;GAClC,UAAU;GACV,WAAW,CAAE;EACd,EAAC;EAGF,MAAM,EAAE,eAAe,GAAG,MAAM,OAAO;EACvC,MAAM,iBAAiB,MAAM,cAAc,OAAO;EAGlD,MAAM,aAAa,KAAK,MAAM,QAAQ,UAAU,SAAS,6BAA6B;EACtF,MAAM,WAAW,KAAK,MAAM,QAAQ,UAAU,QAAQ;AACtD,QAAM,MAAM,UAAU,EAAE,WAAW,KAAM,EAAC;AAC1C,QAAM,UAAU,YAAY,eAAe;EAG3C,MAAM,iBAAiB,KAAK,UAAU,eAAe;EACrD,MAAM,oBAAoB,CAAC;;;;;;AAM/B,CAAC;AACG,QAAM,UAAU,gBAAgB,kBAAkB;CAGnD,SACM,OAAO;EACZ,MAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;AAC3E,SAAO,MAAM,6BAA6B,aAAa;CACxD;AACF;AAED,eAAsB,oBAAoBA,OAAc;CAEtD,MAAM,gBAAgB,MAAM,QAAQ,SAAS,QAAQ,SAAO;EAC1D,KAAK,KAAK,WAAW,eAAe;EACpC,KAAK,KAAK,WAAW,WAAW;EAChC,KAAK,KAAK,WAAW,uCAAuC;CAC7D,EAAC;CAKF,MAAM,yBAAyB,SAAS,YAAY;AAElD,QAAM,uBAAuB,MAAM;CACpC,GAAE,IAAI;CAGP,MAAM,EAAE,OAAO,GAAG,MAAM,OAAO;CAG/B,MAAM,gBAAgB,MAAM,QAAQ,IAAI,MAAM,QAAQ,SAAS,IAAI,OAAO,YAAY;EACpF,MAAM,EAAE,QAAQ,GAAG,MAAM,OAAO;EAChC,MAAM,aAAa,KAAK,SAAS,UAAU;AAC3C,SAAO,OAAO;GACZ,KAAK,YAAY,eAAe;GAChC,KAAK,YAAY,WAAW;GAC5B,KAAK,YAAY,uCAAuC;EACzD,GAAE,EAAE,UAAU,KAAM,EAAC;CACvB,EAAC,CAAC,CAAC,KAAK,aAAW,QAAQ,MAAM,CAAC;CAInC,MAAM,UAAU,MAAM,cAAc,SAAS,IAAI,gBAAgB,eAAe;EAC9E,YAAY;EACZ,eAAe;EACf,SAAS;EACT,gBAAgB;EAChB,OAAO;EACP,YAAY;EACZ,UAAU;EACV,gBAAgB;CACjB,EAAC;AAIF,SAAQ,GAAG,UAAU,CAAC,UAAU;AAC9B,0BAAwB;CACzB,EAAC;AAEF,SAAQ,GAAG,OAAO,CAAC,UAAU;AAC3B,0BAAwB;CACzB,EAAC;AAEF,SAAQ,GAAG,UAAU,CAAC,UAAU;AAC9B,0BAAwB;CACzB,EAAC;AAEF,SAAQ,GAAG,SAAS,CAAC,UAAU;EAC7B,MAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU,OAAO,MAAM;AAC3E,SAAO,MAAM,oBAAoB,aAAa;CAC/C,EAAC;AAGF,OAAM,MAAM,KAAK,SAAS,MAAM;AAC9B,UAAQ,OAAO;CAChB,EAAC;AAGF,OAAM,MAAM,KAAK,cAAc,MAAM;AACnC,0BAAwB;CACzB,EAAC;AAEF,QAAO,QAAQ,kBAAkB;AAClC"}