@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
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Abstract base class for package type compilers
3
+ *
4
+ * Each package type (backend, web, library, etc.) extends this class
5
+ * to define how it should be compiled into a PackageEntry with generator bundles.
6
+ *
7
+ * Each child class defines its own constructor requirements based on what
8
+ * information it needs (e.g., app config, definition container).
9
+ */
10
+ export class PackageCompiler {
11
+ definitionContainer;
12
+ constructor(definitionContainer) {
13
+ this.definitionContainer = definitionContainer;
14
+ }
15
+ /**
16
+ * Get the tasks for a package used in turbo configuration
17
+ *
18
+ * @returns Object with build, dev, and watch tasks
19
+ */
20
+ getTasks() {
21
+ return {
22
+ build: [],
23
+ dev: [],
24
+ watch: [],
25
+ };
26
+ }
27
+ }
28
+ // ============================================================================
29
+ // Package Directory Helpers
30
+ // ============================================================================
31
+ export const DEFAULT_APPS_FOLDER = 'apps';
32
+ export const DEFAULT_LIBRARIES_FOLDER = 'libs';
33
+ /**
34
+ * Build a scoped package name using the package scope or project name as scope
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * buildPackageName({ name: 'blog', packageScope: 'acme' }, 'utils')
39
+ * // Returns: '@acme/utils'
40
+ *
41
+ * buildPackageName({ name: 'blog', packageScope: '' }, 'utils')
42
+ * // Returns: '@blog/utils'
43
+ * ```
44
+ */
45
+ export function buildPackageName(generalSettings, packageName) {
46
+ const scope = generalSettings.packageScope || generalSettings.name;
47
+ return `@${scope}/${packageName}`;
48
+ }
49
+ /**
50
+ * Get the package directory for an app or library package based off
51
+ * the monorepo settings and package name
52
+ */
53
+ export function getPackageDirectory(monorepoSettings, packageName, packageType) {
54
+ const folder = packageType === 'app'
55
+ ? (monorepoSettings?.appsFolder ?? DEFAULT_APPS_FOLDER)
56
+ : (monorepoSettings?.librariesFolder ?? DEFAULT_LIBRARIES_FOLDER);
57
+ return `${folder}/${packageName}`;
58
+ }
59
+ // ============================================================================
60
+ // Library Compiler Base Class
61
+ // ============================================================================
62
+ /**
63
+ * Abstract base class for library package compilers
64
+ *
65
+ * Library packages differ from app packages in that they:
66
+ * - Don't use the plugin system (no AppEntryBuilder)
67
+ * - Use the librariesFolder instead of appsFolder
68
+ * - Have simpler compilation without app-specific features
69
+ */
70
+ export class LibraryCompiler extends PackageCompiler {
71
+ packageConfig;
72
+ constructor(definitionContainer, packageConfig) {
73
+ super(definitionContainer);
74
+ this.packageConfig = packageConfig;
75
+ }
76
+ getPackageName() {
77
+ const generalSettings = this.definitionContainer.definition.settings.general;
78
+ return buildPackageName(generalSettings, this.packageConfig.name);
79
+ }
80
+ getPackageDirectory() {
81
+ const monorepoSettings = this.definitionContainer.definition.settings.monorepo;
82
+ return getPackageDirectory(monorepoSettings, this.packageConfig.name, 'library');
83
+ }
84
+ }
85
+ //# sourceMappingURL=package-compiler-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-compiler-types.js","sourceRoot":"","sources":["../../../src/specs/packages/package-compiler-types.ts"],"names":[],"mappings":"AA0CA;;;;;;;;GAQG;AACH,MAAM,OAAgB,eAAe;IAChB,mBAAmB,CAA6B;IAEnE,YAAY,mBAA+C;QACzD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACjD,CAAC;IAsBD;;;;OAIG;IACH,QAAQ;QACN,OAAO;YACL,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;CACF;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAC1C,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,eAAuD,EACvD,WAAmB;IAEnB,MAAM,KAAK,GAAG,eAAe,CAAC,YAAY,IAAI,eAAe,CAAC,IAAI,CAAC;IACnE,OAAO,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,gBAAwD,EACxD,WAAmB,EACnB,WAA8B;IAE9B,MAAM,MAAM,GACV,WAAW,KAAK,KAAK;QACnB,CAAC,CAAC,CAAC,gBAAgB,EAAE,UAAU,IAAI,mBAAmB,CAAC;QACvD,CAAC,CAAC,CAAC,gBAAgB,EAAE,eAAe,IAAI,wBAAwB,CAAC,CAAC;IACtE,OAAO,GAAG,MAAM,IAAI,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;;;;;GAOG;AACH,MAAM,OAAgB,eAEpB,SAAQ,eAAe;IACJ,aAAa,CAAiB;IAEjD,YACE,mBAA+C,EAC/C,aAA6B;QAE7B,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,cAAc;QACZ,MAAM,eAAe,GACnB,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QACvD,OAAO,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,mBAAmB;QACjB,MAAM,gBAAgB,GACpB,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxD,OAAO,mBAAmB,CACxB,gBAAgB,EAChB,IAAI,CAAC,aAAa,CAAC,IAAI,EACvB,SAAS,CACV,CAAC;IACJ,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { ProjectDefinitionContainer } from '#src/definition/project-definition-container.js';
3
3
  import type { SchemaParserContext } from '#src/parser/types.js';
4
- import type { PluginImplementationStore } from '#src/plugins/index.js';
4
+ import type { PluginSpecStore } from '#src/plugins/index.js';
5
5
  import type { DefinitionSchemaParserContext } from '#src/schema/index.js';
6
6
  import type { ProjectDefinition } from '#src/schema/project-definition.js';
7
7
  /**
@@ -55,7 +55,7 @@ export interface UseProjectDefinitionResult {
55
55
  /**
56
56
  * The plugin container.
57
57
  */
58
- pluginContainer: PluginImplementationStore;
58
+ pluginContainer: PluginSpecStore;
59
59
  /**
60
60
  * The schema parser context.
61
61
  */
@@ -1 +1 @@
1
- {"version":3,"file":"use-project-definition.d.ts","sourceRoot":"","sources":["../../../src/web/hooks/use-project-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAE/E,MAAM,WAAW,iCAAiC;IAChD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,UAAU,EAAE,iBAAiB,CAAC;IAC9B;;OAEG;IACH,mBAAmB,EAAE,0BAA0B,CAAC;IAChD;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,cAAc,EAAE,CAAC,UAAU,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE;;;OAGG;IACH,0BAA0B,EAAE,CAC1B,UAAU,EAAE,uBAAuB,EACnC,OAAO,CAAC,EAAE,iCAAiC,KACxC,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnC;;;OAGG;IACH,8BAA8B,EAAE,CAC9B,UAAU,EAAE,uBAAuB,EACnC,OAAO,CAAC,EAAE,iCAAiC,KACxC,IAAI,CAAC;IACV;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,eAAe,EAAE,yBAAyB,CAAC;IAC3C;;OAEG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;IACzC;;OAEG;IACH,6BAA6B,EAAE,6BAA6B,CAAC;CAC9D;AAED,eAAO,MAAM,wBAAwB,kDACyB,CAAC;AAE/D,wBAAgB,oBAAoB,IAAI,0BAA0B,CAQjE"}
1
+ {"version":3,"file":"use-project-definition.d.ts","sourceRoot":"","sources":["../../../src/web/hooks/use-project-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAE/E,MAAM,WAAW,iCAAiC;IAChD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,UAAU,EAAE,iBAAiB,CAAC;IAC9B;;OAEG;IACH,mBAAmB,EAAE,0BAA0B,CAAC;IAChD;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,cAAc,EAAE,CAAC,UAAU,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE;;;OAGG;IACH,0BAA0B,EAAE,CAC1B,UAAU,EAAE,uBAAuB,EACnC,OAAO,CAAC,EAAE,iCAAiC,KACxC,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnC;;;OAGG;IACH,8BAA8B,EAAE,CAC9B,UAAU,EAAE,uBAAuB,EACnC,OAAO,CAAC,EAAE,iCAAiC,KACxC,IAAI,CAAC;IACV;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC;;OAEG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;IACzC;;OAEG;IACH,6BAA6B,EAAE,6BAA6B,CAAC;CAC9D;AAED,eAAO,MAAM,wBAAwB,kDACyB,CAAC;AAE/D,wBAAgB,oBAAoB,IAAI,0BAA0B,CAQjE"}
@@ -1,6 +1,5 @@
1
1
  import type React from 'react';
2
2
  import type { UseFormReturn } from 'react-hook-form';
3
- import type { PluginSpecImplementation } from '#src/plugins/spec/types.js';
4
3
  import type { AdminCrudActionInput, ModelConfig, ProjectDefinition } from '#src/schema/index.js';
5
4
  export interface AdminCrudActionWebFormProps<T extends AdminCrudActionInput> {
6
5
  formProps: UseFormReturn<T>;
@@ -17,16 +16,11 @@ export interface AdminCrudActionWebConfig<T extends AdminCrudActionInput = Admin
17
16
  }
18
17
  export declare function createAdminCrudActionWebConfig<T extends AdminCrudActionInput>(config: AdminCrudActionWebConfig<T>): AdminCrudActionWebConfig<T>;
19
18
  /**
20
- * Spec for registering action compilers
19
+ * Spec for registering admin CRUD action web configs
21
20
  */
22
- export interface AdminCrudActionWebSpec extends PluginSpecImplementation {
23
- registerActionWebConfig: <T extends AdminCrudActionInput>(action: AdminCrudActionWebConfig<T>) => void;
24
- getActionWebConfig: (name: string, builtInActions?: AdminCrudActionWebConfig<any>[]) => AdminCrudActionWebConfig;
25
- getActionWebConfigs: (builtInActions?: AdminCrudActionWebConfig<any>[]) => AdminCrudActionWebConfig[];
26
- }
27
- export declare function createAdminCrudActionWebImplementation(): AdminCrudActionWebSpec;
28
- /**
29
- * Spec for adding config component for plugin
30
- */
31
- export declare const adminCrudActionWebSpec: import("#src/plugins/spec/types.js").PluginSpecWithInitializer<AdminCrudActionWebSpec>;
21
+ export declare const adminCrudActionWebSpec: import("../../index.js").PluginSpec<{
22
+ actions: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<AdminCrudActionWebConfig<any>>;
23
+ }, import("@baseplate-dev/utils").FieldMapValues<{
24
+ actions: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<AdminCrudActionWebConfig<any>>;
25
+ }>>;
32
26
  //# sourceMappingURL=admin-crud-action-web-spec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-action-web-spec.d.ts","sourceRoot":"","sources":["../../../src/web/specs/admin-crud-action-web-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,oBAAoB;IACzE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB,CACvC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAErD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,CACnB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,YAAY,EAAE,MAAM,CAAC,CAAC;CACvB;AAED,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,oBAAoB,EAC3E,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAClC,wBAAwB,CAAC,CAAC,CAAC,CAE7B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;IACtE,uBAAuB,EAAE,CAAC,CAAC,SAAS,oBAAoB,EACtD,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAChC,IAAI,CAAC;IACV,kBAAkB,EAAE,CAClB,IAAI,EAAE,MAAM,EAEZ,cAAc,CAAC,EAAE,wBAAwB,CAAC,GAAG,CAAC,EAAE,KAC7C,wBAAwB,CAAC;IAC9B,mBAAmB,EAAE,CAEnB,cAAc,CAAC,EAAE,wBAAwB,CAAC,GAAG,CAAC,EAAE,KAC7C,wBAAwB,EAAE,CAAC;CACjC;AAED,wBAAgB,sCAAsC,IAAI,sBAAsB,CA4B/E;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,wFAGlC,CAAC"}
1
+ {"version":3,"file":"admin-crud-action-web-spec.d.ts","sourceRoot":"","sources":["../../../src/web/specs/admin-crud-action-web-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,oBAAoB;IACzE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB,CACvC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAErD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,CACnB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,YAAY,EAAE,MAAM,CAAC,CAAC;CACvB;AAED,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,oBAAoB,EAC3E,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAClC,wBAAwB,CAAC,CAAC,CAAC,CAE7B;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;GAMlC,CAAC"}
@@ -1,35 +1,12 @@
1
- import { createPluginSpec } from '#src/plugins/spec/types.js';
1
+ import { createFieldMapSpec } from '#src/plugins/utils/create-field-map-spec.js';
2
2
  export function createAdminCrudActionWebConfig(config) {
3
3
  return config;
4
4
  }
5
- export function createAdminCrudActionWebImplementation() {
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- const actions = new Map();
8
- return {
9
- registerActionWebConfig(action) {
10
- if (actions.has(action.name)) {
11
- throw new Error(`Admin CRUD action with name ${action.name} is already registered`);
12
- }
13
- actions.set(action.name, action);
14
- },
15
- getActionWebConfig(name, builtInActions = []) {
16
- const builtInAction = builtInActions.find((b) => b.name === name);
17
- if (builtInAction) {
18
- return builtInAction;
19
- }
20
- const action = actions.get(name);
21
- if (!action) {
22
- throw new Error(`Unable to find action with name ${name}`);
23
- }
24
- return action;
25
- },
26
- getActionWebConfigs(builtInActions = []) {
27
- return [...builtInActions, ...actions.values()];
28
- },
29
- };
30
- }
31
5
  /**
32
- * Spec for adding config component for plugin
6
+ * Spec for registering admin CRUD action web configs
33
7
  */
34
- export const adminCrudActionWebSpec = createPluginSpec('core/admin-crud-action-web', { defaultInitializer: createAdminCrudActionWebImplementation });
8
+ export const adminCrudActionWebSpec = createFieldMapSpec('core/admin-crud-action-web', (t) => ({
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- plugins register varying action types at runtime
10
+ actions: t.namedArrayToMap(),
11
+ }));
35
12
  //# sourceMappingURL=admin-crud-action-web-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-action-web-spec.js","sourceRoot":"","sources":["../../../src/web/specs/admin-crud-action-web-spec.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAsB9D,MAAM,UAAU,8BAA8B,CAC5C,MAAmC;IAEnC,OAAO,MAAM,CAAC;AAChB,CAAC;AAoBD,MAAM,UAAU,sCAAsC;IACpD,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyC,CAAC;IAEjE,OAAO;QACL,uBAAuB,CAAC,MAAM;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,CAAC,IAAI,wBAAwB,CACnE,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,EAAE;YAC1C,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAClE,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,aAAyC,CAAC;YACnD,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,MAAkC,CAAC;QAC5C,CAAC;QACD,mBAAmB,CAAC,cAAc,GAAG,EAAE;YACrC,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CACpD,4BAA4B,EAC5B,EAAE,kBAAkB,EAAE,sCAAsC,EAAE,CAC/D,CAAC"}
1
+ {"version":3,"file":"admin-crud-action-web-spec.js","sourceRoot":"","sources":["../../../src/web/specs/admin-crud-action-web-spec.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAsBjF,MAAM,UAAU,8BAA8B,CAC5C,MAAmC;IAEnC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CACtD,4BAA4B,EAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,kHAAkH;IAClH,OAAO,EAAE,CAAC,CAAC,eAAe,EAAiC;CAC5D,CAAC,CACH,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import type React from 'react';
2
2
  import type { UseFormReturn } from 'react-hook-form';
3
- import type { PluginSpecImplementation } from '#src/plugins/spec/types.js';
4
3
  import type { AdminCrudColumnInput } from '#src/schema/apps/web/admin/sections/crud-columns/types.js';
5
4
  import type { ModelConfig, ProjectDefinition } from '#src/schema/index.js';
6
5
  export interface AdminCrudColumnWebFormProps<T extends AdminCrudColumnInput> {
@@ -18,16 +17,11 @@ export interface AdminCrudColumnWebConfig<T extends AdminCrudColumnInput = Admin
18
17
  }
19
18
  export declare function createAdminCrudColumnWebConfig<T extends AdminCrudColumnInput>(config: AdminCrudColumnWebConfig<T>): AdminCrudColumnWebConfig<T>;
20
19
  /**
21
- * Spec for registering column web configs
20
+ * Spec for registering admin CRUD column web configs
22
21
  */
23
- export interface AdminCrudColumnWebSpec extends PluginSpecImplementation {
24
- registerColumnWebConfig: <T extends AdminCrudColumnInput>(column: AdminCrudColumnWebConfig<T>) => void;
25
- getColumnWebConfig: (name: string, builtInColumns?: AdminCrudColumnWebConfig<any>[]) => AdminCrudColumnWebConfig;
26
- getColumnWebConfigs: (builtInColumns?: AdminCrudColumnWebConfig<any>[]) => AdminCrudColumnWebConfig[];
27
- }
28
- export declare function createAdminCrudColumnWebImplementation(): AdminCrudColumnWebSpec;
29
- /**
30
- * Spec for adding config component for plugin
31
- */
32
- export declare const adminCrudColumnWebSpec: import("#src/plugins/spec/types.js").PluginSpecWithInitializer<AdminCrudColumnWebSpec>;
22
+ export declare const adminCrudColumnWebSpec: import("../../index.js").PluginSpec<{
23
+ columns: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<AdminCrudColumnWebConfig<any>>;
24
+ }, import("@baseplate-dev/utils").FieldMapValues<{
25
+ columns: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<AdminCrudColumnWebConfig<any>>;
26
+ }>>;
33
27
  //# sourceMappingURL=admin-crud-column-web-spec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-column-web-spec.d.ts","sourceRoot":"","sources":["../../../src/web/specs/admin-crud-column-web-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AACtG,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI3E,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,oBAAoB;IACzE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB,CACvC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAErD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,CACnB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,YAAY,EAAE,MAAM,CAAC,CAAC;CACvB;AAED,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,oBAAoB,EAC3E,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAClC,wBAAwB,CAAC,CAAC,CAAC,CAE7B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,wBAAwB;IACtE,uBAAuB,EAAE,CAAC,CAAC,SAAS,oBAAoB,EACtD,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAChC,IAAI,CAAC;IACV,kBAAkB,EAAE,CAClB,IAAI,EAAE,MAAM,EAEZ,cAAc,CAAC,EAAE,wBAAwB,CAAC,GAAG,CAAC,EAAE,KAC7C,wBAAwB,CAAC;IAC9B,mBAAmB,EAAE,CAEnB,cAAc,CAAC,EAAE,wBAAwB,CAAC,GAAG,CAAC,EAAE,KAC7C,wBAAwB,EAAE,CAAC;CACjC;AAED,wBAAgB,sCAAsC,IAAI,sBAAsB,CA4B/E;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,wFAGlC,CAAC"}
1
+ {"version":3,"file":"admin-crud-column-web-spec.d.ts","sourceRoot":"","sources":["../../../src/web/specs/admin-crud-column-web-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2DAA2D,CAAC;AACtG,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI3E,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,oBAAoB;IACzE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB,CACvC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAErD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,CACnB,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,YAAY,EAAE,MAAM,CAAC,CAAC;CACvB;AAED,wBAAgB,8BAA8B,CAAC,CAAC,SAAS,oBAAoB,EAC3E,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAClC,wBAAwB,CAAC,CAAC,CAAC,CAE7B;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;GAMlC,CAAC"}
@@ -1,35 +1,12 @@
1
- import { createPluginSpec } from '#src/plugins/spec/types.js';
1
+ import { createFieldMapSpec } from '#src/plugins/utils/create-field-map-spec.js';
2
2
  export function createAdminCrudColumnWebConfig(config) {
3
3
  return config;
4
4
  }
5
- export function createAdminCrudColumnWebImplementation() {
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- const columns = new Map();
8
- return {
9
- registerColumnWebConfig(column) {
10
- if (columns.has(column.name)) {
11
- throw new Error(`Admin CRUD column with name ${column.name} is already registered`);
12
- }
13
- columns.set(column.name, column);
14
- },
15
- getColumnWebConfig(name, builtInColumns = []) {
16
- const builtInColumn = builtInColumns.find((b) => b.name === name);
17
- if (builtInColumn) {
18
- return builtInColumn;
19
- }
20
- const column = columns.get(name);
21
- if (!column) {
22
- throw new Error(`Unable to find column with name ${name}`);
23
- }
24
- return column;
25
- },
26
- getColumnWebConfigs(builtInColumns = []) {
27
- return [...builtInColumns, ...columns.values()];
28
- },
29
- };
30
- }
31
5
  /**
32
- * Spec for adding config component for plugin
6
+ * Spec for registering admin CRUD column web configs
33
7
  */
34
- export const adminCrudColumnWebSpec = createPluginSpec('core/admin-crud-column-web', { defaultInitializer: createAdminCrudColumnWebImplementation });
8
+ export const adminCrudColumnWebSpec = createFieldMapSpec('core/admin-crud-column-web', (t) => ({
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- plugins register varying column types at runtime
10
+ columns: t.namedArrayToMap(),
11
+ }));
35
12
  //# sourceMappingURL=admin-crud-column-web-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-column-web-spec.js","sourceRoot":"","sources":["../../../src/web/specs/admin-crud-column-web-spec.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAsB9D,MAAM,UAAU,8BAA8B,CAC5C,MAAmC;IAEnC,OAAO,MAAM,CAAC;AAChB,CAAC;AAoBD,MAAM,UAAU,sCAAsC;IACpD,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyC,CAAC;IAEjE,OAAO;QACL,uBAAuB,CAAC,MAAM;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,CAAC,IAAI,wBAAwB,CACnE,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,EAAE;YAC1C,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAClE,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,aAAyC,CAAC;YACnD,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,MAAkC,CAAC;QAC5C,CAAC;QACD,mBAAmB,CAAC,cAAc,GAAG,EAAE;YACrC,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CACpD,4BAA4B,EAC5B,EAAE,kBAAkB,EAAE,sCAAsC,EAAE,CAC/D,CAAC"}
1
+ {"version":3,"file":"admin-crud-column-web-spec.js","sourceRoot":"","sources":["../../../src/web/specs/admin-crud-column-web-spec.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAsBjF,MAAM,UAAU,8BAA8B,CAC5C,MAAmC;IAEnC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CACtD,4BAA4B,EAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,kHAAkH;IAClH,OAAO,EAAE,CAAC,CAAC,eAAe,EAAiC;CAC5D,CAAC,CACH,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import type React from 'react';
2
2
  import type { UseFormReturn } from 'react-hook-form';
3
- import type { PluginSpecImplementation } from '#src/plugins/spec/types.js';
4
3
  import type { AdminCrudInputInput, ModelConfig } from '#src/schema/index.js';
5
4
  export interface AdminCrudInputWebFormProps {
6
5
  formProps: UseFormReturn<any>;
@@ -21,16 +20,11 @@ export interface AdminCrudInputWebConfig<T extends AdminCrudInputInput = AdminCr
21
20
  }
22
21
  export declare function createAdminCrudInputWebConfig<T extends AdminCrudInputInput>(config: AdminCrudInputWebConfig<T>): AdminCrudInputWebConfig<T>;
23
22
  /**
24
- * Spec for registering input compilers
23
+ * Spec for registering admin CRUD input web configs
25
24
  */
26
- export interface AdminCrudInputWebSpec extends PluginSpecImplementation {
27
- registerInputWebConfig: <T extends AdminCrudInputInput>(input: AdminCrudInputWebConfig<T>) => void;
28
- getInputWebConfig: (name: string, builtInInputs?: AdminCrudInputWebConfig<any>[]) => AdminCrudInputWebConfig;
29
- getInputWebConfigs: (builtInInputs?: AdminCrudInputWebConfig<any>[]) => AdminCrudInputWebConfig[];
30
- }
31
- export declare function createAdminCrudInputWebImplementation(): AdminCrudInputWebSpec;
32
- /**
33
- * Spec for adding config component for plugin
34
- */
35
- export declare const adminCrudInputWebSpec: import("#src/plugins/spec/types.js").PluginSpecWithInitializer<AdminCrudInputWebSpec>;
25
+ export declare const adminCrudInputWebSpec: import("../../index.js").PluginSpec<{
26
+ inputs: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<AdminCrudInputWebConfig<any>>;
27
+ }, import("@baseplate-dev/utils").FieldMapValues<{
28
+ inputs: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<AdminCrudInputWebConfig<any>>;
29
+ }>>;
36
30
  //# sourceMappingURL=admin-crud-input-web-spec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-input-web-spec.d.ts","sourceRoot":"","sources":["../../../src/web/specs/admin-crud-input-web-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAI7E,MAAM,WAAW,0BAA0B;IAEzC,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mBAAmB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACzD;AAED,MAAM,WAAW,uBAAuB,CACtC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAEnD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC,CAAC;CACtB;AAED,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,mBAAmB,EACzE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC,GACjC,uBAAuB,CAAC,CAAC,CAAC,CAE5B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACrE,sBAAsB,EAAE,CAAC,CAAC,SAAS,mBAAmB,EACpD,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAC9B,IAAI,CAAC;IACV,iBAAiB,EAAE,CACjB,IAAI,EAAE,MAAM,EAEZ,aAAa,CAAC,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAE,KAC3C,uBAAuB,CAAC;IAC7B,kBAAkB,EAAE,CAElB,aAAa,CAAC,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAE,KAC3C,uBAAuB,EAAE,CAAC;CAChC;AAED,wBAAgB,qCAAqC,IAAI,qBAAqB,CA4B7E;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,uFAGjC,CAAC"}
1
+ {"version":3,"file":"admin-crud-input-web-spec.d.ts","sourceRoot":"","sources":["../../../src/web/specs/admin-crud-input-web-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAI7E,MAAM,WAAW,0BAA0B;IAEzC,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mBAAmB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACzD;AAED,MAAM,WAAW,uBAAuB,CACtC,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAEnD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC,CAAC;CACtB;AAED,wBAAgB,6BAA6B,CAAC,CAAC,SAAS,mBAAmB,EACzE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC,GACjC,uBAAuB,CAAC,CAAC,CAAC,CAE5B;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;GAMjC,CAAC"}
@@ -1,35 +1,12 @@
1
- import { createPluginSpec } from '#src/plugins/spec/types.js';
1
+ import { createFieldMapSpec } from '#src/plugins/utils/create-field-map-spec.js';
2
2
  export function createAdminCrudInputWebConfig(config) {
3
3
  return config;
4
4
  }
5
- export function createAdminCrudInputWebImplementation() {
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- const inputs = new Map();
8
- return {
9
- registerInputWebConfig(input) {
10
- if (inputs.has(input.name)) {
11
- throw new Error(`Admin CRUD input with name ${input.name} is already registered`);
12
- }
13
- inputs.set(input.name, input);
14
- },
15
- getInputWebConfig(name, builtInInputs = []) {
16
- const builtInInput = builtInInputs.find((b) => b.name === name);
17
- if (builtInInput) {
18
- return builtInInput;
19
- }
20
- const input = inputs.get(name);
21
- if (!input) {
22
- throw new Error(`Unable to find input with name ${name}`);
23
- }
24
- return input;
25
- },
26
- getInputWebConfigs(builtInInputs = []) {
27
- return [...builtInInputs, ...inputs.values()];
28
- },
29
- };
30
- }
31
5
  /**
32
- * Spec for adding config component for plugin
6
+ * Spec for registering admin CRUD input web configs
33
7
  */
34
- export const adminCrudInputWebSpec = createPluginSpec('core/admin-crud-input-web', { defaultInitializer: createAdminCrudInputWebImplementation });
8
+ export const adminCrudInputWebSpec = createFieldMapSpec('core/admin-crud-input-web', (t) => ({
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- plugins register varying input types at runtime
10
+ inputs: t.namedArrayToMap(),
11
+ }));
35
12
  //# sourceMappingURL=admin-crud-input-web-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-crud-input-web-spec.js","sourceRoot":"","sources":["../../../src/web/specs/admin-crud-input-web-spec.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAqB9D,MAAM,UAAU,6BAA6B,CAC3C,MAAkC;IAElC,OAAO,MAAM,CAAC;AAChB,CAAC;AAoBD,MAAM,UAAU,qCAAqC;IACnD,8DAA8D;IAC9D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAwC,CAAC;IAE/D,OAAO;QACL,sBAAsB,CAAC,KAAK;YAC1B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,CAAC,IAAI,wBAAwB,CACjE,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,EAAE;YACxC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAChE,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,YAAuC,CAAC;YACjD,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,KAAgC,CAAC;QAC1C,CAAC;QACD,kBAAkB,CAAC,aAAa,GAAG,EAAE;YACnC,OAAO,CAAC,GAAG,aAAa,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CACnD,2BAA2B,EAC3B,EAAE,kBAAkB,EAAE,qCAAqC,EAAE,CAC9D,CAAC"}
1
+ {"version":3,"file":"admin-crud-input-web-spec.js","sourceRoot":"","sources":["../../../src/web/specs/admin-crud-input-web-spec.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAqBjF,MAAM,UAAU,6BAA6B,CAC3C,MAAkC;IAElC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CACrD,2BAA2B,EAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,iHAAiH;IACjH,MAAM,EAAE,CAAC,CAAC,eAAe,EAAgC;CAC1D,CAAC,CACH,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import type React from 'react';
2
2
  import type { UseFormReturn } from 'react-hook-form';
3
3
  import type { ProjectDefinitionContainer } from '#src/definition/project-definition-container.js';
4
- import type { PluginSpecImplementation } from '#src/plugins/spec/types.js';
5
4
  import type { ModelConfigInput, TransformerConfig } from '#src/schema/index.js';
6
5
  export interface ModelTransformerWebFormProps {
7
6
  formProps: UseFormReturn<any>;
@@ -23,18 +22,14 @@ export interface ModelTransformerWebConfig<T extends TransformerConfig = Transfo
23
22
  description: string;
24
23
  }[];
25
24
  }
26
- export declare function createNewModelTransformerWebConfig<T extends TransformerConfig>(config: ModelTransformerWebConfig<T>): ModelTransformerWebConfig<T>;
25
+ export declare function createModelTransformerWebConfig<T extends TransformerConfig>(config: ModelTransformerWebConfig<T>): ModelTransformerWebConfig<T>;
27
26
  /**
28
- * Spec for registering transformer compilers
27
+ * Spec for adding web config for transformers
29
28
  */
30
- export interface ModelTransformerWebSpec extends PluginSpecImplementation {
31
- registerTransformerWebConfig: <T extends TransformerConfig>(transformer: ModelTransformerWebConfig<T>) => void;
32
- getTransformerWebConfig: (name: string, builtInTransformers?: ModelTransformerWebConfig<any>[]) => ModelTransformerWebConfig;
33
- getTransformerWebConfigs: (builtInTransformers?: ModelTransformerWebConfig<any>[]) => ModelTransformerWebConfig[];
34
- }
35
- export declare function createModelTransformerWebImplementation(): ModelTransformerWebSpec;
36
- /**
37
- * Spec for adding config component for plugin
38
- */
39
- export declare const modelTransformerWebSpec: import("#src/plugins/spec/types.js").PluginSpecWithInitializer<ModelTransformerWebSpec>;
29
+ export declare const modelTransformerWebSpec: import("../../index.js").PluginSpec<{
30
+ transformers: import("@baseplate-dev/utils").NamedArrayToMapFieldContainer<ModelTransformerWebConfig<any>>;
31
+ }, {
32
+ getWebConfigOrThrow(name: string): ModelTransformerWebConfig<any>;
33
+ getWebConfigs: () => ModelTransformerWebConfig<any>[];
34
+ }>;
40
35
  //# sourceMappingURL=model-transformer-web-spec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-transformer-web-spec.d.ts","sourceRoot":"","sources":["../../../src/web/specs/model-transformer-web-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIhF,MAAM,WAAW,4BAA4B;IAE3C,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,gBAAgB,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB,CACxC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB;IAE/C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;IACzD,mBAAmB,CAAC,EAAE,CACpB,gBAAgB,EAAE,0BAA0B,EAC5C,WAAW,EAAE,gBAAgB,KAC1B,OAAO,CAAC;IACb,iBAAiB,EAAE,CACjB,gBAAgB,EAAE,0BAA0B,EAC5C,WAAW,EAAE,gBAAgB,KAC1B,CAAC,CAAC;IACP,UAAU,EAAE,CACV,UAAU,EAAE,CAAC,EACb,mBAAmB,EAAE,0BAA0B,KAC5C;QACH,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,EAAE,CAAC;CACL;AAED,wBAAgB,kCAAkC,CAAC,CAAC,SAAS,iBAAiB,EAC5E,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACnC,yBAAyB,CAAC,CAAC,CAAC,CAE9B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,4BAA4B,EAAE,CAAC,CAAC,SAAS,iBAAiB,EACxD,WAAW,EAAE,yBAAyB,CAAC,CAAC,CAAC,KACtC,IAAI,CAAC;IACV,uBAAuB,EAAE,CACvB,IAAI,EAAE,MAAM,EAEZ,mBAAmB,CAAC,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,KACnD,yBAAyB,CAAC;IAC/B,wBAAwB,EAAE,CAExB,mBAAmB,CAAC,EAAE,yBAAyB,CAAC,GAAG,CAAC,EAAE,KACnD,yBAAyB,EAAE,CAAC;CAClC;AAED,wBAAgB,uCAAuC,IAAI,uBAAuB,CA8BjF;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,yFAGnC,CAAC"}
1
+ {"version":3,"file":"model-transformer-web-spec.d.ts","sourceRoot":"","sources":["../../../src/web/specs/model-transformer-web-spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIhF,MAAM,WAAW,4BAA4B;IAE3C,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,gBAAgB,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB,CACxC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB;IAE/C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;IACzD,mBAAmB,CAAC,EAAE,CACpB,gBAAgB,EAAE,0BAA0B,EAC5C,WAAW,EAAE,gBAAgB,KAC1B,OAAO,CAAC;IACb,iBAAiB,EAAE,CACjB,gBAAgB,EAAE,0BAA0B,EAC5C,WAAW,EAAE,gBAAgB,KAC1B,CAAC,CAAC;IACP,UAAU,EAAE,CACV,UAAU,EAAE,CAAC,EACb,mBAAmB,EAAE,0BAA0B,KAC5C;QACH,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,EAAE,CAAC;CACL;AAED,wBAAgB,+BAA+B,CAAC,CAAC,SAAS,iBAAiB,EACzE,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACnC,yBAAyB,CAAC,CAAC,CAAC,CAE9B;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;8BAQJ,MAAM;;EAUrC,CAAC"}
@@ -1,35 +1,23 @@
1
- import { createPluginSpec } from '#src/plugins/spec/types.js';
2
- export function createNewModelTransformerWebConfig(config) {
1
+ import { createFieldMapSpec } from '#src/plugins/utils/create-field-map-spec.js';
2
+ export function createModelTransformerWebConfig(config) {
3
3
  return config;
4
4
  }
5
- export function createModelTransformerWebImplementation() {
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- const transformers = new Map();
8
- return {
9
- registerTransformerWebConfig(transformer) {
10
- if (transformers.has(transformer.name)) {
11
- throw new Error(`Model transformer with name ${transformer.name} is already registered`);
12
- }
13
- transformers.set(transformer.name, transformer);
14
- },
15
- getTransformerWebConfig(name, builtInTransformers = []) {
16
- const builtInTransformer = builtInTransformers.find((b) => b.name === name);
17
- if (builtInTransformer) {
18
- return builtInTransformer;
19
- }
20
- const transformer = transformers.get(name);
5
+ /**
6
+ * Spec for adding web config for transformers
7
+ */
8
+ export const modelTransformerWebSpec = createFieldMapSpec('core/model-transformer-web', (t) => ({
9
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- plugins register varying transformer types at runtime
10
+ transformers: t.namedArrayToMap(),
11
+ }), {
12
+ use: (values) => ({
13
+ getWebConfigOrThrow(name) {
14
+ const transformer = values.transformers.get(name);
21
15
  if (!transformer) {
22
- throw new Error(`Unable to find transformer with name ${name}`);
16
+ throw new Error(`Transformer ${name} not found`);
23
17
  }
24
18
  return transformer;
25
19
  },
26
- getTransformerWebConfigs(builtInTransformers = []) {
27
- return [...builtInTransformers, ...transformers.values()];
28
- },
29
- };
30
- }
31
- /**
32
- * Spec for adding config component for plugin
33
- */
34
- export const modelTransformerWebSpec = createPluginSpec('core/model-transformer-web', { defaultInitializer: createModelTransformerWebImplementation });
20
+ getWebConfigs: () => [...values.transformers.values()],
21
+ }),
22
+ });
35
23
  //# sourceMappingURL=model-transformer-web-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-transformer-web-spec.js","sourceRoot":"","sources":["../../../src/web/specs/model-transformer-web-spec.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAoC9D,MAAM,UAAU,kCAAkC,CAChD,MAAoC;IAEpC,OAAO,MAAM,CAAC;AAChB,CAAC;AAoBD,MAAM,UAAU,uCAAuC;IACrD,8DAA8D;IAC9D,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0C,CAAC;IAEvE,OAAO;QACL,4BAA4B,CAAC,WAAW;YACtC,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CACb,+BAA+B,WAAW,CAAC,IAAI,wBAAwB,CACxE,CAAC;YACJ,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAClD,CAAC;QACD,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,EAAE;YACpD,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,IAAI,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CACvB,CAAC;YACF,IAAI,kBAAkB,EAAE,CAAC;gBACvB,OAAO,kBAA+C,CAAC;YACzD,CAAC;YACD,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,WAAwC,CAAC;QAClD,CAAC;QACD,wBAAwB,CAAC,mBAAmB,GAAG,EAAE;YAC/C,OAAO,CAAC,GAAG,mBAAmB,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CACrD,4BAA4B,EAC5B,EAAE,kBAAkB,EAAE,uCAAuC,EAAE,CAChE,CAAC"}
1
+ {"version":3,"file":"model-transformer-web-spec.js","sourceRoot":"","sources":["../../../src/web/specs/model-transformer-web-spec.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAoCjF,MAAM,UAAU,+BAA+B,CAC7C,MAAoC;IAEpC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,kBAAkB,CACvD,4BAA4B,EAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACN,uHAAuH;IACvH,YAAY,EAAE,CAAC,CAAC,eAAe,EAAkC;CAClE,CAAC,EACF;IACE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChB,mBAAmB,CAAC,IAAY;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,YAAY,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;KACvD,CAAC;CACH,CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baseplate-dev/project-builder-lib",
3
- "version": "0.4.4",
3
+ "version": "0.5.1",
4
4
  "description": "Library for Project Builder using Baseplate generators",
5
5
  "keywords": [
6
6
  "configuration",
@@ -47,9 +47,9 @@
47
47
  "react-hook-form": "7.60.0",
48
48
  "zod": "^4.1.13",
49
49
  "zustand": "5.0.3",
50
- "@baseplate-dev/sync": "0.4.4",
51
- "@baseplate-dev/ui-components": "0.4.4",
52
- "@baseplate-dev/utils": "0.4.4"
50
+ "@baseplate-dev/sync": "0.5.1",
51
+ "@baseplate-dev/ui-components": "0.5.1",
52
+ "@baseplate-dev/utils": "0.5.1"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@faker-js/faker": "9.8.0",
@@ -62,8 +62,8 @@
62
62
  "type-fest": "4.41.0",
63
63
  "typescript": "5.8.3",
64
64
  "vite": "7.1.12",
65
- "vitest": "3.2.4",
66
- "@baseplate-dev/tools": "0.4.4"
65
+ "vitest": "4.0.16",
66
+ "@baseplate-dev/tools": "0.5.1"
67
67
  },
68
68
  "engines": {
69
69
  "node": "^22.0.0"
@@ -1,26 +0,0 @@
1
- import type { GeneratorBundle } from '@baseplate-dev/sync';
2
- import type { ProjectDefinitionContainer } from '#src/definition/project-definition-container.js';
3
- import type { PluginSpecImplementation } from '#src/plugins/spec/types.js';
4
- import type { AdminCrudActionInput, AdminCrudSectionConfig, ModelConfig } from '#src/schema/index.js';
5
- export interface AdminCrudActionCompiler<T extends AdminCrudActionInput = AdminCrudActionInput> {
6
- name: string;
7
- compileAction: (definition: T, options: {
8
- order: number;
9
- definitionContainer: ProjectDefinitionContainer;
10
- model: ModelConfig;
11
- modelCrudSection: AdminCrudSectionConfig;
12
- }) => GeneratorBundle;
13
- }
14
- /**
15
- * Spec for registering action compilers
16
- */
17
- export interface AdminCrudActionCompilerSpec extends PluginSpecImplementation {
18
- registerCompiler: (action: AdminCrudActionCompiler<any>) => void;
19
- getCompiler: (name: string, builtInActions?: AdminCrudActionCompiler<any>[]) => AdminCrudActionCompiler;
20
- }
21
- export declare function createAdminCrudActionCompilerImplementation(): AdminCrudActionCompilerSpec;
22
- /**
23
- * Spec for adding config component for plugin
24
- */
25
- export declare const adminCrudActionCompilerSpec: import("#src/plugins/spec/types.js").PluginSpecWithInitializer<AdminCrudActionCompilerSpec>;
26
- //# sourceMappingURL=admin-crud-action-spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-crud-action-spec.d.ts","sourceRoot":"","sources":["../../src/compiler/admin-crud-action-spec.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,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,uBAAuB,CACtC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB;IAErD,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,CACb,UAAU,EAAE,CAAC,EACb,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,mBAAmB,EAAE,0BAA0B,CAAC;QAChD,KAAK,EAAE,WAAW,CAAC;QACnB,gBAAgB,EAAE,sBAAsB,CAAC;KAC1C,KACE,eAAe,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,wBAAwB;IAC3E,gBAAgB,EAAE,CAEhB,MAAM,EAAE,uBAAuB,CAAC,GAAG,CAAC,KACjC,IAAI,CAAC;IACV,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EAEZ,cAAc,CAAC,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAE,KAC5C,uBAAuB,CAAC;CAC9B;AAED,wBAAgB,2CAA2C,IAAI,2BAA2B,CAyBzF;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,6FAGvC,CAAC"}
@@ -1,29 +0,0 @@
1
- import { createPluginSpec } from '#src/plugins/spec/types.js';
2
- export function createAdminCrudActionCompilerImplementation() {
3
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
- const actions = new Map();
5
- return {
6
- registerCompiler(action) {
7
- if (actions.has(action.name)) {
8
- throw new Error(`Admin CRUD action with name ${action.name} is already registered`);
9
- }
10
- actions.set(action.name, action);
11
- },
12
- getCompiler(name, builtInActions = []) {
13
- const builtInAction = builtInActions.find((b) => b.name === name);
14
- if (builtInAction) {
15
- return builtInAction;
16
- }
17
- const action = actions.get(name);
18
- if (!action) {
19
- throw new Error(`Unable to find action with name ${name}`);
20
- }
21
- return action;
22
- },
23
- };
24
- }
25
- /**
26
- * Spec for adding config component for plugin
27
- */
28
- export const adminCrudActionCompilerSpec = createPluginSpec('core/admin-crud-action-compiler', { defaultInitializer: createAdminCrudActionCompilerImplementation });
29
- //# sourceMappingURL=admin-crud-action-spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-crud-action-spec.js","sourceRoot":"","sources":["../../src/compiler/admin-crud-action-spec.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAgC9D,MAAM,UAAU,2CAA2C;IACzD,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwC,CAAC;IAEhE,OAAO;QACL,gBAAgB,CAAC,MAAM;YACrB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,CAAC,IAAI,wBAAwB,CACnE,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QACD,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,EAAE;YACnC,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAClE,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,aAAwC,CAAC;YAClD,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,MAAiC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,gBAAgB,CACzD,iCAAiC,EACjC,EAAE,kBAAkB,EAAE,2CAA2C,EAAE,CACpE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/schema/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -1,8 +0,0 @@
1
- import type { PluginSpec, PluginSpecImplementation } from '../spec/types.js';
2
- export declare class PluginImplementationStore {
3
- implementations: Partial<Record<string, PluginSpecImplementation>>;
4
- constructor(implementations: Partial<Record<string, PluginSpecImplementation>>);
5
- getPluginSpec<TImplementation>(spec: PluginSpec<TImplementation>): TImplementation;
6
- getPluginSpecOptional<TImplementation>(spec: PluginSpec<TImplementation>): TImplementation | undefined;
7
- }
8
- //# sourceMappingURL=store.d.ts.map