runlify 0.0.798 → 0.0.800

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 (25) hide show
  1. package/build/projectsGeneration/fileCleaners/back/graphServices/cleanStaleRuntimeMetaGraphFiles.js +35 -0
  2. package/build/projectsGeneration/fileCleaners/cleanFiles.js +7 -2
  3. package/build/projectsGeneration/generateProject/back/src/services/generateBackEntityGraph.js +16 -6
  4. package/build/projectsGeneration/generateProject/genGraphSchemesByLocalGenerator.js +12 -6
  5. package/build/projectsGeneration/generateProject/generateProject.js +2 -4
  6. package/build/projectsGeneration/generators/fileTemplates/back/graph/permissionsToGraphql.js +17 -7
  7. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/dataProvider/index.js +3 -3
  8. package/build/projectsGeneration/generators/graph/genGraphCrudPermissions.js +19 -0
  9. package/build/projectsGeneration/generators/graph/genGraphCrudResolvers.js +28 -0
  10. package/build/projectsGeneration/generators/graph/runtimeGraphTypes.js +3 -0
  11. package/build/projectsGeneration/index.js +11 -2
  12. package/build/projectsGeneration/types.js +9 -1
  13. package/build/types/projectsGeneration/fileCleaners/back/graphServices/cleanStaleRuntimeMetaGraphFiles.d.ts +3 -0
  14. package/build/types/projectsGeneration/generateProject/genGraphSchemesByLocalGenerator.d.ts +1 -0
  15. package/build/types/projectsGeneration/generators/fileTemplates/back/clickhouse/jobs.d.ts +6 -0
  16. package/build/types/projectsGeneration/generators/fileTemplates/back/elastic/jobs.d.ts +6 -0
  17. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/permissionsToGraphql.d.ts +1 -1
  18. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/dataProvider/index.d.ts +1 -1
  19. package/build/types/projectsGeneration/generators/graph/genGraphCrudPermissions.d.ts +10 -0
  20. package/build/types/projectsGeneration/generators/graph/genGraphCrudResolvers.d.ts +3 -0
  21. package/build/types/projectsGeneration/generators/graph/runtimeGraphTypes.d.ts +21 -0
  22. package/build/types/projectsGeneration/index.d.ts +4 -0
  23. package/build/types/projectsGeneration/types.d.ts +5 -0
  24. package/docs/09-options.md +3 -0
  25. package/package.json +1 -1
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs_1 = require("fs");
4
+ const cases_1 = require("../../../../utils/cases");
5
+ const generationPaths_1 = require("../../../builders/generationPaths");
6
+ // Files generateBackEntityGraph always wrote in 'files' mode and skips
7
+ // entirely in 'runtime_meta' mode — stale leftovers from a switch would
8
+ // otherwise still be picked up by the typeDefs/resolvers glob loaders.
9
+ const STALE_RUNTIME_META_GRAPH_CATEGORIES = [
10
+ generationPaths_1.GenerationPathCategory.BackGraphEntityBaseTypeDefs,
11
+ generationPaths_1.GenerationPathCategory.BackGraphEntityBaseResolvers,
12
+ generationPaths_1.GenerationPathCategory.BackGraphEntityBasePermissionsToGraphql,
13
+ generationPaths_1.GenerationPathCategory.BackGraphEntityPermissionsToGraphql,
14
+ generationPaths_1.GenerationPathCategory.BackGraphEntityAdditionalPermissionsToGraphql,
15
+ ];
16
+ exports.default = (entityWideGenerationArgs) => {
17
+ if (entityWideGenerationArgs.options.graphSchemaMode !== 'runtime_meta') {
18
+ return;
19
+ }
20
+ entityWideGenerationArgs.entities.forEach((entity) => {
21
+ STALE_RUNTIME_META_GRAPH_CATEGORIES.forEach((category) => {
22
+ const filePath = (0, generationPaths_1.resolveGenerationPath)({
23
+ category,
24
+ detachedBackProject: entityWideGenerationArgs.options.detachedBackProject,
25
+ detachedUiProject: entityWideGenerationArgs.options.detachedUiProject,
26
+ pathsConfig: entityWideGenerationArgs.system.generationPaths,
27
+ vars: { camelPlural: (0, cases_1.camelPlural)(entity.name) },
28
+ });
29
+ if ((0, fs_1.existsSync)(filePath)) {
30
+ (0, fs_1.unlinkSync)(filePath);
31
+ }
32
+ });
33
+ });
34
+ };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5TdGFsZVJ1bnRpbWVNZXRhR3JhcGhGaWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZmlsZUNsZWFuZXJzL2JhY2svZ3JhcGhTZXJ2aWNlcy9jbGVhblN0YWxlUnVudGltZU1ldGFHcmFwaEZpbGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkJBQXlDO0FBQ3pDLG1EQUFtRDtBQUVuRCx1RUFHMEM7QUFFMUMsdUVBQXVFO0FBQ3ZFLHdFQUF3RTtBQUN4RSx1RUFBdUU7QUFDdkUsTUFBTSxtQ0FBbUMsR0FBRztJQUMxQyx3Q0FBc0IsQ0FBQywyQkFBMkI7SUFDbEQsd0NBQXNCLENBQUMsNEJBQTRCO0lBQ25ELHdDQUFzQixDQUFDLHVDQUF1QztJQUM5RCx3Q0FBc0IsQ0FBQyxtQ0FBbUM7SUFDMUQsd0NBQXNCLENBQUMsNkNBQTZDO0NBQ3JFLENBQUE7QUFFRCxrQkFBZSxDQUNiLHdCQUFtRCxFQUNuRCxFQUFFO0lBQ0YsSUFBSSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsZUFBZSxLQUFLLGNBQWMsRUFBRTtRQUN2RSxPQUFNO0tBQ1A7SUFFRCx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDbkQsbUNBQW1DLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDdkQsTUFBTSxRQUFRLEdBQUcsSUFBQSx1Q0FBcUIsRUFBQztnQkFDckMsUUFBUTtnQkFDUixtQkFBbUIsRUFBRSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsbUJBQW1CO2dCQUN6RSxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsaUJBQWlCO2dCQUNyRSxXQUFXLEVBQUUsd0JBQXdCLENBQUMsTUFBTSxDQUFDLGVBQWU7Z0JBQzVELElBQUksRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFBLG1CQUFXLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFDO2FBQzlDLENBQUMsQ0FBQTtZQUVGLElBQUksSUFBQSxlQUFVLEVBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3hCLElBQUEsZUFBVSxFQUFDLFFBQVEsQ0FBQyxDQUFBO2FBQ3JCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQSJ9
@@ -4,7 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const cleanUi_1 = __importDefault(require("./ui/cleanUi"));
7
+ const cleanStaleRuntimeMetaGraphFiles_1 = __importDefault(require("./back/graphServices/cleanStaleRuntimeMetaGraphFiles"));
7
8
  exports.default = (entityWideGenerationArgs) => {
8
- (0, cleanUi_1.default)(entityWideGenerationArgs);
9
+ // Not UI-specific, so unlike cleanUi below it isn't gated by genFrontend.
10
+ (0, cleanStaleRuntimeMetaGraphFiles_1.default)(entityWideGenerationArgs);
11
+ if (entityWideGenerationArgs.options.genFrontend) {
12
+ (0, cleanUi_1.default)(entityWideGenerationArgs);
13
+ }
9
14
  };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5GaWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZmlsZUNsZWFuZXJzL2NsZWFuRmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwyREFBbUM7QUFFbkMsa0JBQWUsQ0FDYix3QkFBbUQsRUFDbkQsRUFBRTtJQUNGLElBQUEsaUJBQU8sRUFBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQSJ9
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5GaWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZmlsZUNsZWFuZXJzL2NsZWFuRmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSwyREFBbUM7QUFDbkMsMkhBQW1HO0FBRW5HLGtCQUFlLENBQ2Isd0JBQW1ELEVBQ25ELEVBQUU7SUFDRiwwRUFBMEU7SUFDMUUsSUFBQSx5Q0FBK0IsRUFBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBRTFELElBQUksd0JBQXdCLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtRQUNoRCxJQUFBLGlCQUFPLEVBQUMsd0JBQXdCLENBQUMsQ0FBQztLQUNuQztBQUNILENBQUMsQ0FBQSJ9
@@ -21,22 +21,32 @@ const generateBackEntityGraph = (fileCreator, args) => {
21
21
  pathsConfig: system.generationPaths,
22
22
  vars: { camelPlural: (0, cases_1.camelPlural)(entity.name) },
23
23
  });
24
+ // 'runtime_meta' builds the base CRUD graph layer (types/resolvers/permissions)
25
+ // in memory at server start instead — see genGraphCrudResolvers/genGraphCrudPermissions.
26
+ // additional*.ts stubs stay file-based in both modes: they're the manual-code merge point.
27
+ const buildsRuntimeMetaGraph = options.graphSchemaMode === 'runtime_meta';
24
28
  // Graph schema
25
29
  if (options.genGraphSchema) {
26
- fileCreator.create(resolveGraphPath(generationPaths_1.GenerationPathCategory.BackGraphEntityBaseTypeDefs), (0, types_1.backBaseTypesTmpl)((0, graphql_1.printSchema)((0, genGraphCrudSchema_1.genGraphCrudSchema)(entity)), options), (0, fileHandlers_1.addWarnings)({ options }));
30
+ if (!buildsRuntimeMetaGraph) {
31
+ fileCreator.create(resolveGraphPath(generationPaths_1.GenerationPathCategory.BackGraphEntityBaseTypeDefs), (0, types_1.backBaseTypesTmpl)((0, graphql_1.printSchema)((0, genGraphCrudSchema_1.genGraphCrudSchema)(entity)), options), (0, fileHandlers_1.addWarnings)({ options }));
32
+ }
27
33
  fileCreator.createIfNotExists(resolveGraphPath(generationPaths_1.GenerationPathCategory.BackGraphEntityAdditionalTypeDefs), (0, additionalTypes_1.backAdditionalTypesTmpl)());
28
34
  }
29
35
  if (!options.typesOnly) {
30
36
  // Graph resolvers
31
37
  if (options.genGraphResolvers) {
32
- fileCreator.create(resolveGraphPath(generationPaths_1.GenerationPathCategory.BackGraphEntityBaseResolvers), (0, resolvers_1.backBaseResolversTmpl)(args), (0, fileHandlers_1.addWarnings)({ options }));
38
+ if (!buildsRuntimeMetaGraph) {
39
+ fileCreator.create(resolveGraphPath(generationPaths_1.GenerationPathCategory.BackGraphEntityBaseResolvers), (0, resolvers_1.backBaseResolversTmpl)(args), (0, fileHandlers_1.addWarnings)({ options }));
40
+ }
33
41
  fileCreator.createIfNotExists(resolveGraphPath(generationPaths_1.GenerationPathCategory.BackGraphEntityAdditionalResolvers), (0, additionalResolvers_1.backAdditionalResolversTmpl)());
34
42
  }
35
43
  // Permissions
36
- fileCreator.create(resolveGraphPath(generationPaths_1.GenerationPathCategory.BackGraphEntityPermissionsToGraphql), (0, entityPermissionToGraphqlTmpl_1.backEntityPermissionToGraphqlTmpl)(args), (0, fileHandlers_1.addWarnings)({ options }));
37
- fileCreator.create(resolveGraphPath(generationPaths_1.GenerationPathCategory.BackGraphEntityBasePermissionsToGraphql), (0, entityBasePermissionToGraphql_1.backBasePermissionToGraphqlTmpl)(args), (0, fileHandlers_1.addWarnings)({ options }));
38
- fileCreator.create(resolveGraphPath(generationPaths_1.GenerationPathCategory.BackGraphEntityAdditionalPermissionsToGraphql), (0, entityAdditionalPermissionToGraphqlTmpl_1.backEntityAdditionalPermissionToGraphqlTmpl)(args), (0, fileHandlers_1.addWarnings)({ options }));
44
+ if (!buildsRuntimeMetaGraph) {
45
+ fileCreator.create(resolveGraphPath(generationPaths_1.GenerationPathCategory.BackGraphEntityPermissionsToGraphql), (0, entityPermissionToGraphqlTmpl_1.backEntityPermissionToGraphqlTmpl)(args), (0, fileHandlers_1.addWarnings)({ options }));
46
+ fileCreator.create(resolveGraphPath(generationPaths_1.GenerationPathCategory.BackGraphEntityBasePermissionsToGraphql), (0, entityBasePermissionToGraphql_1.backBasePermissionToGraphqlTmpl)(args), (0, fileHandlers_1.addWarnings)({ options }));
47
+ fileCreator.create(resolveGraphPath(generationPaths_1.GenerationPathCategory.BackGraphEntityAdditionalPermissionsToGraphql), (0, entityAdditionalPermissionToGraphqlTmpl_1.backEntityAdditionalPermissionToGraphqlTmpl)(args), (0, fileHandlers_1.addWarnings)({ options }));
48
+ }
39
49
  }
40
50
  };
41
51
  exports.default = generateBackEntityGraph;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVCYWNrRW50aXR5R3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRlUHJvamVjdC9iYWNrL3NyYy9zZXJ2aWNlcy9nZW5lcmF0ZUJhY2tFbnRpdHlHcmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHNEQUFzRDtBQUV0RCxpRkFBdUY7QUFDdkYseUZBQStGO0FBQy9GLHdGQUFrRjtBQUNsRixxQ0FBbUM7QUFDbkMsNkdBQStHO0FBQy9HLGlJQUErSDtBQUMvSCxxSkFBbUo7QUFDbkosaUlBQTZIO0FBQzdILHFHQUF1RztBQUN2Ryx3REFBaUQ7QUFDakQsMEVBRzZDO0FBRTdDLE1BQU0sdUJBQXVCLEdBQUcsQ0FDOUIsV0FBd0IsRUFDeEIsSUFBOEIsRUFDOUIsRUFBRTtJQUNGLE1BQU0sRUFDSixNQUFNLEVBQ04sT0FBTyxFQUNQLE1BQU0sR0FDUCxHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxRQUFnQyxFQUFFLEVBQUUsQ0FDNUQsSUFBQSx1Q0FBcUIsRUFBQztRQUNwQixRQUFRO1FBQ1IsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLG1CQUFtQjtRQUNoRCxpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCO1FBQzVDLFdBQVcsRUFBRSxNQUFNLENBQUMsZUFBZTtRQUNuQyxJQUFJLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBQSxtQkFBVyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBQztLQUM5QyxDQUFDLENBQUM7SUFFTCxlQUFlO0lBQ2YsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFO1FBQzFCLFdBQVcsQ0FBQyxNQUFNLENBQ2hCLGdCQUFnQixDQUFDLHdDQUFzQixDQUFDLDJCQUEyQixDQUFDLEVBQ3BFLElBQUEseUJBQWlCLEVBQUMsSUFBQSxxQkFBVyxFQUFDLElBQUEsdUNBQWtCLEVBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsRUFDbkUsSUFBQSwwQkFBVyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FDdkIsQ0FBQztRQUVGLFdBQVcsQ0FBQyxpQkFBaUIsQ0FDM0IsZ0JBQWdCLENBQUMsd0NBQXNCLENBQUMsaUNBQWlDLENBQUMsRUFDMUUsSUFBQSx5Q0FBdUIsR0FBRSxDQUMxQixDQUFDO0tBQ0g7SUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtRQUN0QixrQkFBa0I7UUFDbEIsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEVBQUU7WUFDN0IsV0FBVyxDQUFDLE1BQU0sQ0FDaEIsZ0JBQWdCLENBQUMsd0NBQXNCLENBQUMsNEJBQTRCLENBQUMsRUFDckUsSUFBQSxpQ0FBcUIsRUFBQyxJQUFJLENBQUMsRUFDM0IsSUFBQSwwQkFBVyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FDdkIsQ0FBQztZQUNGLFdBQVcsQ0FBQyxpQkFBaUIsQ0FDM0IsZ0JBQWdCLENBQUMsd0NBQXNCLENBQUMsa0NBQWtDLENBQUMsRUFDM0UsSUFBQSxpREFBMkIsR0FBRSxDQUM5QixDQUFDO1NBQ0g7UUFFRCxjQUFjO1FBQ2QsV0FBVyxDQUFDLE1BQU0sQ0FDaEIsZ0JBQWdCLENBQUMsd0NBQXNCLENBQUMsbUNBQW1DLENBQUMsRUFDNUUsSUFBQSxpRUFBaUMsRUFBQyxJQUFJLENBQUMsRUFDdkMsSUFBQSwwQkFBVyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FDdkIsQ0FBQztRQUNGLFdBQVcsQ0FBQyxNQUFNLENBQ2hCLGdCQUFnQixDQUFDLHdDQUFzQixDQUFDLHVDQUF1QyxDQUFDLEVBQ2hGLElBQUEsK0RBQStCLEVBQUMsSUFBSSxDQUFDLEVBQ3JDLElBQUEsMEJBQVcsRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQ3ZCLENBQUM7UUFDRixXQUFXLENBQUMsTUFBTSxDQUNoQixnQkFBZ0IsQ0FBQyx3Q0FBc0IsQ0FBQyw2Q0FBNkMsQ0FBQyxFQUN0RixJQUFBLHFGQUEyQyxFQUFDLElBQUksQ0FBQyxFQUNqRCxJQUFBLDBCQUFXLEVBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUN2QixDQUFDO0tBQ0g7QUFDSCxDQUFDLENBQUE7QUFFRCxrQkFBZSx1QkFBdUIsQ0FBQyJ9
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVCYWNrRW50aXR5R3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRlUHJvamVjdC9iYWNrL3NyYy9zZXJ2aWNlcy9nZW5lcmF0ZUJhY2tFbnRpdHlHcmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHNEQUFzRDtBQUV0RCxpRkFBdUY7QUFDdkYseUZBQStGO0FBQy9GLHdGQUFrRjtBQUNsRixxQ0FBbUM7QUFDbkMsNkdBQStHO0FBQy9HLGlJQUErSDtBQUMvSCxxSkFBbUo7QUFDbkosaUlBQTZIO0FBQzdILHFHQUF1RztBQUN2Ryx3REFBaUQ7QUFDakQsMEVBRzZDO0FBRTdDLE1BQU0sdUJBQXVCLEdBQUcsQ0FDOUIsV0FBd0IsRUFDeEIsSUFBOEIsRUFDOUIsRUFBRTtJQUNGLE1BQU0sRUFDSixNQUFNLEVBQ04sT0FBTyxFQUNQLE1BQU0sR0FDUCxHQUFHLElBQUksQ0FBQztJQUVULE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxRQUFnQyxFQUFFLEVBQUUsQ0FDNUQsSUFBQSx1Q0FBcUIsRUFBQztRQUNwQixRQUFRO1FBQ1IsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLG1CQUFtQjtRQUNoRCxpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCO1FBQzVDLFdBQVcsRUFBRSxNQUFNLENBQUMsZUFBZTtRQUNuQyxJQUFJLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBQSxtQkFBVyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBQztLQUM5QyxDQUFDLENBQUM7SUFFTCxnRkFBZ0Y7SUFDaEYseUZBQXlGO0lBQ3pGLDJGQUEyRjtJQUMzRixNQUFNLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxlQUFlLEtBQUssY0FBYyxDQUFDO0lBRTFFLGVBQWU7SUFDZixJQUFJLE9BQU8sQ0FBQyxjQUFjLEVBQUU7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzNCLFdBQVcsQ0FBQyxNQUFNLENBQ2hCLGdCQUFnQixDQUFDLHdDQUFzQixDQUFDLDJCQUEyQixDQUFDLEVBQ3BFLElBQUEseUJBQWlCLEVBQUMsSUFBQSxxQkFBVyxFQUFDLElBQUEsdUNBQWtCLEVBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsRUFDbkUsSUFBQSwwQkFBVyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FDdkIsQ0FBQztTQUNIO1FBRUQsV0FBVyxDQUFDLGlCQUFpQixDQUMzQixnQkFBZ0IsQ0FBQyx3Q0FBc0IsQ0FBQyxpQ0FBaUMsQ0FBQyxFQUMxRSxJQUFBLHlDQUF1QixHQUFFLENBQzFCLENBQUM7S0FDSDtJQUVELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1FBQ3RCLGtCQUFrQjtRQUNsQixJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtZQUM3QixJQUFJLENBQUMsc0JBQXNCLEVBQUU7Z0JBQzNCLFdBQVcsQ0FBQyxNQUFNLENBQ2hCLGdCQUFnQixDQUFDLHdDQUFzQixDQUFDLDRCQUE0QixDQUFDLEVBQ3JFLElBQUEsaUNBQXFCLEVBQUMsSUFBSSxDQUFDLEVBQzNCLElBQUEsMEJBQVcsRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQ3ZCLENBQUM7YUFDSDtZQUNELFdBQVcsQ0FBQyxpQkFBaUIsQ0FDM0IsZ0JBQWdCLENBQUMsd0NBQXNCLENBQUMsa0NBQWtDLENBQUMsRUFDM0UsSUFBQSxpREFBMkIsR0FBRSxDQUM5QixDQUFDO1NBQ0g7UUFFRCxjQUFjO1FBQ2QsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzNCLFdBQVcsQ0FBQyxNQUFNLENBQ2hCLGdCQUFnQixDQUFDLHdDQUFzQixDQUFDLG1DQUFtQyxDQUFDLEVBQzVFLElBQUEsaUVBQWlDLEVBQUMsSUFBSSxDQUFDLEVBQ3ZDLElBQUEsMEJBQVcsRUFBQyxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQ3ZCLENBQUM7WUFDRixXQUFXLENBQUMsTUFBTSxDQUNoQixnQkFBZ0IsQ0FBQyx3Q0FBc0IsQ0FBQyx1Q0FBdUMsQ0FBQyxFQUNoRixJQUFBLCtEQUErQixFQUFDLElBQUksQ0FBQyxFQUNyQyxJQUFBLDBCQUFXLEVBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUN2QixDQUFDO1lBQ0YsV0FBVyxDQUFDLE1BQU0sQ0FDaEIsZ0JBQWdCLENBQUMsd0NBQXNCLENBQUMsNkNBQTZDLENBQUMsRUFDdEYsSUFBQSxxRkFBMkMsRUFBQyxJQUFJLENBQUMsRUFDakQsSUFBQSwwQkFBVyxFQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FDdkIsQ0FBQztTQUNIO0tBQ0Y7QUFDSCxDQUFDLENBQUE7QUFFRCxrQkFBZSx1QkFBdUIsQ0FBQyJ9
@@ -50,7 +50,7 @@ const resolvePath = (options, category) => (0, generationPaths_1.resolveGenerati
50
50
  });
51
51
  const genGraphSchemesByLocalGenerator = (options) => __awaiter(void 0, void 0, void 0, function* () {
52
52
  // yarn ts-node src/gen/genGQSchemes.ts
53
- var _a;
53
+ var _a, _b;
54
54
  log_1.default.info(`detachedBackProject: ${options.detachedBackProject}`);
55
55
  log_1.default.info(`detachedUiProject: ${options.detachedUiProject}`);
56
56
  log_1.default.info(`layoutMode: ${(_a = options.layoutMode) !== null && _a !== void 0 ? _a : 'detached'}`);
@@ -66,17 +66,23 @@ const genGraphSchemesByLocalGenerator = (options) => __awaiter(void 0, void 0, v
66
66
  reject(new Error(`error: ${error.message}`));
67
67
  return;
68
68
  }
69
+ // Exit code (surfaced as `error` above) is the real success signal — tools like
70
+ // pnpm write benign warnings to stderr even when they exit 0, so don't fail on that.
69
71
  if (stderr) {
70
- log_1.default.error(`stderr: ${stderr}`);
71
- reject(new Error(`stderr: ${stderr}`));
72
- return;
72
+ log_1.default.warn(`stderr: ${stderr}`);
73
73
  }
74
74
  resolve(undefined);
75
75
  }));
76
76
  const schemaJsonSrc = resolvePath(options, generationPaths_1.GenerationPathCategory.BackGeneratedGraphqlSchemaJson);
77
77
  const backGraphqlTs = resolvePath(options, generationPaths_1.GenerationPathCategory.BackGeneratedGraphqlTs);
78
- if (options.genFrontend && options.copySchemaToUi !== false) {
78
+ const copySchemaToUi = options.genFrontend && options.copySchemaToUi !== false;
79
+ // Unset copyGraphqlTsToUi keeps the old behaviour: one flag for both files.
80
+ const copyGraphqlTsToUi = options.genFrontend &&
81
+ ((_b = options.copyGraphqlTsToUi) !== null && _b !== void 0 ? _b : options.copySchemaToUi) !== false;
82
+ if (copyGraphqlTsToUi) {
79
83
  yield fs_extra_1.default.copyFile(backGraphqlTs, resolvePath(options, generationPaths_1.GenerationPathCategory.UiGeneratedGraphqlTs));
84
+ }
85
+ if (copySchemaToUi) {
80
86
  yield fs_extra_1.default.copyFile(schemaJsonSrc, resolvePath(options, generationPaths_1.GenerationPathCategory.UiGeneratedGraphqlSchemaJson));
81
87
  }
82
88
  if (options.sharedSchemaPath) {
@@ -99,4 +105,4 @@ const genGraphSchemesByLocalGenerator = (options) => __awaiter(void 0, void 0, v
99
105
  }
100
106
  });
101
107
  exports.genGraphSchemesByLocalGenerator = genGraphSchemesByLocalGenerator;
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuR3JhcGhTY2hlbWVzQnlMb2NhbEdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdGVQcm9qZWN0L2dlbkdyYXBoU2NoZW1lc0J5TG9jYWxHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNEI7QUFDNUIsd0RBQXlCO0FBQ3pCLGlEQUFrQztBQUVsQyxvREFBMkI7QUFDM0IsaUVBSW9DO0FBU3BDLE1BQU0sV0FBVyxHQUFHLENBQ2xCLE9BQTRCLEVBQzVCLFFBQWdDLEVBQ2hDLEVBQUUsQ0FDRixJQUFBLHVDQUFxQixFQUFDO0lBQ3BCLFFBQVE7SUFDUixtQkFBbUIsRUFBRSxPQUFPLENBQUMsbUJBQW1CO0lBQ2hELGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7SUFDNUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxlQUFlO0lBQ3BDLElBQUksRUFBRSxFQUFFO0NBQ1QsQ0FBQyxDQUFBO0FBRUcsTUFBTSwrQkFBK0IsR0FBRyxDQUM3QyxPQUE0QixFQUM1QixFQUFFO0lBQ0YsdUNBQXVDOztJQUV2QyxhQUFHLENBQUMsSUFBSSxDQUFDLHdCQUF3QixPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLGFBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDNUQsYUFBRyxDQUFDLElBQUksQ0FBQyxlQUFlLE1BQUMsT0FBMEQsQ0FBQyxVQUFVLG1DQUFJLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFFaEgsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFBO0lBRTNDLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixPQUFPLEdBQUcsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQ2pDLE9B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
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuR3JhcGhTY2hlbWVzQnlMb2NhbEdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm9qZWN0c0dlbmVyYXRpb24vZ2VuZXJhdGVQcm9qZWN0L2dlbkdyYXBoU2NoZW1lc0J5TG9jYWxHZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNEI7QUFDNUIsd0RBQXlCO0FBQ3pCLGlEQUFrQztBQUVsQyxvREFBMkI7QUFDM0IsaUVBSW9DO0FBVXBDLE1BQU0sV0FBVyxHQUFHLENBQ2xCLE9BQTRCLEVBQzVCLFFBQWdDLEVBQ2hDLEVBQUUsQ0FDRixJQUFBLHVDQUFxQixFQUFDO0lBQ3BCLFFBQVE7SUFDUixtQkFBbUIsRUFBRSxPQUFPLENBQUMsbUJBQW1CO0lBQ2hELGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7SUFDNUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxlQUFlO0lBQ3BDLElBQUksRUFBRSxFQUFFO0NBQ1QsQ0FBQyxDQUFBO0FBRUcsTUFBTSwrQkFBK0IsR0FBRyxDQUM3QyxPQUE0QixFQUM1QixFQUFFO0lBQ0YsdUNBQXVDOztJQUV2QyxhQUFHLENBQUMsSUFBSSxDQUFDLHdCQUF3QixPQUFPLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLGFBQUcsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDNUQsYUFBRyxDQUFDLElBQUksQ0FBQyxlQUFlLE1BQUMsT0FBMEQsQ0FBQyxVQUFVLG1DQUFJLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFFaEgsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFBO0lBRTNDLElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDWixPQUFPLEdBQUcsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQ2pDLE9B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
@@ -23,9 +23,7 @@ const generateProject = (system, opts) => __awaiter(void 0, void 0, void 0, func
23
23
  const { getFiles, reset, create, createIfNotExists, } = (0, utils_1.createFilesToWriteUtils)();
24
24
  const fileCreator = { create, createIfNotExists };
25
25
  const args = (0, args_1.prepareProjectWideGenerationArgs)(system, opts);
26
- if (opts.genFrontend) {
27
- (0, cleanFiles_1.default)(args);
28
- }
26
+ (0, cleanFiles_1.default)(args);
29
27
  // Pre grapgql types compose generation
30
28
  (0, generateBack_1.default)(fileCreator, Object.assign(Object.assign({}, args), { options: Object.assign(Object.assign({}, args.options), { typesOnly: true }) }));
31
29
  (0, utils_1.writeFiles)(getFiles());
@@ -41,4 +39,4 @@ const generateProject = (system, opts) => __awaiter(void 0, void 0, void 0, func
41
39
  reset();
42
40
  });
43
41
  exports.default = generateProject;
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVQcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0ZVByb2plY3QvZ2VuZXJhdGVQcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsK0RBQXlEO0FBQ3pELHVGQUFpRjtBQUVqRixtQ0FBMkQ7QUFFM0Qsa0NBQXdEO0FBQ3hELDRFQUFtRDtBQUNuRCwwRUFBaUQ7QUFDakQsdUVBQThDO0FBRTlDLE1BQU0sZUFBZSxHQUFHLENBQ3RCLE1BQWMsRUFDZCxJQUE0QixFQUM1QixFQUFFO0lBQ0YsTUFBTSxFQUNKLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixHQUFHLElBQUEsK0JBQXVCLEdBQUUsQ0FBQztJQUU5QixNQUFNLFdBQVcsR0FBZ0IsRUFBQyxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQztJQUU3RCxNQUFNLElBQUksR0FBRyxJQUFBLHVDQUFnQyxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUU1RCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDcEIsSUFBQSxvQkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xCO0lBRUQsdUNBQXVDO0lBQ3ZDLElBQUEsc0JBQVksRUFBQyxXQUFXLGtDQUFNLElBQUksS0FBRSxPQUFPLGtDQUFNLElBQUksQ0FBQyxPQUFPLEtBQUUsU0FBUyxFQUFFLElBQUksT0FBRyxDQUFDO0lBRWxGLElBQUEsa0JBQVUsRUFBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLEtBQUssRUFBRSxDQUFDO0lBRVIsTUFBTSxJQUFBLGlFQUErQixrQ0FDaEMsSUFBSSxLQUNQLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZSxJQUN2QyxDQUFDO0lBRUgsa0JBQWtCO0lBQ2xCLElBQUEsc0JBQVksRUFBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFaEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ3BCLElBQUEsdUJBQWEsRUFBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDbEM7SUFFRCxJQUFBLHlDQUFtQixFQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUV2QyxJQUFBLGtCQUFVLEVBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN2QixLQUFLLEVBQUUsQ0FBQztBQUNWLENBQUMsQ0FBQSxDQUFBO0FBRUQsa0JBQWUsZUFBZSxDQUFDIn0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVQcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0ZVByb2plY3QvZ2VuZXJhdGVQcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsK0RBQXlEO0FBQ3pELHVGQUFpRjtBQUVqRixtQ0FBMkQ7QUFFM0Qsa0NBQXdEO0FBQ3hELDRFQUFtRDtBQUNuRCwwRUFBaUQ7QUFDakQsdUVBQThDO0FBRTlDLE1BQU0sZUFBZSxHQUFHLENBQ3RCLE1BQWMsRUFDZCxJQUE0QixFQUM1QixFQUFFO0lBQ0YsTUFBTSxFQUNKLFFBQVEsRUFDUixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixHQUFHLElBQUEsK0JBQXVCLEdBQUUsQ0FBQztJQUU5QixNQUFNLFdBQVcsR0FBZ0IsRUFBQyxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQztJQUU3RCxNQUFNLElBQUksR0FBRyxJQUFBLHVDQUFnQyxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUU1RCxJQUFBLG9CQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFakIsdUNBQXVDO0lBQ3ZDLElBQUEsc0JBQVksRUFBQyxXQUFXLGtDQUFNLElBQUksS0FBRSxPQUFPLGtDQUFNLElBQUksQ0FBQyxPQUFPLEtBQUUsU0FBUyxFQUFFLElBQUksT0FBRyxDQUFDO0lBRWxGLElBQUEsa0JBQVUsRUFBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLEtBQUssRUFBRSxDQUFDO0lBRVIsTUFBTSxJQUFBLGlFQUErQixrQ0FDaEMsSUFBSSxLQUNQLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZSxJQUN2QyxDQUFDO0lBRUgsa0JBQWtCO0lBQ2xCLElBQUEsc0JBQVksRUFBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFaEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ3BCLElBQUEsdUJBQWEsRUFBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDbEM7SUFFRCxJQUFBLHlDQUFtQixFQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUV2QyxJQUFBLGtCQUFVLEVBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN2QixLQUFLLEVBQUUsQ0FBQztBQUNWLENBQUMsQ0FBQSxDQUFBO0FBRUQsa0JBQWUsZUFBZSxDQUFDIn0=
@@ -2,13 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.backPermissionToGraphqlTmpl = void 0;
4
4
  const utils_1 = require("../../../../utils");
5
- const backPermissionToGraphqlTmpl = ({ entities }) => `import * as R from 'ramda';
5
+ const backPermissionToGraphqlTmpl = ({ entities, options }) => {
6
+ // 'runtime_meta': per-entity permissionsToGraphql.ts files no longer exist
7
+ // (generateBackEntityGraph skips them) — entity permissions are merged in
8
+ // separately at runtime instead (buildRuntimeMetaPermissions).
9
+ const includesEntityPermissions = options.graphSchemaMode !== 'runtime_meta';
10
+ return `import * as R from 'ramda';
6
11
  import {additionalServicesPermissionToGraphql} from './additionalServicesPermissionToGraphql';
7
12
  import {MutationResolvers, QueryResolvers} from '../../generated/graphql';
8
13
  import {Services} from '../services/types';
9
14
  import helpPermissionToGraphql from './services/help/permissionsToGraphql';
10
- ${entities.map((m) => `import ${m.name}PermissionToGraphql from './services/${m.name}/permissionsToGraphql';`).join(`
11
- `)}
15
+ ${includesEntityPermissions
16
+ ? entities.map((m) => `import ${m.name}PermissionToGraphql from './services/${m.name}/permissionsToGraphql';`).join(`
17
+ `)
18
+ : ''}
12
19
 
13
20
  type queryKeys = keyof QueryResolvers;
14
21
  type mutationKeys = keyof MutationResolvers;
@@ -21,9 +28,11 @@ export type PermissionToGraphql <T = any> = Record<
21
28
  export const permissionsToGraphql: Partial<Record<keyof Services, Partial<PermissionToGraphql>>> = {
22
29
  ...additionalServicesPermissionToGraphql,
23
30
  help: helpPermissionToGraphql,
24
- ${entities.map((m) => `${m.name}: ${m.name}PermissionToGraphql`).map(utils_1.addComma)
25
- .join(`
26
- `)}
31
+ ${includesEntityPermissions
32
+ ? entities.map((m) => `${m.name}: ${m.name}PermissionToGraphql`).map(utils_1.addComma)
33
+ .join(`
34
+ `)
35
+ : ''}
27
36
  };
28
37
 
29
38
  const flattenPermissionToGraphql: Map<string, string> = new Map([])
@@ -48,5 +57,6 @@ export function permissionToGraphql (permission: string):string | undefined {ret
48
57
 
49
58
  export function graphqlToPermission (graphql: string):string | undefined {return flattenGraphqlToPermission.get(graphql)}
50
59
  `;
60
+ };
51
61
  exports.backPermissionToGraphqlTmpl = backPermissionToGraphqlTmpl;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnNUb0dyYXBocWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL2dyYXBoL3Blcm1pc3Npb25zVG9HcmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUEwQztBQUduQyxNQUFNLDJCQUEyQixHQUFHLENBQ3pDLEVBQUMsUUFBUSxFQUE0QixFQUNyQyxFQUFFLENBQUM7Ozs7O0VBS0gsUUFBUSxDQUFDLEdBQUcsQ0FDWixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osVUFBVSxDQUFDLENBQUMsSUFBSSx3Q0FBd0MsQ0FBQyxDQUFDLElBQUkseUJBQXlCLENBQzFGLENBQUMsSUFBSSxDQUFDO0NBQ04sQ0FBQzs7Ozs7Ozs7Ozs7OztJQWFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBUSxDQUFDO0tBQzNFLElBQUksQ0FBQztHQUNQLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdCSCxDQUFBO0FBbERZLFFBQUEsMkJBQTJCLCtCQWtEdkMifQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnNUb0dyYXBocWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL2dyYXBoL3Blcm1pc3Npb25zVG9HcmFwaHFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUEwQztBQUduQyxNQUFNLDJCQUEyQixHQUFHLENBQ3pDLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBNEIsRUFDOUMsRUFBRTtJQUNGLDJFQUEyRTtJQUMzRSwwRUFBMEU7SUFDMUUsK0RBQStEO0lBQy9ELE1BQU0seUJBQXlCLEdBQUcsT0FBTyxDQUFDLGVBQWUsS0FBSyxjQUFjLENBQUE7SUFFNUUsT0FBTzs7Ozs7RUFLUCx5QkFBeUI7UUFDdkIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ1osQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNKLFVBQVUsQ0FBQyxDQUFDLElBQUksd0NBQXdDLENBQUMsQ0FBQyxJQUFJLHlCQUF5QixDQUMxRixDQUFDLElBQUksQ0FBQztDQUNWLENBQUM7UUFDRSxDQUFDLENBQUMsRUFBRTs7Ozs7Ozs7Ozs7OztJQWFKLHlCQUF5QjtRQUN6QixDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxJQUFJLHFCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFRLENBQUM7YUFDM0UsSUFBSSxDQUFDO0dBQ1QsQ0FBQztRQUNBLENBQUMsQ0FBQyxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0F3QlAsQ0FBQTtBQUNELENBQUMsQ0FBQTtBQTdEWSxRQUFBLDJCQUEyQiwrQkE2RHZDIn0=
@@ -4,7 +4,7 @@ exports.uiDataProviderTmpl = void 0;
4
4
  const cases_1 = require("../../../../../../../utils/cases");
5
5
  const types_1 = require("../../../../../../types");
6
6
  const metaUtils_1 = require("../../../../../../metaUtils");
7
- const uiDataProviderTmpl = (entities, _options = types_1.defaultBootstrapEntityOptions) => `import buildGraphQLProvider, {buildQuery as buildQueryFactory} from 'ra-data-graphql-simple';
7
+ const uiDataProviderTmpl = (entities, options = types_1.defaultBootstrapEntityOptions) => `import buildGraphQLProvider, {buildQuery as buildQueryFactory} from 'ra-data-graphql-simple';
8
8
  import {IntrospectionResult} from 'ra-data-graphql';
9
9
  import {DELETE} from 'ra-core';
10
10
  import gql from 'graphql-tag';
@@ -18,7 +18,7 @@ import {DataProvider} from './types';
18
18
  let schema: any = undefined;
19
19
 
20
20
  if (import.meta.env.DEV) {
21
- const sch = await import('../generated/graphql.schema.json');
21
+ const sch = await import('${options.uiGraphqlSchemaImport || types_1.defaultBootstrapEntityOptions.uiGraphqlSchemaImport}');
22
22
  schema = sch.default.__schema;
23
23
  }
24
24
 
@@ -94,4 +94,4 @@ export default async (client: ApolloClient<unknown>): Promise<DataProvider> => {
94
94
  };
95
95
  `;
96
96
  exports.uiDataProviderTmpl = uiDataProviderTmpl;
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy91aS9lbnZpcm9ubWVudC9zcmMvZGF0YVByb3ZpZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDREQUFzRDtBQUN0RCxtREFHZ0M7QUFFaEMsMkRBQXVEO0FBRWhELE1BQU0sa0JBQWtCLEdBQUcsQ0FDaEMsUUFBa0IsRUFDbEIsV0FBbUMscUNBQTZCLEVBQ2hFLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQTRCRCxRQUFRO0tBQ1AsTUFBTSxDQUNMLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFBLHVCQUFXLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFBLHVCQUFXLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FDekU7S0FDQSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBQSxhQUFLLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUM7R0FDekMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBeURILENBQUE7QUE3RlksUUFBQSxrQkFBa0Isc0JBNkY5QiJ9
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy91aS9lbnZpcm9ubWVudC9zcmMvZGF0YVByb3ZpZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDREQUFzRDtBQUN0RCxtREFHZ0M7QUFFaEMsMkRBQXVEO0FBRWhELE1BQU0sa0JBQWtCLEdBQUcsQ0FDaEMsUUFBa0IsRUFDbEIsVUFBa0MscUNBQTZCLEVBQy9ELEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OEJBY3lCLE9BQU8sQ0FBQyxxQkFBcUIsSUFBSSxxQ0FBNkIsQ0FBQyxxQkFBcUI7Ozs7Ozs7Ozs7Ozs7O0lBYzlHLFFBQVE7S0FDUCxNQUFNLENBQ0wsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEsdUJBQVcsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUEsdUJBQVcsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUN6RTtLQUNBLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFBLGFBQUssRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztHQUN6QyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0F5REgsQ0FBQTtBQTdGWSxRQUFBLGtCQUFrQixzQkE2RjlCIn0=
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.genGraphCrudPermissions = void 0;
4
+ const cases_1 = require("../../../utils/cases");
5
+ // Mechanical in-memory transcription of backBasePermissionToGraphqlTmpl
6
+ // (generators/fileTemplates/back/graph/entityBasePermissionToGraphql.ts) —
7
+ // kept in sync by graphSchemaModeParity.spec.ts. Deliberately has no rePost
8
+ // entry: the file-mode equivalent (permissionsToGraphql.ts) never gains one
9
+ // either — backEntityPermissionToGraphqlTmpl only ever spreads the base map.
10
+ const genGraphCrudPermissions = (entity) => ({
11
+ meta: `_all${(0, cases_1.pascalPlural)(entity.name)}Meta`,
12
+ get: (0, cases_1.pascalSingular)(entity.name),
13
+ all: `all${(0, cases_1.pascalPlural)(entity.name)}`,
14
+ create: `create${(0, cases_1.pascalSingular)(entity.name)}`,
15
+ update: `update${(0, cases_1.pascalSingular)(entity.name)}`,
16
+ delete: `remove${(0, cases_1.pascalSingular)(entity.name)}`,
17
+ });
18
+ exports.genGraphCrudPermissions = genGraphCrudPermissions;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuR3JhcGhDcnVkUGVybWlzc2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZ3JhcGgvZ2VuR3JhcGhDcnVkUGVybWlzc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0RBQWlFO0FBWWpFLHdFQUF3RTtBQUN4RSwyRUFBMkU7QUFDM0UsNEVBQTRFO0FBQzVFLDRFQUE0RTtBQUM1RSw2RUFBNkU7QUFDdEUsTUFBTSx1QkFBdUIsR0FBRyxDQUNyQyxNQUFjLEVBQ2dCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLElBQUksRUFBRSxPQUFPLElBQUEsb0JBQVksRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU07SUFDNUMsR0FBRyxFQUFFLElBQUEsc0JBQWMsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hDLEdBQUcsRUFBRSxNQUFNLElBQUEsb0JBQVksRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7SUFDdEMsTUFBTSxFQUFFLFNBQVMsSUFBQSxzQkFBYyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtJQUM5QyxNQUFNLEVBQUUsU0FBUyxJQUFBLHNCQUFjLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO0lBQzlDLE1BQU0sRUFBRSxTQUFTLElBQUEsc0JBQWMsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7Q0FDL0MsQ0FBQyxDQUFBO0FBVFcsUUFBQSx1QkFBdUIsMkJBU2xDIn0=
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.genGraphCrudResolvers = void 0;
4
+ const cases_1 = require("../../../utils/cases");
5
+ // Mechanical in-memory transcription of backBaseResolversTmpl
6
+ // (generators/fileTemplates/back/graph/resolvers.ts) — kept in sync by
7
+ // graphSchemaModeParity.spec.ts.
8
+ const genGraphCrudResolvers = (entity) => {
9
+ const serviceName = (0, cases_1.camelPlural)(entity.name);
10
+ const resolvers = {
11
+ Query: {
12
+ [(0, cases_1.pascalSingular)(entity.name)]: (_, { id }, { context }) => context.service(serviceName).get(id, true),
13
+ [`all${(0, cases_1.pascalPlural)(entity.name)}`]: (_, params, { context }) => context.service(serviceName).all(params, true),
14
+ [`_all${(0, cases_1.pascalPlural)(entity.name)}Meta`]: (_, params, { context }) => context.service(serviceName).meta(params, true),
15
+ },
16
+ Mutation: {
17
+ [`create${(0, cases_1.pascalSingular)(entity.name)}`]: (_, params, { context }) => context.service(serviceName).create(params, true),
18
+ [`update${(0, cases_1.pascalSingular)(entity.name)}`]: (_, params, { context }) => context.service(serviceName).update(params, true),
19
+ [`remove${(0, cases_1.pascalSingular)(entity.name)}`]: (_, params, { context }) => context.service(serviceName).delete(params, true),
20
+ },
21
+ };
22
+ if (entity.type === 'document') {
23
+ resolvers.Mutation[`rePost${(0, cases_1.pascalSingular)(entity.name)}`] = (_, params, { context }) => { var _a, _b; return (_b = (_a = context.service(serviceName)).rePost) === null || _b === void 0 ? void 0 : _b.call(_a, params.id, true); };
24
+ }
25
+ return resolvers;
26
+ };
27
+ exports.genGraphCrudResolvers = genGraphCrudResolvers;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuR3JhcGhDcnVkUmVzb2x2ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb2plY3RzR2VuZXJhdGlvbi9nZW5lcmF0b3JzL2dyYXBoL2dlbkdyYXBoQ3J1ZFJlc29sdmVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBOEU7QUFJOUUsOERBQThEO0FBQzlELHVFQUF1RTtBQUN2RSxpQ0FBaUM7QUFDMUIsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE1BQWMsRUFBeUIsRUFBRTtJQUM3RSxNQUFNLFdBQVcsR0FBRyxJQUFBLG1CQUFXLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRTVDLE1BQU0sU0FBUyxHQUEwQjtRQUN2QyxLQUFLLEVBQUU7WUFDTCxDQUFDLElBQUEsc0JBQWMsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUNwRCxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDO1lBQzVDLENBQUMsTUFBTSxJQUFBLG9CQUFZLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFLENBQzVELE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDaEQsQ0FBQyxPQUFPLElBQUEsb0JBQVksRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FDakUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQztTQUNsRDtRQUNELFFBQVEsRUFBRTtZQUNSLENBQUMsU0FBUyxJQUFBLHNCQUFjLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFLENBQ2pFLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDbkQsQ0FBQyxTQUFTLElBQUEsc0JBQWMsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FDakUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQztZQUNuRCxDQUFDLFNBQVMsSUFBQSxzQkFBYyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUNqRSxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1NBQ3BEO0tBQ0YsQ0FBQTtJQUVELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7UUFDOUIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUEsc0JBQWMsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQzNELENBQUMsRUFDRCxNQUFNLEVBQ04sRUFBQyxPQUFPLEVBQUMsRUFDVCxFQUFFLGVBQUMsT0FBQSxNQUFBLE1BQUEsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBQyxNQUFNLG1EQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUEsRUFBQSxDQUFBO0tBQzVEO0lBRUQsT0FBTyxTQUFTLENBQUE7QUFDbEIsQ0FBQyxDQUFBO0FBL0JZLFFBQUEscUJBQXFCLHlCQStCakMifQ==
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZUdyYXBoVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZ3JhcGgvcnVudGltZUdyYXBoVHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.generateProject = exports.getProjectSpec = void 0;
20
+ exports.genGraphCrudPermissions = exports.genGraphCrudResolvers = exports.genGraphCrudSchema = exports.generateProject = exports.getProjectSpec = void 0;
21
21
  __exportStar(require("./commonEntities"), exports);
22
22
  __exportStar(require("./types"), exports);
23
23
  __exportStar(require("./defaultCatalogs"), exports);
@@ -29,4 +29,13 @@ var getProjectSpec_1 = require("./generators/fileTemplates/back/environment/docs
29
29
  Object.defineProperty(exports, "getProjectSpec", { enumerable: true, get: function () { return __importDefault(getProjectSpec_1).default; } });
30
30
  var generateProject_1 = require("./generateProject/generateProject");
31
31
  Object.defineProperty(exports, "generateProject", { enumerable: true, get: function () { return __importDefault(generateProject_1).default; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWdDO0FBQ2hDLDBDQUF1QjtBQUN2QixvREFBaUM7QUFDakMsNENBQXlCO0FBQ3pCLDZDQUEwQjtBQUMxQiw2Q0FBMEI7QUFDMUIsd0RBQXFDO0FBQ3JDLHVHQUE4RztBQUF0RyxpSUFBQSxPQUFPLE9BQWtCO0FBQ2pDLHFFQUE0RTtBQUFwRSxtSUFBQSxPQUFPLE9BQW1CIn0=
32
+ // Runtime graph schema mode (graphSchemaMode: 'runtime_meta') — pure functions
33
+ // a consuming project's own server process can call directly, instead of the
34
+ // 'files' mode printing their output to per-entity disk files at regen time.
35
+ var genGraphCrudSchema_1 = require("./generators/graph/genGraphCrudSchema");
36
+ Object.defineProperty(exports, "genGraphCrudSchema", { enumerable: true, get: function () { return genGraphCrudSchema_1.genGraphCrudSchema; } });
37
+ var genGraphCrudResolvers_1 = require("./generators/graph/genGraphCrudResolvers");
38
+ Object.defineProperty(exports, "genGraphCrudResolvers", { enumerable: true, get: function () { return genGraphCrudResolvers_1.genGraphCrudResolvers; } });
39
+ var genGraphCrudPermissions_1 = require("./generators/graph/genGraphCrudPermissions");
40
+ Object.defineProperty(exports, "genGraphCrudPermissions", { enumerable: true, get: function () { return genGraphCrudPermissions_1.genGraphCrudPermissions; } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWdDO0FBQ2hDLDBDQUF1QjtBQUN2QixvREFBaUM7QUFDakMsNENBQXlCO0FBQ3pCLDZDQUEwQjtBQUMxQiw2Q0FBMEI7QUFDMUIsd0RBQXFDO0FBQ3JDLHVHQUE4RztBQUF0RyxpSUFBQSxPQUFPLE9BQWtCO0FBQ2pDLHFFQUE0RTtBQUFwRSxtSUFBQSxPQUFPLE9BQW1CO0FBRWxDLCtFQUErRTtBQUMvRSw2RUFBNkU7QUFDN0UsNkVBQTZFO0FBQzdFLDRFQUF3RTtBQUFoRSx3SEFBQSxrQkFBa0IsT0FBQTtBQUMxQixrRkFBOEU7QUFBdEUsOEhBQUEscUJBQXFCLE9BQUE7QUFDN0Isc0ZBR21EO0FBRmpELGtJQUFBLHVCQUF1QixPQUFBIn0=
@@ -31,6 +31,10 @@ exports.defaultBootstrapEntityOptions = {
31
31
  genPrismaServices: true,
32
32
  genGraphSchema: true,
33
33
  genGraphResolvers: true,
34
+ // 'files' (default): today's behavior — per-entity typeDefs/resolvers/permissions
35
+ // files on disk, unchanged. 'runtime_meta': base CRUD graph layer is built in
36
+ // memory from entity meta at server start instead, no per-entity files for it.
37
+ graphSchemaMode: 'files',
34
38
  genUiResources: true,
35
39
  skipWarningThisIsGenerated: false,
36
40
  genPrismaSchema: true,
@@ -113,6 +117,10 @@ exports.defaultBootstrapEntityOptions = {
113
117
  layoutMode: 'detached',
114
118
  sharedSchemaPath: '',
115
119
  copySchemaToUi: true,
120
+ /** Copy back src/generated/graphql.ts to ui. Unset → follows copySchemaToUi. */
121
+ copyGraphqlTsToUi: undefined,
122
+ /** Module specifier of the introspection schema in the generated ui src/dataProvider/index.ts. */
123
+ uiGraphqlSchemaImport: '../generated/graphql.schema.json',
116
124
  prismaModuleFormatCjs: false,
117
125
  };
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsR0FBRyxFQUFFLElBQUk7Q0FDVixDQUFBO0FBRUQsTUFBTSx1QkFBdUIsR0FBRztJQUM5QixHQUFHLEVBQUUsSUFBSTtJQUNULFVBQVUsRUFBRSxLQUFLO0NBQ2xCLENBQUE7QUFFRCxNQUFNLHlCQUF5QixHQUFHO0lBQ2hDLEdBQUcsRUFBRSxJQUFJO0lBQ1QsVUFBVSxFQUFFLEtBQUs7Q0FDbEIsQ0FBQTtBQUVELE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsR0FBRyxFQUFFLElBQUk7Q0FDVixDQUFBO0FBRUQsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixJQUFJLEVBQUUsdUJBQXVCO0lBQzdCLElBQUksRUFBRSx1QkFBdUI7SUFDN0IsSUFBSSxFQUFFLHVCQUF1QjtJQUM3QixNQUFNLEVBQUUseUJBQXlCO0lBQ2pDLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRCxhQUFhLEVBQUU7UUFDYixJQUFJLEVBQUUsSUFBSTtLQUNYO0NBQ0YsQ0FBQTtBQUVZLFFBQUEsNkJBQTZCLEdBQUc7SUFDM0MsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixjQUFjLEVBQUUsSUFBSTtJQUNwQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLDBCQUEwQixFQUFFLEtBQUs7SUFDakMsZUFBZSxFQUFFLElBQUk7SUFDckIsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLEtBQUs7SUFFaEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsZUFBZSxFQUFFLElBQUk7SUFFckIsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixlQUFlLEVBQUUsSUFBSTtJQUNyQixXQUFXLEVBQUUsSUFBSTtJQUVqQixrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsYUFBYSxFQUFFLElBQUk7SUFDbkIsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixXQUFXLEVBQUUsSUFBSTtJQUNqQixRQUFRLEVBQUUsSUFBSTtJQUVkLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGNBQWMsRUFBRSxJQUFJO0lBRXBCLFlBQVksRUFBRSxJQUFJO0lBRWxCLFFBQVEsRUFBRSxLQUFLO0lBRWYsS0FBSyxFQUFFLG1CQUFtQjtJQUUxQixhQUFhLEVBQUUsRUFBRTtJQUNqQixhQUFhLEVBQUUsRUFBRTtJQUNqQixNQUFNLEVBQUUsRUFBRTtJQUNWLFdBQVcsRUFBRSxFQUFFO0lBRWYsWUFBWSxFQUFFLEVBQUU7SUFDaEIsa0JBQWtCLEVBQUUsRUFBRTtJQUN0QixhQUFhLEVBQUUsc0JBQXNCO0lBQ3JDLGtCQUFrQixFQUFFLEVBQUU7SUFDdEIsbUJBQW1CLEVBQUUsaUJBQWlCO0lBQ3RDLGdCQUFnQixFQUFFLGtDQUFrQztJQUNwRCxTQUFTLEVBQUUsS0FBSztJQUNoQixlQUFlLEVBQUUsS0FBSztJQUV0QixPQUFPO0lBRVAsS0FBSztJQUNMLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLGFBQWEsRUFBRSxJQUFJO0lBRW5CLFdBQVc7SUFDWCxlQUFlLEVBQUUsSUFBSTtJQUNyQixhQUFhLEVBQUUsSUFBSTtJQUVuQixhQUFhO0lBQ2Isb0JBQW9CLEVBQUUsbUJBQW1CO0lBQ3pDLHNCQUFzQixFQUFFLHNEQUFzRDtJQUU5RSxRQUFRO0lBQ1Isa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixlQUFlLEVBQUUsSUFBSTtJQUNyQix5QkFBeUIsRUFBRSxLQUFLO0lBQ2hDLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIsaUJBQWlCLEVBQUUsS0FBSztJQUV4QixjQUFjO0lBQ2QsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixTQUFTLEVBQUUsSUFBSTtJQUVmLFFBQVE7SUFDUixZQUFZLEVBQUUsSUFBSTtJQUVsQixVQUFVO0lBQ1YsZ0JBQWdCLEVBQUUsS0FBSztJQUV2QixhQUFhLEVBQUUsSUFBSTtJQUNuQixvQkFBb0IsRUFBRSxJQUFJO0lBQzFCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsVUFBVSxFQUFFLEtBQUs7SUFFakIsb0JBQW9CO0lBQ3BCLG1CQUFtQixFQUFFLElBQUk7SUFDekIsbUJBQW1CLEVBQUUsSUFBSTtJQUN6QixjQUFjLEVBQUUsSUFBSTtJQUVwQixXQUFXLEVBQUUsSUFBSTtJQUVqQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLG1CQUFtQixFQUFFLEtBQUs7SUFFMUIseUNBQXlDO0lBQ3pDLHFCQUFxQixFQUFFLEVBQUU7SUFFekIsbUJBQW1CLEVBQUUsRUFBRTtJQUN2QixpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLHFCQUFxQixFQUFFLEVBQUU7SUFFekIsd0VBQXdFO0lBQ3hFLE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLEVBQUU7SUFDWixVQUFVLEVBQUUsVUFBcUM7SUFDakQsZ0JBQWdCLEVBQUUsRUFBRTtJQUNwQixjQUFjLEVBQUUsSUFBSTtJQUNwQixxQkFBcUIsRUFBRSxLQUFLO0NBQzdCLENBQUEifQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsR0FBRyxFQUFFLElBQUk7Q0FDVixDQUFBO0FBRUQsTUFBTSx1QkFBdUIsR0FBRztJQUM5QixHQUFHLEVBQUUsSUFBSTtJQUNULFVBQVUsRUFBRSxLQUFLO0NBQ2xCLENBQUE7QUFFRCxNQUFNLHlCQUF5QixHQUFHO0lBQ2hDLEdBQUcsRUFBRSxJQUFJO0lBQ1QsVUFBVSxFQUFFLEtBQUs7Q0FDbEIsQ0FBQTtBQUVELE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsR0FBRyxFQUFFLElBQUk7Q0FDVixDQUFBO0FBRUQsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixJQUFJLEVBQUUsdUJBQXVCO0lBQzdCLElBQUksRUFBRSx1QkFBdUI7SUFDN0IsSUFBSSxFQUFFLHVCQUF1QjtJQUM3QixNQUFNLEVBQUUseUJBQXlCO0lBQ2pDLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxJQUFJO0tBQ1g7SUFDRCxhQUFhLEVBQUU7UUFDYixJQUFJLEVBQUUsSUFBSTtLQUNYO0NBQ0YsQ0FBQTtBQUVZLFFBQUEsNkJBQTZCLEdBQUc7SUFDM0MsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixjQUFjLEVBQUUsSUFBSTtJQUNwQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLGtGQUFrRjtJQUNsRiw4RUFBOEU7SUFDOUUsK0VBQStFO0lBQy9FLGVBQWUsRUFBRSxPQUFtQztJQUNwRCxjQUFjLEVBQUUsSUFBSTtJQUNwQiwwQkFBMEIsRUFBRSxLQUFLO0lBQ2pDLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFNBQVMsRUFBRSxLQUFLO0lBRWhCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGVBQWUsRUFBRSxJQUFJO0lBRXJCLGdCQUFnQixFQUFF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
@@ -0,0 +1,3 @@
1
+ import { ProjectWideGenerationArgs } from '../../../args';
2
+ declare const _default: (entityWideGenerationArgs: ProjectWideGenerationArgs) => void;
3
+ export default _default;
@@ -3,6 +3,7 @@ import { GenerationPathsConfig } from '../builders/generationPaths';
3
3
  type GraphSchemesOptions = BootstrapEntityOptions & {
4
4
  sharedSchemaPath?: string;
5
5
  copySchemaToUi?: boolean;
6
+ copyGraphqlTsToUi?: boolean;
6
7
  generationPaths?: GenerationPathsConfig;
7
8
  detachedSharedProject?: string;
8
9
  };
@@ -3,6 +3,7 @@ export declare const genClickHouseJobsDataTmpl: (entities: Entity[], _options?:
3
3
  genPrismaServices: boolean;
4
4
  genGraphSchema: boolean;
5
5
  genGraphResolvers: boolean;
6
+ graphSchemaMode: "files" | "runtime_meta";
6
7
  genUiResources: boolean;
7
8
  skipWarningThisIsGenerated: boolean;
8
9
  genPrismaSchema: boolean;
@@ -95,12 +96,15 @@ export declare const genClickHouseJobsDataTmpl: (entities: Entity[], _options?:
95
96
  layoutMode: "detached" | "monorepo";
96
97
  sharedSchemaPath: string;
97
98
  copySchemaToUi: boolean;
99
+ copyGraphqlTsToUi: boolean | undefined;
100
+ uiGraphqlSchemaImport: string;
98
101
  prismaModuleFormatCjs: boolean;
99
102
  }) => string;
100
103
  export declare const genClickHouseJobsTmpl: (entities: Entity[], options?: {
101
104
  genPrismaServices: boolean;
102
105
  genGraphSchema: boolean;
103
106
  genGraphResolvers: boolean;
107
+ graphSchemaMode: "files" | "runtime_meta";
104
108
  genUiResources: boolean;
105
109
  skipWarningThisIsGenerated: boolean;
106
110
  genPrismaSchema: boolean;
@@ -193,5 +197,7 @@ export declare const genClickHouseJobsTmpl: (entities: Entity[], options?: {
193
197
  layoutMode: "detached" | "monorepo";
194
198
  sharedSchemaPath: string;
195
199
  copySchemaToUi: boolean;
200
+ copyGraphqlTsToUi: boolean | undefined;
201
+ uiGraphqlSchemaImport: string;
196
202
  prismaModuleFormatCjs: boolean;
197
203
  }) => string;
@@ -3,6 +3,7 @@ export declare const genJobsDataTmpl: (entities: Entity[], _options?: {
3
3
  genPrismaServices: boolean;
4
4
  genGraphSchema: boolean;
5
5
  genGraphResolvers: boolean;
6
+ graphSchemaMode: "files" | "runtime_meta";
6
7
  genUiResources: boolean;
7
8
  skipWarningThisIsGenerated: boolean;
8
9
  genPrismaSchema: boolean;
@@ -95,12 +96,15 @@ export declare const genJobsDataTmpl: (entities: Entity[], _options?: {
95
96
  layoutMode: "detached" | "monorepo";
96
97
  sharedSchemaPath: string;
97
98
  copySchemaToUi: boolean;
99
+ copyGraphqlTsToUi: boolean | undefined;
100
+ uiGraphqlSchemaImport: string;
98
101
  prismaModuleFormatCjs: boolean;
99
102
  }) => string;
100
103
  export declare const genJobsTmpl: (entities: Entity[], options?: {
101
104
  genPrismaServices: boolean;
102
105
  genGraphSchema: boolean;
103
106
  genGraphResolvers: boolean;
107
+ graphSchemaMode: "files" | "runtime_meta";
104
108
  genUiResources: boolean;
105
109
  skipWarningThisIsGenerated: boolean;
106
110
  genPrismaSchema: boolean;
@@ -193,5 +197,7 @@ export declare const genJobsTmpl: (entities: Entity[], options?: {
193
197
  layoutMode: "detached" | "monorepo";
194
198
  sharedSchemaPath: string;
195
199
  copySchemaToUi: boolean;
200
+ copyGraphqlTsToUi: boolean | undefined;
201
+ uiGraphqlSchemaImport: string;
196
202
  prismaModuleFormatCjs: boolean;
197
203
  }) => string;
@@ -1,2 +1,2 @@
1
1
  import { ProjectWideGenerationArgs } from '../../../../args';
2
- export declare const backPermissionToGraphqlTmpl: ({ entities }: ProjectWideGenerationArgs) => string;
2
+ export declare const backPermissionToGraphqlTmpl: ({ entities, options }: ProjectWideGenerationArgs) => string;
@@ -1,3 +1,3 @@
1
1
  import { BootstrapEntityOptions } from '../../../../../../types';
2
2
  import { Entity } from '../../../../../../builders/buildedTypes';
3
- export declare const uiDataProviderTmpl: (entities: Entity[], _options?: BootstrapEntityOptions) => string;
3
+ export declare const uiDataProviderTmpl: (entities: Entity[], options?: BootstrapEntityOptions) => string;
@@ -0,0 +1,10 @@
1
+ import { Entity } from '../../builders/buildedTypes';
2
+ export interface GraphCrudPermissionToGraphql {
3
+ meta: string;
4
+ get: string;
5
+ all: string;
6
+ create: string;
7
+ update: string;
8
+ delete: string;
9
+ }
10
+ export declare const genGraphCrudPermissions: (entity: Entity) => GraphCrudPermissionToGraphql;
@@ -0,0 +1,3 @@
1
+ import { Entity } from '../../builders/buildedTypes';
2
+ import { RuntimeGraphResolvers } from './runtimeGraphTypes';
3
+ export declare const genGraphCrudResolvers: (entity: Entity) => RuntimeGraphResolvers;
@@ -0,0 +1,21 @@
1
+ export interface RuntimeCrudService {
2
+ get: (id: unknown, checkPermission: boolean) => unknown;
3
+ all: (params: unknown, checkPermission: boolean) => unknown;
4
+ meta: (params: unknown, checkPermission: boolean) => unknown;
5
+ create: (params: unknown, checkPermission: boolean) => unknown;
6
+ update: (params: unknown, checkPermission: boolean) => unknown;
7
+ delete: (params: unknown, checkPermission: boolean) => unknown;
8
+ rePost?: (id: unknown, checkPermission: boolean) => unknown;
9
+ }
10
+ export interface RuntimeGraphContext {
11
+ service: (name: string) => RuntimeCrudService;
12
+ }
13
+ export type RuntimeGraphResolverFn = (parent: unknown, params: {
14
+ id?: unknown;
15
+ }, context: {
16
+ context: RuntimeGraphContext;
17
+ }) => unknown;
18
+ export interface RuntimeGraphResolvers {
19
+ Query: Record<string, RuntimeGraphResolverFn>;
20
+ Mutation: Record<string, RuntimeGraphResolverFn>;
21
+ }
@@ -7,3 +7,7 @@ export * from './builders';
7
7
  export * from './resolveProjectPaths';
8
8
  export { default as getProjectSpec } from './generators/fileTemplates/back/environment/docs/spec/getProjectSpec';
9
9
  export { default as generateProject } from './generateProject/generateProject';
10
+ export { genGraphCrudSchema } from './generators/graph/genGraphCrudSchema';
11
+ export { genGraphCrudResolvers } from './generators/graph/genGraphCrudResolvers';
12
+ export { genGraphCrudPermissions, type GraphCrudPermissionToGraphql, } from './generators/graph/genGraphCrudPermissions';
13
+ export type { RuntimeCrudService, RuntimeGraphContext, RuntimeGraphResolverFn, RuntimeGraphResolvers, } from './generators/graph/runtimeGraphTypes';
@@ -6,6 +6,7 @@ export declare const defaultBootstrapEntityOptions: {
6
6
  genPrismaServices: boolean;
7
7
  genGraphSchema: boolean;
8
8
  genGraphResolvers: boolean;
9
+ graphSchemaMode: "files" | "runtime_meta";
9
10
  genUiResources: boolean;
10
11
  skipWarningThisIsGenerated: boolean;
11
12
  genPrismaSchema: boolean;
@@ -98,6 +99,10 @@ export declare const defaultBootstrapEntityOptions: {
98
99
  layoutMode: "detached" | "monorepo";
99
100
  sharedSchemaPath: string;
100
101
  copySchemaToUi: boolean;
102
+ /** Copy back src/generated/graphql.ts to ui. Unset → follows copySchemaToUi. */
103
+ copyGraphqlTsToUi: boolean | undefined;
104
+ /** Module specifier of the introspection schema in the generated ui src/dataProvider/index.ts. */
105
+ uiGraphqlSchemaImport: string;
101
106
  prismaModuleFormatCjs: boolean;
102
107
  };
103
108
  export type BootstrapEntityOptions = typeof defaultBootstrapEntityOptions;
@@ -164,6 +164,9 @@ Nested under `forms`:
164
164
  |------|---------|-------------|
165
165
  | `detachedBackProject` | `''` | Absolute path to the backend project. Auto-resolved to `../<prefix>-back` if empty. |
166
166
  | `detachedUiProject` | `''` | Absolute path to the frontend project. Auto-resolved to `../<prefix>-ui` if empty. |
167
+ | `copySchemaToUi` | `true` | Copy back `src/generated/graphql.schema.json` to ui `src/generated/`. Set `false` in a monorepo where ui reads the schema from a shared package (`runlify.json` → `paths.sharedSchema`). |
168
+ | `copyGraphqlTsToUi` | unset | Copy back `src/generated/graphql.ts` to ui `src/generated/`. Unset → same as `copySchemaToUi` (old behaviour: one flag for both files). |
169
+ | `uiGraphqlSchemaImport` | `'../generated/graphql.schema.json'` | Module specifier of the schema in the generated ui `src/dataProvider/index.ts`, e.g. `'@acme/shared/graphql.schema.json'`. |
167
170
 
168
171
  ---
169
172
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "runlify",
3
- "version": "0.0.798",
3
+ "version": "0.0.800",
4
4
  "description": "runlify CLI",
5
5
  "private": false,
6
6
  "repository": {