@cedarjs/internal 5.0.4-next.167 → 5.0.4

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 (143) hide show
  1. package/dist/ast.d.ts +0 -1
  2. package/dist/ast.d.ts.map +1 -1
  3. package/dist/ast.js +0 -21
  4. package/dist/build/api.d.ts +0 -2
  5. package/dist/build/api.d.ts.map +1 -1
  6. package/dist/build/api.js +39 -202
  7. package/dist/build/esbuild-plugin-cedar-context-wrapping.d.ts +4 -0
  8. package/dist/build/esbuild-plugin-cedar-context-wrapping.d.ts.map +1 -0
  9. package/dist/build/{esbuild-plugin-handler-als-wrapping.js → esbuild-plugin-cedar-context-wrapping.js} +12 -12
  10. package/dist/cjs/ast.d.ts +26 -0
  11. package/dist/cjs/ast.d.ts.map +1 -0
  12. package/dist/cjs/ast.js +201 -0
  13. package/dist/cjs/build/api.d.ts +7 -0
  14. package/dist/cjs/build/api.d.ts.map +1 -0
  15. package/dist/cjs/build/api.js +251 -0
  16. package/dist/cjs/build/esbuild-plugin-cedar-context-wrapping.d.ts +4 -0
  17. package/dist/cjs/build/esbuild-plugin-cedar-context-wrapping.d.ts.map +1 -0
  18. package/dist/cjs/build/esbuild-plugin-cedar-context-wrapping.js +59 -0
  19. package/dist/cjs/cliLogger.d.ts +11 -0
  20. package/dist/cjs/cliLogger.d.ts.map +1 -0
  21. package/dist/cjs/cliLogger.js +36 -0
  22. package/dist/cjs/dev.d.ts +2 -0
  23. package/dist/cjs/dev.d.ts.map +1 -0
  24. package/dist/cjs/dev.js +41 -0
  25. package/dist/cjs/files.d.ts +56 -0
  26. package/dist/cjs/files.d.ts.map +1 -0
  27. package/dist/cjs/files.js +230 -0
  28. package/dist/cjs/generate/clientPreset.d.ts +17 -0
  29. package/dist/cjs/generate/clientPreset.d.ts.map +1 -0
  30. package/dist/cjs/generate/clientPreset.js +84 -0
  31. package/dist/cjs/generate/generate.d.ts +10 -0
  32. package/dist/cjs/generate/generate.d.ts.map +1 -0
  33. package/dist/cjs/generate/generate.js +97 -0
  34. package/dist/cjs/generate/gqlormSchema.d.ts +113 -0
  35. package/dist/cjs/generate/gqlormSchema.d.ts.map +1 -0
  36. package/dist/cjs/generate/gqlormSchema.js +1061 -0
  37. package/dist/cjs/generate/graphqlCodeGen.d.ts +16 -0
  38. package/dist/cjs/generate/graphqlCodeGen.d.ts.map +1 -0
  39. package/dist/cjs/generate/graphqlCodeGen.js +380 -0
  40. package/dist/cjs/generate/graphqlSchema.d.ts +8 -0
  41. package/dist/cjs/generate/graphqlSchema.d.ts.map +1 -0
  42. package/dist/cjs/generate/graphqlSchema.js +157 -0
  43. package/dist/cjs/generate/plugins/rw-typescript-resolvers/index.d.ts +7 -0
  44. package/dist/cjs/generate/plugins/rw-typescript-resolvers/index.d.ts.map +1 -0
  45. package/dist/cjs/generate/plugins/rw-typescript-resolvers/index.js +65 -0
  46. package/dist/cjs/generate/plugins/rw-typescript-resolvers/visitor.d.ts +10 -0
  47. package/dist/cjs/generate/plugins/rw-typescript-resolvers/visitor.d.ts.map +1 -0
  48. package/dist/cjs/generate/plugins/rw-typescript-resolvers/visitor.js +92 -0
  49. package/dist/cjs/generate/possibleTypes.d.ts +36 -0
  50. package/dist/cjs/generate/possibleTypes.d.ts.map +1 -0
  51. package/dist/cjs/generate/possibleTypes.js +106 -0
  52. package/dist/cjs/generate/templates/all-currentUser.d.ts.template +30 -0
  53. package/dist/cjs/generate/templates/all-gqlorm.d.ts.template +7 -0
  54. package/dist/cjs/generate/templates/api-globImports.d.ts.template +9 -0
  55. package/dist/cjs/generate/templates/api-globalContext.d.ts.template +7 -0
  56. package/dist/cjs/generate/templates/api-scenarios.d.ts.template +10 -0
  57. package/dist/cjs/generate/templates/api-test-globals.d.ts.template +5 -0
  58. package/dist/cjs/generate/templates/mirror-cell.d.ts.template +13 -0
  59. package/dist/cjs/generate/templates/mirror-directoryNamedModule.d.ts.template +5 -0
  60. package/dist/cjs/generate/templates/web-routerRoutes.d.ts.template +20 -0
  61. package/dist/cjs/generate/templates/web-routesPages.d.ts.template +13 -0
  62. package/dist/cjs/generate/templates/web-test-globals.d.ts.template +7 -0
  63. package/dist/cjs/generate/templates.d.ts +6 -0
  64. package/dist/cjs/generate/templates.d.ts.map +1 -0
  65. package/dist/cjs/generate/templates.js +68 -0
  66. package/dist/cjs/generate/trustedDocuments.d.ts +3 -0
  67. package/dist/cjs/generate/trustedDocuments.d.ts.map +1 -0
  68. package/dist/cjs/generate/trustedDocuments.js +95 -0
  69. package/dist/cjs/generate/typeDefinitions.d.ts +31 -0
  70. package/dist/cjs/generate/typeDefinitions.d.ts.map +1 -0
  71. package/dist/cjs/generate/typeDefinitions.js +372 -0
  72. package/dist/cjs/generate/types.d.ts +6 -0
  73. package/dist/cjs/generate/types.d.ts.map +1 -0
  74. package/dist/cjs/generate/types.js +16 -0
  75. package/dist/cjs/generate/watch.d.ts +3 -0
  76. package/dist/cjs/generate/watch.d.ts.map +1 -0
  77. package/dist/cjs/generate/watch.js +132 -0
  78. package/dist/cjs/gql.d.ts +14 -0
  79. package/dist/cjs/gql.d.ts.map +1 -0
  80. package/dist/cjs/gql.js +108 -0
  81. package/dist/cjs/index.d.ts +11 -0
  82. package/dist/cjs/index.d.ts.map +1 -0
  83. package/dist/cjs/index.js +49 -0
  84. package/dist/cjs/jsx.d.ts +16 -0
  85. package/dist/cjs/jsx.d.ts.map +1 -0
  86. package/dist/cjs/jsx.js +101 -0
  87. package/dist/cjs/jsxAttributeValue.d.ts +2 -0
  88. package/dist/cjs/jsxAttributeValue.d.ts.map +1 -0
  89. package/dist/cjs/jsxAttributeValue.js +129 -0
  90. package/dist/cjs/package.json +1 -0
  91. package/dist/cjs/project.d.ts +8 -0
  92. package/dist/cjs/project.d.ts.map +1 -0
  93. package/dist/cjs/project.js +82 -0
  94. package/dist/cjs/routes.d.ts +42 -0
  95. package/dist/cjs/routes.d.ts.map +1 -0
  96. package/dist/cjs/routes.js +111 -0
  97. package/dist/cjs/ts2js.d.ts +40 -0
  98. package/dist/cjs/ts2js.d.ts.map +1 -0
  99. package/dist/cjs/ts2js.js +159 -0
  100. package/dist/cjs/validateSchema.d.ts +14 -0
  101. package/dist/cjs/validateSchema.d.ts.map +1 -0
  102. package/dist/cjs/validateSchema.js +195 -0
  103. package/dist/generate/clientPreset.d.ts.map +1 -1
  104. package/dist/generate/clientPreset.js +3 -10
  105. package/dist/generate/typeDefinitions.d.ts.map +1 -1
  106. package/dist/generate/typeDefinitions.js +1 -15
  107. package/dist/gql.d.ts +0 -20
  108. package/dist/gql.d.ts.map +1 -1
  109. package/dist/gql.js +0 -24
  110. package/package.json +80 -48
  111. package/dist/build/api-graphql-transforms.d.ts +0 -34
  112. package/dist/build/api-graphql-transforms.d.ts.map +0 -1
  113. package/dist/build/api-graphql-transforms.js +0 -119
  114. package/dist/build/auto-import.d.ts +0 -10
  115. package/dist/build/auto-import.d.ts.map +0 -1
  116. package/dist/build/auto-import.js +0 -120
  117. package/dist/build/directory-named-import.d.ts +0 -2
  118. package/dist/build/directory-named-import.d.ts.map +0 -1
  119. package/dist/build/directory-named-import.js +0 -26
  120. package/dist/build/esbuild-plugin-api-graphql.d.ts +0 -6
  121. package/dist/build/esbuild-plugin-api-graphql.d.ts.map +0 -1
  122. package/dist/build/esbuild-plugin-api-graphql.js +0 -80
  123. package/dist/build/esbuild-plugin-cedar-otel-wrapping.d.ts +0 -13
  124. package/dist/build/esbuild-plugin-cedar-otel-wrapping.d.ts.map +0 -1
  125. package/dist/build/esbuild-plugin-cedar-otel-wrapping.js +0 -180
  126. package/dist/build/esbuild-plugin-handler-als-wrapping.d.ts +0 -4
  127. package/dist/build/esbuild-plugin-handler-als-wrapping.d.ts.map +0 -1
  128. package/dist/build/esm-extensions.d.ts +0 -33
  129. package/dist/build/esm-extensions.d.ts.map +0 -1
  130. package/dist/build/esm-extensions.js +0 -37
  131. package/dist/build/import-dir.d.ts +0 -22
  132. package/dist/build/import-dir.d.ts.map +0 -1
  133. package/dist/build/import-dir.js +0 -54
  134. package/dist/build/job-path-injector.d.ts +0 -15
  135. package/dist/build/job-path-injector.d.ts.map +0 -1
  136. package/dist/build/job-path-injector.js +0 -69
  137. package/dist/build/src-alias.d.ts +0 -14
  138. package/dist/build/src-alias.d.ts.map +0 -1
  139. package/dist/build/src-alias.js +0 -17
  140. package/dist/build/tsconfig-paths.d.ts +0 -2
  141. package/dist/build/tsconfig-paths.d.ts.map +0 -1
  142. package/dist/build/tsconfig-paths.js +0 -72
  143. package/dist/generate/templates/mirror-cell-fragment.d.ts.template +0 -18
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var files_exports = {};
30
+ __export(files_exports, {
31
+ findApiDistFunctions: () => findApiDistFunctions,
32
+ findApiFiles: () => findApiFiles,
33
+ findApiServerFunctions: () => findApiServerFunctions,
34
+ findCells: () => findCells,
35
+ findDirectoryNamedModules: () => findDirectoryNamedModules,
36
+ findGraphQLSchemas: () => findGraphQLSchemas,
37
+ findPages: () => findPages,
38
+ findRouteHooksSrc: () => findRouteHooksSrc,
39
+ findScripts: () => findScripts,
40
+ findWebFiles: () => findWebFiles,
41
+ isApiFunction: () => isApiFunction,
42
+ isCellFile: () => isCellFile,
43
+ isDirectoryNamedModuleFile: () => isDirectoryNamedModuleFile,
44
+ isFileInsideFolder: () => isFileInsideFolder,
45
+ isGraphQLSchemaFile: () => isGraphQLSchemaFile,
46
+ isPageFile: () => isPageFile
47
+ });
48
+ module.exports = __toCommonJS(files_exports);
49
+ var import_path = __toESM(require("path"), 1);
50
+ var import_fast_glob = __toESM(require("fast-glob"), 1);
51
+ var import_project_config = require("@cedarjs/project-config");
52
+ var import_ast = require("./ast.js");
53
+ const findCells = (cwd = (0, import_project_config.getPaths)().web.src) => {
54
+ const modules = import_fast_glob.default.sync("**/*Cell.{js,jsx,ts,tsx}", {
55
+ cwd,
56
+ absolute: true,
57
+ ignore: ["node_modules"]
58
+ });
59
+ return modules.filter(isCellFile);
60
+ };
61
+ const findPages = (cwd = (0, import_project_config.getPaths)().web.pages) => {
62
+ const modules = import_fast_glob.default.sync("**/*Page.{tsx,js,jsx}", {
63
+ cwd,
64
+ absolute: true,
65
+ ignore: ["node_modules"]
66
+ });
67
+ return modules.filter(isPageFile);
68
+ };
69
+ const findDirectoryNamedModules = (cwd = (0, import_project_config.getPaths)().base) => {
70
+ const modules = import_fast_glob.default.sync("(api|web)/src/**/*.{ts,js,jsx,tsx}", {
71
+ cwd,
72
+ absolute: true,
73
+ ignore: ["node_modules"]
74
+ });
75
+ return modules.filter(isDirectoryNamedModuleFile).filter((p) => !isCellFile(p));
76
+ };
77
+ const findGraphQLSchemas = (cwd = (0, import_project_config.getPaths)().api.graphql) => {
78
+ return import_fast_glob.default.sync("**/*.sdl.{ts,js}", { cwd, absolute: true }).filter(isGraphQLSchemaFile);
79
+ };
80
+ const ignoreApiFiles = [
81
+ "**/*.test.{js,ts}",
82
+ "**/*.scenarios.{js,ts}",
83
+ "**/*.fixtures.{js,ts}",
84
+ "**/*.d.ts"
85
+ ];
86
+ const findApiFiles = (cwd = (0, import_project_config.getPaths)().api.src) => {
87
+ const files = import_fast_glob.default.sync("**/*.{js,ts,jsx,tsx}", {
88
+ cwd,
89
+ absolute: true,
90
+ ignore: ignoreApiFiles
91
+ });
92
+ return files;
93
+ };
94
+ const findWebFiles = (cwd = (0, import_project_config.getPaths)().web.src) => {
95
+ const files = import_fast_glob.default.sync("**/*.{js,ts,jsx,tsx}", {
96
+ cwd,
97
+ absolute: true,
98
+ ignore: [
99
+ "**/*.test.{js,ts,tsx,jsx}",
100
+ "**/*.fixtures.{js,ts,tsx,jsx}",
101
+ "**/*.mock.{js,ts,tsx,jsx}",
102
+ "**/*.d.ts"
103
+ ]
104
+ });
105
+ return files;
106
+ };
107
+ const findApiServerFunctions = (cwd = (0, import_project_config.getPaths)().api.functions) => {
108
+ const files = import_fast_glob.default.sync("**/*.{js,ts}", {
109
+ cwd,
110
+ absolute: true,
111
+ deep: 2,
112
+ // We don't support deeply nested api functions.
113
+ ignore: ignoreApiFiles
114
+ });
115
+ return files.filter((f) => isApiFunction(f, cwd));
116
+ };
117
+ const findApiDistFunctions = (params) => {
118
+ const {
119
+ cwd = (0, import_project_config.getPaths)().api.base,
120
+ options = {},
121
+ discoverFunctionsGlob = "dist/functions/**/*.{ts,js}"
122
+ } = params;
123
+ return import_fast_glob.default.sync(discoverFunctionsGlob, {
124
+ cwd,
125
+ // We don't support deeply nested api functions, to maximise compatibility
126
+ // with deployment providers
127
+ deep: 2,
128
+ absolute: true,
129
+ ...options
130
+ });
131
+ };
132
+ const findRouteHooksSrc = (cwd = (0, import_project_config.getPaths)().web.src) => {
133
+ return import_fast_glob.default.sync("**/*.routeHooks.{js,ts,tsx,jsx}", {
134
+ absolute: true,
135
+ cwd
136
+ });
137
+ };
138
+ const isCellFile = (p) => {
139
+ const { dir, name } = import_path.default.parse(p);
140
+ if (!isFileInsideFolder(p, (0, import_project_config.getPaths)().web.src)) {
141
+ return false;
142
+ }
143
+ if (!dir.endsWith(name)) {
144
+ return false;
145
+ }
146
+ const ast = (0, import_ast.fileToAst)(p);
147
+ if ((0, import_ast.hasDefaultExport)(ast)) {
148
+ return false;
149
+ }
150
+ const exports2 = (0, import_ast.getNamedExports)(ast);
151
+ const exportedQUERY = exports2.findIndex((v) => v.name === "QUERY") !== -1;
152
+ const exportedSuccess = exports2.findIndex((v) => v.name === "Success") !== -1;
153
+ if (!exportedQUERY && !exportedSuccess) {
154
+ return false;
155
+ }
156
+ return true;
157
+ };
158
+ const findScripts = (cwd = (0, import_project_config.getPaths)().scripts) => {
159
+ return import_fast_glob.default.sync("./**/*.{js,jsx,ts,tsx}", {
160
+ cwd,
161
+ absolute: true,
162
+ ignore: ["node_modules"]
163
+ });
164
+ };
165
+ const isPageFile = (p) => {
166
+ const { name } = import_path.default.parse(p);
167
+ if (!name.endsWith("Page")) {
168
+ return false;
169
+ }
170
+ if (!isFileInsideFolder(p, (0, import_project_config.getPaths)().web.pages)) {
171
+ return false;
172
+ }
173
+ const ast = (0, import_ast.fileToAst)(p);
174
+ if (!(0, import_ast.hasDefaultExport)(ast)) {
175
+ return false;
176
+ }
177
+ return true;
178
+ };
179
+ const isDirectoryNamedModuleFile = (p) => {
180
+ const { dir, name } = import_path.default.parse(p);
181
+ return dir.endsWith(name);
182
+ };
183
+ const isGraphQLSchemaFile = (p) => {
184
+ if (!p.match(/\.sdl\.(ts|js)$/)?.[0]) {
185
+ return false;
186
+ }
187
+ const ast = (0, import_ast.fileToAst)(p);
188
+ const exports2 = (0, import_ast.getNamedExports)(ast);
189
+ return exports2.findIndex((v) => v.name === "schema") !== -1;
190
+ };
191
+ const isApiFunction = (p, functionsPath) => {
192
+ p = import_path.default.relative(functionsPath, p);
193
+ const { dir, name } = import_path.default.parse(p);
194
+ if (dir === name) {
195
+ return true;
196
+ } else if (dir === "") {
197
+ return true;
198
+ } else if (dir.length && name === "index") {
199
+ return true;
200
+ }
201
+ return false;
202
+ };
203
+ const isFileInsideFolder = (filePath, folderPath) => {
204
+ const { dir } = import_path.default.parse(filePath);
205
+ const relativePathFromFolder = import_path.default.relative(folderPath, dir);
206
+ if (!relativePathFromFolder || relativePathFromFolder.startsWith("..") || import_path.default.isAbsolute(relativePathFromFolder)) {
207
+ return false;
208
+ } else {
209
+ return true;
210
+ }
211
+ };
212
+ // Annotate the CommonJS export names for ESM import in node:
213
+ 0 && (module.exports = {
214
+ findApiDistFunctions,
215
+ findApiFiles,
216
+ findApiServerFunctions,
217
+ findCells,
218
+ findDirectoryNamedModules,
219
+ findGraphQLSchemas,
220
+ findPages,
221
+ findRouteHooksSrc,
222
+ findScripts,
223
+ findWebFiles,
224
+ isApiFunction,
225
+ isCellFile,
226
+ isDirectoryNamedModuleFile,
227
+ isFileInsideFolder,
228
+ isGraphQLSchemaFile,
229
+ isPageFile
230
+ });
@@ -0,0 +1,17 @@
1
+ export declare const shouldGenerateTrustedDocuments: () => boolean;
2
+ export declare const generateClientPreset: () => Promise<{
3
+ clientPresetFiles: string[];
4
+ trustedDocumentsStoreFile: never[];
5
+ errors: {
6
+ message: string;
7
+ error: unknown;
8
+ }[];
9
+ } | {
10
+ clientPresetFiles: string[];
11
+ trustedDocumentsStoreFile: string;
12
+ errors: {
13
+ message: string;
14
+ error: unknown;
15
+ }[];
16
+ }>;
17
+ //# sourceMappingURL=clientPreset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientPreset.d.ts","sourceRoot":"","sources":["../../../src/generate/clientPreset.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,8BAA8B,QAAO,OAIjD,CAAA;AAED,eAAO,MAAM,oBAAoB;;;;iBAGN,MAAM;eAAS,OAAO;;;;;;iBAAtB,MAAM;eAAS,OAAO;;EAoDhD,CAAA"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var clientPreset_exports = {};
20
+ __export(clientPreset_exports, {
21
+ generateClientPreset: () => generateClientPreset,
22
+ shouldGenerateTrustedDocuments: () => shouldGenerateTrustedDocuments
23
+ });
24
+ module.exports = __toCommonJS(clientPreset_exports);
25
+ var import_cli = require("@graphql-codegen/cli");
26
+ var import_client_preset = require("@graphql-codegen/client-preset");
27
+ var import_project_config = require("@cedarjs/project-config");
28
+ var import_trustedDocuments = require("./trustedDocuments.js");
29
+ const shouldGenerateTrustedDocuments = () => {
30
+ const config = (0, import_project_config.getConfig)();
31
+ return config.graphql.trustedDocuments;
32
+ };
33
+ const generateClientPreset = async () => {
34
+ let clientPresetFiles = [];
35
+ const errors = [];
36
+ if (!shouldGenerateTrustedDocuments()) {
37
+ return { clientPresetFiles, trustedDocumentsStoreFile: [], errors };
38
+ }
39
+ const documentsGlob = `${(0, import_project_config.getPaths)().web.src}/**/!(*.d).{ts,tsx,js,jsx}`;
40
+ const config = {
41
+ schema: (0, import_project_config.getPaths)().generated.schema,
42
+ documents: documentsGlob,
43
+ silent: true,
44
+ // Plays nicely with cli task output
45
+ generates: {
46
+ [`${(0, import_project_config.getPaths)().web.src}/graphql/`]: {
47
+ preset: "client",
48
+ presetConfig: {
49
+ persistedDocuments: true
50
+ },
51
+ documentTransforms: [import_client_preset.addTypenameSelectionDocumentTransform],
52
+ config: {
53
+ // DO NOT USE documentMode: 'string',
54
+ }
55
+ }
56
+ }
57
+ };
58
+ try {
59
+ const generatedFiles = await (0, import_cli.generate)(config, true);
60
+ clientPresetFiles = generatedFiles.map((f) => f.filename);
61
+ const trustedDocumentsStoreFile = await (0, import_trustedDocuments.trustedDocumentsStore)(generatedFiles);
62
+ (0, import_trustedDocuments.replaceGqlTagWithTrustedDocumentGraphql)(generatedFiles);
63
+ return {
64
+ clientPresetFiles,
65
+ trustedDocumentsStoreFile,
66
+ errors
67
+ };
68
+ } catch (e) {
69
+ errors.push({
70
+ message: "Error: Could not generate GraphQL client preset",
71
+ error: e
72
+ });
73
+ return {
74
+ clientPresetFiles,
75
+ trustedDocumentsStoreFile: [],
76
+ errors
77
+ };
78
+ }
79
+ };
80
+ // Annotate the CommonJS export names for ESM import in node:
81
+ 0 && (module.exports = {
82
+ generateClientPreset,
83
+ shouldGenerateTrustedDocuments
84
+ });
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ export declare const generate: () => Promise<{
3
+ files: string[];
4
+ errors: {
5
+ message: string;
6
+ error: unknown;
7
+ }[];
8
+ }>;
9
+ export declare const run: () => Promise<void>;
10
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/generate/generate.ts"],"names":[],"mappings":";AAWA,eAAO,MAAM,QAAQ;;;;;;EA2CpB,CAAA;AAED,eAAO,MAAM,GAAG,qBAoCf,CAAA"}
@@ -0,0 +1,97 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var generate_exports = {};
21
+ __export(generate_exports, {
22
+ generate: () => generate,
23
+ run: () => run
24
+ });
25
+ module.exports = __toCommonJS(generate_exports);
26
+ var import_loadEnvFiles = require("@cedarjs/cli-helpers/loadEnvFiles");
27
+ var import_project_config = require("@cedarjs/project-config");
28
+ var import_clientPreset = require("./clientPreset.js");
29
+ var import_gqlormSchema = require("./gqlormSchema.js");
30
+ var import_graphqlSchema = require("./graphqlSchema.js");
31
+ var import_possibleTypes = require("./possibleTypes.js");
32
+ var import_typeDefinitions = require("./typeDefinitions.js");
33
+ const generate = async () => {
34
+ const config = (0, import_project_config.getConfig)();
35
+ const { schemaPath, errors: generateGraphQLSchemaErrors } = await (0, import_graphqlSchema.generateGraphQLSchema)();
36
+ const { typeDefFiles, errors: generateTypeDefsErrors } = await (0, import_typeDefinitions.generateTypeDefs)();
37
+ const clientPresetFiles = [];
38
+ const { possibleTypesFiles, errors: generatePossibleTypesErrors } = await (0, import_possibleTypes.generatePossibleTypes)();
39
+ const { files: gqlormFiles, errors: gqlormErrors } = await (0, import_gqlormSchema.generateGqlormArtifacts)();
40
+ if (config.graphql.trustedDocuments) {
41
+ const preset = await (0, import_clientPreset.generateClientPreset)();
42
+ clientPresetFiles.push(...preset.clientPresetFiles);
43
+ }
44
+ let files = [];
45
+ if (schemaPath !== "") {
46
+ files.push(schemaPath);
47
+ }
48
+ files = [
49
+ ...files,
50
+ ...typeDefFiles,
51
+ ...clientPresetFiles,
52
+ ...possibleTypesFiles,
53
+ ...gqlormFiles
54
+ ].filter((x) => typeof x === "string");
55
+ return {
56
+ files,
57
+ errors: [
58
+ ...generateGraphQLSchemaErrors,
59
+ ...generateTypeDefsErrors,
60
+ ...generatePossibleTypesErrors,
61
+ ...gqlormErrors
62
+ ]
63
+ };
64
+ };
65
+ const run = async () => {
66
+ (0, import_loadEnvFiles.loadEnvFiles)();
67
+ console.log("Generating...");
68
+ console.log();
69
+ const { files, errors } = await generate();
70
+ const rwjsPaths = (0, import_project_config.getPaths)();
71
+ for (const f of files) {
72
+ console.log("-", f.replace(rwjsPaths.base + "/", ""));
73
+ }
74
+ console.log();
75
+ if (errors.length === 0) {
76
+ console.log("... done.");
77
+ console.log();
78
+ return;
79
+ }
80
+ process.exitCode ||= 1;
81
+ console.log("... done with errors.");
82
+ console.log();
83
+ for (const { message, error } of errors) {
84
+ console.error(message);
85
+ console.log();
86
+ console.error(error);
87
+ console.log();
88
+ }
89
+ };
90
+ if (process.env.NODE_ENV !== "test" && process.argv[1]?.endsWith("generate.js")) {
91
+ run();
92
+ }
93
+ // Annotate the CommonJS export names for ESM import in node:
94
+ 0 && (module.exports = {
95
+ generate,
96
+ run
97
+ });
@@ -0,0 +1,113 @@
1
+ import type * as DMMF from '@prisma/dmmf';
2
+ type ModelSchema = Record<string, string[]>;
3
+ interface FrontendFieldInfo {
4
+ name: string;
5
+ tsType: string;
6
+ }
7
+ interface FrontendModelInfo {
8
+ modelName: string;
9
+ camelName: string;
10
+ fields: FrontendFieldInfo[];
11
+ }
12
+ export interface BackendFieldInfo {
13
+ name: string;
14
+ graphqlType: string;
15
+ isRequired: boolean;
16
+ isId: boolean;
17
+ hasDefaultValue: boolean;
18
+ isUpdatedAt: boolean;
19
+ }
20
+ export interface BackendModelInfo {
21
+ modelName: string;
22
+ camelName: string;
23
+ pluralName: string;
24
+ fields: BackendFieldInfo[];
25
+ idField: BackendFieldInfo | undefined;
26
+ }
27
+ export interface GqlormBackendConfig {
28
+ membershipModel: string;
29
+ membershipModelCamel: string;
30
+ membershipUserField: string;
31
+ membershipOrganizationField: string;
32
+ membershipModelExists: boolean;
33
+ }
34
+ /**
35
+ * Map a DMMF field type to its GraphQL SDL equivalent.
36
+ *
37
+ * Enum fields (kind === 'enum') are mapped to String. Unknown scalar types
38
+ * fall back to String.
39
+ */
40
+ export declare function mapDmmfTypeToGraphql(type: string, kind: string): string;
41
+ export declare function buildFrontendModelInfo(dmmf: DMMF.Document): FrontendModelInfo[];
42
+ export declare function generateWebGqlormModelsContent(models: FrontendModelInfo[]): string;
43
+ /**
44
+ * Build a ModelSchema from a Prisma DMMF document.
45
+ *
46
+ * This is a pure function with no I/O — it can be called directly in tests
47
+ * with a mock DMMF object.
48
+ */
49
+ export declare function buildModelSchema(dmmf: DMMF.Document): ModelSchema;
50
+ /**
51
+ * Build enriched model information from the DMMF, applying the same visibility
52
+ * rules as `buildModelSchema()` but also collecting type, nullability, and
53
+ * @id flag per field.
54
+ *
55
+ * **Note:** This function silently excludes sensitive fields without emitting
56
+ * warnings. It is designed to run after `buildModelSchema()` (which emits the
57
+ * warnings). In `generateGqlormArtifacts()` the call order is guaranteed, but
58
+ * callers using this function standalone should be aware that no warnings will
59
+ * be printed for auto-hidden sensitive fields.
60
+ *
61
+ * This is a pure function — safe for testing.
62
+ */
63
+ export declare function buildBackendModelInfo(dmmf: DMMF.Document): BackendModelInfo[];
64
+ /**
65
+ * Scan all SDL files in the given directory and return the set of GraphQL type
66
+ * names that are already defined by user-authored SDLs.
67
+ *
68
+ * This prevents gqlorm from generating duplicate type definitions that would
69
+ * cause merge conflicts in `makeMergedSchema`.
70
+ */
71
+ export declare function getExistingSdlTypeNames(graphqlDir: string): Set<string>;
72
+ /**
73
+ * Generate the full TypeScript source for `.cedar/gqlorm/backend.ts`.
74
+ *
75
+ * The generated file exports:
76
+ * - `schema`: a gql DocumentNode with type defs and Query fields
77
+ * - `createGqlormResolvers(db: GqlormDb)`: a factory function that takes a
78
+ * Prisma client-like object and returns a resolvers object
79
+ *
80
+ * The file does NOT import `db` directly. Instead, the Babel inject plugin
81
+ * imports `db` from `src/lib/db` in `graphql.ts` (where that alias resolves
82
+ * correctly) and passes it to `createGqlormResolvers`.
83
+ *
84
+ * The generated `GqlormDb` interface is scoped to exactly the visible models
85
+ * and fields — no hidden/sensitive fields, no @gqlorm hide models, no
86
+ * dependency on the generated Prisma client path or @prisma/client.
87
+ */
88
+ export declare function generateGqlormBackendContent(models: BackendModelInfo[], config?: GqlormBackendConfig): string;
89
+ /**
90
+ * Generate gqlorm artifacts from the Prisma schema.
91
+ *
92
+ * Reads the project's Prisma schema via DMMF, applies visibility rules
93
+ * (@gqlorm directives + sensitivity heuristics), and writes:
94
+ *
95
+ * 1. `.cedar/gqlorm-schema.json` — the frontend ModelSchema (field names only)
96
+ * 2. `.cedar/gqlorm/backend.ts` — auto-generated GraphQL types and resolvers
97
+ * for models that don't already have manually-written SDL files
98
+ *
99
+ * Cedar targets Node.js 24, which strips TypeScript types natively without any
100
+ * flags, so backend.ts can be imported directly at runtime
101
+ *
102
+ * Returns the same `{ files, errors }` shape used by other generators so it
103
+ * can be integrated into `generate.ts` without special handling.
104
+ */
105
+ export declare function generateGqlormArtifacts(): Promise<{
106
+ files: string[];
107
+ errors: {
108
+ message: string;
109
+ error: unknown;
110
+ }[];
111
+ }>;
112
+ export {};
113
+ //# sourceMappingURL=gqlormSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gqlormSchema.d.ts","sourceRoot":"","sources":["../../../src/generate/gqlormSchema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,IAAI,MAAM,cAAc,CAAA;AA8BzC,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAE3C,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,iBAAiB,EAAE,CAAA;CAC5B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAA;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAA;IACvB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,2BAA2B,EAAE,MAAM,CAAA;IACnC,qBAAqB,EAAE,OAAO,CAAA;CAC/B;AA6DD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvE;AAoGD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAClB,iBAAiB,EAAE,CAiDrB;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,iBAAiB,EAAE,GAC1B,MAAM,CA2CR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,WAAW,CAkDjE;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,EAAE,CA6D7E;AAkBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CA6BvE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,gBAAgB,EAAE,EAC1B,MAAM,GAAE,mBAAmD,GAC1D,MAAM,CA+rBR;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC;IACvD,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;CAC9C,CAAC,CAkID"}