@baseplate-dev/project-builder-lib 0.1.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 (569) hide show
  1. package/LICENSE +390 -0
  2. package/dist/compiler/admin-crud-input-spec.d.ts +26 -0
  3. package/dist/compiler/admin-crud-input-spec.d.ts.map +1 -0
  4. package/dist/compiler/admin-crud-input-spec.js +29 -0
  5. package/dist/compiler/admin-crud-input-spec.js.map +1 -0
  6. package/dist/compiler/app-compiler-spec.d.ts +36 -0
  7. package/dist/compiler/app-compiler-spec.d.ts.map +1 -0
  8. package/dist/compiler/app-compiler-spec.js +42 -0
  9. package/dist/compiler/app-compiler-spec.js.map +1 -0
  10. package/dist/compiler/index.d.ts +5 -0
  11. package/dist/compiler/index.d.ts.map +1 -0
  12. package/dist/compiler/index.js +4 -0
  13. package/dist/compiler/index.js.map +1 -0
  14. package/dist/compiler/model-transformer-compiler-spec.d.ts +25 -0
  15. package/dist/compiler/model-transformer-compiler-spec.d.ts.map +1 -0
  16. package/dist/compiler/model-transformer-compiler-spec.js +29 -0
  17. package/dist/compiler/model-transformer-compiler-spec.js.map +1 -0
  18. package/dist/compiler/types.d.ts +2 -0
  19. package/dist/compiler/types.d.ts.map +1 -0
  20. package/dist/compiler/types.js +2 -0
  21. package/dist/compiler/types.js.map +1 -0
  22. package/dist/constants/colors.d.ts +294 -0
  23. package/dist/constants/colors.d.ts.map +1 -0
  24. package/dist/constants/colors.js +307 -0
  25. package/dist/constants/colors.js.map +1 -0
  26. package/dist/constants/index.d.ts +3 -0
  27. package/dist/constants/index.d.ts.map +1 -0
  28. package/dist/constants/index.js +3 -0
  29. package/dist/constants/index.js.map +1 -0
  30. package/dist/constants/theme-colors.d.ts +397 -0
  31. package/dist/constants/theme-colors.d.ts.map +1 -0
  32. package/dist/constants/theme-colors.js +247 -0
  33. package/dist/constants/theme-colors.js.map +1 -0
  34. package/dist/definition/apps/app-utils.d.ts +11 -0
  35. package/dist/definition/apps/app-utils.d.ts.map +1 -0
  36. package/dist/definition/apps/app-utils.js +30 -0
  37. package/dist/definition/apps/app-utils.js.map +1 -0
  38. package/dist/definition/feature/feature-utils.d.ts +27 -0
  39. package/dist/definition/feature/feature-utils.d.ts.map +1 -0
  40. package/dist/definition/feature/feature-utils.js +81 -0
  41. package/dist/definition/feature/feature-utils.js.map +1 -0
  42. package/dist/definition/index.d.ts +10 -0
  43. package/dist/definition/index.d.ts.map +1 -0
  44. package/dist/definition/index.js +10 -0
  45. package/dist/definition/index.js.map +1 -0
  46. package/dist/definition/model/enum-utils.d.ts +9 -0
  47. package/dist/definition/model/enum-utils.d.ts.map +1 -0
  48. package/dist/definition/model/enum-utils.js +15 -0
  49. package/dist/definition/model/enum-utils.js.map +1 -0
  50. package/dist/definition/model/model-field-utils.d.ts +17 -0
  51. package/dist/definition/model/model-field-utils.d.ts.map +1 -0
  52. package/dist/definition/model/model-field-utils.js +85 -0
  53. package/dist/definition/model/model-field-utils.js.map +1 -0
  54. package/dist/definition/model/model-transformer-utils.d.ts +11 -0
  55. package/dist/definition/model/model-transformer-utils.d.ts.map +1 -0
  56. package/dist/definition/model/model-transformer-utils.js +13 -0
  57. package/dist/definition/model/model-transformer-utils.js.map +1 -0
  58. package/dist/definition/model/model-utils.d.ts +32 -0
  59. package/dist/definition/model/model-utils.d.ts.map +1 -0
  60. package/dist/definition/model/model-utils.js +59 -0
  61. package/dist/definition/model/model-utils.js.map +1 -0
  62. package/dist/definition/plugins/index.d.ts +2 -0
  63. package/dist/definition/plugins/index.d.ts.map +1 -0
  64. package/dist/definition/plugins/index.js +2 -0
  65. package/dist/definition/plugins/index.js.map +1 -0
  66. package/dist/definition/plugins/plugin-utils.d.ts +14 -0
  67. package/dist/definition/plugins/plugin-utils.d.ts.map +1 -0
  68. package/dist/definition/plugins/plugin-utils.js +44 -0
  69. package/dist/definition/plugins/plugin-utils.js.map +1 -0
  70. package/dist/definition/project-definition-container.d.ts +65 -0
  71. package/dist/definition/project-definition-container.d.ts.map +1 -0
  72. package/dist/definition/project-definition-container.js +118 -0
  73. package/dist/definition/project-definition-container.js.map +1 -0
  74. package/dist/definition/project-definition-container.test-helper.d.ts +5 -0
  75. package/dist/definition/project-definition-container.test-helper.d.ts.map +1 -0
  76. package/dist/definition/project-definition-container.test-helper.js +36 -0
  77. package/dist/definition/project-definition-container.test-helper.js.map +1 -0
  78. package/dist/feature-flags/flags.d.ts +3 -0
  79. package/dist/feature-flags/flags.d.ts.map +1 -0
  80. package/dist/feature-flags/flags.js +2 -0
  81. package/dist/feature-flags/flags.js.map +1 -0
  82. package/dist/feature-flags/index.d.ts +2 -0
  83. package/dist/feature-flags/index.d.ts.map +1 -0
  84. package/dist/feature-flags/index.js +2 -0
  85. package/dist/feature-flags/index.js.map +1 -0
  86. package/dist/index.d.ts +14 -0
  87. package/dist/index.js +13 -0
  88. package/dist/index.js.map +1 -0
  89. package/dist/migrations/index.d.ts +15 -0
  90. package/dist/migrations/index.d.ts.map +1 -0
  91. package/dist/migrations/index.js +68 -0
  92. package/dist/migrations/index.js.map +1 -0
  93. package/dist/migrations/migration-005-primaryUniqueRefs.d.ts +37 -0
  94. package/dist/migrations/migration-005-primaryUniqueRefs.d.ts.map +1 -0
  95. package/dist/migrations/migration-005-primaryUniqueRefs.js +40 -0
  96. package/dist/migrations/migration-005-primaryUniqueRefs.js.map +1 -0
  97. package/dist/migrations/migration-006-individual-service-controllers.d.ts +42 -0
  98. package/dist/migrations/migration-006-individual-service-controllers.d.ts.map +1 -0
  99. package/dist/migrations/migration-006-individual-service-controllers.js +31 -0
  100. package/dist/migrations/migration-006-individual-service-controllers.js.map +1 -0
  101. package/dist/migrations/migration-007-model-graphql.d.ts +59 -0
  102. package/dist/migrations/migration-007-model-graphql.d.ts.map +1 -0
  103. package/dist/migrations/migration-007-model-graphql.js +62 -0
  104. package/dist/migrations/migration-007-model-graphql.js.map +1 -0
  105. package/dist/migrations/migration-008-anonymous-public-role.d.ts +22 -0
  106. package/dist/migrations/migration-008-anonymous-public-role.d.ts.map +1 -0
  107. package/dist/migrations/migration-008-anonymous-public-role.js +52 -0
  108. package/dist/migrations/migration-008-anonymous-public-role.js.map +1 -0
  109. package/dist/migrations/migration-009-rename-refs.d.ts +2 -0
  110. package/dist/migrations/migration-009-rename-refs.d.ts.map +1 -0
  111. package/dist/migrations/migration-009-rename-refs.js +59 -0
  112. package/dist/migrations/migration-009-rename-refs.js.map +1 -0
  113. package/dist/migrations/migration-010-hex-to-oklch.d.ts +2 -0
  114. package/dist/migrations/migration-010-hex-to-oklch.d.ts.map +1 -0
  115. package/dist/migrations/migration-010-hex-to-oklch.js +24 -0
  116. package/dist/migrations/migration-010-hex-to-oklch.js.map +1 -0
  117. package/dist/migrations/migration-011-plugin-id.d.ts +2 -0
  118. package/dist/migrations/migration-011-plugin-id.d.ts.map +1 -0
  119. package/dist/migrations/migration-011-plugin-id.js +10 -0
  120. package/dist/migrations/migration-011-plugin-id.js.map +1 -0
  121. package/dist/migrations/migration-012-migrate-auth-config.d.ts +36 -0
  122. package/dist/migrations/migration-012-migrate-auth-config.d.ts.map +1 -0
  123. package/dist/migrations/migration-012-migrate-auth-config.js +48 -0
  124. package/dist/migrations/migration-012-migrate-auth-config.js.map +1 -0
  125. package/dist/migrations/migration-013-move-general-settings.d.ts +38 -0
  126. package/dist/migrations/migration-013-move-general-settings.d.ts.map +1 -0
  127. package/dist/migrations/migration-013-move-general-settings.js +22 -0
  128. package/dist/migrations/migration-013-move-general-settings.js.map +1 -0
  129. package/dist/migrations/migration-014-migrate-plugin-ids.d.ts +21 -0
  130. package/dist/migrations/migration-014-migrate-plugin-ids.d.ts.map +1 -0
  131. package/dist/migrations/migration-014-migrate-plugin-ids.js +32 -0
  132. package/dist/migrations/migration-014-migrate-plugin-ids.js.map +1 -0
  133. package/dist/migrations/transform-json-path.d.ts +13 -0
  134. package/dist/migrations/transform-json-path.d.ts.map +1 -0
  135. package/dist/migrations/transform-json-path.js +66 -0
  136. package/dist/migrations/transform-json-path.js.map +1 -0
  137. package/dist/migrations/types.d.ts +29 -0
  138. package/dist/migrations/types.d.ts.map +1 -0
  139. package/dist/migrations/types.js +4 -0
  140. package/dist/migrations/types.js.map +1 -0
  141. package/dist/migrations/utils.d.ts +3 -0
  142. package/dist/migrations/utils.d.ts.map +1 -0
  143. package/dist/migrations/utils.js +10 -0
  144. package/dist/migrations/utils.js.map +1 -0
  145. package/dist/parser/index.d.ts +3 -0
  146. package/dist/parser/index.d.ts.map +1 -0
  147. package/dist/parser/index.js +2 -0
  148. package/dist/parser/index.js.map +1 -0
  149. package/dist/parser/parser.d.ts +35 -0
  150. package/dist/parser/parser.d.ts.map +1 -0
  151. package/dist/parser/parser.js +84 -0
  152. package/dist/parser/parser.js.map +1 -0
  153. package/dist/parser/types.d.ts +8 -0
  154. package/dist/parser/types.d.ts.map +1 -0
  155. package/dist/parser/types.js +2 -0
  156. package/dist/parser/types.js.map +1 -0
  157. package/dist/plugin-tools/index.d.ts +2 -0
  158. package/dist/plugin-tools/index.d.ts.map +1 -0
  159. package/dist/plugin-tools/index.js +2 -0
  160. package/dist/plugin-tools/index.js.map +1 -0
  161. package/dist/plugin-tools/plugin-loader.d.ts +16 -0
  162. package/dist/plugin-tools/plugin-loader.d.ts.map +1 -0
  163. package/dist/plugin-tools/plugin-loader.js +166 -0
  164. package/dist/plugin-tools/plugin-loader.js.map +1 -0
  165. package/dist/plugins/imports/index.d.ts +3 -0
  166. package/dist/plugins/imports/index.d.ts.map +1 -0
  167. package/dist/plugins/imports/index.js +3 -0
  168. package/dist/plugins/imports/index.js.map +1 -0
  169. package/dist/plugins/imports/loader.d.ts +23 -0
  170. package/dist/plugins/imports/loader.d.ts.map +1 -0
  171. package/dist/plugins/imports/loader.js +81 -0
  172. package/dist/plugins/imports/loader.js.map +1 -0
  173. package/dist/plugins/imports/types.d.ts +27 -0
  174. package/dist/plugins/imports/types.d.ts.map +1 -0
  175. package/dist/plugins/imports/types.js +4 -0
  176. package/dist/plugins/imports/types.js.map +1 -0
  177. package/dist/plugins/index.d.ts +7 -0
  178. package/dist/plugins/index.d.ts.map +1 -0
  179. package/dist/plugins/index.js +7 -0
  180. package/dist/plugins/index.js.map +1 -0
  181. package/dist/plugins/manifest/manifest.d.ts +13 -0
  182. package/dist/plugins/manifest/manifest.d.ts.map +1 -0
  183. package/dist/plugins/manifest/manifest.js +6 -0
  184. package/dist/plugins/manifest/manifest.js.map +1 -0
  185. package/dist/plugins/metadata/index.d.ts +2 -0
  186. package/dist/plugins/metadata/index.d.ts.map +1 -0
  187. package/dist/plugins/metadata/index.js +2 -0
  188. package/dist/plugins/metadata/index.js.map +1 -0
  189. package/dist/plugins/metadata/types.d.ts +163 -0
  190. package/dist/plugins/metadata/types.d.ts.map +1 -0
  191. package/dist/plugins/metadata/types.js +59 -0
  192. package/dist/plugins/metadata/types.js.map +1 -0
  193. package/dist/plugins/migrations/index.d.ts +2 -0
  194. package/dist/plugins/migrations/index.d.ts.map +1 -0
  195. package/dist/plugins/migrations/index.js +2 -0
  196. package/dist/plugins/migrations/index.js.map +1 -0
  197. package/dist/plugins/migrations/run-migrations.d.ts +4 -0
  198. package/dist/plugins/migrations/run-migrations.d.ts.map +1 -0
  199. package/dist/plugins/migrations/run-migrations.js +30 -0
  200. package/dist/plugins/migrations/run-migrations.js.map +1 -0
  201. package/dist/plugins/schema/common.d.ts +6 -0
  202. package/dist/plugins/schema/common.d.ts.map +1 -0
  203. package/dist/plugins/schema/common.js +2 -0
  204. package/dist/plugins/schema/common.js.map +1 -0
  205. package/dist/plugins/schema/index.d.ts +4 -0
  206. package/dist/plugins/schema/index.d.ts.map +1 -0
  207. package/dist/plugins/schema/index.js +4 -0
  208. package/dist/plugins/schema/index.js.map +1 -0
  209. package/dist/plugins/schema/parser.d.ts +19 -0
  210. package/dist/plugins/schema/parser.d.ts.map +1 -0
  211. package/dist/plugins/schema/parser.js +41 -0
  212. package/dist/plugins/schema/parser.js.map +1 -0
  213. package/dist/plugins/schema/store.d.ts +8 -0
  214. package/dist/plugins/schema/store.d.ts.map +1 -0
  215. package/dist/plugins/schema/store.js +21 -0
  216. package/dist/plugins/schema/store.js.map +1 -0
  217. package/dist/plugins/schema/zod-with-plugins.d.ts +12 -0
  218. package/dist/plugins/schema/zod-with-plugins.d.ts.map +1 -0
  219. package/dist/plugins/schema/zod-with-plugins.js +26 -0
  220. package/dist/plugins/schema/zod-with-plugins.js.map +1 -0
  221. package/dist/plugins/spec/auth-config-spec.d.ts +21 -0
  222. package/dist/plugins/spec/auth-config-spec.d.ts.map +1 -0
  223. package/dist/plugins/spec/auth-config-spec.js +6 -0
  224. package/dist/plugins/spec/auth-config-spec.js.map +1 -0
  225. package/dist/plugins/spec/config-spec.d.ts +31 -0
  226. package/dist/plugins/spec/config-spec.d.ts.map +1 -0
  227. package/dist/plugins/spec/config-spec.js +58 -0
  228. package/dist/plugins/spec/config-spec.js.map +1 -0
  229. package/dist/plugins/spec/index.d.ts +5 -0
  230. package/dist/plugins/spec/index.d.ts.map +1 -0
  231. package/dist/plugins/spec/index.js +5 -0
  232. package/dist/plugins/spec/index.js.map +1 -0
  233. package/dist/plugins/spec/types.d.ts +29 -0
  234. package/dist/plugins/spec/types.d.ts.map +1 -0
  235. package/dist/plugins/spec/types.js +17 -0
  236. package/dist/plugins/spec/types.js.map +1 -0
  237. package/dist/plugins/spec/web-config-spec.d.ts +22 -0
  238. package/dist/plugins/spec/web-config-spec.d.ts.map +1 -0
  239. package/dist/plugins/spec/web-config-spec.js +23 -0
  240. package/dist/plugins/spec/web-config-spec.js.map +1 -0
  241. package/dist/references/deserialize-schema.d.ts +4 -0
  242. package/dist/references/deserialize-schema.d.ts.map +1 -0
  243. package/dist/references/deserialize-schema.js +68 -0
  244. package/dist/references/deserialize-schema.js.map +1 -0
  245. package/dist/references/fix-ref-deletions.d.ts +22 -0
  246. package/dist/references/fix-ref-deletions.d.ts.map +1 -0
  247. package/dist/references/fix-ref-deletions.js +99 -0
  248. package/dist/references/fix-ref-deletions.js.map +1 -0
  249. package/dist/references/index.d.ts +6 -0
  250. package/dist/references/index.d.ts.map +1 -0
  251. package/dist/references/index.js +6 -0
  252. package/dist/references/index.js.map +1 -0
  253. package/dist/references/parse-schema-with-references.d.ts +14 -0
  254. package/dist/references/parse-schema-with-references.d.ts.map +1 -0
  255. package/dist/references/parse-schema-with-references.js +16 -0
  256. package/dist/references/parse-schema-with-references.js.map +1 -0
  257. package/dist/references/ref-builder.d.ts +346 -0
  258. package/dist/references/ref-builder.d.ts.map +1 -0
  259. package/dist/references/ref-builder.js +494 -0
  260. package/dist/references/ref-builder.js.map +1 -0
  261. package/dist/references/resolve-zod-ref-payload-names.d.ts +26 -0
  262. package/dist/references/resolve-zod-ref-payload-names.d.ts.map +1 -0
  263. package/dist/references/resolve-zod-ref-payload-names.js +52 -0
  264. package/dist/references/resolve-zod-ref-payload-names.js.map +1 -0
  265. package/dist/references/serialize-schema.d.ts +5 -0
  266. package/dist/references/serialize-schema.d.ts.map +1 -0
  267. package/dist/references/serialize-schema.js +22 -0
  268. package/dist/references/serialize-schema.js.map +1 -0
  269. package/dist/references/types.d.ts +126 -0
  270. package/dist/references/types.d.ts.map +1 -0
  271. package/dist/references/types.js +59 -0
  272. package/dist/references/types.js.map +1 -0
  273. package/dist/schema/apps/admin/app.d.ts +1144 -0
  274. package/dist/schema/apps/admin/app.d.ts.map +1 -0
  275. package/dist/schema/apps/admin/app.js +27 -0
  276. package/dist/schema/apps/admin/app.js.map +1 -0
  277. package/dist/schema/apps/admin/index.d.ts +3 -0
  278. package/dist/schema/apps/admin/index.d.ts.map +1 -0
  279. package/dist/schema/apps/admin/index.js +3 -0
  280. package/dist/schema/apps/admin/index.js.map +1 -0
  281. package/dist/schema/apps/admin/sections/base.d.ts +9 -0
  282. package/dist/schema/apps/admin/sections/base.d.ts.map +1 -0
  283. package/dist/schema/apps/admin/sections/base.js +15 -0
  284. package/dist/schema/apps/admin/sections/base.js.map +1 -0
  285. package/dist/schema/apps/admin/sections/crud-form/admin-crud-input.d.ts +11 -0
  286. package/dist/schema/apps/admin/sections/crud-form/admin-crud-input.d.ts.map +1 -0
  287. package/dist/schema/apps/admin/sections/crud-form/admin-crud-input.js +11 -0
  288. package/dist/schema/apps/admin/sections/crud-form/admin-crud-input.js.map +1 -0
  289. package/dist/schema/apps/admin/sections/crud-form/admin-input-spec.d.ts +17 -0
  290. package/dist/schema/apps/admin/sections/crud-form/admin-input-spec.d.ts.map +1 -0
  291. package/dist/schema/apps/admin/sections/crud-form/admin-input-spec.js +30 -0
  292. package/dist/schema/apps/admin/sections/crud-form/admin-input-spec.js.map +1 -0
  293. package/dist/schema/apps/admin/sections/crud-form/built-in-input.d.ts +138 -0
  294. package/dist/schema/apps/admin/sections/crud-form/built-in-input.d.ts.map +1 -0
  295. package/dist/schema/apps/admin/sections/crud-form/built-in-input.js +101 -0
  296. package/dist/schema/apps/admin/sections/crud-form/built-in-input.js.map +1 -0
  297. package/dist/schema/apps/admin/sections/crud-form/index.d.ts +5 -0
  298. package/dist/schema/apps/admin/sections/crud-form/index.d.ts.map +1 -0
  299. package/dist/schema/apps/admin/sections/crud-form/index.js +5 -0
  300. package/dist/schema/apps/admin/sections/crud-form/index.js.map +1 -0
  301. package/dist/schema/apps/admin/sections/crud-form/types.d.ts +19 -0
  302. package/dist/schema/apps/admin/sections/crud-form/types.d.ts.map +1 -0
  303. package/dist/schema/apps/admin/sections/crud-form/types.js +14 -0
  304. package/dist/schema/apps/admin/sections/crud-form/types.js.map +1 -0
  305. package/dist/schema/apps/admin/sections/crud.d.ts +988 -0
  306. package/dist/schema/apps/admin/sections/crud.d.ts.map +1 -0
  307. package/dist/schema/apps/admin/sections/crud.js +101 -0
  308. package/dist/schema/apps/admin/sections/crud.js.map +1 -0
  309. package/dist/schema/apps/admin/sections/index.d.ts +5 -0
  310. package/dist/schema/apps/admin/sections/index.d.ts.map +1 -0
  311. package/dist/schema/apps/admin/sections/index.js +5 -0
  312. package/dist/schema/apps/admin/sections/index.js.map +1 -0
  313. package/dist/schema/apps/admin/sections/types.d.ts +2 -0
  314. package/dist/schema/apps/admin/sections/types.d.ts.map +1 -0
  315. package/dist/schema/apps/admin/sections/types.js +6 -0
  316. package/dist/schema/apps/admin/sections/types.js.map +1 -0
  317. package/dist/schema/apps/backend/index.d.ts +49 -0
  318. package/dist/schema/apps/backend/index.d.ts.map +1 -0
  319. package/dist/schema/apps/backend/index.js +15 -0
  320. package/dist/schema/apps/backend/index.js.map +1 -0
  321. package/dist/schema/apps/base.d.ts +25 -0
  322. package/dist/schema/apps/base.d.ts.map +1 -0
  323. package/dist/schema/apps/base.js +16 -0
  324. package/dist/schema/apps/base.js.map +1 -0
  325. package/dist/schema/apps/index.d.ts +6 -0
  326. package/dist/schema/apps/index.d.ts.map +1 -0
  327. package/dist/schema/apps/index.js +6 -0
  328. package/dist/schema/apps/index.js.map +1 -0
  329. package/dist/schema/apps/types.d.ts +6 -0
  330. package/dist/schema/apps/types.d.ts.map +1 -0
  331. package/dist/schema/apps/types.js +6 -0
  332. package/dist/schema/apps/types.js.map +1 -0
  333. package/dist/schema/apps/web/index.d.ts +49 -0
  334. package/dist/schema/apps/web/index.d.ts.map +1 -0
  335. package/dist/schema/apps/web/index.js +22 -0
  336. package/dist/schema/apps/web/index.js.map +1 -0
  337. package/dist/schema/auth/index.d.ts +2 -0
  338. package/dist/schema/auth/index.d.ts.map +1 -0
  339. package/dist/schema/auth/index.js +3 -0
  340. package/dist/schema/auth/index.js.map +1 -0
  341. package/dist/schema/creator/index.d.ts +2 -0
  342. package/dist/schema/creator/index.d.ts.map +1 -0
  343. package/dist/schema/creator/index.js +2 -0
  344. package/dist/schema/creator/index.js.map +1 -0
  345. package/dist/schema/creator/schema-creator.d.ts +4 -0
  346. package/dist/schema/creator/schema-creator.d.ts.map +1 -0
  347. package/dist/schema/creator/schema-creator.js +4 -0
  348. package/dist/schema/creator/schema-creator.js.map +1 -0
  349. package/dist/schema/creator/types.d.ts +14 -0
  350. package/dist/schema/creator/types.d.ts.map +1 -0
  351. package/dist/schema/creator/types.js +2 -0
  352. package/dist/schema/creator/types.js.map +1 -0
  353. package/dist/schema/features/feature.d.ts +33 -0
  354. package/dist/schema/features/feature.d.ts.map +1 -0
  355. package/dist/schema/features/feature.js +21 -0
  356. package/dist/schema/features/feature.js.map +1 -0
  357. package/dist/schema/features/index.d.ts +3 -0
  358. package/dist/schema/features/index.d.ts.map +1 -0
  359. package/dist/schema/features/index.js +3 -0
  360. package/dist/schema/features/index.js.map +1 -0
  361. package/dist/schema/features/theme.d.ts +208 -0
  362. package/dist/schema/features/theme.d.ts.map +1 -0
  363. package/dist/schema/features/theme.js +34 -0
  364. package/dist/schema/features/theme.js.map +1 -0
  365. package/dist/schema/index.d.ts +11 -0
  366. package/dist/schema/index.d.ts.map +1 -0
  367. package/dist/schema/index.js +11 -0
  368. package/dist/schema/index.js.map +1 -0
  369. package/dist/schema/models/enums.d.ts +97 -0
  370. package/dist/schema/models/enums.d.ts.map +1 -0
  371. package/dist/schema/models/enums.js +25 -0
  372. package/dist/schema/models/enums.js.map +1 -0
  373. package/dist/schema/models/graphql.d.ts +181 -0
  374. package/dist/schema/models/graphql.d.ts.map +1 -0
  375. package/dist/schema/models/graphql.js +96 -0
  376. package/dist/schema/models/graphql.js.map +1 -0
  377. package/dist/schema/models/index.d.ts +1692 -0
  378. package/dist/schema/models/index.d.ts.map +1 -0
  379. package/dist/schema/models/index.js +220 -0
  380. package/dist/schema/models/index.js.map +1 -0
  381. package/dist/schema/models/mocks.d.ts +6 -0
  382. package/dist/schema/models/mocks.d.ts.map +1 -0
  383. package/dist/schema/models/mocks.js +55 -0
  384. package/dist/schema/models/mocks.js.map +1 -0
  385. package/dist/schema/models/transformers/built-in-transformers.d.ts +71 -0
  386. package/dist/schema/models/transformers/built-in-transformers.d.ts.map +1 -0
  387. package/dist/schema/models/transformers/built-in-transformers.js +59 -0
  388. package/dist/schema/models/transformers/built-in-transformers.js.map +1 -0
  389. package/dist/schema/models/transformers/index.d.ts +5 -0
  390. package/dist/schema/models/transformers/index.d.ts.map +1 -0
  391. package/dist/schema/models/transformers/index.js +5 -0
  392. package/dist/schema/models/transformers/index.js.map +1 -0
  393. package/dist/schema/models/transformers/model-transformer-spec.d.ts +17 -0
  394. package/dist/schema/models/transformers/model-transformer-spec.d.ts.map +1 -0
  395. package/dist/schema/models/transformers/model-transformer-spec.js +40 -0
  396. package/dist/schema/models/transformers/model-transformer-spec.js.map +1 -0
  397. package/dist/schema/models/transformers/transformers.d.ts +11 -0
  398. package/dist/schema/models/transformers/transformers.d.ts.map +1 -0
  399. package/dist/schema/models/transformers/transformers.js +11 -0
  400. package/dist/schema/models/transformers/transformers.js.map +1 -0
  401. package/dist/schema/models/transformers/types.d.ts +23 -0
  402. package/dist/schema/models/transformers/types.d.ts.map +1 -0
  403. package/dist/schema/models/transformers/types.js +12 -0
  404. package/dist/schema/models/transformers/types.js.map +1 -0
  405. package/dist/schema/models/types.d.ts +9 -0
  406. package/dist/schema/models/types.d.ts.map +1 -0
  407. package/dist/schema/models/types.js +14 -0
  408. package/dist/schema/models/types.js.map +1 -0
  409. package/dist/schema/plugins/definition.d.ts +128 -0
  410. package/dist/schema/plugins/definition.d.ts.map +1 -0
  411. package/dist/schema/plugins/definition.js +28 -0
  412. package/dist/schema/plugins/definition.js.map +1 -0
  413. package/dist/schema/plugins/entity-types.d.ts +2 -0
  414. package/dist/schema/plugins/entity-types.d.ts.map +1 -0
  415. package/dist/schema/plugins/entity-types.js +3 -0
  416. package/dist/schema/plugins/entity-types.js.map +1 -0
  417. package/dist/schema/plugins/index.d.ts +3 -0
  418. package/dist/schema/plugins/index.d.ts.map +1 -0
  419. package/dist/schema/plugins/index.js +3 -0
  420. package/dist/schema/plugins/index.js.map +1 -0
  421. package/dist/schema/project-definition.d.ts +2877 -0
  422. package/dist/schema/project-definition.d.ts.map +1 -0
  423. package/dist/schema/project-definition.js +34 -0
  424. package/dist/schema/project-definition.js.map +1 -0
  425. package/dist/schema/settings.d.ts +228 -0
  426. package/dist/schema/settings.d.ts.map +1 -0
  427. package/dist/schema/settings.js +32 -0
  428. package/dist/schema/settings.js.map +1 -0
  429. package/dist/schema/template-extractor/index.d.ts +25 -0
  430. package/dist/schema/template-extractor/index.d.ts.map +1 -0
  431. package/dist/schema/template-extractor/index.js +18 -0
  432. package/dist/schema/template-extractor/index.js.map +1 -0
  433. package/dist/schema/utils/validation.d.ts +8 -0
  434. package/dist/schema/utils/validation.d.ts.map +1 -0
  435. package/dist/schema/utils/validation.js +18 -0
  436. package/dist/schema/utils/validation.js.map +1 -0
  437. package/dist/tools/index.d.ts +2 -0
  438. package/dist/tools/index.d.ts.map +1 -0
  439. package/dist/tools/index.js +2 -0
  440. package/dist/tools/index.js.map +1 -0
  441. package/dist/tools/model-merger/index.d.ts +2 -0
  442. package/dist/tools/model-merger/index.d.ts.map +1 -0
  443. package/dist/tools/model-merger/index.js +2 -0
  444. package/dist/tools/model-merger/index.js.map +1 -0
  445. package/dist/tools/model-merger/model-merger.d.ts +376 -0
  446. package/dist/tools/model-merger/model-merger.d.ts.map +1 -0
  447. package/dist/tools/model-merger/model-merger.js +229 -0
  448. package/dist/tools/model-merger/model-merger.js.map +1 -0
  449. package/dist/types/field-types.d.ts +3 -0
  450. package/dist/types/field-types.d.ts.map +1 -0
  451. package/dist/types/field-types.js +13 -0
  452. package/dist/types/field-types.js.map +1 -0
  453. package/dist/types/files.d.ts +8 -0
  454. package/dist/types/files.d.ts.map +1 -0
  455. package/dist/types/files.js +2 -0
  456. package/dist/types/files.js.map +1 -0
  457. package/dist/utils/color-conversions.d.ts +20 -0
  458. package/dist/utils/color-conversions.d.ts.map +1 -0
  459. package/dist/utils/color-conversions.js +38 -0
  460. package/dist/utils/color-conversions.js.map +1 -0
  461. package/dist/utils/color-names.d.ts +18 -0
  462. package/dist/utils/color-names.d.ts.map +1 -0
  463. package/dist/utils/color-names.js +54 -0
  464. package/dist/utils/color-names.js.map +1 -0
  465. package/dist/utils/definition-diff/definition-diff.d.ts +68 -0
  466. package/dist/utils/definition-diff/definition-diff.d.ts.map +1 -0
  467. package/dist/utils/definition-diff/definition-diff.js +149 -0
  468. package/dist/utils/definition-diff/definition-diff.js.map +1 -0
  469. package/dist/utils/definition-diff/index.d.ts +2 -0
  470. package/dist/utils/definition-diff/index.d.ts.map +1 -0
  471. package/dist/utils/definition-diff/index.js +2 -0
  472. package/dist/utils/definition-diff/index.js.map +1 -0
  473. package/dist/utils/index.d.ts +6 -0
  474. package/dist/utils/index.d.ts.map +1 -0
  475. package/dist/utils/index.js +6 -0
  476. package/dist/utils/index.js.map +1 -0
  477. package/dist/utils/path.d.ts +5 -0
  478. package/dist/utils/path.d.ts.map +1 -0
  479. package/dist/utils/path.js +27 -0
  480. package/dist/utils/path.js.map +1 -0
  481. package/dist/utils/strip.d.ts +18 -0
  482. package/dist/utils/strip.d.ts.map +1 -0
  483. package/dist/utils/strip.js +37 -0
  484. package/dist/utils/strip.js.map +1 -0
  485. package/dist/utils/theme.d.ts +10 -0
  486. package/dist/utils/theme.d.ts.map +1 -0
  487. package/dist/utils/theme.js +58 -0
  488. package/dist/utils/theme.js.map +1 -0
  489. package/dist/web/components/FeatureComboboxField.d.ts +17 -0
  490. package/dist/web/components/FeatureComboboxField.d.ts.map +1 -0
  491. package/dist/web/components/FeatureComboboxField.js +38 -0
  492. package/dist/web/components/FeatureComboboxField.js.map +1 -0
  493. package/dist/web/components/ModelComboboxField.d.ts +17 -0
  494. package/dist/web/components/ModelComboboxField.d.ts.map +1 -0
  495. package/dist/web/components/ModelComboboxField.js +38 -0
  496. package/dist/web/components/ModelComboboxField.js.map +1 -0
  497. package/dist/web/components/ModelMergerResultAlert.d.ts +8 -0
  498. package/dist/web/components/ModelMergerResultAlert.d.ts.map +1 -0
  499. package/dist/web/components/ModelMergerResultAlert.js +10 -0
  500. package/dist/web/components/ModelMergerResultAlert.js.map +1 -0
  501. package/dist/web/components/index.d.ts +4 -0
  502. package/dist/web/components/index.d.ts.map +1 -0
  503. package/dist/web/components/index.js +4 -0
  504. package/dist/web/components/index.js.map +1 -0
  505. package/dist/web/contexts/error-handler.d.ts +7 -0
  506. package/dist/web/contexts/error-handler.d.ts.map +1 -0
  507. package/dist/web/contexts/error-handler.js +3 -0
  508. package/dist/web/contexts/error-handler.js.map +1 -0
  509. package/dist/web/contexts/index.d.ts +2 -0
  510. package/dist/web/contexts/index.d.ts.map +1 -0
  511. package/dist/web/contexts/index.js +2 -0
  512. package/dist/web/contexts/index.js.map +1 -0
  513. package/dist/web/hooks/index.d.ts +8 -0
  514. package/dist/web/hooks/index.d.ts.map +1 -0
  515. package/dist/web/hooks/index.js +8 -0
  516. package/dist/web/hooks/index.js.map +1 -0
  517. package/dist/web/hooks/useBlockDirtyFormNavigate.d.ts +3 -0
  518. package/dist/web/hooks/useBlockDirtyFormNavigate.d.ts.map +1 -0
  519. package/dist/web/hooks/useBlockDirtyFormNavigate.js +14 -0
  520. package/dist/web/hooks/useBlockDirtyFormNavigate.js.map +1 -0
  521. package/dist/web/hooks/useBlockUnsavedChangesNavigate.d.ts +7 -0
  522. package/dist/web/hooks/useBlockUnsavedChangesNavigate.d.ts.map +1 -0
  523. package/dist/web/hooks/useBlockUnsavedChangesNavigate.js +47 -0
  524. package/dist/web/hooks/useBlockUnsavedChangesNavigate.js.map +1 -0
  525. package/dist/web/hooks/useBlockerDialog.d.ts +44 -0
  526. package/dist/web/hooks/useBlockerDialog.d.ts.map +1 -0
  527. package/dist/web/hooks/useBlockerDialog.js +77 -0
  528. package/dist/web/hooks/useBlockerDialog.js.map +1 -0
  529. package/dist/web/hooks/useErrorHandler.d.ts +3 -0
  530. package/dist/web/hooks/useErrorHandler.d.ts.map +1 -0
  531. package/dist/web/hooks/useErrorHandler.js +10 -0
  532. package/dist/web/hooks/useErrorHandler.js.map +1 -0
  533. package/dist/web/hooks/usePluginEnhancedSchema.d.ts +4 -0
  534. package/dist/web/hooks/usePluginEnhancedSchema.d.ts.map +1 -0
  535. package/dist/web/hooks/usePluginEnhancedSchema.js +8 -0
  536. package/dist/web/hooks/usePluginEnhancedSchema.js.map +1 -0
  537. package/dist/web/hooks/useProjectDefinition.d.ts +65 -0
  538. package/dist/web/hooks/useProjectDefinition.d.ts.map +1 -0
  539. package/dist/web/hooks/useProjectDefinition.js +10 -0
  540. package/dist/web/hooks/useProjectDefinition.js.map +1 -0
  541. package/dist/web/hooks/useResettableForm.d.ts +3 -0
  542. package/dist/web/hooks/useResettableForm.d.ts.map +1 -0
  543. package/dist/web/hooks/useResettableForm.js +29 -0
  544. package/dist/web/hooks/useResettableForm.js.map +1 -0
  545. package/dist/web/index.d.ts +6 -0
  546. package/dist/web/index.d.ts.map +1 -0
  547. package/dist/web/index.js +6 -0
  548. package/dist/web/index.js.map +1 -0
  549. package/dist/web/specs/admin-crud-input-web-spec.d.ts +36 -0
  550. package/dist/web/specs/admin-crud-input-web-spec.d.ts.map +1 -0
  551. package/dist/web/specs/admin-crud-input-web-spec.js +35 -0
  552. package/dist/web/specs/admin-crud-input-web-spec.js.map +1 -0
  553. package/dist/web/specs/index.d.ts +3 -0
  554. package/dist/web/specs/index.d.ts.map +1 -0
  555. package/dist/web/specs/index.js +3 -0
  556. package/dist/web/specs/index.js.map +1 -0
  557. package/dist/web/specs/model-transformer-web-spec.d.ts +40 -0
  558. package/dist/web/specs/model-transformer-web-spec.d.ts.map +1 -0
  559. package/dist/web/specs/model-transformer-web-spec.js +35 -0
  560. package/dist/web/specs/model-transformer-web-spec.js.map +1 -0
  561. package/dist/web/utils/form.d.ts +2 -0
  562. package/dist/web/utils/form.d.ts.map +1 -0
  563. package/dist/web/utils/form.js +6 -0
  564. package/dist/web/utils/form.js.map +1 -0
  565. package/dist/web/utils/index.d.ts +2 -0
  566. package/dist/web/utils/index.d.ts.map +1 -0
  567. package/dist/web/utils/index.js +2 -0
  568. package/dist/web/utils/index.js.map +1 -0
  569. package/package.json +78 -0
@@ -0,0 +1,30 @@
1
+ import { computeRelativePath } from '#src/utils/path.js';
2
+ function byId(projectDefinition, id) {
3
+ const config = projectDefinition.apps.find((app) => app.id === id);
4
+ if (!config) {
5
+ throw new Error(`Unable to find app with ID ${id}`);
6
+ }
7
+ return config;
8
+ }
9
+ function getBackendApp(projectDefinition) {
10
+ const backendApps = projectDefinition.apps.filter((a) => a.type === 'backend');
11
+ if (backendApps.length > 1 || backendApps.length === 0) {
12
+ throw new Error(`Only one backend app is supported and must exist`);
13
+ }
14
+ const backendApp = backendApps[0];
15
+ return backendApp;
16
+ }
17
+ export function getBackendRelativePath(appConfig, backendApp) {
18
+ const backendRelativePath = computeRelativePath(appConfig.packageLocation
19
+ ? appConfig.packageLocation
20
+ : `packages/${appConfig.name}`, backendApp.packageLocation
21
+ ? backendApp.packageLocation
22
+ : `packages/${backendApp.name}`);
23
+ return backendRelativePath;
24
+ }
25
+ export const AppUtils = {
26
+ byId,
27
+ getBackendApp,
28
+ getBackendRelativePath,
29
+ };
30
+ //# sourceMappingURL=app-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-utils.js","sourceRoot":"","sources":["../../../src/definition/apps/app-utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,SAAS,IAAI,CAAC,iBAAoC,EAAE,EAAU;IAC5D,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,iBAAoC;IACzD,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CACnD,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAElC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,SAAoB,EACpB,UAA4B;IAE5B,MAAM,mBAAmB,GAAG,mBAAmB,CAC7C,SAAS,CAAC,eAAe;QACvB,CAAC,CAAC,SAAS,CAAC,eAAe;QAC3B,CAAC,CAAC,YAAY,SAAS,CAAC,IAAI,EAAE,EAChC,UAAU,CAAC,eAAe;QACxB,CAAC,CAAC,UAAU,CAAC,eAAe;QAC5B,CAAC,CAAC,YAAY,UAAU,CAAC,IAAI,EAAE,CAClC,CAAC;IAEF,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI;IACJ,aAAa;IACb,sBAAsB;CACvB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { FeatureConfig, ProjectDefinition } from '#src/schema/index.js';
2
+ declare function getRootFeatures(projectDefinition: ProjectDefinition): FeatureConfig[];
3
+ declare function getFeatureById(projectDefinition: ProjectDefinition, featureId: string): FeatureConfig | undefined;
4
+ declare function getFeatureByIdOrThrow(projectDefinition: ProjectDefinition, featureId: string): FeatureConfig;
5
+ declare function getFeatureChildren(projectDefinition: ProjectDefinition, featureId: string): FeatureConfig[];
6
+ declare function getFeatureName(featureConfig: FeatureConfig): string;
7
+ declare function getFeatureNameById(projectDefinition: ProjectDefinition, featureId: string): string;
8
+ declare function getFeaturePathById(projectDefinition: ProjectDefinition, featureId: string): string;
9
+ declare function validateFeatureName(name: string): boolean;
10
+ declare function ensureFeatureByNameRecursively(projectDefinition: ProjectDefinition, nameOrId: string): string;
11
+ declare function getFeatureByName(projectDefinition: ProjectDefinition, name: string): FeatureConfig | undefined;
12
+ declare function getFeatureIdByNameOrDefault(projectDefinition: ProjectDefinition, name: string): string;
13
+ export declare const FeatureUtils: {
14
+ getRootFeatures: typeof getRootFeatures;
15
+ getFeatureById: typeof getFeatureById;
16
+ getFeatureByIdOrThrow: typeof getFeatureByIdOrThrow;
17
+ getFeatureChildren: typeof getFeatureChildren;
18
+ getFeatureName: typeof getFeatureName;
19
+ getFeatureNameById: typeof getFeatureNameById;
20
+ getFeaturePathById: typeof getFeaturePathById;
21
+ validateFeatureName: typeof validateFeatureName;
22
+ ensureFeatureByNameRecursively: typeof ensureFeatureByNameRecursively;
23
+ getFeatureByName: typeof getFeatureByName;
24
+ getFeatureIdByNameOrDefault: typeof getFeatureIdByNameOrDefault;
25
+ };
26
+ export {};
27
+ //# sourceMappingURL=feature-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-utils.d.ts","sourceRoot":"","sources":["../../../src/definition/feature/feature-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI7E,iBAAS,eAAe,CACtB,iBAAiB,EAAE,iBAAiB,GACnC,aAAa,EAAE,CAEjB;AAED,iBAAS,cAAc,CACrB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,GAChB,aAAa,GAAG,SAAS,CAE3B;AAED,iBAAS,qBAAqB,CAC5B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,GAChB,aAAa,CAMf;AAED,iBAAS,kBAAkB,CACzB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,GAChB,aAAa,EAAE,CAEjB;AAED,iBAAS,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAE5D;AAED,iBAAS,kBAAkB,CACzB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,GAChB,MAAM,CAGR;AAED,iBAAS,kBAAkB,CACzB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,GAChB,MAAM,CAGR;AAED,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlD;AAED,iBAAS,8BAA8B,CACrC,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,MAAM,GACf,MAAM,CA6BR;AAED,iBAAS,gBAAgB,CACvB,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,MAAM,GACX,aAAa,GAAG,SAAS,CAE3B;AAED,iBAAS,2BAA2B,CAClC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;CAYxB,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { featureEntityType, featureNameSchema } from '#src/schema/index.js';
2
+ function getRootFeatures(projectDefinition) {
3
+ return projectDefinition.features.filter((f) => !f.parentRef);
4
+ }
5
+ function getFeatureById(projectDefinition, featureId) {
6
+ return projectDefinition.features.find((f) => f.id === featureId);
7
+ }
8
+ function getFeatureByIdOrThrow(projectDefinition, featureId) {
9
+ const feature = getFeatureById(projectDefinition, featureId);
10
+ if (!feature) {
11
+ throw new Error(`Could not find feature with ID ${featureId}`);
12
+ }
13
+ return feature;
14
+ }
15
+ function getFeatureChildren(projectDefinition, featureId) {
16
+ return projectDefinition.features.filter((f) => f.parentRef === featureId);
17
+ }
18
+ function getFeatureName(featureConfig) {
19
+ return featureConfig.name.split('/').pop() ?? '';
20
+ }
21
+ function getFeatureNameById(projectDefinition, featureId) {
22
+ const feature = getFeatureByIdOrThrow(projectDefinition, featureId);
23
+ return getFeatureName(feature);
24
+ }
25
+ function getFeaturePathById(projectDefinition, featureId) {
26
+ const feature = getFeatureByIdOrThrow(projectDefinition, featureId);
27
+ return feature.name;
28
+ }
29
+ function validateFeatureName(name) {
30
+ const nameParts = name.split('/');
31
+ return nameParts.every((part) => featureNameSchema.safeParse(part).success);
32
+ }
33
+ function ensureFeatureByNameRecursively(projectDefinition, nameOrId) {
34
+ if (featureEntityType.isId(nameOrId)) {
35
+ return nameOrId;
36
+ }
37
+ const nameParts = nameOrId.split('/');
38
+ let lastName = '';
39
+ let parentRef = null;
40
+ for (const part of nameParts) {
41
+ const feature = projectDefinition.features.find((f) => f.name === part && f.parentRef === parentRef);
42
+ const name = [lastName, part].filter(Boolean).join('/');
43
+ if (feature) {
44
+ parentRef = feature.id;
45
+ }
46
+ else {
47
+ const newFeature = {
48
+ id: featureEntityType.generateNewId(),
49
+ name,
50
+ parentRef,
51
+ };
52
+ projectDefinition.features.push(newFeature);
53
+ parentRef = newFeature.id;
54
+ }
55
+ lastName = name;
56
+ }
57
+ if (!parentRef) {
58
+ throw new Error('Failed to create feature');
59
+ }
60
+ return parentRef;
61
+ }
62
+ function getFeatureByName(projectDefinition, name) {
63
+ return projectDefinition.features.find((f) => f.name === name);
64
+ }
65
+ function getFeatureIdByNameOrDefault(projectDefinition, name) {
66
+ return getFeatureByName(projectDefinition, name)?.id ?? name;
67
+ }
68
+ export const FeatureUtils = {
69
+ getRootFeatures,
70
+ getFeatureById,
71
+ getFeatureByIdOrThrow,
72
+ getFeatureChildren,
73
+ getFeatureName,
74
+ getFeatureNameById,
75
+ getFeaturePathById,
76
+ validateFeatureName,
77
+ ensureFeatureByNameRecursively,
78
+ getFeatureByName,
79
+ getFeatureIdByNameOrDefault,
80
+ };
81
+ //# sourceMappingURL=feature-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature-utils.js","sourceRoot":"","sources":["../../../src/definition/feature/feature-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export * from './apps/app-utils.js';
2
+ export * from './feature/feature-utils.js';
3
+ export * from './model/enum-utils.js';
4
+ export * from './model/model-field-utils.js';
5
+ export * from './model/model-transformer-utils.js';
6
+ export * from './model/model-utils.js';
7
+ export * from './plugins/index.js';
8
+ export * from './project-definition-container.js';
9
+ export * from './project-definition-container.test-helper.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/definition/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,+CAA+C,CAAC"}
@@ -0,0 +1,10 @@
1
+ export * from './apps/app-utils.js';
2
+ export * from './feature/feature-utils.js';
3
+ export * from './model/enum-utils.js';
4
+ export * from './model/model-field-utils.js';
5
+ export * from './model/model-transformer-utils.js';
6
+ export * from './model/model-utils.js';
7
+ export * from './plugins/index.js';
8
+ export * from './project-definition-container.js';
9
+ export * from './project-definition-container.test-helper.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/definition/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mCAAmC,CAAC;AAClD,cAAc,+CAA+C,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { EnumConfig, ProjectDefinition } from '#src/schema/index.js';
2
+ declare function byId(projectDefinition: ProjectDefinition, id: string): EnumConfig | undefined;
3
+ declare function byIdOrThrow(projectDefinition: ProjectDefinition, id: string): EnumConfig;
4
+ export declare const EnumUtils: {
5
+ byId: typeof byId;
6
+ byIdOrThrow: typeof byIdOrThrow;
7
+ };
8
+ export {};
9
+ //# sourceMappingURL=enum-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum-utils.d.ts","sourceRoot":"","sources":["../../../src/definition/model/enum-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE1E,iBAAS,IAAI,CACX,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,UAAU,GAAG,SAAS,CAExB;AAED,iBAAS,WAAW,CAClB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,UAAU,CAMZ;AAED,eAAO,MAAM,SAAS;;;CAGrB,CAAC"}
@@ -0,0 +1,15 @@
1
+ function byId(projectDefinition, id) {
2
+ return projectDefinition.enums?.find((e) => e.id === id);
3
+ }
4
+ function byIdOrThrow(projectDefinition, id) {
5
+ const enumConfig = byId(projectDefinition, id);
6
+ if (!enumConfig) {
7
+ throw new Error(`Could not find enum with ID ${id}`);
8
+ }
9
+ return enumConfig;
10
+ }
11
+ export const EnumUtils = {
12
+ byId,
13
+ byIdOrThrow,
14
+ };
15
+ //# sourceMappingURL=enum-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum-utils.js","sourceRoot":"","sources":["../../../src/definition/model/enum-utils.ts"],"names":[],"mappings":"AAEA,SAAS,IAAI,CACX,iBAAoC,EACpC,EAAU;IAEV,OAAO,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,WAAW,CAClB,iBAAoC,EACpC,EAAU;IAEV,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI;IACJ,WAAW;CACZ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { ModelConfig, ModelConfigInput, ModelRelationFieldConfig, ModelScalarFieldConfig, ProjectDefinition } from '#src/schema/index.js';
2
+ declare function isScalarUnique(model: ModelConfig, fieldId: string): boolean;
3
+ declare function areScalarsUnique(model: ModelConfigInput, fieldIds: string[]): boolean;
4
+ declare function getRelationLocalFields(model: ModelConfig, relation: ModelRelationFieldConfig): ModelScalarFieldConfig[];
5
+ declare function isRelationOptional(model: ModelConfig, relation: ModelRelationFieldConfig): boolean;
6
+ declare function isRelationOneToOne(model: ModelConfig, relation: ModelRelationFieldConfig): boolean;
7
+ declare function getModelFieldValidation(projectDefinition: ProjectDefinition, modelId: string, fieldId: string, preProcess?: boolean): string;
8
+ export declare const ModelFieldUtils: {
9
+ isScalarUnique: typeof isScalarUnique;
10
+ areScalarsUnique: typeof areScalarsUnique;
11
+ getRelationLocalFields: typeof getRelationLocalFields;
12
+ isRelationOptional: typeof isRelationOptional;
13
+ isRelationOneToOne: typeof isRelationOneToOne;
14
+ getModelFieldValidation: typeof getModelFieldValidation;
15
+ };
16
+ export {};
17
+ //# sourceMappingURL=model-field-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-field-utils.d.ts","sourceRoot":"","sources":["../../../src/definition/model/model-field-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAI9B,iBAAS,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAUpE;AAED,iBAAS,gBAAgB,CACvB,KAAK,EAAE,gBAAgB,EACvB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAST;AAED,iBAAS,sBAAsB,CAC7B,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,wBAAwB,GACjC,sBAAsB,EAAE,CAU1B;AAED,iBAAS,kBAAkB,CACzB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,wBAAwB,GACjC,OAAO,CAGT;AAED,iBAAS,kBAAkB,CACzB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,wBAAwB,GACjC,OAAO,CAKT;AA0BD,iBAAS,uBAAuB,CAC9B,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,OAAO,GACnB,MAAM,CAqBR;AAED,eAAO,MAAM,eAAe;;;;;;;CAO3B,CAAC"}
@@ -0,0 +1,85 @@
1
+ import { isEqual } from 'es-toolkit';
2
+ import { ModelUtils } from './model-utils.js';
3
+ function isScalarUnique(model, fieldId) {
4
+ const { primaryKeyFieldRefs } = model.model;
5
+ const uniqueConstraints = model.model.uniqueConstraints ?? [];
6
+ return ((primaryKeyFieldRefs.length === 1 &&
7
+ primaryKeyFieldRefs.includes(fieldId)) ||
8
+ uniqueConstraints.some((c) => c.fields.length === 1 && c.fields[0].fieldRef === fieldId));
9
+ }
10
+ function areScalarsUnique(model, fieldIds) {
11
+ const sortedFieldIds = [...fieldIds].sort();
12
+ return ((isEqual([...model.model.primaryKeyFieldRefs].sort(), sortedFieldIds) ||
13
+ model.model.uniqueConstraints?.some((c) => isEqual(c.fields.map((f) => f.fieldRef).sort(), sortedFieldIds))) ??
14
+ false);
15
+ }
16
+ function getRelationLocalFields(model, relation) {
17
+ return relation.references.map((r) => {
18
+ const field = model.model.fields.find((f) => f.id === r.localRef);
19
+ if (!field) {
20
+ throw new Error(`Could not find field ${r.localRef} from relation ${relation.name} in model ${model.name}`);
21
+ }
22
+ return field;
23
+ });
24
+ }
25
+ function isRelationOptional(model, relation) {
26
+ const localFields = getRelationLocalFields(model, relation);
27
+ return localFields.some((f) => f.isOptional);
28
+ }
29
+ function isRelationOneToOne(model, relation) {
30
+ const localFields = getRelationLocalFields(model, relation);
31
+ const localFieldIds = localFields.map((f) => f.id).sort();
32
+ // check if the local fields are a primary key or unique constraint
33
+ return areScalarsUnique(model, localFieldIds);
34
+ }
35
+ function getModelValidator(modelField) {
36
+ switch (modelField.type) {
37
+ case 'boolean': {
38
+ return 'boolean()';
39
+ }
40
+ case 'date': {
41
+ return 'string()';
42
+ }
43
+ case 'int':
44
+ case 'float': {
45
+ return 'number()';
46
+ }
47
+ case 'dateTime':
48
+ case 'string':
49
+ case 'decimal':
50
+ case 'uuid': {
51
+ return 'string()';
52
+ }
53
+ default: {
54
+ throw new Error(`Unsupported validator for ${modelField.type}`);
55
+ }
56
+ }
57
+ }
58
+ function getModelFieldValidation(projectDefinition, modelId, fieldId, preProcess) {
59
+ const model = ModelUtils.byIdOrThrow(projectDefinition, modelId);
60
+ const field = model.model.fields.find((f) => f.id === fieldId);
61
+ if (!field) {
62
+ throw new Error(`Field ${fieldId} not found in model ${model.name}`);
63
+ }
64
+ const nullishSuffix = field.isOptional ? '.nullish()' : '';
65
+ if (field.type === 'int') {
66
+ return `z.number().or(z.string()).pipe(z.coerce.number().finite().int())${nullishSuffix}`;
67
+ }
68
+ if (field.type === 'float') {
69
+ return `z.number().or(z.string()).pipe(z.coerce.number().finite())${nullishSuffix}`;
70
+ }
71
+ const validator = `z.${getModelValidator(field)}${nullishSuffix}`;
72
+ if (!preProcess) {
73
+ return validator;
74
+ }
75
+ return validator;
76
+ }
77
+ export const ModelFieldUtils = {
78
+ isScalarUnique,
79
+ areScalarsUnique,
80
+ getRelationLocalFields,
81
+ isRelationOptional,
82
+ isRelationOneToOne,
83
+ getModelFieldValidation,
84
+ };
85
+ //# sourceMappingURL=model-field-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-field-utils.js","sourceRoot":"","sources":["../../../src/definition/model/model-field-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { PluginImplementationStore } from '#src/plugins/index.js';
2
+ import type { ModelTransformerType, TransformerConfig } from '#src/schema/index.js';
3
+ import type { ProjectDefinitionContainer } from '../project-definition-container.js';
4
+ declare function getTransformer(transformer: TransformerConfig, pluginStore: PluginImplementationStore): ModelTransformerType;
5
+ declare function getTransformName(definitionContainer: ProjectDefinitionContainer, transformer: TransformerConfig, pluginStore: PluginImplementationStore): string;
6
+ export declare const ModelTransformerUtils: {
7
+ getTransformer: typeof getTransformer;
8
+ getTransformName: typeof getTransformName;
9
+ };
10
+ export {};
11
+ //# sourceMappingURL=model-transformer-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-transformer-utils.d.ts","sourceRoot":"","sources":["../../../src/definition/model/model-transformer-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAErF,iBAAS,cAAc,CACrB,WAAW,EAAE,iBAAiB,EAC9B,WAAW,EAAE,yBAAyB,GACrC,oBAAoB,CAGtB;AAED,iBAAS,gBAAgB,CACvB,mBAAmB,EAAE,0BAA0B,EAC/C,WAAW,EAAE,iBAAiB,EAC9B,WAAW,EAAE,yBAAyB,GACrC,MAAM,CAKR;AAED,eAAO,MAAM,qBAAqB;;;CAAuC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { modelTransformerSpec } from '#src/schema/index.js';
2
+ function getTransformer(transformer, pluginStore) {
3
+ const transformers = pluginStore.getPluginSpec(modelTransformerSpec);
4
+ return transformers.getModelTransformer(transformer.type);
5
+ }
6
+ function getTransformName(definitionContainer, transformer, pluginStore) {
7
+ const transformers = pluginStore.getPluginSpec(modelTransformerSpec);
8
+ return transformers
9
+ .getModelTransformer(transformer.type)
10
+ .getName(definitionContainer, transformer);
11
+ }
12
+ export const ModelTransformerUtils = { getTransformer, getTransformName };
13
+ //# sourceMappingURL=model-transformer-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-transformer-utils.js","sourceRoot":"","sources":["../../../src/definition/model/model-transformer-utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAI5D,SAAS,cAAc,CACrB,WAA8B,EAC9B,WAAsC;IAEtC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACrE,OAAO,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,gBAAgB,CACvB,mBAA+C,EAC/C,WAA8B,EAC9B,WAAsC;IAEtC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACrE,OAAO,YAAY;SAChB,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC;SACrC,OAAO,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { ModelConfig, ModelRelationFieldConfig, ModelScalarFieldConfig, ProjectDefinition } from '#src/schema/index.js';
2
+ declare function byId(projectDefinition: ProjectDefinition, id: string): ModelConfig | undefined;
3
+ declare function byIdOrThrow(projectDefinition: ProjectDefinition, id: string): ModelConfig;
4
+ declare function getScalarFieldById(model: ModelConfig, id: string): ModelScalarFieldConfig;
5
+ declare function getRelationsToModel(projectDefinition: ProjectDefinition, modelId: string): {
6
+ model: ModelConfig;
7
+ relation: ModelRelationFieldConfig;
8
+ }[];
9
+ declare function getModelsForFeature(projectDefinition: ProjectDefinition, featureId: string): ModelConfig[];
10
+ declare function getModelIdFields(model: ModelConfig): string[];
11
+ declare function hasService(model: ModelConfig): boolean;
12
+ declare function validateModelName(name: string): boolean;
13
+ /**
14
+ * Returns the ID of a model by name, or the name if no model is found.
15
+ * @param projectDefinition - The project definition.
16
+ * @param name - The name of the model.
17
+ * @returns The ID of the model, or the name if no model is found.
18
+ */
19
+ declare function getModelIdByNameOrDefault(projectDefinition: ProjectDefinition, name: string): string;
20
+ export declare const ModelUtils: {
21
+ byId: typeof byId;
22
+ byIdOrThrow: typeof byIdOrThrow;
23
+ getScalarFieldById: typeof getScalarFieldById;
24
+ getRelationsToModel: typeof getRelationsToModel;
25
+ getModelsForFeature: typeof getModelsForFeature;
26
+ getModelIdFields: typeof getModelIdFields;
27
+ hasService: typeof hasService;
28
+ validateModelName: typeof validateModelName;
29
+ getModelIdByNameOrDefault: typeof getModelIdByNameOrDefault;
30
+ };
31
+ export {};
32
+ //# sourceMappingURL=model-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-utils.d.ts","sourceRoot":"","sources":["../../../src/definition/model/model-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAE9B,iBAAS,IAAI,CACX,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,WAAW,GAAG,SAAS,CAEzB;AAED,iBAAS,WAAW,CAClB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,WAAW,CAMb;AAED,iBAAS,kBAAkB,CACzB,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,MAAM,GACT,sBAAsB,CAOxB;AAED,iBAAS,mBAAmB,CAC1B,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,MAAM,GACd;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,wBAAwB,CAAA;CAAE,EAAE,CAO9D;AAED,iBAAS,mBAAmB,CAC1B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,GAChB,WAAW,EAAE,CAEf;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,CAEtD;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAO/C;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED;;;;;GAKG;AACH,iBAAS,yBAAyB,CAChC,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,MAAM,GACX,MAAM,CAER;AAED,eAAO,MAAM,UAAU;;;;;;;;;;CAUtB,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { PASCAL_CASE_REGEX } from '@baseplate-dev/utils';
2
+ function byId(projectDefinition, id) {
3
+ return projectDefinition.models.find((m) => m.id === id);
4
+ }
5
+ function byIdOrThrow(projectDefinition, id) {
6
+ const model = byId(projectDefinition, id);
7
+ if (!model) {
8
+ throw new Error(`Could not find model with ID ${id}`);
9
+ }
10
+ return model;
11
+ }
12
+ function getScalarFieldById(model, id) {
13
+ const field = model.model.fields.find((f) => f.id === id);
14
+ if (!field) {
15
+ throw new Error(`Could not find field with ID ${id}`);
16
+ }
17
+ return field;
18
+ }
19
+ function getRelationsToModel(projectDefinition, modelId) {
20
+ return projectDefinition.models.flatMap((m) => m.model.relations
21
+ ?.filter((r) => r.modelRef === modelId)
22
+ .map((r) => ({ model: m, relation: r })) ?? []);
23
+ }
24
+ function getModelsForFeature(projectDefinition, featureId) {
25
+ return projectDefinition.models.filter((m) => m.featureRef === featureId);
26
+ }
27
+ function getModelIdFields(model) {
28
+ return model.model.primaryKeyFieldRefs;
29
+ }
30
+ function hasService(model) {
31
+ return (!!model.service.create.enabled ||
32
+ !!model.service.update.enabled ||
33
+ !!model.service.delete.enabled ||
34
+ model.service.transformers.length > 0);
35
+ }
36
+ function validateModelName(name) {
37
+ return PASCAL_CASE_REGEX.test(name);
38
+ }
39
+ /**
40
+ * Returns the ID of a model by name, or the name if no model is found.
41
+ * @param projectDefinition - The project definition.
42
+ * @param name - The name of the model.
43
+ * @returns The ID of the model, or the name if no model is found.
44
+ */
45
+ function getModelIdByNameOrDefault(projectDefinition, name) {
46
+ return projectDefinition.models.find((m) => m.name === name)?.id ?? name;
47
+ }
48
+ export const ModelUtils = {
49
+ byId,
50
+ byIdOrThrow,
51
+ getScalarFieldById,
52
+ getRelationsToModel,
53
+ getModelsForFeature,
54
+ getModelIdFields,
55
+ hasService,
56
+ validateModelName,
57
+ getModelIdByNameOrDefault,
58
+ };
59
+ //# sourceMappingURL=model-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-utils.js","sourceRoot":"","sources":["../../../src/definition/model/model-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AASzD,SAAS,IAAI,CACX,iBAAoC,EACpC,EAAU;IAEV,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,WAAW,CAClB,iBAAoC,EACpC,EAAU;IAEV,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAkB,EAClB,EAAU;IAEV,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAC1B,iBAAoC,EACpC,OAAe;IAEf,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CACrC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,KAAK,CAAC,SAAS;QACf,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,iBAAoC,EACpC,SAAiB;IAEjB,OAAO,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAkB;IAC1C,OAAO,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC;AACzC,CAAC;AAED,SAAS,UAAU,CAAC,KAAkB;IACpC,OAAO,CACL,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;QAC9B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;QAC9B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO;QAC9B,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CACtC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAChC,iBAAoC,EACpC,IAAY;IAEZ,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI;IACJ,WAAW;IACX,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;IAChB,UAAU;IACV,iBAAiB;IACjB,yBAAyB;CAC1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './plugin-utils.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/definition/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './plugin-utils.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/definition/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type PluginImplementationStore, type PluginMetadataWithPaths } from '#src/plugins/index.js';
2
+ import { type BasePluginDefinition, type ProjectDefinition } from '#src/schema/index.js';
3
+ declare function byId(projectDefinition: ProjectDefinition, id: string): BasePluginDefinition | null;
4
+ declare function byIdOrThrow(projectDefinition: ProjectDefinition, id: string): BasePluginDefinition;
5
+ declare function configByIdOrThrow(projectDefinition: ProjectDefinition, id: string): unknown;
6
+ declare function setPluginConfig(projectDefinition: ProjectDefinition, plugin: PluginMetadataWithPaths, pluginConfig: unknown, pluginImplementationStore: PluginImplementationStore): void;
7
+ export declare const PluginUtils: {
8
+ byId: typeof byId;
9
+ byIdOrThrow: typeof byIdOrThrow;
10
+ setPluginConfig: typeof setPluginConfig;
11
+ configByIdOrThrow: typeof configByIdOrThrow;
12
+ };
13
+ export {};
14
+ //# sourceMappingURL=plugin-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-utils.d.ts","sourceRoot":"","sources":["../../../src/definition/plugins/plugin-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,iBAAS,IAAI,CACX,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,oBAAoB,GAAG,IAAI,CAM7B;AAED,iBAAS,WAAW,CAClB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,oBAAoB,CAMtB;AAED,iBAAS,iBAAiB,CACxB,iBAAiB,EAAE,iBAAiB,EACpC,EAAE,EAAE,MAAM,GACT,OAAO,CAGT;AAED,iBAAS,eAAe,CACtB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,uBAAuB,EAC/B,YAAY,EAAE,OAAO,EACrB,yBAAyB,EAAE,yBAAyB,GACnD,IAAI,CAyBN;AAED,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { pluginConfigSpec, } from '#src/plugins/index.js';
2
+ import { pluginEntityType, } from '#src/schema/index.js';
3
+ function byId(projectDefinition, id) {
4
+ const pluginEntityId = pluginEntityType.fromUid(id);
5
+ const plugin = projectDefinition.plugins?.find((m) => m.id === pluginEntityId);
6
+ return plugin ?? null;
7
+ }
8
+ function byIdOrThrow(projectDefinition, id) {
9
+ const plugin = byId(projectDefinition, id);
10
+ if (!plugin) {
11
+ throw new Error(`Could not find plugin with ID ${id}`);
12
+ }
13
+ return plugin;
14
+ }
15
+ function configByIdOrThrow(projectDefinition, id) {
16
+ const def = byIdOrThrow(projectDefinition, id);
17
+ return def.config;
18
+ }
19
+ function setPluginConfig(projectDefinition, plugin, pluginConfig, pluginImplementationStore) {
20
+ const plugins = projectDefinition.plugins ?? [];
21
+ const pluginEntityId = pluginEntityType.fromUid(plugin.id);
22
+ const pluginConfigService = pluginImplementationStore.getPluginSpec(pluginConfigSpec);
23
+ const lastMigrationVersion = pluginConfigService.getLastMigrationVersion(plugin.id);
24
+ projectDefinition.plugins = plugins.some((p) => p.id === pluginEntityId)
25
+ ? plugins.map((p) => pluginEntityId === p.id ? { ...p, config: pluginConfig } : p)
26
+ : [
27
+ ...plugins,
28
+ {
29
+ id: pluginEntityId,
30
+ name: plugin.name,
31
+ version: plugin.version,
32
+ packageName: plugin.packageName,
33
+ config: pluginConfig,
34
+ configSchemaVersion: lastMigrationVersion,
35
+ },
36
+ ];
37
+ }
38
+ export const PluginUtils = {
39
+ byId,
40
+ byIdOrThrow,
41
+ setPluginConfig,
42
+ configByIdOrThrow,
43
+ };
44
+ //# sourceMappingURL=plugin-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-utils.js","sourceRoot":"","sources":["../../../src/definition/plugins/plugin-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,GAGjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,gBAAgB,GAEjB,MAAM,sBAAsB,CAAC;AAE9B,SAAS,IAAI,CACX,iBAAoC,EACpC,EAAU;IAEV,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAC/B,CAAC;IACF,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC;AAED,SAAS,WAAW,CAClB,iBAAoC,EACpC,EAAU;IAEV,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CACxB,iBAAoC,EACpC,EAAU;IAEV,MAAM,GAAG,GAAG,WAAW,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CACtB,iBAAoC,EACpC,MAA+B,EAC/B,YAAqB,EACrB,yBAAoD;IAEpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC;IAChD,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAE3D,MAAM,mBAAmB,GACvB,yBAAyB,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,uBAAuB,CACtE,MAAM,CAAC,EAAE,CACV,CAAC;IAEF,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC;QACtE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChB,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAC7D;QACH,CAAC,CAAC;YACE,GAAG,OAAO;YACV;gBACE,EAAE,EAAE,cAAc;gBAClB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,YAAY;gBACpB,mBAAmB,EAAE,oBAAoB;aAC1C;SACF,CAAC;AACR,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI;IACJ,WAAW;IACX,eAAe;IACf,iBAAiB;CAClB,CAAC"}
@@ -0,0 +1,65 @@
1
+ import type { SchemaParserContext } from '#src/parser/types.js';
2
+ import type { PluginImplementationStore } from '#src/plugins/index.js';
3
+ import type { DefinitionEntity, DefinitionReference, FixRefDeletionResult, ResolvedZodRefPayload } from '#src/references/index.js';
4
+ import type { InferDefinitionSchema } from '#src/schema/creator/types.js';
5
+ import type { createProjectDefinitionSchema, ProjectDefinition } from '#src/schema/index.js';
6
+ /**
7
+ * Container for a project definition that includes references and entities.
8
+ *
9
+ * This class provides utility methods for working with a project definition
10
+ * such as the ability to fetch an entity by ID.
11
+ */
12
+ export declare class ProjectDefinitionContainer {
13
+ pluginStore: PluginImplementationStore;
14
+ refPayload: ResolvedZodRefPayload<ProjectDefinition>;
15
+ definition: ProjectDefinition;
16
+ references: DefinitionReference[];
17
+ entities: DefinitionEntity[];
18
+ parserContext: SchemaParserContext;
19
+ constructor(config: ResolvedZodRefPayload<ProjectDefinition>, parserContext: SchemaParserContext, pluginStore: PluginImplementationStore);
20
+ /**
21
+ * Fetches the name of an entity by its ID.
22
+ *
23
+ * @param id The ID of the entity to fetch
24
+ * @returns The name of the entity
25
+ */
26
+ nameFromId(id: string): string;
27
+ nameFromId(id: string | undefined): string | undefined;
28
+ /**
29
+ * Fetches the name of an entity by its ID, returning undefined if the ID is not found.
30
+ *
31
+ * @param id The ID of the entity to fetch
32
+ * @returns The name of the entity, or undefined if the ID is not found
33
+ */
34
+ safeNameFromId(id: string | undefined): string | undefined;
35
+ /**
36
+ * Fix any reference deletions that would occur when applying the given setter.
37
+ *
38
+ * @param setter A function that modifies the project definition
39
+ * @returns A result indicating whether the reference deletions were fixed
40
+ */
41
+ fixRefDeletions(setter: (draftConfig: ProjectDefinition) => void): FixRefDeletionResult<InferDefinitionSchema<typeof createProjectDefinitionSchema>>;
42
+ /**
43
+ * Serializes the project definition resolving references to their names for easier reading.
44
+ *
45
+ * @returns The serialized contents of the project definition
46
+ */
47
+ toSerializedContents(): string;
48
+ /**
49
+ * Creates a new ProjectDefinitionContainer from a raw project definition.
50
+ *
51
+ * @param definition The raw project definition
52
+ * @param context The parser context to use
53
+ * @returns A new ProjectDefinitionContainer
54
+ */
55
+ static fromDefinition(definition: ProjectDefinition, context: SchemaParserContext): ProjectDefinitionContainer;
56
+ /**
57
+ * Creates a new ProjectDefinitionContainer from a serialized configuration.
58
+ *
59
+ * @param config The serialized configuration
60
+ * @param context The parser context to use
61
+ * @returns A new ProjectDefinitionContainer
62
+ */
63
+ static fromSerializedConfig(config: unknown, context: SchemaParserContext): ProjectDefinitionContainer;
64
+ }
65
+ //# sourceMappingURL=project-definition-container.d.ts.map