@baseplate-dev/project-builder-lib 0.4.4 → 0.5.1

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 (252) hide show
  1. package/dist/compiler/admin-crud-action-compiler.d.ts +18 -0
  2. package/dist/compiler/admin-crud-action-compiler.d.ts.map +1 -0
  3. package/dist/compiler/admin-crud-action-compiler.js +6 -0
  4. package/dist/compiler/admin-crud-action-compiler.js.map +1 -0
  5. package/dist/compiler/admin-crud-column-compiler-spec.d.ts +6 -12
  6. package/dist/compiler/admin-crud-column-compiler-spec.d.ts.map +1 -1
  7. package/dist/compiler/admin-crud-column-compiler-spec.js +6 -29
  8. package/dist/compiler/admin-crud-column-compiler-spec.js.map +1 -1
  9. package/dist/compiler/admin-crud-input-spec.d.ts +6 -11
  10. package/dist/compiler/admin-crud-input-spec.d.ts.map +1 -1
  11. package/dist/compiler/admin-crud-input-spec.js +6 -26
  12. package/dist/compiler/admin-crud-input-spec.js.map +1 -1
  13. package/dist/compiler/app-compiler-spec.d.ts +8 -12
  14. package/dist/compiler/app-compiler-spec.d.ts.map +1 -1
  15. package/dist/compiler/app-compiler-spec.js +11 -18
  16. package/dist/compiler/app-compiler-spec.js.map +1 -1
  17. package/dist/compiler/index.d.ts +1 -1
  18. package/dist/compiler/index.d.ts.map +1 -1
  19. package/dist/compiler/index.js +1 -1
  20. package/dist/compiler/index.js.map +1 -1
  21. package/dist/compiler/model-transformer-compiler-spec.d.ts +6 -11
  22. package/dist/compiler/model-transformer-compiler-spec.d.ts.map +1 -1
  23. package/dist/compiler/model-transformer-compiler-spec.js +6 -26
  24. package/dist/compiler/model-transformer-compiler-spec.js.map +1 -1
  25. package/dist/definition/index.d.ts +1 -0
  26. package/dist/definition/index.d.ts.map +1 -1
  27. package/dist/definition/index.js +1 -0
  28. package/dist/definition/index.js.map +1 -1
  29. package/dist/definition/model/model-field-utils.d.ts +2 -0
  30. package/dist/definition/model/model-field-utils.d.ts.map +1 -1
  31. package/dist/definition/model/model-field-utils.js +8 -0
  32. package/dist/definition/model/model-field-utils.js.map +1 -1
  33. package/dist/definition/model/model-transformer-utils.d.ts +4 -6
  34. package/dist/definition/model/model-transformer-utils.d.ts.map +1 -1
  35. package/dist/definition/model/model-transformer-utils.js +8 -10
  36. package/dist/definition/model/model-transformer-utils.js.map +1 -1
  37. package/dist/definition/model/model-utils.d.ts +2 -0
  38. package/dist/definition/model/model-utils.d.ts.map +1 -1
  39. package/dist/definition/model/model-utils.js +5 -0
  40. package/dist/definition/model/model-utils.js.map +1 -1
  41. package/dist/definition/packages/package-utils.d.ts +18 -0
  42. package/dist/definition/packages/package-utils.d.ts.map +1 -0
  43. package/dist/definition/packages/package-utils.js +34 -0
  44. package/dist/definition/packages/package-utils.js.map +1 -0
  45. package/dist/definition/plugins/plugin-utils.d.ts.map +1 -1
  46. package/dist/definition/plugins/plugin-utils.js +2 -2
  47. package/dist/definition/plugins/plugin-utils.js.map +1 -1
  48. package/dist/definition/project-definition-container.d.ts +3 -3
  49. package/dist/definition/project-definition-container.d.ts.map +1 -1
  50. package/dist/definition/project-definition-container.js +2 -2
  51. package/dist/definition/project-definition-container.js.map +1 -1
  52. package/dist/definition/project-definition-container.test-utils.d.ts.map +1 -1
  53. package/dist/definition/project-definition-container.test-utils.js +8 -4
  54. package/dist/definition/project-definition-container.test-utils.js.map +1 -1
  55. package/dist/index.d.ts +1 -0
  56. package/dist/index.js +1 -0
  57. package/dist/migrations/index.d.ts.map +1 -1
  58. package/dist/migrations/index.js +2 -0
  59. package/dist/migrations/index.js.map +1 -1
  60. package/dist/migrations/migration-022-rename-packages-to-libraries.d.ts +37 -0
  61. package/dist/migrations/migration-022-rename-packages-to-libraries.d.ts.map +1 -0
  62. package/dist/migrations/migration-022-rename-packages-to-libraries.js +45 -0
  63. package/dist/migrations/migration-022-rename-packages-to-libraries.js.map +1 -0
  64. package/dist/parser/parser.d.ts +4 -4
  65. package/dist/parser/parser.d.ts.map +1 -1
  66. package/dist/parser/parser.js +17 -42
  67. package/dist/parser/parser.js.map +1 -1
  68. package/dist/plugin-tools/plugin-loader.js +3 -3
  69. package/dist/plugin-tools/plugin-loader.js.map +1 -1
  70. package/dist/plugins/context/index.d.ts +2 -0
  71. package/dist/plugins/context/index.d.ts.map +1 -0
  72. package/dist/plugins/context/index.js +2 -0
  73. package/dist/plugins/context/index.js.map +1 -0
  74. package/dist/plugins/context/plugin-context.d.ts +30 -0
  75. package/dist/plugins/context/plugin-context.d.ts.map +1 -0
  76. package/dist/plugins/context/plugin-context.js +38 -0
  77. package/dist/plugins/context/plugin-context.js.map +1 -0
  78. package/dist/plugins/imports/loader.d.ts +11 -20
  79. package/dist/plugins/imports/loader.d.ts.map +1 -1
  80. package/dist/plugins/imports/loader.js +28 -69
  81. package/dist/plugins/imports/loader.js.map +1 -1
  82. package/dist/plugins/imports/types.d.ts +72 -13
  83. package/dist/plugins/imports/types.d.ts.map +1 -1
  84. package/dist/plugins/imports/types.js +17 -1
  85. package/dist/plugins/imports/types.js.map +1 -1
  86. package/dist/plugins/index.d.ts +3 -1
  87. package/dist/plugins/index.d.ts.map +1 -1
  88. package/dist/plugins/index.js +3 -1
  89. package/dist/plugins/index.js.map +1 -1
  90. package/dist/plugins/migrations/run-migrations.d.ts +2 -2
  91. package/dist/plugins/migrations/run-migrations.d.ts.map +1 -1
  92. package/dist/plugins/migrations/run-migrations.js +2 -2
  93. package/dist/plugins/migrations/run-migrations.js.map +1 -1
  94. package/dist/plugins/spec/auth-config-spec.d.ts +13 -9
  95. package/dist/plugins/spec/auth-config-spec.d.ts.map +1 -1
  96. package/dist/plugins/spec/auth-config-spec.js +16 -3
  97. package/dist/plugins/spec/auth-config-spec.js.map +1 -1
  98. package/dist/plugins/spec/auth-models-spec.d.ts +16 -0
  99. package/dist/plugins/spec/auth-models-spec.d.ts.map +1 -0
  100. package/dist/plugins/spec/auth-models-spec.js +16 -0
  101. package/dist/plugins/spec/auth-models-spec.js.map +1 -0
  102. package/dist/plugins/spec/config-spec.d.ts +8 -13
  103. package/dist/plugins/spec/config-spec.d.ts.map +1 -1
  104. package/dist/plugins/spec/config-spec.js +20 -35
  105. package/dist/plugins/spec/config-spec.js.map +1 -1
  106. package/dist/plugins/spec/index.d.ts +1 -1
  107. package/dist/plugins/spec/index.d.ts.map +1 -1
  108. package/dist/plugins/spec/index.js +1 -1
  109. package/dist/plugins/spec/index.js.map +1 -1
  110. package/dist/plugins/spec/types.d.ts +66 -25
  111. package/dist/plugins/spec/types.d.ts.map +1 -1
  112. package/dist/plugins/spec/types.js +27 -10
  113. package/dist/plugins/spec/types.js.map +1 -1
  114. package/dist/plugins/spec/web-config-spec.d.ts +7 -10
  115. package/dist/plugins/spec/web-config-spec.d.ts.map +1 -1
  116. package/dist/plugins/spec/web-config-spec.js +6 -19
  117. package/dist/plugins/spec/web-config-spec.js.map +1 -1
  118. package/dist/plugins/store/index.d.ts.map +1 -0
  119. package/dist/plugins/store/index.js.map +1 -0
  120. package/dist/plugins/store/store.d.ts +23 -0
  121. package/dist/plugins/store/store.d.ts.map +1 -0
  122. package/dist/plugins/store/store.js +36 -0
  123. package/dist/plugins/store/store.js.map +1 -0
  124. package/dist/plugins/utils/create-field-map-spec.d.ts +17 -0
  125. package/dist/plugins/utils/create-field-map-spec.d.ts.map +1 -0
  126. package/dist/plugins/utils/create-field-map-spec.js +27 -0
  127. package/dist/plugins/utils/create-field-map-spec.js.map +1 -0
  128. package/dist/plugins/utils/create-plugin-field-map.d.ts +24 -0
  129. package/dist/plugins/utils/create-plugin-field-map.d.ts.map +1 -0
  130. package/dist/plugins/utils/create-plugin-field-map.js +29 -0
  131. package/dist/plugins/utils/create-plugin-field-map.js.map +1 -0
  132. package/dist/plugins/utils/index.d.ts +3 -0
  133. package/dist/plugins/utils/index.d.ts.map +1 -0
  134. package/dist/plugins/utils/index.js +3 -0
  135. package/dist/plugins/utils/index.js.map +1 -0
  136. package/dist/schema/apps/backend/index.d.ts +0 -2
  137. package/dist/schema/apps/backend/index.d.ts.map +1 -1
  138. package/dist/schema/apps/backend/index.js +0 -1
  139. package/dist/schema/apps/backend/index.js.map +1 -1
  140. package/dist/schema/apps/web/admin/sections/crud-actions/admin-action-spec.d.ts +6 -13
  141. package/dist/schema/apps/web/admin/sections/crud-actions/admin-action-spec.d.ts.map +1 -1
  142. package/dist/schema/apps/web/admin/sections/crud-actions/admin-action-spec.js +5 -26
  143. package/dist/schema/apps/web/admin/sections/crud-actions/admin-action-spec.js.map +1 -1
  144. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.d.ts.map +1 -1
  145. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js +1 -3
  146. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js.map +1 -1
  147. package/dist/schema/apps/web/admin/sections/crud-columns/admin-column-spec.d.ts +6 -12
  148. package/dist/schema/apps/web/admin/sections/crud-columns/admin-column-spec.d.ts.map +1 -1
  149. package/dist/schema/apps/web/admin/sections/crud-columns/admin-column-spec.js +5 -26
  150. package/dist/schema/apps/web/admin/sections/crud-columns/admin-column-spec.js.map +1 -1
  151. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.d.ts.map +1 -1
  152. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js +1 -3
  153. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js.map +1 -1
  154. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.d.ts.map +1 -1
  155. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js +1 -3
  156. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js.map +1 -1
  157. package/dist/schema/apps/web/admin/sections/crud-form/admin-input-spec.d.ts +7 -13
  158. package/dist/schema/apps/web/admin/sections/crud-form/admin-input-spec.d.ts.map +1 -1
  159. package/dist/schema/apps/web/admin/sections/crud-form/admin-input-spec.js +5 -26
  160. package/dist/schema/apps/web/admin/sections/crud-form/admin-input-spec.js.map +1 -1
  161. package/dist/schema/creator/types.d.ts +3 -3
  162. package/dist/schema/creator/types.d.ts.map +1 -1
  163. package/dist/schema/index.d.ts +1 -0
  164. package/dist/schema/index.d.ts.map +1 -1
  165. package/dist/schema/index.js +1 -0
  166. package/dist/schema/index.js.map +1 -1
  167. package/dist/schema/libraries/base.d.ts +13 -0
  168. package/dist/schema/libraries/base.d.ts.map +1 -0
  169. package/dist/schema/libraries/base.js +10 -0
  170. package/dist/schema/libraries/base.js.map +1 -0
  171. package/dist/schema/libraries/index.d.ts +3 -0
  172. package/dist/schema/libraries/index.d.ts.map +1 -0
  173. package/dist/schema/libraries/index.js +3 -0
  174. package/dist/schema/libraries/index.js.map +1 -0
  175. package/dist/schema/libraries/library.d.ts +19 -0
  176. package/dist/schema/libraries/library.d.ts.map +1 -0
  177. package/dist/schema/libraries/library.js +13 -0
  178. package/dist/schema/libraries/library.js.map +1 -0
  179. package/dist/schema/libraries/types.d.ts +2 -0
  180. package/dist/schema/libraries/types.d.ts.map +1 -0
  181. package/dist/schema/libraries/types.js +3 -0
  182. package/dist/schema/libraries/types.js.map +1 -0
  183. package/dist/schema/models/transformers/model-transformer-spec.d.ts +5 -11
  184. package/dist/schema/models/transformers/model-transformer-spec.d.ts.map +1 -1
  185. package/dist/schema/models/transformers/model-transformer-spec.js +5 -30
  186. package/dist/schema/models/transformers/model-transformer-spec.js.map +1 -1
  187. package/dist/schema/models/transformers/transformers.d.ts.map +1 -1
  188. package/dist/schema/models/transformers/transformers.js +2 -4
  189. package/dist/schema/models/transformers/transformers.js.map +1 -1
  190. package/dist/schema/plugins/definition.js +1 -1
  191. package/dist/schema/plugins/definition.js.map +1 -1
  192. package/dist/schema/project-definition.d.ts +18 -8
  193. package/dist/schema/project-definition.d.ts.map +1 -1
  194. package/dist/schema/project-definition.js +2 -0
  195. package/dist/schema/project-definition.js.map +1 -1
  196. package/dist/schema/settings/monorepo.d.ts +2 -2
  197. package/dist/schema/settings/monorepo.d.ts.map +1 -1
  198. package/dist/schema/settings/monorepo.js +17 -2
  199. package/dist/schema/settings/monorepo.js.map +1 -1
  200. package/dist/schema/settings/settings.d.ts +1 -0
  201. package/dist/schema/settings/settings.d.ts.map +1 -1
  202. package/dist/specs/index.d.ts +2 -0
  203. package/dist/specs/index.d.ts.map +1 -0
  204. package/dist/specs/index.js +2 -0
  205. package/dist/specs/index.js.map +1 -0
  206. package/dist/specs/packages/index.d.ts +3 -0
  207. package/dist/specs/packages/index.d.ts.map +1 -0
  208. package/dist/specs/packages/index.js +3 -0
  209. package/dist/specs/packages/index.js.map +1 -0
  210. package/dist/specs/packages/library-type-spec.d.ts +76 -0
  211. package/dist/specs/packages/library-type-spec.d.ts.map +1 -0
  212. package/dist/specs/packages/library-type-spec.js +31 -0
  213. package/dist/specs/packages/library-type-spec.js.map +1 -0
  214. package/dist/specs/packages/package-compiler-types.d.ts +111 -0
  215. package/dist/specs/packages/package-compiler-types.d.ts.map +1 -0
  216. package/dist/specs/packages/package-compiler-types.js +85 -0
  217. package/dist/specs/packages/package-compiler-types.js.map +1 -0
  218. package/dist/web/hooks/use-project-definition.d.ts +2 -2
  219. package/dist/web/hooks/use-project-definition.d.ts.map +1 -1
  220. package/dist/web/specs/admin-crud-action-web-spec.d.ts +6 -12
  221. package/dist/web/specs/admin-crud-action-web-spec.d.ts.map +1 -1
  222. package/dist/web/specs/admin-crud-action-web-spec.js +6 -29
  223. package/dist/web/specs/admin-crud-action-web-spec.js.map +1 -1
  224. package/dist/web/specs/admin-crud-column-web-spec.d.ts +6 -12
  225. package/dist/web/specs/admin-crud-column-web-spec.d.ts.map +1 -1
  226. package/dist/web/specs/admin-crud-column-web-spec.js +6 -29
  227. package/dist/web/specs/admin-crud-column-web-spec.js.map +1 -1
  228. package/dist/web/specs/admin-crud-input-web-spec.d.ts +6 -12
  229. package/dist/web/specs/admin-crud-input-web-spec.d.ts.map +1 -1
  230. package/dist/web/specs/admin-crud-input-web-spec.js +6 -29
  231. package/dist/web/specs/admin-crud-input-web-spec.js.map +1 -1
  232. package/dist/web/specs/model-transformer-web-spec.d.ts +8 -13
  233. package/dist/web/specs/model-transformer-web-spec.d.ts.map +1 -1
  234. package/dist/web/specs/model-transformer-web-spec.js +16 -28
  235. package/dist/web/specs/model-transformer-web-spec.js.map +1 -1
  236. package/package.json +6 -6
  237. package/dist/compiler/admin-crud-action-spec.d.ts +0 -26
  238. package/dist/compiler/admin-crud-action-spec.d.ts.map +0 -1
  239. package/dist/compiler/admin-crud-action-spec.js +0 -29
  240. package/dist/compiler/admin-crud-action-spec.js.map +0 -1
  241. package/dist/plugins/schema/index.d.ts.map +0 -1
  242. package/dist/plugins/schema/index.js.map +0 -1
  243. package/dist/plugins/schema/store.d.ts +0 -8
  244. package/dist/plugins/schema/store.d.ts.map +0 -1
  245. package/dist/plugins/schema/store.js +0 -17
  246. package/dist/plugins/schema/store.js.map +0 -1
  247. package/dist/plugins/spec/auth-model-config-spec.d.ts +0 -14
  248. package/dist/plugins/spec/auth-model-config-spec.d.ts.map +0 -1
  249. package/dist/plugins/spec/auth-model-config-spec.js +0 -6
  250. package/dist/plugins/spec/auth-model-config-spec.js.map +0 -1
  251. /package/dist/plugins/{schema → store}/index.d.ts +0 -0
  252. /package/dist/plugins/{schema → store}/index.js +0 -0
@@ -1,34 +1,9 @@
1
- import { createPluginSpec } from '#src/plugins/spec/types.js';
1
+ import { createFieldMapSpec } from '#src/plugins/utils/create-field-map-spec.js';
2
2
  import { BUILT_IN_TRANSFORMERS } from './built-in-transformers.js';
3
- export function createModelTransformerImplementation() {
4
- const transformers = {};
5
- for (const transformer of BUILT_IN_TRANSFORMERS) {
6
- transformers[transformer.name] =
7
- transformer;
8
- }
9
- return {
10
- registerModelTransformer(transformer) {
11
- if (transformer.name in transformers) {
12
- throw new Error(`Model transformer with name ${transformer.name} is already registered`);
13
- }
14
- transformers[transformer.name] =
15
- transformer;
16
- },
17
- getModelTransformers() {
18
- return transformers;
19
- },
20
- getModelTransformer(name) {
21
- if (!(name in transformers)) {
22
- throw new Error(`Unable to find transformer with name ${name}`);
23
- }
24
- return transformers[name];
25
- },
26
- };
27
- }
28
3
  /**
29
- * Spec for adding config component for plugin
4
+ * Spec for registering additional model transformer types
30
5
  */
31
- export const modelTransformerSpec = createPluginSpec('core/model-transformer', {
32
- defaultInitializer: createModelTransformerImplementation,
33
- });
6
+ export const modelTransformerSpec = createFieldMapSpec('core/model-transformer', (t) => ({
7
+ transformers: t.namedArrayToMap(BUILT_IN_TRANSFORMERS),
8
+ }));
34
9
  //# sourceMappingURL=model-transformer-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-transformer-spec.js","sourceRoot":"","sources":["../../../../src/schema/models/transformers/model-transformer-spec.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAO9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAanE,MAAM,UAAU,oCAAoC;IAClD,MAAM,YAAY,GAAyC,EAAE,CAAC;IAC9D,KAAK,MAAM,WAAW,IAAI,qBAAqB,EAAE,CAAC;QAChD,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC;YAC5B,WAA8C,CAAC;IACnD,CAAC;IAED,OAAO;QACL,wBAAwB,CAAC,WAAW;YAClC,IAAI,WAAW,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,+BAA+B,WAAW,CAAC,IAAI,wBAAwB,CACxE,CAAC;YACJ,CAAC;YACD,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC5B,WAA8C,CAAC;QACnD,CAAC;QACD,oBAAoB;YAClB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,mBAAmB,CAAC,IAAI;YACtB,IAAI,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,wBAAwB,EAAE;IAC7E,kBAAkB,EAAE,oCAAoC;CACzD,CAAC,CAAC"}
1
+ {"version":3,"file":"model-transformer-spec.js","sourceRoot":"","sources":["../../../../src/schema/models/transformers/model-transformer-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAOjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CACpD,wBAAwB,EACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,YAAY,EAAE,CAAC,CAAC,eAAe,CAE7B,qBAAqB,CAAC;CACzB,CAAC,CACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../../../src/schema/models/transformers/transformers.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AASpB,eAAO,MAAM,uBAAuB;;;;;EAanC,CAAC"}
1
+ {"version":3,"file":"transformers.d.ts","sourceRoot":"","sources":["../../../../src/schema/models/transformers/transformers.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AASpB,eAAO,MAAM,uBAAuB;;;;;EAWnC,CAAC"}
@@ -3,9 +3,7 @@ import { definitionSchemaWithSlots } from '#src/schema/creator/schema-creator.js
3
3
  import { modelEntityType } from '../types.js';
4
4
  import { modelTransformerSpec } from './model-transformer-spec.js';
5
5
  export const createTransformerSchema = definitionSchemaWithSlots({ modelSlot: modelEntityType }, (ctx, slots) => {
6
- const transformers = ctx.plugins
7
- .getPluginSpec(modelTransformerSpec)
8
- .getModelTransformers();
9
- return z.discriminatedUnion('type', Object.values(transformers).map((transformer) => transformer.createSchema(ctx, slots)));
6
+ const { transformers } = ctx.plugins.use(modelTransformerSpec);
7
+ return z.discriminatedUnion('type', [...transformers.values()].map((transformer) => transformer.createSchema(ctx, slots)));
10
8
  });
11
9
  //# sourceMappingURL=transformers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../../../../src/schema/models/transformers/transformers.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAIlF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAC9D,EAAE,SAAS,EAAE,eAAe,EAAE,EAC9B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IACb,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO;SAC7B,aAAa,CAAC,oBAAoB,CAAC;SACnC,oBAAoB,EAAE,CAAC;IAC1B,OAAO,CAAC,CAAC,kBAAkB,CACzB,MAAM,EACN,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAC9C,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CACH,CACpC,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../../../../src/schema/models/transformers/transformers.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAIlF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAC9D,EAAE,SAAS,EAAE,eAAe,EAAE,EAC9B,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IACb,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC/D,OAAO,CAAC,CAAC,kBAAkB,CACzB,MAAM,EACN,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAC7C,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CACH,CACpC,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -17,7 +17,7 @@ export const createPluginWithConfigSchema = definitionSchema((ctx) => ctx
17
17
  .transform((data) => {
18
18
  const pluginKey = pluginEntityType.keyFromId(data.id);
19
19
  const createConfigSchema = ctx.plugins
20
- .getPluginSpec(pluginConfigSpec)
20
+ .use(pluginConfigSpec)
21
21
  .getSchemaCreator(pluginKey);
22
22
  if (!createConfigSchema)
23
23
  return data;
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../src/schema/plugins/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,4BAA4B,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CACnE,GAAG;KACA,OAAO,CAAC,0BAA0B,EAAE;IACnC,IAAI,EAAE,gBAAgB;CACvB,CAAC;KACD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;IAClB,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEtD,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO;SACnC,aAAa,CAAC,gBAAgB,CAAC;SAC/B,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE/B,IAAI,CAAC,kBAAkB;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;KACnD,CAAC;AACJ,CAAC,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1D,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAC3C,CAAC"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../src/schema/plugins/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;IACnB,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,4BAA4B,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CACnE,GAAG;KACA,OAAO,CAAC,0BAA0B,EAAE;IACnC,IAAI,EAAE,gBAAgB;CACvB,CAAC;KACD,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;IAClB,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEtD,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO;SACnC,GAAG,CAAC,gBAAgB,CAAC;SACrB,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE/B,IAAI,CAAC,kBAAkB;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO;QACL,GAAG,IAAI;QACP,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;KACnD,CAAC;AACJ,CAAC,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1D,CAAC,CAAC,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAC3C,CAAC"}
@@ -5,7 +5,6 @@ export declare const createAppSchema: (context: import("./creator/types.js").Def
5
5
  id: string;
6
6
  name: string;
7
7
  enableStripe?: boolean | undefined;
8
- enablePostmark?: boolean | undefined;
9
8
  enableSubscriptions?: boolean | undefined;
10
9
  enableAxios?: boolean | undefined;
11
10
  } | {
@@ -97,7 +96,6 @@ export declare const createAppSchema: (context: import("./creator/types.js").Def
97
96
  type: "backend";
98
97
  name: string;
99
98
  enableStripe?: boolean | undefined;
100
- enablePostmark?: boolean | undefined;
101
99
  enableSubscriptions?: boolean | undefined;
102
100
  enableAxios?: boolean | undefined;
103
101
  id?: string | undefined;
@@ -191,7 +189,6 @@ export declare const createAppSchema: (context: import("./creator/types.js").Def
191
189
  id: string;
192
190
  name: string;
193
191
  enableStripe?: boolean | undefined;
194
- enablePostmark?: boolean | undefined;
195
192
  enableSubscriptions?: boolean | undefined;
196
193
  enableAxios?: boolean | undefined;
197
194
  } | {
@@ -283,7 +280,6 @@ export declare const createAppSchema: (context: import("./creator/types.js").Def
283
280
  type: "backend";
284
281
  name: string;
285
282
  enableStripe?: boolean | undefined;
286
- enablePostmark?: boolean | undefined;
287
283
  enableSubscriptions?: boolean | undefined;
288
284
  enableAxios?: boolean | undefined;
289
285
  id?: string | undefined;
@@ -381,7 +377,6 @@ export declare const createProjectDefinitionSchema: (context: import("./creator/
381
377
  id: string;
382
378
  name: string;
383
379
  enableStripe?: boolean | undefined;
384
- enablePostmark?: boolean | undefined;
385
380
  enableSubscriptions?: boolean | undefined;
386
381
  enableAxios?: boolean | undefined;
387
382
  } | {
@@ -473,7 +468,6 @@ export declare const createProjectDefinitionSchema: (context: import("./creator/
473
468
  type: "backend";
474
469
  name: string;
475
470
  enableStripe?: boolean | undefined;
476
- enablePostmark?: boolean | undefined;
477
471
  enableSubscriptions?: boolean | undefined;
478
472
  enableAxios?: boolean | undefined;
479
473
  id?: string | undefined;
@@ -567,7 +561,6 @@ export declare const createProjectDefinitionSchema: (context: import("./creator/
567
561
  id: string;
568
562
  name: string;
569
563
  enableStripe?: boolean | undefined;
570
- enablePostmark?: boolean | undefined;
571
564
  enableSubscriptions?: boolean | undefined;
572
565
  enableAxios?: boolean | undefined;
573
566
  } | {
@@ -659,7 +652,6 @@ export declare const createProjectDefinitionSchema: (context: import("./creator/
659
652
  type: "backend";
660
653
  name: string;
661
654
  enableStripe?: boolean | undefined;
662
- enablePostmark?: boolean | undefined;
663
655
  enableSubscriptions?: boolean | undefined;
664
656
  enableAxios?: boolean | undefined;
665
657
  id?: string | undefined;
@@ -749,6 +741,23 @@ export declare const createProjectDefinitionSchema: (context: import("./creator/
749
741
  } | undefined;
750
742
  id?: string | undefined;
751
743
  }>>>>;
744
+ libraries: z.ZodDefault<z.ZodArray<z.ZodType<{
745
+ id: string;
746
+ name: string;
747
+ type: string;
748
+ }, {
749
+ name: string;
750
+ type: string;
751
+ id?: string | undefined;
752
+ }, z.core.$ZodTypeInternals<{
753
+ id: string;
754
+ name: string;
755
+ type: string;
756
+ }, {
757
+ name: string;
758
+ type: string;
759
+ id?: string | undefined;
760
+ }>>>>;
752
761
  features: z.ZodDefault<z.ZodArray<z.ZodType<{
753
762
  id: string;
754
763
  name: string;
@@ -1234,6 +1243,7 @@ export declare const createProjectDefinitionSchema: (context: import("./creator/
1234
1243
  }, z.core.$strip>>;
1235
1244
  monorepo: z.ZodOptional<z.ZodObject<{
1236
1245
  appsFolder: z.ZodDefault<z.ZodString>;
1246
+ librariesFolder: z.ZodDefault<z.ZodString>;
1237
1247
  }, z.core.$strip>>;
1238
1248
  templateExtractor: z.ZodOptional<z.ZodObject<{
1239
1249
  writeMetadata: z.ZodDefault<z.ZodBoolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"project-definition.d.ts","sourceRoot":"","sources":["../../src/schema/project-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAY9C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAa3B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAEhE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYzC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,UAAU,CACjD,OAAO,6BAA6B,CACrC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAC7C,OAAO,6BAA6B,CACrC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,GAAG,CAAC,WAAW,CACnD,OAAO,6BAA6B,CACrC,CAAC"}
1
+ {"version":3,"file":"project-definition.d.ts","sourceRoot":"","sources":["../../src/schema/project-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAa9C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAa3B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAEhE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAazC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,UAAU,CACjD,OAAO,6BAA6B,CACrC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAC7C,OAAO,6BAA6B,CACrC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,GAAG,CAAC,WAAW,CACnD,OAAO,6BAA6B,CACrC,CAAC"}
@@ -4,6 +4,7 @@ import { createWebAppSchema } from './apps/index.js';
4
4
  import { appEntityType } from './apps/types.js';
5
5
  import { definitionSchema } from './creator/schema-creator.js';
6
6
  import { createFeaturesSchema } from './features/index.js';
7
+ import { createLibrarySchema } from './libraries/library.js';
7
8
  import { createEnumSchema } from './models/enums.js';
8
9
  import { createModelSchema } from './models/index.js';
9
10
  import { createPluginsSchema } from './plugins/index.js';
@@ -18,6 +19,7 @@ export const createAppSchema = definitionSchema((ctx) => ctx.refContext({ appSlo
18
19
  export const createProjectDefinitionSchema = definitionSchema((ctx) => z.object({
19
20
  cliVersion: z.string().nullish(),
20
21
  apps: z.array(createAppSchema(ctx)).default([]),
22
+ libraries: z.array(createLibrarySchema(ctx)).default([]),
21
23
  features: createFeaturesSchema(ctx),
22
24
  models: z.array(createModelSchema(ctx)).default([]),
23
25
  enums: z.array(createEnumSchema(ctx)).optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"project-definition.js","sourceRoot":"","sources":["../../src/schema/project-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CACtD,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACzD,GAAG,CAAC,OAAO,CACT,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC3B,sBAAsB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;IACxC,kBAAkB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;CACrC,CAAC,EACF;IACE,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,OAAO;CAClB,CACF,CACF,CACF,CAAC;AAIF,MAAM,CAAC,MAAM,6BAA6B,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CACpE,CAAC,CAAC,MAAM,CAAC;IACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACzC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC5C,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;CACpC,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"project-definition.js","sourceRoot":"","sources":["../../src/schema/project-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CACtD,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACzD,GAAG,CAAC,OAAO,CACT,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC3B,sBAAsB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;IACxC,kBAAkB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;CACrC,CAAC,EACF;IACE,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,OAAO;CAClB,CACF,CACF,CACF,CAAC;AAIF,MAAM,CAAC,MAAM,6BAA6B,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CACpE,CAAC,CAAC,MAAM,CAAC;IACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACxD,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACzC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC5C,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;CACpC,CAAC,CACH,CAAC"}
@@ -2,11 +2,11 @@ import { z } from 'zod';
2
2
  /**
3
3
  * Monorepo settings schema
4
4
  *
5
- * Configures the folder structure for monorepo packages.
6
- * In V1, only supports configuring the apps folder location.
5
+ * Configures the folder structure for monorepo apps and libraries.
7
6
  */
8
7
  export declare const monorepoSettingsSchema: z.ZodObject<{
9
8
  appsFolder: z.ZodDefault<z.ZodString>;
9
+ librariesFolder: z.ZodDefault<z.ZodString>;
10
10
  }, z.core.$strip>;
11
11
  /**
12
12
  * Input type for monorepo settings (before Zod transformation)
@@ -1 +1 @@
1
- {"version":3,"file":"monorepo.d.ts","sourceRoot":"","sources":["../../../src/schema/settings/monorepo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;iBAkBjC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAC/C,OAAO,sBAAsB,CAC9B,CAAC"}
1
+ {"version":3,"file":"monorepo.d.ts","sourceRoot":"","sources":["../../../src/schema/settings/monorepo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;iBAoCjC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAC/C,OAAO,sBAAsB,CAC9B,CAAC"}
@@ -3,8 +3,7 @@ import { z } from 'zod';
3
3
  /**
4
4
  * Monorepo settings schema
5
5
  *
6
- * Configures the folder structure for monorepo packages.
7
- * In V1, only supports configuring the apps folder location.
6
+ * Configures the folder structure for monorepo apps and libraries.
8
7
  */
9
8
  export const monorepoSettingsSchema = z.object({
10
9
  /**
@@ -23,5 +22,21 @@ export const monorepoSettingsSchema = z.object({
23
22
  message: 'Apps folder must contain only lowercase letters, numbers, and dashes (no slashes)',
24
23
  })
25
24
  .default('apps'),
25
+ /**
26
+ * The folder where libraries are located in the monorepo.
27
+ *
28
+ * Must be in kebab-case format (lowercase letters and dashes only).
29
+ * Libraries will be placed in {librariesFolder}/{library-name}, e.g. "libs/shared-utils".
30
+ *
31
+ * @default "libs"
32
+ * @example "libs" → libs/shared-utils, libs/common
33
+ * @example "packages" → packages/shared-utils, packages/common
34
+ */
35
+ librariesFolder: CASE_VALIDATORS.KEBAB_CASE.min(1)
36
+ .max(50)
37
+ .regex(/^[a-z0-9-]+$/, {
38
+ message: 'Libraries folder must contain only lowercase letters, numbers, and dashes (no slashes)',
39
+ })
40
+ .default('libs'),
26
41
  });
27
42
  //# sourceMappingURL=monorepo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"monorepo.js","sourceRoot":"","sources":["../../../src/schema/settings/monorepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C;;;;;;;;;OASG;IACH,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SAC1C,GAAG,CAAC,EAAE,CAAC;SACP,KAAK,CAAC,cAAc,EAAE;QACrB,OAAO,EACL,mFAAmF;KACtF,CAAC;SACD,OAAO,CAAC,MAAM,CAAC;CACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"monorepo.js","sourceRoot":"","sources":["../../../src/schema/settings/monorepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C;;;;;;;;;OASG;IACH,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SAC1C,GAAG,CAAC,EAAE,CAAC;SACP,KAAK,CAAC,cAAc,EAAE;QACrB,OAAO,EACL,mFAAmF;KACtF,CAAC;SACD,OAAO,CAAC,MAAM,CAAC;IAElB;;;;;;;;;OASG;IACH,eAAe,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SAC/C,GAAG,CAAC,EAAE,CAAC;SACP,KAAK,CAAC,cAAc,EAAE;QACrB,OAAO,EACL,wFAAwF;KAC3F,CAAC;SACD,OAAO,CAAC,MAAM,CAAC;CACnB,CAAC,CAAC"}
@@ -22,6 +22,7 @@ export declare const createSettingsSchema: (context: import("../index.js").Defin
22
22
  }, z.core.$strip>>;
23
23
  monorepo: z.ZodOptional<z.ZodObject<{
24
24
  appsFolder: z.ZodDefault<z.ZodString>;
25
+ librariesFolder: z.ZodDefault<z.ZodString>;
25
26
  }, z.core.$strip>>;
26
27
  templateExtractor: z.ZodOptional<z.ZodObject<{
27
28
  writeMetadata: z.ZodDefault<z.ZodBoolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/schema/settings/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuChC,CAAC"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/schema/settings/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuChC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './packages/index.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/specs/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './packages/index.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/specs/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './library-type-spec.js';
2
+ export * from './package-compiler-types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/specs/packages/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './library-type-spec.js';
2
+ export * from './package-compiler-types.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/specs/packages/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,76 @@
1
+ import type React from 'react';
2
+ import z from 'zod';
3
+ import type { ProjectDefinitionContainer } from '#src/definition/project-definition-container.js';
4
+ import type { BaseLibraryDefinition, DefinitionSchemaCreatorWithSlots } from '#src/schema/index.js';
5
+ import { libraryEntityType } from '#src/schema/index.js';
6
+ import type { PackageCompiler } from './package-compiler-types.js';
7
+ export interface LibraryDefinitionSchemaEntry<T extends BaseLibraryDefinition = BaseLibraryDefinition> {
8
+ name: string;
9
+ definitionSchema: DefinitionSchemaCreatorWithSlots<z.ZodType<T>, {
10
+ librarySlot: typeof libraryEntityType;
11
+ }>;
12
+ }
13
+ export declare const nodeLibraryDefinitionSchemaEntry: {
14
+ name: string;
15
+ definitionSchema: DefinitionSchemaCreatorWithSlots<z.ZodObject<{
16
+ type: z.ZodLiteral<"node-library">;
17
+ id: z.ZodDefault<z.ZodString>;
18
+ name: z.ZodString;
19
+ }, z.z.core.$strip>, {
20
+ librarySlot: import("../../index.js").DefinitionEntityType<false>;
21
+ }>;
22
+ };
23
+ export interface LibraryCompilerCreator<T extends BaseLibraryDefinition = BaseLibraryDefinition> {
24
+ name: string;
25
+ createCompiler: (definitionContainer: ProjectDefinitionContainer, packageConfig: T) => PackageCompiler;
26
+ }
27
+ /**
28
+ * Props passed to library edit components
29
+ */
30
+ export interface LibraryEditComponentProps<T extends BaseLibraryDefinition = BaseLibraryDefinition> {
31
+ packageDefinition: T;
32
+ }
33
+ /**
34
+ * Parameters for creating a new library definition
35
+ */
36
+ export interface CreateLibraryDefinitionParams {
37
+ id: string;
38
+ name: string;
39
+ }
40
+ /**
41
+ * Web configuration for a library type
42
+ */
43
+ export interface LibraryWebConfig<T extends BaseLibraryDefinition = BaseLibraryDefinition> {
44
+ name: string;
45
+ /** Display name shown in the UI (e.g., "Node Library") */
46
+ displayName: string;
47
+ /** React component for editing this library type */
48
+ EditComponent: React.ComponentType<LibraryEditComponentProps<T>>;
49
+ /** Creates a new library definition with the given id and name */
50
+ createDefinition: (params: CreateLibraryDefinitionParams) => T;
51
+ }
52
+ /**
53
+ * Creates a typed library web config
54
+ */
55
+ export declare function createLibraryWebConfig<T extends BaseLibraryDefinition = BaseLibraryDefinition>(config: LibraryWebConfig<T>): LibraryWebConfig<T>;
56
+ /**
57
+ * Package type spec for registering package schemas, compilers, and web configs.
58
+ */
59
+ export declare const libraryTypeSpec: import("#src/plugins/index.js").PluginSpec<{
60
+ schemaCreators: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<LibraryDefinitionSchemaEntry<{
61
+ id: string;
62
+ name: string;
63
+ type: string;
64
+ }>>;
65
+ compilerCreators: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<LibraryCompilerCreator<any>>;
66
+ webConfigs: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<LibraryWebConfig<any>>;
67
+ }, import("@baseplate-dev/utils").FieldMapValues<{
68
+ schemaCreators: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<LibraryDefinitionSchemaEntry<{
69
+ id: string;
70
+ name: string;
71
+ type: string;
72
+ }>>;
73
+ compilerCreators: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<LibraryCompilerCreator<any>>;
74
+ webConfigs: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<LibraryWebConfig<any>>;
75
+ }>>;
76
+ //# sourceMappingURL=library-type-spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-type-spec.d.ts","sourceRoot":"","sources":["../../../src/specs/packages/library-type-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EACV,qBAAqB,EACrB,gCAAgC,EACjC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAEL,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,WAAW,4BAA4B,CAC3C,CAAC,SAAS,qBAAqB,GAAG,qBAAqB;IAEvD,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,gCAAgC,CAChD,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACZ;QAAE,WAAW,EAAE,OAAO,iBAAiB,CAAA;KAAE,CAC1C,CAAC;CACH;AAWD,eAAO,MAAM,gCAAgC;;;;;;;;;CAG5C,CAAC;AAEF,MAAM,WAAW,sBAAsB,CACrC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB;IAEvD,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,CACd,mBAAmB,EAAE,0BAA0B,EAC/C,aAAa,EAAE,CAAC,KACb,eAAe,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB,CACxC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB;IAEvD,iBAAiB,EAAE,CAAC,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAC/B,CAAC,SAAS,qBAAqB,GAAG,qBAAqB;IAEvD,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,kEAAkE;IAClE,gBAAgB,EAAE,CAAC,MAAM,EAAE,6BAA6B,KAAK,CAAC,CAAC;CAChE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,EACvD,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAElD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;GAQzB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import z from 'zod';
2
+ import { createFieldMapSpec } from '#src/plugins/index.js';
3
+ import { definitionSchemaWithSlots, libraryEntityType, } from '#src/schema/index.js';
4
+ import { baseLibraryValidators } from '#src/schema/libraries/base.js';
5
+ const createNodeLibrarySchema = definitionSchemaWithSlots({ librarySlot: libraryEntityType }, () => z.object({
6
+ ...baseLibraryValidators,
7
+ type: z.literal('node-library'),
8
+ }));
9
+ export const nodeLibraryDefinitionSchemaEntry = {
10
+ name: 'node-library',
11
+ definitionSchema: createNodeLibrarySchema,
12
+ };
13
+ /**
14
+ * Creates a typed library web config
15
+ */
16
+ export function createLibraryWebConfig(config) {
17
+ return config;
18
+ }
19
+ /**
20
+ * Package type spec for registering package schemas, compilers, and web configs.
21
+ */
22
+ export const libraryTypeSpec = createFieldMapSpec('core/library-type', (t) => ({
23
+ schemaCreators: t.namedArrayToMap([
24
+ nodeLibraryDefinitionSchemaEntry,
25
+ ]),
26
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+ compilerCreators: t.namedArrayToMap(),
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ webConfigs: t.namedArrayToMap(),
30
+ }));
31
+ //# sourceMappingURL=library-type-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"library-type-spec.js","sourceRoot":"","sources":["../../../src/specs/packages/library-type-spec.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,KAAK,CAAC;AAQpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AActE,MAAM,uBAAuB,GAAG,yBAAyB,CACvD,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAClC,GAAG,EAAE,CACH,CAAC,CAAC,MAAM,CAAC;IACP,GAAG,qBAAqB;IACxB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;CAChC,CAAC,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,IAAI,EAAE,cAAc;IACpB,gBAAgB,EAAE,uBAAuB;CAC1C,CAAC;AA4CF;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAEpC,MAA2B;IAC3B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7E,cAAc,EAAE,CAAC,CAAC,eAAe,CAA+B;QAC9D,gCAAgC;KACjC,CAAC;IACF,8DAA8D;IAC9D,gBAAgB,EAAE,CAAC,CAAC,eAAe,EAA+B;IAClE,8DAA8D;IAC9D,UAAU,EAAE,CAAC,CAAC,eAAe,EAAyB;CACvD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,111 @@
1
+ import type { GeneratorBundle } from '@baseplate-dev/sync';
2
+ import type { ProjectDefinitionContainer } from '#src/definition/project-definition-container.js';
3
+ import type { BaseLibraryDefinition } from '#src/schema/libraries/base.js';
4
+ import type { MonorepoSettingsDefinition } from '#src/schema/settings/monorepo.js';
5
+ /**
6
+ * Represents a compiled package entry ready for code generation
7
+ *
8
+ * A PackageEntry contains all information needed to generate code for a single
9
+ * package in the monorepo, including its generator bundle and target directory.
10
+ */
11
+ export interface PackageEntry {
12
+ /** Unique identifier for the package */
13
+ id: string;
14
+ /** Package name */
15
+ name: string;
16
+ /** Relative directory path from project root (e.g., 'packages/utils', '.') */
17
+ packageDirectory: string;
18
+ /** Generator bundle containing all generation tasks for this package */
19
+ generatorBundle: GeneratorBundle;
20
+ }
21
+ /**
22
+ * Tasks for a package used in turbo configuration
23
+ */
24
+ export interface PackageTasks {
25
+ build: string[];
26
+ dev: string[];
27
+ watch: string[];
28
+ }
29
+ export interface PackageCompilerTasks {
30
+ build: string[];
31
+ dev: string[];
32
+ watch: string[];
33
+ }
34
+ export interface PackageCompilerContext {
35
+ compilers: PackageCompiler[];
36
+ }
37
+ /**
38
+ * Abstract base class for package type compilers
39
+ *
40
+ * Each package type (backend, web, library, etc.) extends this class
41
+ * to define how it should be compiled into a PackageEntry with generator bundles.
42
+ *
43
+ * Each child class defines its own constructor requirements based on what
44
+ * information it needs (e.g., app config, definition container).
45
+ */
46
+ export declare abstract class PackageCompiler {
47
+ protected readonly definitionContainer: ProjectDefinitionContainer;
48
+ constructor(definitionContainer: ProjectDefinitionContainer);
49
+ /**
50
+ * Compile a package configuration into a PackageEntry with generator bundle
51
+ *
52
+ * @returns PackageEntry with generated bundle ready for sync
53
+ */
54
+ abstract compile(context: PackageCompilerContext): PackageEntry;
55
+ /**
56
+ * Get the formatted package name (e.g., '@scope/backend' or 'project-backend')
57
+ *
58
+ * @returns Formatted package name
59
+ */
60
+ abstract getPackageName(): string;
61
+ /**
62
+ * Get the package directory path relative to monorepo root
63
+ *
64
+ * @returns Package directory path (e.g., 'apps/backend', '.')
65
+ */
66
+ abstract getPackageDirectory(): string;
67
+ /**
68
+ * Get the tasks for a package used in turbo configuration
69
+ *
70
+ * @returns Object with build, dev, and watch tasks
71
+ */
72
+ getTasks(): PackageTasks;
73
+ }
74
+ export declare const DEFAULT_APPS_FOLDER = "apps";
75
+ export declare const DEFAULT_LIBRARIES_FOLDER = "libs";
76
+ /**
77
+ * Build a scoped package name using the package scope or project name as scope
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * buildPackageName({ name: 'blog', packageScope: 'acme' }, 'utils')
82
+ * // Returns: '@acme/utils'
83
+ *
84
+ * buildPackageName({ name: 'blog', packageScope: '' }, 'utils')
85
+ * // Returns: '@blog/utils'
86
+ * ```
87
+ */
88
+ export declare function buildPackageName(generalSettings: {
89
+ name: string;
90
+ packageScope: string;
91
+ }, packageName: string): string;
92
+ /**
93
+ * Get the package directory for an app or library package based off
94
+ * the monorepo settings and package name
95
+ */
96
+ export declare function getPackageDirectory(monorepoSettings: MonorepoSettingsDefinition | undefined, packageName: string, packageType: 'app' | 'library'): string;
97
+ /**
98
+ * Abstract base class for library package compilers
99
+ *
100
+ * Library packages differ from app packages in that they:
101
+ * - Don't use the plugin system (no AppEntryBuilder)
102
+ * - Use the librariesFolder instead of appsFolder
103
+ * - Have simpler compilation without app-specific features
104
+ */
105
+ export declare abstract class LibraryCompiler<TPackageConfig extends BaseLibraryDefinition> extends PackageCompiler {
106
+ protected readonly packageConfig: TPackageConfig;
107
+ constructor(definitionContainer: ProjectDefinitionContainer, packageConfig: TPackageConfig);
108
+ getPackageName(): string;
109
+ getPackageDirectory(): string;
110
+ }
111
+ //# sourceMappingURL=package-compiler-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-compiler-types.d.ts","sourceRoot":"","sources":["../../../src/specs/packages/package-compiler-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,gBAAgB,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,8BAAsB,eAAe;IACnC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,0BAA0B,CAAC;gBAEvD,mBAAmB,EAAE,0BAA0B;IAG3D;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,YAAY;IAE/D;;;;OAIG;IACH,QAAQ,CAAC,cAAc,IAAI,MAAM;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,IAAI,MAAM;IAEtC;;;;OAIG;IACH,QAAQ,IAAI,YAAY;CAOzB;AAMD,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAC1C,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,eAAe,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,EACvD,WAAW,EAAE,MAAM,GAClB,MAAM,CAGR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,gBAAgB,EAAE,0BAA0B,GAAG,SAAS,EACxD,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,KAAK,GAAG,SAAS,GAC7B,MAAM,CAMR;AAMD;;;;;;;GAOG;AACH,8BAAsB,eAAe,CACnC,cAAc,SAAS,qBAAqB,CAC5C,SAAQ,eAAe;IACvB,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC;gBAG/C,mBAAmB,EAAE,0BAA0B,EAC/C,aAAa,EAAE,cAAc;IAM/B,cAAc,IAAI,MAAM;IAMxB,mBAAmB,IAAI,MAAM;CAS9B"}