@baseplate-dev/project-builder-lib 0.5.3 → 0.6.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 (369) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/definition/index.d.ts +0 -1
  3. package/dist/definition/index.d.ts.map +1 -1
  4. package/dist/definition/index.js +0 -1
  5. package/dist/definition/index.js.map +1 -1
  6. package/dist/definition/model/model-field-utils.js +2 -2
  7. package/dist/definition/model/model-field-utils.js.map +1 -1
  8. package/dist/definition/model/model-utils.d.ts.map +1 -1
  9. package/dist/definition/model/model-utils.js +2 -2
  10. package/dist/definition/model/model-utils.js.map +1 -1
  11. package/dist/definition/project-definition-container.d.ts +21 -12
  12. package/dist/definition/project-definition-container.d.ts.map +1 -1
  13. package/dist/definition/project-definition-container.js +42 -23
  14. package/dist/definition/project-definition-container.js.map +1 -1
  15. package/dist/migrations/index.d.ts.map +1 -1
  16. package/dist/migrations/index.js +6 -0
  17. package/dist/migrations/index.js.map +1 -1
  18. package/dist/migrations/migration-024-graphql-object-type-field-auth.d.ts +30 -0
  19. package/dist/migrations/migration-024-graphql-object-type-field-auth.d.ts.map +1 -0
  20. package/dist/migrations/migration-024-graphql-object-type-field-auth.js +54 -0
  21. package/dist/migrations/migration-024-graphql-object-type-field-auth.js.map +1 -0
  22. package/dist/migrations/migration-025-service-method-auth.d.ts +44 -0
  23. package/dist/migrations/migration-025-service-method-auth.d.ts.map +1 -0
  24. package/dist/migrations/migration-025-service-method-auth.js +62 -0
  25. package/dist/migrations/migration-025-service-method-auth.js.map +1 -0
  26. package/dist/migrations/migration-026-query-shared-roles.d.ts +32 -0
  27. package/dist/migrations/migration-026-query-shared-roles.d.ts.map +1 -0
  28. package/dist/migrations/migration-026-query-shared-roles.js +48 -0
  29. package/dist/migrations/migration-026-query-shared-roles.js.map +1 -0
  30. package/dist/parser/apply-definition-fixes.d.ts +13 -0
  31. package/dist/parser/apply-definition-fixes.d.ts.map +1 -0
  32. package/dist/parser/apply-definition-fixes.js +25 -0
  33. package/dist/parser/apply-definition-fixes.js.map +1 -0
  34. package/dist/parser/clean-default-values.d.ts +14 -0
  35. package/dist/parser/clean-default-values.d.ts.map +1 -0
  36. package/dist/parser/clean-default-values.js +24 -0
  37. package/dist/parser/clean-default-values.js.map +1 -0
  38. package/dist/parser/collect-definition-issues.d.ts +36 -0
  39. package/dist/parser/collect-definition-issues.d.ts.map +1 -0
  40. package/dist/parser/collect-definition-issues.js +94 -0
  41. package/dist/parser/collect-definition-issues.js.map +1 -0
  42. package/dist/parser/collect-expression-issues.d.ts +17 -0
  43. package/dist/parser/collect-expression-issues.d.ts.map +1 -0
  44. package/dist/parser/collect-expression-issues.js +33 -0
  45. package/dist/parser/collect-expression-issues.js.map +1 -0
  46. package/dist/parser/definition-issue-checkers/mutation-roles-checker.d.ts +11 -0
  47. package/dist/parser/definition-issue-checkers/mutation-roles-checker.d.ts.map +1 -0
  48. package/dist/parser/definition-issue-checkers/mutation-roles-checker.js +41 -0
  49. package/dist/parser/definition-issue-checkers/mutation-roles-checker.js.map +1 -0
  50. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.d.ts +10 -0
  51. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.d.ts.map +1 -0
  52. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.js +36 -0
  53. package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.js.map +1 -0
  54. package/dist/parser/definition-issue-utils.d.ts +23 -0
  55. package/dist/parser/definition-issue-utils.d.ts.map +1 -0
  56. package/dist/parser/definition-issue-utils.js +33 -0
  57. package/dist/parser/definition-issue-utils.js.map +1 -0
  58. package/dist/parser/index.d.ts +9 -0
  59. package/dist/parser/index.d.ts.map +1 -1
  60. package/dist/parser/index.js +8 -0
  61. package/dist/parser/index.js.map +1 -1
  62. package/dist/parser/parser.d.ts.map +1 -1
  63. package/dist/parser/parser.js +7 -2
  64. package/dist/parser/parser.js.map +1 -1
  65. package/dist/parser/schema-structure.d.ts +53 -0
  66. package/dist/parser/schema-structure.d.ts.map +1 -0
  67. package/dist/parser/schema-structure.js +171 -0
  68. package/dist/parser/schema-structure.js.map +1 -0
  69. package/dist/parser/transform-data-with-schema.d.ts +35 -0
  70. package/dist/parser/transform-data-with-schema.d.ts.map +1 -0
  71. package/dist/parser/transform-data-with-schema.js +140 -0
  72. package/dist/parser/transform-data-with-schema.js.map +1 -0
  73. package/dist/parser/types.d.ts +6 -3
  74. package/dist/parser/types.d.ts.map +1 -1
  75. package/dist/parser/walk-data-with-schema.d.ts +46 -0
  76. package/dist/parser/walk-data-with-schema.d.ts.map +1 -0
  77. package/dist/parser/walk-data-with-schema.js +140 -0
  78. package/dist/parser/walk-data-with-schema.js.map +1 -0
  79. package/dist/parser/walk-schema-structure.d.ts +60 -0
  80. package/dist/parser/walk-schema-structure.d.ts.map +1 -0
  81. package/dist/parser/walk-schema-structure.js +163 -0
  82. package/dist/parser/walk-schema-structure.js.map +1 -0
  83. package/dist/plugins/imports/loader.d.ts +1 -1
  84. package/dist/plugins/imports/loader.d.ts.map +1 -1
  85. package/dist/plugins/imports/loader.js +2 -2
  86. package/dist/plugins/imports/loader.js.map +1 -1
  87. package/dist/plugins/imports/types.d.ts +1 -1
  88. package/dist/plugins/imports/types.d.ts.map +1 -1
  89. package/dist/plugins/metadata/types.d.ts +1 -1
  90. package/dist/plugins/metadata/types.js +1 -1
  91. package/dist/plugins/plugins.test-utils.d.ts +15 -0
  92. package/dist/plugins/plugins.test-utils.d.ts.map +1 -1
  93. package/dist/plugins/plugins.test-utils.js +24 -0
  94. package/dist/plugins/plugins.test-utils.js.map +1 -1
  95. package/dist/plugins/spec/config-spec.d.ts +1 -0
  96. package/dist/plugins/spec/config-spec.d.ts.map +1 -1
  97. package/dist/plugins/spec/config-spec.js +1 -0
  98. package/dist/plugins/spec/config-spec.js.map +1 -1
  99. package/dist/plugins/store/store.d.ts +6 -1
  100. package/dist/plugins/store/store.d.ts.map +1 -1
  101. package/dist/plugins/store/store.js +9 -1
  102. package/dist/plugins/store/store.js.map +1 -1
  103. package/dist/references/definition-ref-registry.d.ts +105 -0
  104. package/dist/references/definition-ref-registry.d.ts.map +1 -0
  105. package/dist/references/definition-ref-registry.js +40 -0
  106. package/dist/references/definition-ref-registry.js.map +1 -0
  107. package/dist/references/deserialize-schema.d.ts +4 -6
  108. package/dist/references/deserialize-schema.d.ts.map +1 -1
  109. package/dist/references/deserialize-schema.js +4 -5
  110. package/dist/references/deserialize-schema.js.map +1 -1
  111. package/dist/references/expression-types.d.ts +46 -14
  112. package/dist/references/expression-types.d.ts.map +1 -1
  113. package/dist/references/expression-types.js +17 -0
  114. package/dist/references/expression-types.js.map +1 -1
  115. package/dist/references/extend-parser-context-with-refs.d.ts +32 -2
  116. package/dist/references/extend-parser-context-with-refs.d.ts.map +1 -1
  117. package/dist/references/extend-parser-context-with-refs.js +123 -163
  118. package/dist/references/extend-parser-context-with-refs.js.map +1 -1
  119. package/dist/references/extract-definition-refs.d.ts +9 -8
  120. package/dist/references/extract-definition-refs.d.ts.map +1 -1
  121. package/dist/references/extract-definition-refs.js +110 -26
  122. package/dist/references/extract-definition-refs.js.map +1 -1
  123. package/dist/references/fix-ref-deletions.d.ts +6 -6
  124. package/dist/references/fix-ref-deletions.d.ts.map +1 -1
  125. package/dist/references/fix-ref-deletions.js +2 -2
  126. package/dist/references/fix-ref-deletions.js.map +1 -1
  127. package/dist/references/index.d.ts +3 -0
  128. package/dist/references/index.d.ts.map +1 -1
  129. package/dist/references/index.js +3 -0
  130. package/dist/references/index.js.map +1 -1
  131. package/dist/references/parse-schema-with-references.d.ts +8 -6
  132. package/dist/references/parse-schema-with-references.d.ts.map +1 -1
  133. package/dist/references/parse-schema-with-references.js +10 -12
  134. package/dist/references/parse-schema-with-references.js.map +1 -1
  135. package/dist/references/ref-schema-visitor.d.ts +33 -0
  136. package/dist/references/ref-schema-visitor.d.ts.map +1 -0
  137. package/dist/references/ref-schema-visitor.js +61 -0
  138. package/dist/references/ref-schema-visitor.js.map +1 -0
  139. package/dist/references/resolve-slots.d.ts +1 -1
  140. package/dist/references/resolve-slots.d.ts.map +1 -1
  141. package/dist/references/serialize-schema.d.ts +9 -2
  142. package/dist/references/serialize-schema.d.ts.map +1 -1
  143. package/dist/references/serialize-schema.js +20 -4
  144. package/dist/references/serialize-schema.js.map +1 -1
  145. package/dist/schema/apps/web/admin/admin.d.ts +22 -37
  146. package/dist/schema/apps/web/admin/admin.d.ts.map +1 -1
  147. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.d.ts +6 -15
  148. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.d.ts.map +1 -1
  149. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js +3 -8
  150. package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js.map +1 -1
  151. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.d.ts +6 -15
  152. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.d.ts.map +1 -1
  153. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js +3 -8
  154. package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js.map +1 -1
  155. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.d.ts +9 -15
  156. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.d.ts.map +1 -1
  157. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js +3 -8
  158. package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js.map +1 -1
  159. package/dist/schema/apps/web/admin/sections/crud.d.ts +6 -6
  160. package/dist/schema/apps/web/web-app.d.ts +32 -47
  161. package/dist/schema/apps/web/web-app.d.ts.map +1 -1
  162. package/dist/schema/creator/definition-default-registry.d.ts +22 -0
  163. package/dist/schema/creator/definition-default-registry.d.ts.map +1 -0
  164. package/dist/schema/creator/definition-default-registry.js +18 -0
  165. package/dist/schema/creator/definition-default-registry.js.map +1 -0
  166. package/dist/schema/creator/definition-fix-registry.d.ts +45 -0
  167. package/dist/schema/creator/definition-fix-registry.d.ts.map +1 -0
  168. package/dist/schema/creator/definition-fix-registry.js +41 -0
  169. package/dist/schema/creator/definition-fix-registry.js.map +1 -0
  170. package/dist/schema/creator/definition-issue-checker-spec.d.ts +37 -0
  171. package/dist/schema/creator/definition-issue-checker-spec.d.ts.map +1 -0
  172. package/dist/schema/creator/definition-issue-checker-spec.js +28 -0
  173. package/dist/schema/creator/definition-issue-checker-spec.js.map +1 -0
  174. package/dist/schema/creator/definition-issue-checkers.d.ts +16 -0
  175. package/dist/schema/creator/definition-issue-checkers.d.ts.map +1 -0
  176. package/dist/schema/creator/definition-issue-checkers.js +35 -0
  177. package/dist/schema/creator/definition-issue-checkers.js.map +1 -0
  178. package/dist/schema/creator/definition-issue-registry.d.ts +54 -0
  179. package/dist/schema/creator/definition-issue-registry.d.ts.map +1 -0
  180. package/dist/schema/creator/definition-issue-registry.js +47 -0
  181. package/dist/schema/creator/definition-issue-registry.js.map +1 -0
  182. package/dist/schema/creator/definition-issue-types.d.ts +53 -0
  183. package/dist/schema/creator/definition-issue-types.d.ts.map +1 -0
  184. package/dist/schema/creator/definition-issue-types.js +2 -0
  185. package/dist/schema/creator/definition-issue-types.js.map +1 -0
  186. package/dist/schema/creator/extend-parser-context-with-defaults.d.ts +20 -4
  187. package/dist/schema/creator/extend-parser-context-with-defaults.d.ts.map +1 -1
  188. package/dist/schema/creator/extend-parser-context-with-defaults.js +24 -42
  189. package/dist/schema/creator/extend-parser-context-with-defaults.js.map +1 -1
  190. package/dist/schema/creator/index.d.ts +6 -0
  191. package/dist/schema/creator/index.d.ts.map +1 -1
  192. package/dist/schema/creator/index.js +5 -0
  193. package/dist/schema/creator/index.js.map +1 -1
  194. package/dist/schema/creator/schema-creator.d.ts.map +1 -1
  195. package/dist/schema/creator/schema-creator.js +18 -4
  196. package/dist/schema/creator/schema-creator.js.map +1 -1
  197. package/dist/schema/creator/types.d.ts +3 -30
  198. package/dist/schema/creator/types.d.ts.map +1 -1
  199. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.d.ts.map +1 -1
  200. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js +116 -25
  201. package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js.map +1 -1
  202. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts +82 -1
  203. package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts.map +1 -1
  204. package/dist/schema/models/authorizer/authorizer-expression-ast.js.map +1 -1
  205. package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts +8 -9
  206. package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts.map +1 -1
  207. package/dist/schema/models/authorizer/authorizer-expression-parser.js +28 -35
  208. package/dist/schema/models/authorizer/authorizer-expression-parser.js.map +1 -1
  209. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts +42 -4
  210. package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts.map +1 -1
  211. package/dist/schema/models/authorizer/authorizer-expression-validator.js +119 -18
  212. package/dist/schema/models/authorizer/authorizer-expression-validator.js.map +1 -1
  213. package/dist/schema/models/graphql.d.ts +42 -111
  214. package/dist/schema/models/graphql.d.ts.map +1 -1
  215. package/dist/schema/models/graphql.js +59 -19
  216. package/dist/schema/models/graphql.js.map +1 -1
  217. package/dist/schema/models/models.d.ts +1134 -343
  218. package/dist/schema/models/models.d.ts.map +1 -1
  219. package/dist/schema/models/models.js +258 -86
  220. package/dist/schema/models/models.js.map +1 -1
  221. package/dist/schema/plugins/definition.d.ts +2 -30
  222. package/dist/schema/plugins/definition.d.ts.map +1 -1
  223. package/dist/schema/plugins/definition.js +26 -15
  224. package/dist/schema/plugins/definition.js.map +1 -1
  225. package/dist/schema/project-definition.d.ts +532 -186
  226. package/dist/schema/project-definition.d.ts.map +1 -1
  227. package/dist/schema/project-definition.js +15 -3
  228. package/dist/schema/project-definition.js.map +1 -1
  229. package/dist/schema/settings/general.d.ts +1 -1
  230. package/dist/schema/settings/general.d.ts.map +1 -1
  231. package/dist/schema/settings/general.js +4 -1
  232. package/dist/schema/settings/general.js.map +1 -1
  233. package/dist/schema/settings/settings.d.ts +3 -3
  234. package/dist/schema/settings/theme.d.ts +3 -3
  235. package/dist/testing/definition-helpers.test-helper.d.ts +12 -0
  236. package/dist/testing/definition-helpers.test-helper.d.ts.map +1 -0
  237. package/dist/testing/definition-helpers.test-helper.js +77 -0
  238. package/dist/testing/definition-helpers.test-helper.js.map +1 -0
  239. package/dist/testing/expression-stub-parser.test-helper.d.ts +59 -0
  240. package/dist/testing/expression-stub-parser.test-helper.d.ts.map +1 -0
  241. package/dist/testing/expression-stub-parser.test-helper.js +79 -0
  242. package/dist/testing/expression-stub-parser.test-helper.js.map +1 -0
  243. package/dist/testing/expression-warning-parser.test-helper.d.ts +39 -0
  244. package/dist/testing/expression-warning-parser.test-helper.d.ts.map +1 -0
  245. package/dist/testing/expression-warning-parser.test-helper.js +62 -0
  246. package/dist/testing/expression-warning-parser.test-helper.js.map +1 -0
  247. package/dist/testing/index.d.ts +5 -0
  248. package/dist/testing/index.d.ts.map +1 -0
  249. package/dist/testing/index.js +5 -0
  250. package/dist/testing/index.js.map +1 -0
  251. package/dist/testing/parser-context.test-helper.d.ts +8 -0
  252. package/dist/testing/parser-context.test-helper.d.ts.map +1 -0
  253. package/dist/testing/parser-context.test-helper.js +16 -0
  254. package/dist/testing/parser-context.test-helper.js.map +1 -0
  255. package/dist/{definition/project-definition-container.test-utils.d.ts → testing/project-definition-container.test-helper.d.ts} +4 -2
  256. package/dist/testing/project-definition-container.test-helper.d.ts.map +1 -0
  257. package/dist/{definition/project-definition-container.test-utils.js → testing/project-definition-container.test-helper.js} +11 -5
  258. package/dist/testing/project-definition-container.test-helper.js.map +1 -0
  259. package/dist/tools/assign-entity-ids.d.ts +17 -0
  260. package/dist/tools/assign-entity-ids.d.ts.map +1 -0
  261. package/dist/tools/assign-entity-ids.js +34 -0
  262. package/dist/tools/assign-entity-ids.js.map +1 -0
  263. package/dist/tools/entity-service/entity-navigation.d.ts +13 -0
  264. package/dist/tools/entity-service/entity-navigation.d.ts.map +1 -0
  265. package/dist/tools/entity-service/entity-navigation.js +84 -0
  266. package/dist/tools/entity-service/entity-navigation.js.map +1 -0
  267. package/dist/tools/entity-service/entity-read.d.ts +38 -0
  268. package/dist/tools/entity-service/entity-read.d.ts.map +1 -0
  269. package/dist/tools/entity-service/entity-read.js +56 -0
  270. package/dist/tools/entity-service/entity-read.js.map +1 -0
  271. package/dist/tools/entity-service/entity-type-map.d.ts +18 -0
  272. package/dist/tools/entity-service/entity-type-map.d.ts.map +1 -0
  273. package/dist/tools/entity-service/entity-type-map.js +75 -0
  274. package/dist/tools/entity-service/entity-type-map.js.map +1 -0
  275. package/dist/tools/entity-service/entity-write.d.ts +39 -0
  276. package/dist/tools/entity-service/entity-write.d.ts.map +1 -0
  277. package/dist/tools/entity-service/entity-write.js +99 -0
  278. package/dist/tools/entity-service/entity-write.js.map +1 -0
  279. package/dist/tools/entity-service/index.d.ts +5 -0
  280. package/dist/tools/entity-service/index.d.ts.map +1 -0
  281. package/dist/tools/entity-service/index.js +4 -0
  282. package/dist/tools/entity-service/index.js.map +1 -0
  283. package/dist/tools/entity-service/types.d.ts +41 -0
  284. package/dist/tools/entity-service/types.d.ts.map +1 -0
  285. package/dist/tools/entity-service/types.js +2 -0
  286. package/dist/tools/entity-service/types.js.map +1 -0
  287. package/dist/tools/index.d.ts +2 -1
  288. package/dist/tools/index.d.ts.map +1 -1
  289. package/dist/tools/index.js +2 -1
  290. package/dist/tools/index.js.map +1 -1
  291. package/dist/tools/merge-schema/diff-definition.d.ts +74 -0
  292. package/dist/tools/merge-schema/diff-definition.d.ts.map +1 -0
  293. package/dist/tools/merge-schema/diff-definition.js +163 -0
  294. package/dist/tools/merge-schema/diff-definition.js.map +1 -0
  295. package/dist/tools/merge-schema/entity-utils.d.ts +18 -0
  296. package/dist/tools/merge-schema/entity-utils.d.ts.map +1 -0
  297. package/dist/tools/merge-schema/entity-utils.js +42 -0
  298. package/dist/tools/merge-schema/entity-utils.js.map +1 -0
  299. package/dist/tools/merge-schema/index.d.ts +10 -0
  300. package/dist/tools/merge-schema/index.d.ts.map +1 -0
  301. package/dist/tools/merge-schema/index.js +7 -0
  302. package/dist/tools/merge-schema/index.js.map +1 -0
  303. package/dist/tools/merge-schema/merge-data-with-schema.d.ts +21 -0
  304. package/dist/tools/merge-schema/merge-data-with-schema.d.ts.map +1 -0
  305. package/dist/tools/merge-schema/merge-data-with-schema.js +168 -0
  306. package/dist/tools/merge-schema/merge-data-with-schema.js.map +1 -0
  307. package/dist/tools/merge-schema/merge-definition.d.ts +42 -0
  308. package/dist/tools/merge-schema/merge-definition.d.ts.map +1 -0
  309. package/dist/tools/merge-schema/merge-definition.js +53 -0
  310. package/dist/tools/merge-schema/merge-definition.js.map +1 -0
  311. package/dist/tools/merge-schema/merge-rule-registry.d.ts +47 -0
  312. package/dist/tools/merge-schema/merge-rule-registry.d.ts.map +1 -0
  313. package/dist/tools/merge-schema/merge-rule-registry.js +53 -0
  314. package/dist/tools/merge-schema/merge-rule-registry.js.map +1 -0
  315. package/dist/tools/merge-schema/walk-schema.d.ts +26 -0
  316. package/dist/tools/merge-schema/walk-schema.d.ts.map +1 -0
  317. package/dist/tools/merge-schema/walk-schema.js +94 -0
  318. package/dist/tools/merge-schema/walk-schema.js.map +1 -0
  319. package/dist/utils/definition-diff/definition-diff.js.map +1 -1
  320. package/dist/web/components/definition-diff-alert.d.ts +9 -0
  321. package/dist/web/components/definition-diff-alert.d.ts.map +1 -0
  322. package/dist/web/components/definition-diff-alert.js +17 -0
  323. package/dist/web/components/definition-diff-alert.js.map +1 -0
  324. package/dist/web/components/index.d.ts +1 -1
  325. package/dist/web/components/index.d.ts.map +1 -1
  326. package/dist/web/components/index.js +1 -1
  327. package/dist/web/components/index.js.map +1 -1
  328. package/dist/web/hooks/use-project-definition.d.ts +10 -2
  329. package/dist/web/hooks/use-project-definition.d.ts.map +1 -1
  330. package/dist/web/hooks/use-project-definition.js.map +1 -1
  331. package/dist/web/specs/entity-type-url-web-spec.d.ts +68 -0
  332. package/dist/web/specs/entity-type-url-web-spec.d.ts.map +1 -0
  333. package/dist/web/specs/entity-type-url-web-spec.js +27 -0
  334. package/dist/web/specs/entity-type-url-web-spec.js.map +1 -0
  335. package/dist/web/specs/index.d.ts +1 -0
  336. package/dist/web/specs/index.d.ts.map +1 -1
  337. package/dist/web/specs/index.js +1 -0
  338. package/dist/web/specs/index.js.map +1 -1
  339. package/package.json +12 -11
  340. package/dist/definition/project-definition-container.test-utils.d.ts.map +0 -1
  341. package/dist/definition/project-definition-container.test-utils.js.map +0 -1
  342. package/dist/references/collect-refs.d.ts +0 -24
  343. package/dist/references/collect-refs.d.ts.map +0 -1
  344. package/dist/references/collect-refs.js +0 -86
  345. package/dist/references/collect-refs.js.map +0 -1
  346. package/dist/references/markers.d.ts +0 -59
  347. package/dist/references/markers.d.ts.map +0 -1
  348. package/dist/references/markers.js +0 -29
  349. package/dist/references/markers.js.map +0 -1
  350. package/dist/references/strip-ref-markers.d.ts +0 -7
  351. package/dist/references/strip-ref-markers.d.ts.map +0 -1
  352. package/dist/references/strip-ref-markers.js +0 -25
  353. package/dist/references/strip-ref-markers.js.map +0 -1
  354. package/dist/schema/models/mocks.d.ts +0 -6
  355. package/dist/schema/models/mocks.d.ts.map +0 -1
  356. package/dist/schema/models/mocks.js +0 -55
  357. package/dist/schema/models/mocks.js.map +0 -1
  358. package/dist/tools/model-merger/index.d.ts +0 -2
  359. package/dist/tools/model-merger/index.d.ts.map +0 -1
  360. package/dist/tools/model-merger/index.js +0 -2
  361. package/dist/tools/model-merger/index.js.map +0 -1
  362. package/dist/tools/model-merger/model-merger.d.ts +0 -569
  363. package/dist/tools/model-merger/model-merger.d.ts.map +0 -1
  364. package/dist/tools/model-merger/model-merger.js +0 -319
  365. package/dist/tools/model-merger/model-merger.js.map +0 -1
  366. package/dist/web/components/model-merger-result-alert.d.ts +0 -8
  367. package/dist/web/components/model-merger-result-alert.d.ts.map +0 -1
  368. package/dist/web/components/model-merger-result-alert.js +0 -20
  369. package/dist/web/components/model-merger-result-alert.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"project-definition.d.ts","sourceRoot":"","sources":["../../src/schema/project-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAa9C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAa3B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC;AAEhE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAazC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,UAAU,CACjD,OAAO,6BAA6B,CACrC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAC7C,OAAO,6BAA6B,CACrC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,GAAG,CAAC,WAAW,CACnD,OAAO,6BAA6B,CACrC,CAAC"}
1
+ {"version":3,"file":"project-definition.d.ts","sourceRoot":"","sources":["../../src/schema/project-definition.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { z } from 'zod';
2
2
  import { createBackendAppSchema } from './apps/backend/index.js';
3
3
  import { createWebAppSchema } from './apps/index.js';
4
4
  import { appEntityType } from './apps/types.js';
5
+ import { checkUniqueField } from './creator/definition-issue-checkers.js';
6
+ import { withIssueChecker } from './creator/definition-issue-registry.js';
5
7
  import { definitionSchema } from './creator/schema-creator.js';
6
8
  import { createFeaturesSchema } from './features/index.js';
7
9
  import { createLibrarySchema } from './libraries/library.js';
@@ -18,11 +20,21 @@ export const createAppSchema = definitionSchema((ctx) => ctx.refContext({ appSlo
18
20
  })));
19
21
  export const createProjectDefinitionSchema = definitionSchema((ctx) => z.object({
20
22
  cliVersion: z.string().nullish(),
21
- apps: z.array(createAppSchema(ctx)).default([]),
23
+ apps: z
24
+ .array(createAppSchema(ctx))
25
+ .apply(withIssueChecker(checkUniqueField('name', { label: 'app name' })))
26
+ .apply(withIssueChecker(checkUniqueField('devPort', { label: 'dev port' })))
27
+ .default([]),
22
28
  libraries: z.array(createLibrarySchema(ctx)).default([]),
23
29
  features: createFeaturesSchema(ctx),
24
- models: z.array(createModelSchema(ctx)).default([]),
25
- enums: z.array(createEnumSchema(ctx)).optional(),
30
+ models: z
31
+ .array(createModelSchema(ctx))
32
+ .apply(withIssueChecker(checkUniqueField('name', { label: 'model name' })))
33
+ .default([]),
34
+ enums: z
35
+ .array(createEnumSchema(ctx))
36
+ .apply(withIssueChecker(checkUniqueField('name', { label: 'enum name' })))
37
+ .optional(),
26
38
  isInitialized: z.boolean().default(false),
27
39
  schemaVersion: z.number(),
28
40
  plugins: createPluginsSchema(ctx).optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"project-definition.js","sourceRoot":"","sources":["../../src/schema/project-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CACtD,GAAG,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACzD,GAAG,CAAC,OAAO,CACT,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC3B,sBAAsB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;IACxC,kBAAkB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC;CACrC,CAAC,EACF;IACE,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,OAAO;CAClB,CACF,CACF,CACF,CAAC;AAIF,MAAM,CAAC,MAAM,6BAA6B,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CACpE,CAAC,CAAC,MAAM,CAAC;IACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACxD,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACzC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC5C,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC;CACpC,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"project-definition.js","sourceRoot":"","sources":["../../src/schema/project-definition.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { z } from 'zod';
6
6
  */
7
7
  export declare const generalSettingsSchema: z.ZodObject<{
8
8
  name: z.ZodString;
9
- packageScope: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>>;
9
+ packageScope: z.ZodDefault<z.ZodString>;
10
10
  portOffset: z.ZodNumber;
11
11
  }, z.core.$strip>;
12
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/schema/settings/general.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;iBAsChC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/schema/settings/general.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;iBAyChC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -21,7 +21,10 @@ export const generalSettingsSchema = z.object({
21
21
  * Example: "my-org" → "@my-org/backend", "@my-org/web"
22
22
  */
23
23
  packageScope: z
24
- .union([z.literal(''), CASE_VALIDATORS.KEBAB_CASE])
24
+ .string()
25
+ .regex(/^([a-z0-9-]+)?$/, {
26
+ message: 'Must be kebab case (e.g. "my-org") or empty',
27
+ })
25
28
  .default(''),
26
29
  /**
27
30
  * The port offset to base the app ports on for development.
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../src/schema/settings/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C;;;;;OAKG;IACH,IAAI,EAAE,eAAe,CAAC,UAAU;IAEhC;;;;;;OAMG;IACH,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;SAClD,OAAO,CAAC,EAAE,CAAC;IAEd;;;;;;;;OAQG;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,CAAC;SACT,GAAG,CAAC,MAAM,CAAC;SACX,GAAG,EAAE;SACL,MAAM,CACL,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,EACvC,qEAAqE,CACtE;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../src/schema/settings/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C;;;;;OAKG;IACH,IAAI,EAAE,eAAe,CAAC,UAAU;IAEhC;;;;;;OAMG;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,KAAK,CAAC,iBAAiB,EAAE;QACxB,OAAO,EAAE,6CAA6C;KACvD,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;IAEd;;;;;;;;OAQG;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,CAAC;SACT,GAAG,CAAC,MAAM,CAAC;SACX,GAAG,EAAE;SACL,MAAM,CACL,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,EACvC,qEAAqE,CACtE;CACJ,CAAC,CAAC"}
@@ -12,7 +12,7 @@ import { z } from 'zod';
12
12
  export declare const createSettingsSchema: (context: import("../index.js").DefinitionSchemaParserContext) => z.ZodObject<{
13
13
  general: z.ZodObject<{
14
14
  name: z.ZodString;
15
- packageScope: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"">, z.ZodString]>>;
15
+ packageScope: z.ZodDefault<z.ZodString>;
16
16
  portOffset: z.ZodNumber;
17
17
  }, z.core.$strip>;
18
18
  infrastructure: z.ZodOptional<z.ZodObject<{
@@ -70,6 +70,7 @@ export declare const createSettingsSchema: (context: import("../index.js").Defin
70
70
  error: "error";
71
71
  success: "success";
72
72
  input: "input";
73
+ warning: "warning";
73
74
  link: "link";
74
75
  primary: "primary";
75
76
  background: "background";
@@ -83,7 +84,6 @@ export declare const createSettingsSchema: (context: import("../index.js").Defin
83
84
  accent: "accent";
84
85
  accentForeground: "accentForeground";
85
86
  successForeground: "successForeground";
86
- warning: "warning";
87
87
  warningForeground: "warningForeground";
88
88
  errorForeground: "errorForeground";
89
89
  primaryHover: "primaryHover";
@@ -102,6 +102,7 @@ export declare const createSettingsSchema: (context: import("../index.js").Defin
102
102
  error: "error";
103
103
  success: "success";
104
104
  input: "input";
105
+ warning: "warning";
105
106
  link: "link";
106
107
  primary: "primary";
107
108
  background: "background";
@@ -115,7 +116,6 @@ export declare const createSettingsSchema: (context: import("../index.js").Defin
115
116
  accent: "accent";
116
117
  accentForeground: "accentForeground";
117
118
  successForeground: "successForeground";
118
- warning: "warning";
119
119
  warningForeground: "warningForeground";
120
120
  errorForeground: "errorForeground";
121
121
  primaryHover: "primaryHover";
@@ -23,6 +23,7 @@ export declare const themeColorSchema: z.ZodRecord<z.ZodEnum<{
23
23
  error: "error";
24
24
  success: "success";
25
25
  input: "input";
26
+ warning: "warning";
26
27
  link: "link";
27
28
  primary: "primary";
28
29
  background: "background";
@@ -36,7 +37,6 @@ export declare const themeColorSchema: z.ZodRecord<z.ZodEnum<{
36
37
  accent: "accent";
37
38
  accentForeground: "accentForeground";
38
39
  successForeground: "successForeground";
39
- warning: "warning";
40
40
  warningForeground: "warningForeground";
41
41
  errorForeground: "errorForeground";
42
42
  primaryHover: "primaryHover";
@@ -174,6 +174,7 @@ export declare const createThemeSchema: (context: import("#src/schema/creator/in
174
174
  error: "error";
175
175
  success: "success";
176
176
  input: "input";
177
+ warning: "warning";
177
178
  link: "link";
178
179
  primary: "primary";
179
180
  background: "background";
@@ -187,7 +188,6 @@ export declare const createThemeSchema: (context: import("#src/schema/creator/in
187
188
  accent: "accent";
188
189
  accentForeground: "accentForeground";
189
190
  successForeground: "successForeground";
190
- warning: "warning";
191
191
  warningForeground: "warningForeground";
192
192
  errorForeground: "errorForeground";
193
193
  primaryHover: "primaryHover";
@@ -206,6 +206,7 @@ export declare const createThemeSchema: (context: import("#src/schema/creator/in
206
206
  error: "error";
207
207
  success: "success";
208
208
  input: "input";
209
+ warning: "warning";
209
210
  link: "link";
210
211
  primary: "primary";
211
212
  background: "background";
@@ -219,7 +220,6 @@ export declare const createThemeSchema: (context: import("#src/schema/creator/in
219
220
  accent: "accent";
220
221
  accentForeground: "accentForeground";
221
222
  successForeground: "successForeground";
222
- warning: "warning";
223
223
  warningForeground: "warningForeground";
224
224
  errorForeground: "errorForeground";
225
225
  primaryHover: "primaryHover";
@@ -0,0 +1,12 @@
1
+ import type { FeatureConfig } from '#src/schema/features/feature.js';
2
+ import type { ModelConfig, ModelConfigInput, ModelRelationFieldConfig, ModelScalarFieldConfig, ModelScalarFieldConfigInput, ModelUniqueConstraintConfig } from '#src/schema/models/index.js';
3
+ export declare function createTestFeature(feature?: Partial<FeatureConfig>): FeatureConfig;
4
+ export declare function createTestModel(model?: Partial<ModelConfigInput>): ModelConfig;
5
+ export declare function createTestScalarField<TType extends ModelScalarFieldConfig['type'] = 'string'>(field?: Partial<ModelScalarFieldConfigInput & {
6
+ type: TType;
7
+ }>): ModelScalarFieldConfig & {
8
+ type: TType;
9
+ };
10
+ export declare function createTestRelationField(relation?: Partial<ModelRelationFieldConfig>): ModelRelationFieldConfig;
11
+ export declare function createTestUniqueConstraint(constraint?: Partial<ModelUniqueConstraintConfig>): ModelUniqueConstraintConfig;
12
+ //# sourceMappingURL=definition-helpers.test-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-helpers.test-helper.d.ts","sourceRoot":"","sources":["../../src/testing/definition-helpers.test-helper.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,6BAA6B,CAAC;AAgBrC,wBAAgB,iBAAiB,CAC/B,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,GACnC,aAAa,CAMf;AAED,wBAAgB,eAAe,CAC7B,KAAK,GAAE,OAAO,CAAC,gBAAgB,CAAM,GACpC,WAAW,CA4Bb;AAED,wBAAgB,qBAAqB,CACnC,KAAK,SAAS,sBAAsB,CAAC,MAAM,CAAC,GAAG,QAAQ,EAEvD,KAAK,GAAE,OAAO,CAAC,2BAA2B,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAM,GACjE,sBAAsB,GAAG;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAY1C;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAC3C,wBAAwB,CAY1B;AAED,wBAAgB,0BAA0B,CACxC,UAAU,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAChD,2BAA2B,CAM7B"}
@@ -0,0 +1,77 @@
1
+ import { faker } from '@faker-js/faker';
2
+ import { capitalize } from 'es-toolkit';
3
+ import { featureEntityType } from '#src/schema/features/feature.js';
4
+ import { modelEntityType, modelForeignRelationEntityType, modelLocalRelationEntityType, modelScalarFieldEntityType, modelUniqueConstraintEntityType, } from '#src/schema/models/index.js';
5
+ import { createModelSchema } from '#src/schema/models/models.js';
6
+ import { createEmptyParserContext } from './parser-context.test-helper.js';
7
+ const modelSchema = createModelSchema(createEmptyParserContext());
8
+ export function createTestFeature(feature = {}) {
9
+ return {
10
+ id: featureEntityType.generateNewId(),
11
+ name: faker.word.noun(),
12
+ ...feature,
13
+ };
14
+ }
15
+ export function createTestModel(model = {}) {
16
+ const input = {
17
+ id: modelEntityType.generateNewId(),
18
+ name: capitalize(faker.word.noun()),
19
+ featureRef: 'mockFeature',
20
+ ...model,
21
+ model: {
22
+ fields: [
23
+ {
24
+ id: modelScalarFieldEntityType.generateNewId(),
25
+ name: 'id',
26
+ type: 'uuid',
27
+ options: { genUuid: true, default: '123' },
28
+ isOptional: false,
29
+ },
30
+ ],
31
+ primaryKeyFieldRefs: ['id'],
32
+ ...model.model,
33
+ },
34
+ service: {
35
+ create: { enabled: false },
36
+ update: { enabled: false },
37
+ delete: { enabled: false },
38
+ transformers: [],
39
+ ...model.service,
40
+ },
41
+ };
42
+ return modelSchema.parse(input);
43
+ }
44
+ export function createTestScalarField(field = {}) {
45
+ return {
46
+ id: modelScalarFieldEntityType.generateNewId(),
47
+ name: faker.word.noun(),
48
+ type: 'string',
49
+ isOptional: false,
50
+ ...field,
51
+ options: {
52
+ default: '123',
53
+ ...field.options,
54
+ },
55
+ };
56
+ }
57
+ export function createTestRelationField(relation) {
58
+ return {
59
+ id: modelLocalRelationEntityType.generateNewId(),
60
+ foreignId: modelForeignRelationEntityType.generateNewId(),
61
+ name: 'mockRelation',
62
+ modelRef: 'mockModel',
63
+ foreignRelationName: 'mockForeignRelation',
64
+ references: [],
65
+ onDelete: 'Cascade',
66
+ onUpdate: 'Restrict',
67
+ ...relation,
68
+ };
69
+ }
70
+ export function createTestUniqueConstraint(constraint) {
71
+ return {
72
+ id: modelUniqueConstraintEntityType.generateNewId(),
73
+ fields: [],
74
+ ...constraint,
75
+ };
76
+ }
77
+ //# sourceMappingURL=definition-helpers.test-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-helpers.test-helper.js","sourceRoot":"","sources":["../../src/testing/definition-helpers.test-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAYxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,4BAA4B,EAC5B,0BAA0B,EAC1B,+BAA+B,GAChC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,MAAM,WAAW,GAAG,iBAAiB,CAAC,wBAAwB,EAAE,CAAC,CAAC;AAElE,MAAM,UAAU,iBAAiB,CAC/B,UAAkC,EAAE;IAEpC,OAAO;QACL,EAAE,EAAE,iBAAiB,CAAC,aAAa,EAAE;QACrC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;QACvB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAmC,EAAE;IAErC,MAAM,KAAK,GAAqB;QAC9B,EAAE,EAAE,eAAe,CAAC,aAAa,EAAE;QACnC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACnC,UAAU,EAAE,aAAa;QACzB,GAAG,KAAK;QACR,KAAK,EAAE;YACL,MAAM,EAAE;gBACN;oBACE,EAAE,EAAE,0BAA0B,CAAC,aAAa,EAAE;oBAC9C,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;oBAC1C,UAAU,EAAE,KAAK;iBAClB;aACF;YACD,mBAAmB,EAAE,CAAC,IAAI,CAAC;YAC3B,GAAG,KAAK,CAAC,KAAK;SACf;QACD,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YAC1B,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YAC1B,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;YAC1B,YAAY,EAAE,EAAE;YAChB,GAAG,KAAK,CAAC,OAAO;SACjB;KACF,CAAC;IACF,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAGnC,QAAgE,EAAE;IAElE,OAAO;QACL,EAAE,EAAE,0BAA0B,CAAC,aAAa,EAAE;QAC9C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,KAAK;QACjB,GAAG,KAAK;QACR,OAAO,EAAE;YACP,OAAO,EAAE,KAAK;YACd,GAAG,KAAK,CAAC,OAAO;SACjB;KAC0C,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAA4C;IAE5C,OAAO;QACL,EAAE,EAAE,4BAA4B,CAAC,aAAa,EAAE;QAChD,SAAS,EAAE,8BAA8B,CAAC,aAAa,EAAE;QACzD,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,WAAW;QACrB,mBAAmB,EAAE,qBAAqB;QAC1C,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,UAAU;QACpB,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,UAAiD;IAEjD,OAAO;QACL,EAAE,EAAE,+BAA+B,CAAC,aAAa,EAAE;QACnD,MAAM,EAAE,EAAE;QACV,GAAG,UAAU;KACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { z } from 'zod';
2
+ import type { RefExpressionParseResult } from '#src/references/expression-types.js';
3
+ import type { DefinitionEntityType } from '#src/references/types.js';
4
+ import { RefExpressionParser } from '#src/references/expression-types.js';
5
+ /**
6
+ * A no-op stub parser for testing the expression infrastructure.
7
+ *
8
+ * This parser doesn't actually parse anything - it's used to verify
9
+ * that the marker creation, collection, and flow work correctly
10
+ * before implementing real parsers.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Use in schema definition for testing
15
+ * const schema = z.object({
16
+ * expression: ctx.withExpression(stubParser),
17
+ * });
18
+ * ```
19
+ */
20
+ declare class StubParser extends RefExpressionParser<string, undefined> {
21
+ readonly name = "stub";
22
+ createSchema(): z.ZodType<string>;
23
+ parse(): RefExpressionParseResult<undefined>;
24
+ getWarnings(): [];
25
+ getDependencies(): [];
26
+ updateForRename(value: string): string;
27
+ }
28
+ /**
29
+ * Singleton instance of StubParser for convenience.
30
+ */
31
+ export declare const stubParser: StubParser;
32
+ /**
33
+ * A stub parser that requires slots for testing slot resolution.
34
+ *
35
+ * This parser accepts a generic slots parameter to test that expression
36
+ * slots are correctly resolved to their ancestor paths.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const modelType = createEntityType('model');
41
+ * const parserWithSlots = new StubParserWithSlots<{ model: typeof modelType }>();
42
+ *
43
+ * ctx.refContext({ modelSlot: modelType }, ({ modelSlot }) =>
44
+ * z.object({
45
+ * condition: ctx.withExpression(parserWithSlots, { model: modelSlot }),
46
+ * })
47
+ * );
48
+ * ```
49
+ */
50
+ export declare class StubParserWithSlots<TSlots extends Record<string, DefinitionEntityType>> extends RefExpressionParser<string, undefined, TSlots> {
51
+ readonly name = "stub-with-slots";
52
+ createSchema(): z.ZodType<string>;
53
+ parse(): RefExpressionParseResult<undefined>;
54
+ getWarnings(): [];
55
+ getDependencies(): [];
56
+ updateForRename(value: string): string;
57
+ }
58
+ export {};
59
+ //# sourceMappingURL=expression-stub-parser.test-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-stub-parser.test-helper.d.ts","sourceRoot":"","sources":["../../src/testing/expression-stub-parser.test-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E;;;;;;;;;;;;;;GAcG;AACH,cAAM,UAAW,SAAQ,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC;IAC7D,QAAQ,CAAC,IAAI,UAAU;IAEvB,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAIjC,KAAK,IAAI,wBAAwB,CAAC,SAAS,CAAC;IAI5C,WAAW,IAAI,EAAE;IAKjB,eAAe,IAAI,EAAE;IAKrB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAIvC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,YAAmB,CAAC;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAmB,CAC9B,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CACnD,SAAQ,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;IACtD,QAAQ,CAAC,IAAI,qBAAqB;IAClC,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAIjC,KAAK,IAAI,wBAAwB,CAAC,SAAS,CAAC;IAI5C,WAAW,IAAI,EAAE;IAIjB,eAAe,IAAI,EAAE;IAIrB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGvC"}
@@ -0,0 +1,79 @@
1
+ import { z } from 'zod';
2
+ import { RefExpressionParser } from '#src/references/expression-types.js';
3
+ /**
4
+ * A no-op stub parser for testing the expression infrastructure.
5
+ *
6
+ * This parser doesn't actually parse anything - it's used to verify
7
+ * that the marker creation, collection, and flow work correctly
8
+ * before implementing real parsers.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // Use in schema definition for testing
13
+ * const schema = z.object({
14
+ * expression: ctx.withExpression(stubParser),
15
+ * });
16
+ * ```
17
+ */
18
+ class StubParser extends RefExpressionParser {
19
+ name = 'stub';
20
+ createSchema() {
21
+ return z.string();
22
+ }
23
+ parse() {
24
+ return { success: true, value: undefined };
25
+ }
26
+ getWarnings() {
27
+ // No warnings from stub parser
28
+ return [];
29
+ }
30
+ getDependencies() {
31
+ // No dependencies tracked by stub parser
32
+ return [];
33
+ }
34
+ updateForRename(value) {
35
+ // No rename handling - return value unchanged
36
+ return value;
37
+ }
38
+ }
39
+ /**
40
+ * Singleton instance of StubParser for convenience.
41
+ */
42
+ export const stubParser = new StubParser();
43
+ /**
44
+ * A stub parser that requires slots for testing slot resolution.
45
+ *
46
+ * This parser accepts a generic slots parameter to test that expression
47
+ * slots are correctly resolved to their ancestor paths.
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * const modelType = createEntityType('model');
52
+ * const parserWithSlots = new StubParserWithSlots<{ model: typeof modelType }>();
53
+ *
54
+ * ctx.refContext({ modelSlot: modelType }, ({ modelSlot }) =>
55
+ * z.object({
56
+ * condition: ctx.withExpression(parserWithSlots, { model: modelSlot }),
57
+ * })
58
+ * );
59
+ * ```
60
+ */
61
+ export class StubParserWithSlots extends RefExpressionParser {
62
+ name = 'stub-with-slots';
63
+ createSchema() {
64
+ return z.string();
65
+ }
66
+ parse() {
67
+ return { success: true, value: undefined };
68
+ }
69
+ getWarnings() {
70
+ return [];
71
+ }
72
+ getDependencies() {
73
+ return [];
74
+ }
75
+ updateForRename(value) {
76
+ return value;
77
+ }
78
+ }
79
+ //# sourceMappingURL=expression-stub-parser.test-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-stub-parser.test-helper.js","sourceRoot":"","sources":["../../src/testing/expression-stub-parser.test-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAW,SAAQ,mBAAsC;IACpD,IAAI,GAAG,MAAM,CAAC;IAEvB,YAAY;QACV,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC7C,CAAC;IAED,WAAW;QACT,+BAA+B;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,eAAe;QACb,yCAAyC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,8CAA8C;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;AAE3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,mBAEX,SAAQ,mBAA8C;IAC7C,IAAI,GAAG,iBAAiB,CAAC;IAClC,YAAY;QACV,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC7C,CAAC;IAED,WAAW;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,eAAe;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,39 @@
1
+ import { z } from 'zod';
2
+ import type { ExpressionValidationContext, RefExpressionParseResult, RefExpressionWarning } from '#src/references/expression-types.js';
3
+ import { RefExpressionParser } from '#src/references/expression-types.js';
4
+ /**
5
+ * A test parser that always returns a configurable set of warnings.
6
+ *
7
+ * Used to test expression validation infrastructure without needing
8
+ * real expression parsing logic.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const parser = new WarningParser([{ message: 'Field not found' }]);
13
+ * const schema = ctx.withExpression(parser);
14
+ * ```
15
+ */
16
+ export declare class WarningParser extends RefExpressionParser<string, string> {
17
+ readonly name = "warning-parser";
18
+ private readonly warningsToReturn;
19
+ constructor(warnings: RefExpressionWarning[]);
20
+ createSchema(): z.ZodType<string>;
21
+ parse(value: string): RefExpressionParseResult<string>;
22
+ getWarnings(_parseResult: string, _context: ExpressionValidationContext): RefExpressionWarning[];
23
+ getDependencies(): [];
24
+ updateForRename(value: string): string;
25
+ }
26
+ /**
27
+ * A test parser whose parse() returns a failure result.
28
+ *
29
+ * Used to test that expression validation gracefully handles parse failures.
30
+ */
31
+ export declare class FailingParser extends RefExpressionParser<string, never> {
32
+ readonly name = "failing-parser";
33
+ createSchema(): z.ZodType<string>;
34
+ parse(): RefExpressionParseResult<never>;
35
+ getWarnings(): RefExpressionWarning[];
36
+ getDependencies(): [];
37
+ updateForRename(value: string): string;
38
+ }
39
+ //# sourceMappingURL=expression-warning-parser.test-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-warning-parser.test-helper.d.ts","sourceRoot":"","sources":["../../src/testing/expression-warning-parser.test-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,qBAAa,aAAc,SAAQ,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC;IACpE,QAAQ,CAAC,IAAI,oBAAoB;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;gBAE9C,QAAQ,EAAE,oBAAoB,EAAE;IAK5C,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAIjC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC;IAItD,WAAW,CACT,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,2BAA2B,GACpC,oBAAoB,EAAE;IAIzB,eAAe,IAAI,EAAE;IAIrB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGvC;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC;IACnE,QAAQ,CAAC,IAAI,oBAAoB;IAEjC,YAAY,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAIjC,KAAK,IAAI,wBAAwB,CAAC,KAAK,CAAC;IAIxC,WAAW,IAAI,oBAAoB,EAAE;IAKrC,eAAe,IAAI,EAAE;IAIrB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGvC"}
@@ -0,0 +1,62 @@
1
+ import { z } from 'zod';
2
+ import { RefExpressionParser } from '#src/references/expression-types.js';
3
+ /**
4
+ * A test parser that always returns a configurable set of warnings.
5
+ *
6
+ * Used to test expression validation infrastructure without needing
7
+ * real expression parsing logic.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const parser = new WarningParser([{ message: 'Field not found' }]);
12
+ * const schema = ctx.withExpression(parser);
13
+ * ```
14
+ */
15
+ export class WarningParser extends RefExpressionParser {
16
+ name = 'warning-parser';
17
+ warningsToReturn;
18
+ constructor(warnings) {
19
+ super();
20
+ this.warningsToReturn = warnings;
21
+ }
22
+ createSchema() {
23
+ return z.string();
24
+ }
25
+ parse(value) {
26
+ return { success: true, value };
27
+ }
28
+ getWarnings(_parseResult, _context) {
29
+ return this.warningsToReturn;
30
+ }
31
+ getDependencies() {
32
+ return [];
33
+ }
34
+ updateForRename(value) {
35
+ return value;
36
+ }
37
+ }
38
+ /**
39
+ * A test parser whose parse() returns a failure result.
40
+ *
41
+ * Used to test that expression validation gracefully handles parse failures.
42
+ */
43
+ export class FailingParser extends RefExpressionParser {
44
+ name = 'failing-parser';
45
+ createSchema() {
46
+ return z.string();
47
+ }
48
+ parse() {
49
+ return { success: false, error: 'Parse failed' };
50
+ }
51
+ getWarnings() {
52
+ // Never called — parse() always returns failure, handled by validate()
53
+ return [];
54
+ }
55
+ getDependencies() {
56
+ return [];
57
+ }
58
+ updateForRename(value) {
59
+ return value;
60
+ }
61
+ }
62
+ //# sourceMappingURL=expression-warning-parser.test-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-warning-parser.test-helper.js","sourceRoot":"","sources":["../../src/testing/expression-warning-parser.test-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,aAAc,SAAQ,mBAAmC;IAC3D,IAAI,GAAG,gBAAgB,CAAC;IAChB,gBAAgB,CAAyB;IAE1D,YAAY,QAAgC;QAC1C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED,YAAY;QACV,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,WAAW,CACT,YAAoB,EACpB,QAAqC;QAErC,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,eAAe;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,mBAAkC;IAC1D,IAAI,GAAG,gBAAgB,CAAC;IAEjC,YAAY;QACV,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK;QACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IACnD,CAAC;IAED,WAAW;QACT,uEAAuE;QACvE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,eAAe;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ export * from './definition-helpers.test-helper.js';
2
+ export * from './expression-stub-parser.test-helper.js';
3
+ export * from './parser-context.test-helper.js';
4
+ export * from './project-definition-container.test-helper.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+CAA+C,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './definition-helpers.test-helper.js';
2
+ export * from './expression-stub-parser.test-helper.js';
3
+ export * from './parser-context.test-helper.js';
4
+ export * from './project-definition-container.test-helper.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,iCAAiC,CAAC;AAChD,cAAc,+CAA+C,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { DefinitionSchemaParserContext } from '../schema/creator/types.js';
2
+ /**
3
+ * Creates a definition schema parser context with no plugins.
4
+ * Useful for unit tests that need to build or parse definition schemas
5
+ * without a full project context.
6
+ */
7
+ export declare function createEmptyParserContext(): DefinitionSchemaParserContext;
8
+ //# sourceMappingURL=parser-context.test-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-context.test-helper.d.ts","sourceRoot":"","sources":["../../src/testing/parser-context.test-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAUhF;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,6BAA6B,CAGxE"}
@@ -0,0 +1,16 @@
1
+ import { createPluginSpecStore } from '../parser/parser.js';
2
+ import { createDefinitionSchemaParserContext } from '../schema/creator/schema-creator.js';
3
+ const emptyPluginStore = {
4
+ availablePlugins: [],
5
+ coreModules: [],
6
+ };
7
+ /**
8
+ * Creates a definition schema parser context with no plugins.
9
+ * Useful for unit tests that need to build or parse definition schemas
10
+ * without a full project context.
11
+ */
12
+ export function createEmptyParserContext() {
13
+ const pluginSpecStore = createPluginSpecStore(emptyPluginStore, {});
14
+ return createDefinitionSchemaParserContext({ plugins: pluginSpecStore });
15
+ }
16
+ //# sourceMappingURL=parser-context.test-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-context.test-helper.js","sourceRoot":"","sources":["../../src/testing/parser-context.test-helper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAE1F,MAAM,gBAAgB,GAAG;IACvB,gBAAgB,EAAE,EAAE;IACpB,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,eAAe,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,mCAAmC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AAC3E,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import type { ProjectDefinition, ProjectDefinitionInput } from '#src/schema/project-definition.js';
2
- import { ProjectDefinitionContainer } from './project-definition-container.js';
2
+ import type { EntityServiceContext } from '#src/tools/entity-service/types.js';
3
+ import { ProjectDefinitionContainer } from '#src/definition/project-definition-container.js';
3
4
  export declare function createTestProjectDefinition(input?: Partial<ProjectDefinition>): ProjectDefinition;
4
5
  export declare function createTestProjectDefinitionInput(input?: Partial<ProjectDefinitionInput>): ProjectDefinitionInput;
5
6
  export declare function createTestProjectDefinitionContainer(input?: Partial<ProjectDefinitionInput>): ProjectDefinitionContainer;
6
- //# sourceMappingURL=project-definition-container.test-utils.d.ts.map
7
+ export declare function createTestEntityServiceContext(input?: Partial<ProjectDefinitionInput>): EntityServiceContext;
8
+ //# sourceMappingURL=project-definition-container.test-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-definition-container.test-helper.d.ts","sourceRoot":"","sources":["../../src/testing/project-definition-container.test-helper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAO7F,wBAAgB,2BAA2B,CACzC,KAAK,GAAE,OAAO,CAAC,iBAAiB,CAAM,GACrC,iBAAiB,CAkBnB;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC1C,sBAAsB,CAKxB;AAED,wBAAgB,oCAAoC,CAClD,KAAK,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC1C,0BAA0B,CA+B5B;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC1C,oBAAoB,CAEtB"}