@baseplate-dev/project-builder-server 0.5.3 → 0.6.0

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 (237) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/dist/actions/__tests__/action-test-utils.d.ts +24 -0
  3. package/dist/actions/__tests__/action-test-utils.d.ts.map +1 -0
  4. package/dist/actions/__tests__/action-test-utils.js +33 -0
  5. package/dist/actions/__tests__/action-test-utils.js.map +1 -0
  6. package/dist/actions/definition/commit-draft.action.d.ts +16 -0
  7. package/dist/actions/definition/commit-draft.action.d.ts.map +1 -0
  8. package/dist/actions/definition/commit-draft.action.js +65 -0
  9. package/dist/actions/definition/commit-draft.action.js.map +1 -0
  10. package/dist/actions/definition/discard-draft.action.d.ts +7 -0
  11. package/dist/actions/definition/discard-draft.action.d.ts.map +1 -0
  12. package/dist/actions/definition/discard-draft.action.js +30 -0
  13. package/dist/actions/definition/discard-draft.action.js.map +1 -0
  14. package/dist/actions/definition/draft-session.d.ts +41 -0
  15. package/dist/actions/definition/draft-session.d.ts.map +1 -0
  16. package/dist/actions/definition/draft-session.js +117 -0
  17. package/dist/actions/definition/draft-session.js.map +1 -0
  18. package/dist/actions/definition/get-entity-schema.action.d.ts +10 -0
  19. package/dist/actions/definition/get-entity-schema.action.d.ts.map +1 -0
  20. package/dist/actions/definition/get-entity-schema.action.js +48 -0
  21. package/dist/actions/definition/get-entity-schema.action.js.map +1 -0
  22. package/dist/actions/definition/get-entity.action.d.ts +8 -0
  23. package/dist/actions/definition/get-entity.action.d.ts.map +1 -0
  24. package/dist/actions/definition/get-entity.action.js +37 -0
  25. package/dist/actions/definition/get-entity.action.js.map +1 -0
  26. package/dist/actions/definition/index.d.ts +11 -0
  27. package/dist/actions/definition/index.d.ts.map +1 -0
  28. package/dist/actions/definition/index.js +11 -0
  29. package/dist/actions/definition/index.js.map +1 -0
  30. package/dist/actions/definition/list-entities.action.d.ts +13 -0
  31. package/dist/actions/definition/list-entities.action.d.ts.map +1 -0
  32. package/dist/actions/definition/list-entities.action.js +43 -0
  33. package/dist/actions/definition/list-entities.action.js.map +1 -0
  34. package/dist/actions/definition/list-entity-types.action.d.ts +10 -0
  35. package/dist/actions/definition/list-entity-types.action.d.ts.map +1 -0
  36. package/dist/actions/definition/list-entity-types.action.js +42 -0
  37. package/dist/actions/definition/list-entity-types.action.js.map +1 -0
  38. package/dist/actions/definition/load-entity-service-context.d.ts +14 -0
  39. package/dist/actions/definition/load-entity-service-context.d.ts.map +1 -0
  40. package/dist/actions/definition/load-entity-service-context.js +18 -0
  41. package/dist/actions/definition/load-entity-service-context.js.map +1 -0
  42. package/dist/actions/definition/show-draft.action.d.ts +18 -0
  43. package/dist/actions/definition/show-draft.action.d.ts.map +1 -0
  44. package/dist/actions/definition/show-draft.action.js +117 -0
  45. package/dist/actions/definition/show-draft.action.js.map +1 -0
  46. package/dist/actions/definition/stage-create-entity.action.d.ts +19 -0
  47. package/dist/actions/definition/stage-create-entity.action.d.ts.map +1 -0
  48. package/dist/actions/definition/stage-create-entity.action.js +60 -0
  49. package/dist/actions/definition/stage-create-entity.action.js.map +1 -0
  50. package/dist/actions/definition/stage-delete-entity.action.d.ts +18 -0
  51. package/dist/actions/definition/stage-delete-entity.action.d.ts.map +1 -0
  52. package/dist/actions/definition/stage-delete-entity.action.js +55 -0
  53. package/dist/actions/definition/stage-delete-entity.action.js.map +1 -0
  54. package/dist/actions/definition/stage-update-entity.action.d.ts +19 -0
  55. package/dist/actions/definition/stage-update-entity.action.d.ts.map +1 -0
  56. package/dist/actions/definition/stage-update-entity.action.js +59 -0
  57. package/dist/actions/definition/stage-update-entity.action.js.map +1 -0
  58. package/dist/actions/definition/validate-draft.d.ts +17 -0
  59. package/dist/actions/definition/validate-draft.d.ts.map +1 -0
  60. package/dist/actions/definition/validate-draft.js +25 -0
  61. package/dist/actions/definition/validate-draft.js.map +1 -0
  62. package/dist/actions/index.d.ts +3 -0
  63. package/dist/actions/index.d.ts.map +1 -1
  64. package/dist/actions/index.js +3 -0
  65. package/dist/actions/index.js.map +1 -1
  66. package/dist/actions/registry.d.ts +169 -92
  67. package/dist/actions/registry.d.ts.map +1 -1
  68. package/dist/actions/registry.js +17 -1
  69. package/dist/actions/registry.js.map +1 -1
  70. package/dist/actions/snapshot/snapshot-add.action.d.ts +0 -1
  71. package/dist/actions/snapshot/snapshot-add.action.d.ts.map +1 -1
  72. package/dist/actions/snapshot/snapshot-add.action.js +3 -7
  73. package/dist/actions/snapshot/snapshot-add.action.js.map +1 -1
  74. package/dist/actions/snapshot/snapshot-remove.action.d.ts +0 -1
  75. package/dist/actions/snapshot/snapshot-remove.action.d.ts.map +1 -1
  76. package/dist/actions/snapshot/snapshot-remove.action.js +3 -7
  77. package/dist/actions/snapshot/snapshot-remove.action.js.map +1 -1
  78. package/dist/actions/snapshot/snapshot-save.action.d.ts +2 -2
  79. package/dist/actions/snapshot/snapshot-save.action.d.ts.map +1 -1
  80. package/dist/actions/snapshot/snapshot-save.action.js +23 -11
  81. package/dist/actions/snapshot/snapshot-save.action.js.map +1 -1
  82. package/dist/actions/snapshot/snapshot-show.action.d.ts +5 -2
  83. package/dist/actions/snapshot/snapshot-show.action.d.ts.map +1 -1
  84. package/dist/actions/snapshot/snapshot-show.action.js +17 -19
  85. package/dist/actions/snapshot/snapshot-show.action.js.map +1 -1
  86. package/dist/actions/sync/sync-all-projects.action.d.ts.map +1 -1
  87. package/dist/actions/sync/sync-all-projects.action.js +3 -2
  88. package/dist/actions/sync/sync-all-projects.action.js.map +1 -1
  89. package/dist/actions/sync/sync-file.action.js +1 -1
  90. package/dist/actions/sync/sync-file.action.js.map +1 -1
  91. package/dist/actions/sync/sync-project.action.d.ts +1 -1
  92. package/dist/actions/sync/sync-project.action.d.ts.map +1 -1
  93. package/dist/actions/sync/sync-project.action.js +20 -6
  94. package/dist/actions/sync/sync-project.action.js.map +1 -1
  95. package/dist/actions/test-project/index.d.ts +2 -0
  96. package/dist/actions/test-project/index.d.ts.map +1 -0
  97. package/dist/actions/test-project/index.js +2 -0
  98. package/dist/actions/test-project/index.js.map +1 -0
  99. package/dist/actions/test-project/test-project-init.action.d.ts +17 -0
  100. package/dist/actions/test-project/test-project-init.action.d.ts.map +1 -0
  101. package/dist/actions/test-project/test-project-init.action.js +97 -0
  102. package/dist/actions/test-project/test-project-init.action.js.map +1 -0
  103. package/dist/actions/types.d.ts +2 -0
  104. package/dist/actions/types.d.ts.map +1 -1
  105. package/dist/actions/types.js.map +1 -1
  106. package/dist/actions/utils/generation-manifest.d.ts +12 -0
  107. package/dist/actions/utils/generation-manifest.d.ts.map +1 -0
  108. package/dist/actions/utils/generation-manifest.js +142 -0
  109. package/dist/actions/utils/generation-manifest.js.map +1 -0
  110. package/dist/actions/utils/index.d.ts +1 -1
  111. package/dist/actions/utils/index.d.ts.map +1 -1
  112. package/dist/actions/utils/index.js +1 -1
  113. package/dist/actions/utils/index.js.map +1 -1
  114. package/dist/actions/utils/project-discovery.d.ts +23 -9
  115. package/dist/actions/utils/project-discovery.d.ts.map +1 -1
  116. package/dist/actions/utils/project-discovery.js +57 -31
  117. package/dist/actions/utils/project-discovery.js.map +1 -1
  118. package/dist/actions/utils/projects.d.ts.map +1 -1
  119. package/dist/actions/utils/projects.js +2 -1
  120. package/dist/actions/utils/projects.js.map +1 -1
  121. package/dist/compiler/backend/{authorizers.d.ts → authorizer-compiler.d.ts} +22 -2
  122. package/dist/compiler/backend/authorizer-compiler.d.ts.map +1 -0
  123. package/dist/compiler/backend/authorizer-compiler.js +165 -0
  124. package/dist/compiler/backend/authorizer-compiler.js.map +1 -0
  125. package/dist/compiler/backend/feature.d.ts.map +1 -1
  126. package/dist/compiler/backend/feature.js +3 -1
  127. package/dist/compiler/backend/feature.js.map +1 -1
  128. package/dist/compiler/backend/graphql.d.ts.map +1 -1
  129. package/dist/compiler/backend/graphql.js +108 -49
  130. package/dist/compiler/backend/graphql.js.map +1 -1
  131. package/dist/compiler/backend/models.d.ts.map +1 -1
  132. package/dist/compiler/backend/models.js +13 -13
  133. package/dist/compiler/backend/models.js.map +1 -1
  134. package/dist/compiler/backend/query-filter-compiler.d.ts +40 -0
  135. package/dist/compiler/backend/query-filter-compiler.d.ts.map +1 -0
  136. package/dist/compiler/backend/query-filter-compiler.js +168 -0
  137. package/dist/compiler/backend/query-filter-compiler.js.map +1 -0
  138. package/dist/compiler/backend/services.d.ts.map +1 -1
  139. package/dist/compiler/backend/services.js +24 -1
  140. package/dist/compiler/backend/services.js.map +1 -1
  141. package/dist/compiler/index.d.ts +1 -0
  142. package/dist/compiler/index.d.ts.map +1 -1
  143. package/dist/compiler/index.js.map +1 -1
  144. package/dist/compiler/root/root-package-compiler.js +6 -6
  145. package/dist/compiler/root/root-package-compiler.js.map +1 -1
  146. package/dist/compiler/web/admin/crud/index.js +1 -1
  147. package/dist/compiler/web/admin/crud/index.js.map +1 -1
  148. package/dist/compiler/web/admin/index.js +1 -1
  149. package/dist/compiler/web/admin/index.js.map +1 -1
  150. package/dist/compiler/web/admin/sections.d.ts.map +1 -1
  151. package/dist/compiler/web/admin/sections.js +2 -2
  152. package/dist/compiler/web/admin/sections.js.map +1 -1
  153. package/dist/compiler/web/web-compiler.d.ts.map +1 -1
  154. package/dist/compiler/web/web-compiler.js +4 -4
  155. package/dist/compiler/web/web-compiler.js.map +1 -1
  156. package/dist/core-modules/admin-crud-column-compiler.js +1 -1
  157. package/dist/core-modules/admin-crud-column-compiler.js.map +1 -1
  158. package/dist/core-modules/admin-crud-input-compiler.d.ts.map +1 -1
  159. package/dist/core-modules/admin-crud-input-compiler.js +13 -3
  160. package/dist/core-modules/admin-crud-input-compiler.js.map +1 -1
  161. package/dist/dev-server/api/router.d.ts +8 -7
  162. package/dist/dev-server/api/router.d.ts.map +1 -1
  163. package/dist/dev-server/mcp/stdio.d.ts +2 -2
  164. package/dist/dev-server/mcp/stdio.d.ts.map +1 -1
  165. package/dist/dev-server/mcp/stdio.js +2 -2
  166. package/dist/dev-server/mcp/stdio.js.map +1 -1
  167. package/dist/diff/diff-project.d.ts.map +1 -1
  168. package/dist/diff/diff-project.js +4 -4
  169. package/dist/diff/diff-project.js.map +1 -1
  170. package/dist/diff/snapshot/apply-diff-to-generator-output.d.ts.map +1 -1
  171. package/dist/diff/snapshot/apply-diff-to-generator-output.js +17 -2
  172. package/dist/diff/snapshot/apply-diff-to-generator-output.js.map +1 -1
  173. package/dist/diff/snapshot/create-snapshot-for-project.d.ts +12 -6
  174. package/dist/diff/snapshot/create-snapshot-for-project.d.ts.map +1 -1
  175. package/dist/diff/snapshot/create-snapshot-for-project.js +58 -26
  176. package/dist/diff/snapshot/create-snapshot-for-project.js.map +1 -1
  177. package/dist/diff/snapshot/index.d.ts +4 -1
  178. package/dist/diff/snapshot/index.d.ts.map +1 -1
  179. package/dist/diff/snapshot/index.js +4 -0
  180. package/dist/diff/snapshot/index.js.map +1 -1
  181. package/dist/diff/snapshot/save-snapshot.d.ts +11 -3
  182. package/dist/diff/snapshot/save-snapshot.d.ts.map +1 -1
  183. package/dist/diff/snapshot/save-snapshot.js +29 -10
  184. package/dist/diff/snapshot/save-snapshot.js.map +1 -1
  185. package/dist/diff/snapshot/snapshot-management.d.ts +7 -6
  186. package/dist/diff/snapshot/snapshot-management.d.ts.map +1 -1
  187. package/dist/diff/snapshot/snapshot-management.js +18 -22
  188. package/dist/diff/snapshot/snapshot-management.js.map +1 -1
  189. package/dist/diff/snapshot/snapshot-manifest.d.ts +1 -1
  190. package/dist/diff/snapshot/snapshot-manifest.d.ts.map +1 -1
  191. package/dist/diff/snapshot/snapshot-manifest.js +7 -7
  192. package/dist/diff/snapshot/snapshot-manifest.js.map +1 -1
  193. package/dist/diff/snapshot/snapshot-types.d.ts +22 -8
  194. package/dist/diff/snapshot/snapshot-types.d.ts.map +1 -1
  195. package/dist/diff/snapshot/snapshot-types.js +6 -2
  196. package/dist/diff/snapshot/snapshot-types.js.map +1 -1
  197. package/dist/diff/snapshot/snapshot-utils.d.ts +14 -5
  198. package/dist/diff/snapshot/snapshot-utils.d.ts.map +1 -1
  199. package/dist/diff/snapshot/snapshot-utils.js +25 -8
  200. package/dist/diff/snapshot/snapshot-utils.js.map +1 -1
  201. package/dist/index.d.ts +1 -0
  202. package/dist/index.js +1 -0
  203. package/dist/plugins/node-plugin-store.d.ts +1 -1
  204. package/dist/plugins/node-plugin-store.d.ts.map +1 -1
  205. package/dist/plugins/node-plugin-store.js +2 -2
  206. package/dist/plugins/node-plugin-store.js.map +1 -1
  207. package/dist/project-definition/load-project-definition.d.ts +2 -2
  208. package/dist/project-definition/load-project-definition.d.ts.map +1 -1
  209. package/dist/project-definition/load-project-definition.js +3 -3
  210. package/dist/project-definition/load-project-definition.js.map +1 -1
  211. package/dist/sync/generate-for-directory.d.ts +3 -2
  212. package/dist/sync/generate-for-directory.d.ts.map +1 -1
  213. package/dist/sync/generate-for-directory.js +24 -11
  214. package/dist/sync/generate-for-directory.js.map +1 -1
  215. package/dist/sync/sync-project.d.ts +3 -3
  216. package/dist/sync/sync-project.d.ts.map +1 -1
  217. package/dist/sync/sync-project.js +9 -3
  218. package/dist/sync/sync-project.js.map +1 -1
  219. package/dist/templates/create/create-generator.d.ts.map +1 -1
  220. package/dist/templates/create/create-generator.js +3 -3
  221. package/dist/templates/create/create-generator.js.map +1 -1
  222. package/dist/user-config/user-config-schema.d.ts +12 -0
  223. package/dist/user-config/user-config-schema.d.ts.map +1 -1
  224. package/dist/user-config/user-config-schema.js +29 -0
  225. package/dist/user-config/user-config-schema.js.map +1 -1
  226. package/package.json +17 -14
  227. package/dist/actions/utils/is-example-project.d.ts +0 -7
  228. package/dist/actions/utils/is-example-project.d.ts.map +0 -1
  229. package/dist/actions/utils/is-example-project.js +0 -22
  230. package/dist/actions/utils/is-example-project.js.map +0 -1
  231. package/dist/compiler/backend/authorizers.d.ts.map +0 -1
  232. package/dist/compiler/backend/authorizers.js +0 -75
  233. package/dist/compiler/backend/authorizers.js.map +0 -1
  234. package/dist/project-definition/get-single-app-directory-for-project.d.ts +0 -11
  235. package/dist/project-definition/get-single-app-directory-for-project.d.ts.map +0 -1
  236. package/dist/project-definition/get-single-app-directory-for-project.js +0 -19
  237. package/dist/project-definition/get-single-app-directory-for-project.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"create-generator.js","sourceRoot":"","sources":["../../../src/templates/create/create-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-generator.js","sourceRoot":"","sources":["../../../src/templates/create/create-generator.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,16 @@ export declare const userConfigSchema: z.ZodObject<{
11
11
  }, z.core.$strict>>;
12
12
  }, z.core.$strict>;
13
13
  export type BaseplateUserConfig = z.infer<typeof userConfigSchema>;
14
+ /**
15
+ * Get the user config for the project builder.
16
+ *
17
+ * @returns The user config for the project builder.
18
+ */
19
+ export declare function getUserConfig(): Promise<BaseplateUserConfig>;
20
+ /**
21
+ * Write the user config for the project builder.
22
+ *
23
+ * @param config - The user config to write.
24
+ */
25
+ export declare function writeUserConfig(config: BaseplateUserConfig): Promise<void>;
14
26
  //# sourceMappingURL=user-config-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-config-schema.d.ts","sourceRoot":"","sources":["../../src/user-config/user-config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;kBAuBlB,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"user-config-schema.d.ts","sourceRoot":"","sources":["../../src/user-config/user-config-schema.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;kBAuBlB,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAOnE;;;;GAIG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAMlE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAKf"}
@@ -1,3 +1,7 @@
1
+ import { handleFileNotFoundError, readJsonWithSchema, writeStablePrettyJson, } from '@baseplate-dev/utils/node';
2
+ import { mkdir } from 'node:fs/promises';
3
+ import os from 'node:os';
4
+ import path from 'node:path';
1
5
  import { z } from 'zod';
2
6
  /**
3
7
  * Schema for validating user configuration stored in ~/.baseplate/config.json
@@ -27,4 +31,29 @@ export const userConfigSchema = z
27
31
  .optional(),
28
32
  })
29
33
  .strict();
34
+ function getConfigPath() {
35
+ const homeDir = os.homedir();
36
+ return path.join(homeDir, '.baseplate', 'config.json');
37
+ }
38
+ /**
39
+ * Get the user config for the project builder.
40
+ *
41
+ * @returns The user config for the project builder.
42
+ */
43
+ export async function getUserConfig() {
44
+ const configPath = getConfigPath();
45
+ const config = await readJsonWithSchema(configPath, userConfigSchema).catch(handleFileNotFoundError);
46
+ return config ?? {};
47
+ }
48
+ /**
49
+ * Write the user config for the project builder.
50
+ *
51
+ * @param config - The user config to write.
52
+ */
53
+ export async function writeUserConfig(config) {
54
+ const configPath = getConfigPath();
55
+ const configDir = path.dirname(configPath);
56
+ await mkdir(configDir, { recursive: true });
57
+ await writeStablePrettyJson(configPath, config);
58
+ }
30
59
  //# sourceMappingURL=user-config-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-config-schema.js","sourceRoot":"","sources":["../../src/user-config/user-config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN;;WAEG;QACH,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9D;;;;;WAKG;QACH,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACxC;;WAEG;QACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"user-config-schema.js","sourceRoot":"","sources":["../../src/user-config/user-config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN;;WAEG;QACH,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9D;;;;;WAKG;QACH,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACxC;;WAEG;QACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,SAAS,aAAa;IACpB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,KAAK,CACzE,uBAAuB,CACxB,CAAC;IACF,OAAO,MAAM,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA2B;IAE3B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,MAAM,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baseplate-dev/project-builder-server",
3
- "version": "0.5.3",
3
+ "version": "0.6.0",
4
4
  "description": "Server for Project Builder using Baseplate generators",
5
5
  "keywords": [
6
6
  "backend",
@@ -43,34 +43,37 @@
43
43
  "@fastify/helmet": "13.0.0",
44
44
  "@fastify/static": "8.0.3",
45
45
  "@fastify/websocket": "11.0.1",
46
- "@modelcontextprotocol/sdk": "^1.26.0",
46
+ "@modelcontextprotocol/sdk": "^1.27.0",
47
47
  "@trpc/server": "^11.8.0",
48
48
  "chalk": "5.3.0",
49
49
  "change-case": "5.4.4",
50
50
  "chokidar": "5.0.0",
51
51
  "diff": "^8.0.3",
52
- "es-toolkit": "1.31.0",
52
+ "es-toolkit": "1.44.0",
53
53
  "execa": "9.3.0",
54
- "fastify": "5.7.4",
54
+ "fast-json-patch": "^3.1.1",
55
+ "fastify": "5.8.1",
55
56
  "fastify-plugin": "5.1.0",
56
57
  "fastify-type-provider-zod": "^6.0.0",
57
58
  "globby": "^14.0.2",
58
59
  "ignore": "^7.0.5",
59
- "immer": "10.1.1",
60
+ "immer": "~11.1.4",
60
61
  "inflection": "3.0.0",
61
62
  "isbinaryfile": "^5.0.4",
62
63
  "micromatch": "^4.0.8",
63
64
  "mime": "^4.0.3",
64
65
  "open": "10.1.0",
66
+ "p-limit": "6.1.0",
65
67
  "pino": "9.5.0",
66
68
  "ts-morph": "27.0.2",
67
- "zod": "^4.1.13",
68
- "@baseplate-dev/core-generators": "0.5.3",
69
- "@baseplate-dev/fastify-generators": "0.5.3",
70
- "@baseplate-dev/project-builder-lib": "0.5.3",
71
- "@baseplate-dev/react-generators": "0.5.3",
72
- "@baseplate-dev/sync": "0.5.3",
73
- "@baseplate-dev/utils": "0.5.3"
69
+ "zod": "^4.3.6",
70
+ "zod-to-ts": "^2.0.0",
71
+ "@baseplate-dev/core-generators": "0.6.0",
72
+ "@baseplate-dev/fastify-generators": "0.6.0",
73
+ "@baseplate-dev/project-builder-lib": "0.6.0",
74
+ "@baseplate-dev/react-generators": "0.6.0",
75
+ "@baseplate-dev/sync": "0.6.0",
76
+ "@baseplate-dev/utils": "0.6.0"
74
77
  },
75
78
  "devDependencies": {
76
79
  "@types/micromatch": "^4.0.9",
@@ -81,7 +84,7 @@
81
84
  "tsx": "4.20.6",
82
85
  "typescript": "5.9.3",
83
86
  "vitest": "4.0.16",
84
- "@baseplate-dev/tools": "0.5.3"
87
+ "@baseplate-dev/tools": "0.6.0"
85
88
  },
86
89
  "engines": {
87
90
  "node": "^22.0.0"
@@ -98,7 +101,7 @@
98
101
  "clean": "rm -rf ./dist",
99
102
  "lint": "eslint .",
100
103
  "prettier:check": "prettier --check .",
101
- "prettier:write": "prettier -w .",
104
+ "prettier:write": "prettier -w -l .",
102
105
  "test": "vitest",
103
106
  "tsc:watch": "tsc -p tsconfig.build.json --preserveWatchOutput -w",
104
107
  "typecheck": "tsc --noEmit"
@@ -1,7 +0,0 @@
1
- /**
2
- * Checks if a directory is an example project.
3
- * @param directory - The directory to check if it is an example project.
4
- * @returns True if the directory is an example project, false otherwise.
5
- */
6
- export declare function isExampleProject(directory: string): Promise<boolean>;
7
- //# sourceMappingURL=is-example-project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-example-project.d.ts","sourceRoot":"","sources":["../../../src/actions/utils/is-example-project.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmB1E"}
@@ -1,22 +0,0 @@
1
- import { findNearestPackageJson, readJsonWithSchema, } from '@baseplate-dev/utils/node';
2
- import path from 'node:path';
3
- import { z } from 'zod';
4
- /**
5
- * Checks if a directory is an example project.
6
- * @param directory - The directory to check if it is an example project.
7
- * @returns True if the directory is an example project, false otherwise.
8
- */
9
- export async function isExampleProject(directory) {
10
- const parentPackageJson = await findNearestPackageJson({
11
- cwd: path.dirname(directory),
12
- });
13
- if (!parentPackageJson) {
14
- return false;
15
- }
16
- const parentPackageJsonContent = await readJsonWithSchema(parentPackageJson, z.object({ name: z.string() })).catch(() => undefined);
17
- if (!parentPackageJsonContent) {
18
- return false;
19
- }
20
- return parentPackageJsonContent.name === '@baseplate-dev/root';
21
- }
22
- //# sourceMappingURL=is-example-project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-example-project.js","sourceRoot":"","sources":["../../../src/actions/utils/is-example-project.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CAAC;QACrD,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;KAC7B,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,wBAAwB,GAAG,MAAM,kBAAkB,CACvD,iBAAiB,EACjB,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC/B,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAEzB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,wBAAwB,CAAC,IAAI,KAAK,qBAAqB,CAAC;AACjE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"authorizers.d.ts","sourceRoot":"","sources":["../../../src/compiler/backend/authorizers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EAEzB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAQ3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEtE;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,wBAAwB,GAC7B,MAAM,CAoBR;AASD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,sBAAsB,EAClC,SAAS,EAAE,MAAM,GAChB,eAAe,EAAE,CAwCnB"}
@@ -1,75 +0,0 @@
1
- import { prismaModelAuthorizerGenerator } from '@baseplate-dev/fastify-generators';
2
- import { ModelUtils, parseAuthorizerExpression, } from '@baseplate-dev/project-builder-lib';
3
- /**
4
- * Generate TypeScript code from an authorizer expression AST node.
5
- *
6
- * Transforms the implicit-context DSL into explicit context code:
7
- * - `model.field` stays as `model.field`
8
- * - `userId` (auth field) becomes `ctx.auth.userId`
9
- * - `hasRole('admin')` becomes `ctx.auth.hasRole('admin')`
10
- * - `hasSomeRole(['a', 'b'])` becomes `ctx.auth.hasSomeRole(['a', 'b'])`
11
- * - `A || B` becomes `(A) || (B)`
12
- */
13
- export function generateAuthorizerExpressionCode(node) {
14
- switch (node.type) {
15
- case 'fieldComparison': {
16
- const left = generateFieldRefCode(node.left);
17
- const right = generateFieldRefCode(node.right);
18
- return `${left} ${node.operator} ${right}`;
19
- }
20
- case 'hasRole': {
21
- return `ctx.auth.hasRole('${node.role}')`;
22
- }
23
- case 'hasSomeRole': {
24
- const roles = node.roles.map((r) => `'${r}'`).join(', ');
25
- return `ctx.auth.hasSomeRole([${roles}])`;
26
- }
27
- case 'binaryLogical': {
28
- const left = generateAuthorizerExpressionCode(node.left);
29
- const right = generateAuthorizerExpressionCode(node.right);
30
- return `(${left}) ${node.operator} (${right})`;
31
- }
32
- }
33
- }
34
- function generateFieldRefCode(node) {
35
- if (node.source === 'model') {
36
- return `model.${node.field}`;
37
- }
38
- return `ctx.auth.${node.field}`;
39
- }
40
- /**
41
- * Build model authorizer generators for all models in a feature
42
- * that have non-empty authorizer roles.
43
- */
44
- export function buildAuthorizersForFeature(appBuilder, featureId) {
45
- const models = ModelUtils.getModelsForFeature(appBuilder.projectDefinition, featureId);
46
- return models
47
- .filter((model) => model.authorizer && model.authorizer.roles.length > 0)
48
- .map((model) => {
49
- const { authorizer } = model;
50
- if (!authorizer) {
51
- throw new Error(`Model '${model.name}' has no authorizer config`);
52
- }
53
- const primaryKeyFields = ModelUtils.getPrimaryKeyFields(model);
54
- if (primaryKeyFields.length !== 1) {
55
- throw new Error(`Model '${model.name}' must have exactly one primary key field to use model authorizer. Found ${primaryKeyFields.length}.`);
56
- }
57
- const idFieldName = primaryKeyFields[0].name;
58
- return prismaModelAuthorizerGenerator({
59
- modelName: model.name,
60
- idFieldName,
61
- roles: authorizer.roles.map((role) => {
62
- const parsed = parseAuthorizerExpression(role.expression);
63
- const expressionCode = generateAuthorizerExpressionCode(parsed.ast);
64
- const roleCode = parsed.requiresModel
65
- ? `(ctx, model) => ${expressionCode}`
66
- : `(ctx) => ${expressionCode}`;
67
- return {
68
- name: role.name,
69
- roleCode,
70
- };
71
- }),
72
- });
73
- });
74
- }
75
- //# sourceMappingURL=authorizers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authorizers.js","sourceRoot":"","sources":["../../../src/compiler/backend/authorizers.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { ProjectDefinition } from '@baseplate-dev/project-builder-lib';
2
- /**
3
- * Given a project directory, get the app directory for that project
4
- *
5
- * @param projectDirectory The absolute path to the project directory
6
- * @param app The name of the app which will be matched
7
- *
8
- * @throws Error if there are more than one apps matching the name (or none)
9
- */
10
- export declare function getSingleAppDirectoryForProject(projectDirectory: string, projectDefinition: ProjectDefinition, app: string): string;
11
- //# sourceMappingURL=get-single-app-directory-for-project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-single-app-directory-for-project.d.ts","sourceRoot":"","sources":["../../src/project-definition/get-single-app-directory-for-project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAK5E;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,iBAAiB,EACpC,GAAG,EAAE,MAAM,GACV,MAAM,CAcR"}
@@ -1,19 +0,0 @@
1
- import { AppUtils } from '@baseplate-dev/project-builder-lib';
2
- import path from 'node:path';
3
- /**
4
- * Given a project directory, get the app directory for that project
5
- *
6
- * @param projectDirectory The absolute path to the project directory
7
- * @param app The name of the app which will be matched
8
- *
9
- * @throws Error if there are more than one apps matching the name (or none)
10
- */
11
- export function getSingleAppDirectoryForProject(projectDirectory, projectDefinition, app) {
12
- const matchedApps = projectDefinition.apps.find((a) => a.name === app);
13
- if (!matchedApps) {
14
- throw new Error(`Unable to find app ${app} in project definition. Available apps: ${projectDefinition.apps.map((a) => a.name).join(', ')}`);
15
- }
16
- const monorepoSettings = projectDefinition.settings.monorepo;
17
- return path.join(projectDirectory, AppUtils.getAppDirectory(matchedApps, monorepoSettings));
18
- }
19
- //# sourceMappingURL=get-single-app-directory-for-project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-single-app-directory-for-project.js","sourceRoot":"","sources":["../../src/project-definition/get-single-app-directory-for-project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,gBAAwB,EACxB,iBAAoC,EACpC,GAAW;IAEX,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEvE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,sBAAsB,GAAG,2CAA2C,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3H,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC7D,OAAO,IAAI,CAAC,IAAI,CACd,gBAAgB,EAChB,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,gBAAgB,CAAC,CACxD,CAAC;AACJ,CAAC"}