@commitspark/graphql-api 2.0.0-beta.3 → 2.0.0-beta.5

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 (269) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +165 -88
  3. package/dist/cjs/client.d.ts +1 -0
  4. package/dist/cjs/graphql/apollo-config-factory.d.ts +1 -0
  5. package/dist/cjs/graphql/errors.d.ts +4 -2
  6. package/dist/cjs/graphql/errors.d.ts.map +1 -0
  7. package/dist/cjs/graphql/errors.js +11 -1
  8. package/dist/cjs/graphql/errors.js.map +1 -1
  9. package/dist/cjs/graphql/input-type-generator.d.ts +1 -0
  10. package/dist/cjs/graphql/input-type-generator.d.ts.map +1 -0
  11. package/dist/cjs/graphql/input-type-generator.js +5 -10
  12. package/dist/cjs/graphql/input-type-generator.js.map +1 -1
  13. package/dist/cjs/graphql/queries-mutations-generator.d.ts +10 -1
  14. package/dist/cjs/graphql/queries-mutations-generator.d.ts.map +1 -0
  15. package/dist/cjs/graphql/queries-mutations-generator.js +55 -3
  16. package/dist/cjs/graphql/queries-mutations-generator.js.map +1 -1
  17. package/dist/cjs/graphql/resolvers/commit-message.d.ts +11 -0
  18. package/dist/cjs/graphql/resolvers/commit-message.d.ts.map +1 -0
  19. package/dist/cjs/graphql/resolvers/commit-message.js +22 -0
  20. package/dist/cjs/graphql/resolvers/commit-message.js.map +1 -0
  21. package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +1 -0
  22. package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js +2 -2
  23. package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -1
  24. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +1 -0
  25. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js +3 -3
  26. package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
  27. package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts +3 -0
  28. package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts.map +1 -0
  29. package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.js +7 -0
  30. package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.js.map +1 -0
  31. package/dist/cjs/graphql/resolvers/field-resolvers/types.d.ts +1 -0
  32. package/dist/cjs/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +1 -0
  33. package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.d.ts +3 -0
  34. package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.d.ts.map +1 -0
  35. package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.js +7 -0
  36. package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.js.map +1 -0
  37. package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +1 -0
  38. package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js +1 -1
  39. package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -1
  40. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +1 -0
  41. package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -1
  42. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +33 -42
  43. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -1
  44. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +1 -0
  45. package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -1
  46. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +28 -40
  47. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -1
  48. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +1 -0
  49. package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -1
  50. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +26 -43
  51. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
  52. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +1 -0
  53. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts +1 -0
  54. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +1 -0
  55. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +5 -5
  56. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -1
  57. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +1 -0
  58. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +1 -0
  59. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +1 -1
  60. package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
  61. package/dist/cjs/graphql/resolvers/types.d.ts +14 -2
  62. package/dist/cjs/graphql/resolvers/types.d.ts.map +1 -0
  63. package/dist/cjs/graphql/schema-analyzer.d.ts +1 -0
  64. package/dist/cjs/graphql/schema-generator.d.ts +1 -0
  65. package/dist/cjs/graphql/schema-generator.d.ts.map +1 -0
  66. package/dist/cjs/graphql/schema-generator.js +12 -1
  67. package/dist/cjs/graphql/schema-generator.js.map +1 -1
  68. package/dist/cjs/graphql/schema-root-type-generator.d.ts +1 -0
  69. package/dist/cjs/graphql/schema-utils/directive-util.d.ts +1 -0
  70. package/dist/cjs/graphql/schema-utils/entry-reference-util.d.ts +5 -2
  71. package/dist/cjs/graphql/schema-utils/entry-reference-util.d.ts.map +1 -0
  72. package/dist/cjs/graphql/schema-utils/entry-reference-util.js +94 -121
  73. package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
  74. package/dist/cjs/graphql/schema-utils/entry-type-util.d.ts +1 -0
  75. package/dist/cjs/graphql/schema-utils/searchable-field-util.d.ts +1 -0
  76. package/dist/cjs/graphql/schema-utils/union-type-util.d.ts +1 -0
  77. package/dist/cjs/graphql/schema-utils/union-type-util.js +2 -2
  78. package/dist/cjs/graphql/schema-utils/union-type-util.js.map +1 -1
  79. package/dist/cjs/graphql/schema-validator.d.ts +1 -0
  80. package/dist/{types → cjs}/graphql/schema-validator.d.ts.map +1 -1
  81. package/dist/cjs/graphql/schema-validator.js +16 -0
  82. package/dist/cjs/graphql/schema-validator.js.map +1 -1
  83. package/dist/cjs/graphql/util.d.ts +1 -0
  84. package/dist/cjs/index.d.ts +1 -0
  85. package/dist/cjs/index.js +3 -0
  86. package/dist/cjs/index.js.map +1 -1
  87. package/dist/cjs/persistence/cache.d.ts +4 -1
  88. package/dist/cjs/persistence/cache.d.ts.map +1 -0
  89. package/dist/cjs/persistence/cache.js +8 -17
  90. package/dist/cjs/persistence/cache.js.map +1 -1
  91. package/dist/cjs/persistence/commit-with-retry.d.ts +16 -0
  92. package/dist/cjs/persistence/commit-with-retry.d.ts.map +1 -0
  93. package/dist/cjs/persistence/commit-with-retry.js +39 -0
  94. package/dist/cjs/persistence/commit-with-retry.js.map +1 -0
  95. package/dist/cjs/persistence/git-adapter-call.d.ts +10 -0
  96. package/dist/cjs/persistence/git-adapter-call.d.ts.map +1 -0
  97. package/dist/cjs/persistence/git-adapter-call.js +29 -0
  98. package/dist/cjs/persistence/git-adapter-call.js.map +1 -0
  99. package/dist/cjs/persistence/persistence.d.ts +12 -0
  100. package/dist/{types → cjs}/persistence/persistence.d.ts.map +1 -1
  101. package/dist/cjs/persistence/persistence.js +37 -2
  102. package/dist/cjs/persistence/persistence.js.map +1 -1
  103. package/dist/esm/client.d.ts.map +1 -0
  104. package/dist/esm/graphql/apollo-config-factory.d.ts.map +1 -0
  105. package/dist/{types → esm}/graphql/errors.d.ts +3 -2
  106. package/dist/esm/graphql/errors.d.ts.map +1 -0
  107. package/dist/esm/graphql/errors.js +10 -0
  108. package/dist/esm/graphql/errors.js.map +1 -1
  109. package/dist/esm/graphql/input-type-generator.d.ts.map +1 -0
  110. package/dist/esm/graphql/input-type-generator.js +6 -11
  111. package/dist/esm/graphql/input-type-generator.js.map +1 -1
  112. package/dist/{types → esm}/graphql/queries-mutations-generator.d.ts +9 -1
  113. package/dist/esm/graphql/queries-mutations-generator.d.ts.map +1 -0
  114. package/dist/esm/graphql/queries-mutations-generator.js +53 -3
  115. package/dist/esm/graphql/queries-mutations-generator.js.map +1 -1
  116. package/dist/esm/graphql/resolvers/commit-message.d.ts +11 -0
  117. package/dist/esm/graphql/resolvers/commit-message.d.ts.map +1 -0
  118. package/dist/esm/graphql/resolvers/commit-message.js +19 -0
  119. package/dist/esm/graphql/resolvers/commit-message.js.map +1 -0
  120. package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +1 -0
  121. package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js +3 -3
  122. package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -1
  123. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +1 -0
  124. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js +4 -4
  125. package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
  126. package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts +3 -0
  127. package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts.map +1 -0
  128. package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.js +3 -0
  129. package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.js.map +1 -0
  130. package/dist/esm/graphql/resolvers/field-resolvers/types.d.ts.map +1 -0
  131. package/dist/esm/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +1 -0
  132. package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.d.ts +3 -0
  133. package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.d.ts.map +1 -0
  134. package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.js +3 -0
  135. package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.js.map +1 -0
  136. package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +1 -0
  137. package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js +2 -2
  138. package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -1
  139. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -0
  140. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +36 -45
  141. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -1
  142. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -0
  143. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +31 -43
  144. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -1
  145. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -0
  146. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +29 -46
  147. package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
  148. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +1 -0
  149. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +1 -0
  150. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts.map +1 -0
  151. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +6 -6
  152. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -1
  153. package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +1 -0
  154. package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +1 -0
  155. package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +2 -2
  156. package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
  157. package/dist/{types → esm}/graphql/resolvers/types.d.ts +13 -2
  158. package/dist/esm/graphql/resolvers/types.d.ts.map +1 -0
  159. package/dist/esm/graphql/schema-analyzer.d.ts.map +1 -0
  160. package/dist/esm/graphql/schema-generator.d.ts.map +1 -0
  161. package/dist/esm/graphql/schema-generator.js +14 -3
  162. package/dist/esm/graphql/schema-generator.js.map +1 -1
  163. package/dist/esm/graphql/schema-root-type-generator.d.ts.map +1 -0
  164. package/dist/esm/graphql/schema-utils/directive-util.d.ts.map +1 -0
  165. package/dist/esm/graphql/schema-utils/entry-reference-util.d.ts +6 -0
  166. package/dist/esm/graphql/schema-utils/entry-reference-util.d.ts.map +1 -0
  167. package/dist/esm/graphql/schema-utils/entry-reference-util.js +93 -121
  168. package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
  169. package/dist/esm/graphql/schema-utils/entry-type-util.d.ts.map +1 -0
  170. package/dist/esm/graphql/schema-utils/searchable-field-util.d.ts.map +1 -0
  171. package/dist/esm/graphql/schema-utils/union-type-util.d.ts.map +1 -0
  172. package/dist/esm/graphql/schema-utils/union-type-util.js +3 -3
  173. package/dist/esm/graphql/schema-utils/union-type-util.js.map +1 -1
  174. package/dist/esm/graphql/schema-validator.d.ts.map +1 -0
  175. package/dist/esm/graphql/schema-validator.js +17 -1
  176. package/dist/esm/graphql/schema-validator.js.map +1 -1
  177. package/dist/esm/graphql/util.d.ts.map +1 -0
  178. package/dist/esm/index.d.ts.map +1 -0
  179. package/dist/esm/index.js +2 -0
  180. package/dist/esm/index.js.map +1 -1
  181. package/dist/{types → esm}/persistence/cache.d.ts +3 -1
  182. package/dist/esm/persistence/cache.d.ts.map +1 -0
  183. package/dist/esm/persistence/cache.js +6 -15
  184. package/dist/esm/persistence/cache.js.map +1 -1
  185. package/dist/esm/persistence/commit-with-retry.d.ts +16 -0
  186. package/dist/esm/persistence/commit-with-retry.d.ts.map +1 -0
  187. package/dist/esm/persistence/commit-with-retry.js +35 -0
  188. package/dist/esm/persistence/commit-with-retry.js.map +1 -0
  189. package/dist/esm/persistence/git-adapter-call.d.ts +10 -0
  190. package/dist/esm/persistence/git-adapter-call.d.ts.map +1 -0
  191. package/dist/esm/persistence/git-adapter-call.js +24 -0
  192. package/dist/esm/persistence/git-adapter-call.js.map +1 -0
  193. package/dist/esm/persistence/persistence.d.ts +18 -0
  194. package/dist/esm/persistence/persistence.d.ts.map +1 -0
  195. package/dist/esm/persistence/persistence.js +36 -3
  196. package/dist/esm/persistence/persistence.js.map +1 -1
  197. package/package.json +27 -18
  198. package/src/graphql/errors.ts +2 -1
  199. package/src/graphql/input-type-generator.ts +6 -18
  200. package/src/graphql/queries-mutations-generator.ts +69 -3
  201. package/src/graphql/resolvers/commit-message.ts +34 -0
  202. package/src/graphql/resolvers/field-resolvers/referenced-by-resolver.ts +9 -0
  203. package/src/graphql/resolvers/field-resolvers/version-resolver.ts +8 -0
  204. package/src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts +43 -57
  205. package/src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts +45 -60
  206. package/src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts +38 -67
  207. package/src/graphql/resolvers/types.ts +26 -2
  208. package/src/graphql/schema-generator.ts +19 -0
  209. package/src/graphql/schema-utils/entry-reference-util.ts +147 -191
  210. package/src/graphql/schema-validator.ts +21 -0
  211. package/src/persistence/cache.ts +8 -14
  212. package/src/persistence/commit-with-retry.ts +47 -0
  213. package/src/persistence/git-adapter-call.ts +27 -0
  214. package/src/persistence/persistence.ts +50 -0
  215. package/dist/types/graphql/errors.d.ts.map +0 -1
  216. package/dist/types/graphql/input-type-generator.d.ts.map +0 -1
  217. package/dist/types/graphql/queries-mutations-generator.d.ts.map +0 -1
  218. package/dist/types/graphql/resolvers/types.d.ts.map +0 -1
  219. package/dist/types/graphql/schema-generator.d.ts.map +0 -1
  220. package/dist/types/graphql/schema-utils/entry-reference-util.d.ts +0 -4
  221. package/dist/types/graphql/schema-utils/entry-reference-util.d.ts.map +0 -1
  222. package/dist/types/persistence/cache.d.ts.map +0 -1
  223. package/dist/types/persistence/persistence.d.ts +0 -7
  224. /package/dist/{types → cjs}/client.d.ts.map +0 -0
  225. /package/dist/{types → cjs}/graphql/apollo-config-factory.d.ts.map +0 -0
  226. /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +0 -0
  227. /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +0 -0
  228. /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/types.d.ts.map +0 -0
  229. /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +0 -0
  230. /package/dist/{types → cjs}/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +0 -0
  231. /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +0 -0
  232. /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +0 -0
  233. /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts.map +0 -0
  234. /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +0 -0
  235. /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +0 -0
  236. /package/dist/{types → cjs}/graphql/schema-analyzer.d.ts.map +0 -0
  237. /package/dist/{types → cjs}/graphql/schema-root-type-generator.d.ts.map +0 -0
  238. /package/dist/{types → cjs}/graphql/schema-utils/directive-util.d.ts.map +0 -0
  239. /package/dist/{types → cjs}/graphql/schema-utils/entry-type-util.d.ts.map +0 -0
  240. /package/dist/{types → cjs}/graphql/schema-utils/searchable-field-util.d.ts.map +0 -0
  241. /package/dist/{types → cjs}/graphql/schema-utils/union-type-util.d.ts.map +0 -0
  242. /package/dist/{types → cjs}/graphql/util.d.ts.map +0 -0
  243. /package/dist/{types → cjs}/index.d.ts.map +0 -0
  244. /package/dist/{types → esm}/client.d.ts +0 -0
  245. /package/dist/{types → esm}/graphql/apollo-config-factory.d.ts +0 -0
  246. /package/dist/{types → esm}/graphql/input-type-generator.d.ts +0 -0
  247. /package/dist/{types → esm}/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +0 -0
  248. /package/dist/{types → esm}/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +0 -0
  249. /package/dist/{types → esm}/graphql/resolvers/field-resolvers/types.d.ts +0 -0
  250. /package/dist/{types → esm}/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +0 -0
  251. /package/dist/{types → esm}/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +0 -0
  252. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +0 -0
  253. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +0 -0
  254. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +0 -0
  255. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +0 -0
  256. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts +0 -0
  257. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +0 -0
  258. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +0 -0
  259. /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +0 -0
  260. /package/dist/{types → esm}/graphql/schema-analyzer.d.ts +0 -0
  261. /package/dist/{types → esm}/graphql/schema-generator.d.ts +0 -0
  262. /package/dist/{types → esm}/graphql/schema-root-type-generator.d.ts +0 -0
  263. /package/dist/{types → esm}/graphql/schema-utils/directive-util.d.ts +0 -0
  264. /package/dist/{types → esm}/graphql/schema-utils/entry-type-util.d.ts +0 -0
  265. /package/dist/{types → esm}/graphql/schema-utils/searchable-field-util.d.ts +0 -0
  266. /package/dist/{types → esm}/graphql/schema-utils/union-type-util.d.ts +0 -0
  267. /package/dist/{types → esm}/graphql/schema-validator.d.ts +0 -0
  268. /package/dist/{types → esm}/graphql/util.d.ts +0 -0
  269. /package/dist/{types → esm}/index.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,64 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.0.0-beta.5] - 2026-11-11
9
+
10
+ ### Added
11
+
12
+ - Add field `_version` to every `@Entry` type and optional argument `expectedVersion` to update and delete mutations,
13
+ so that saving an entry fails with `CONFLICT` instead of overwriting changes made since the entry was read
14
+ - Repeat a mutation against the new branch head, up to three attempts in total, when another commit was added to the
15
+ branch in the meantime, so that concurrent changes to unrelated entries do not cause errors
16
+
17
+ ### Changed
18
+
19
+ - Replace mutation argument `commitMessage` with `commit: { message, body }`, so that commits can explain a change in a
20
+ body in addition to the single-line message; messages containing line breaks are rejected with `BAD_USER_INPUT`
21
+ - Reject schemas with `@Entry` types that have no field `id` of type `ID!` with error `BAD_SCHEMA`
22
+ - Print each argument of generated mutations on its own line, so that argument descriptions in the schema are readable
23
+ - Omit the declaration `directive @oneOf` from the generated schema, as `@oneOf` is built into `graphql` since 16.9
24
+ - Require peer dependency `graphql` in version `^16.11.0`, which `@apollo/server` already required, instead of
25
+ declaring support for versions 14 to 17
26
+ - Require Node.js 22.18 or newer, as required by the upgraded `@graphql-tools` packages, and declare it in `engines`
27
+ - Upgrade to @commitspark/git-adapter 2.0.0-beta.4
28
+
29
+ ### Fixed
30
+
31
+ - Return errors of Git adapters during commits with their error code, e.g. `CONFLICT` or `FORBIDDEN`, instead of
32
+ `INTERNAL_ERROR`
33
+ - Allow writing fields of type `ID` other than the entry ID, e.g. `sku: ID` or `id` of an embedded type, which were
34
+ missing from generated input types
35
+ - Generate a commit message such as `Update MyType "my-id"` if none is given, instead of adapter-specific messages
36
+ (`-`, `undefined`) or failing commits
37
+ - Export `ErrorCode` as a regular enum instead of a `const enum`, so that it can be used at runtime, e.g. in
38
+ `error.extensions.code === ErrorCode.CONFLICT`
39
+
40
+ ## [2.0.0-beta.4] - 2026-10-14
41
+
42
+ ### Added
43
+
44
+ - Add field `_referencedBy` to every `@Entry` type, returning the IDs of all entries referencing the entry
45
+ - Permit `/` in entry IDs to store entries in subfolders of the entry folder, e.g. `blog/2024/hello`
46
+
47
+ ### Changed
48
+
49
+ - Publish separate type declarations for the ESM and CJS builds and reference them per condition in `exports` of
50
+ `package.json`, so that TypeScript projects that import this package from ESM code with `moduleResolution` set to
51
+ `node16` or `nodenext` receive correct types. Type declarations are no longer located in `dist/types`.
52
+ - Determine incoming references from the data of all entries of a commit instead of storing them in metadata field
53
+ `referencedBy` of referenced entries. Mutations no longer modify referenced entries, and an existing field
54
+ `referencedBy` is ignored and removed from an entry when the entry is next written.
55
+ - Return error `BAD_REPOSITORY_DATA` when deleting an entry or querying `_referencedBy` while an entry of the commit has
56
+ a type that is not an `@Entry` type of the schema or data that does not match the schema
57
+ - Reject entry IDs on creation that are empty, start or end with `/`, contain `//` or contain segments starting with
58
+ `.`, using `validateEntryId()` of `@commitspark/git-adapter`
59
+ - Upgrade to @commitspark/git-adapter 2.0.0-beta.2
60
+
61
+ ### Fixed
62
+
63
+ - Treat fields referencing an entry of the same type as the containing entry (e.g. `manager: Person` in type `Person`)
64
+ as references instead of embedded data, so that these references are validated and prevent deletion
65
+
8
66
  ## [2.0.0-beta.3] - 2026-10-02
9
67
 
10
68
  No user-facing changes.
package/README.md CHANGED
@@ -24,7 +24,7 @@ There are two common ways to use this library:
24
24
  ```
25
25
  2. By making GraphQL calls over HTTP to this library wrapped in a webserver or Lambda function.
26
26
 
27
- You can find an example Node.js Express web server implementation
27
+ You can find an example Node.js Express web server implementation
28
28
  [here](https://github.com/commitspark/example-http-express).
29
29
 
30
30
  ## Installing Git provider support
@@ -37,7 +37,7 @@ in [this repository](https://github.com/commitspark/git-adapter).
37
37
  |---------------------------------------------------------------------|------------------------------------------------------------|---------------------------------------------|
38
38
  | [GitHub](https://github.com/commitspark/git-adapter-github) | Provides support for Git repositories hosted on github.com | `npm i @commitspark/git-adapter-github` |
39
39
  | [GitLab (SaaS)](https://github.com/commitspark/git-adapter-gitlab) | Provides support for Git repositories hosted on gitlab.com | `npm i @commitspark/git-adapter-gitlab` |
40
- | [Filesystem](https://github.com/commitspark/git-adapter-filesystem) | Provides read-only access to files on the filesystem level | `npm i @commitspark/git-adapter-filesystem` |
40
+ | [Filesystem](https://github.com/commitspark/git-adapter-filesystem) | Provides support for Git repositories in the filesystem | `npm i @commitspark/git-adapter-filesystem` |
41
41
 
42
42
  ## Installing search support
43
43
 
@@ -88,13 +88,22 @@ schema {
88
88
  type Query {
89
89
  everyRocketFlight: [RocketFlight!]
90
90
  RocketFlight(id: ID!): RocketFlight
91
- _typeName(id: ID!): String
91
+ _typeName(id: ID!): String!
92
92
  }
93
93
 
94
94
  type Mutation {
95
- createRocketFlight(id: ID!, data: RocketFlightInput!, commitMessage: String): RocketFlight
96
- updateRocketFlight(id: ID!, data: RocketFlightInput!, commitMessage: String): RocketFlight
97
- deleteRocketFlight(id: ID!, commitMessage: String): ID
95
+ createRocketFlight(id: ID!, data: RocketFlightInput!, commit: _CommitInput): RocketFlight
96
+ updateRocketFlight(id: ID!, data: RocketFlightInput!, expectedVersion: String, commit: _CommitInput): RocketFlight
97
+ deleteRocketFlight(id: ID!, expectedVersion: String, commit: _CommitInput): ID
98
+ }
99
+
100
+ input _CommitInput {
101
+ message: String
102
+ body: String
103
+ }
104
+
105
+ input RocketFlightIdInput {
106
+ id: ID!
98
107
  }
99
108
 
100
109
  input RocketFlightInput {
@@ -105,6 +114,11 @@ input RocketFlightInput {
105
114
  input PayloadInput {
106
115
  weight: Int!
107
116
  }
117
+
118
+ extend type RocketFlight {
119
+ _referencedBy: [ID!]!
120
+ _version: String!
121
+ }
108
122
  ```
109
123
 
110
124
  # Making GraphQL calls
@@ -148,58 +162,6 @@ const rocketFlight = response.data.rocketFlight
148
162
 
149
163
  # Technical documentation
150
164
 
151
- ## API
152
-
153
- ### createClient()
154
-
155
- This function is used to create a Commitspark GraphQL API client instance.
156
-
157
- Argument `gitAdapter` expects a Commitspark git adapter instance which is then used by the client to access the
158
- adapter's Git repository.
159
-
160
- Optional argument `options` supports the following settings:
161
-
162
- * `searchAdapter`: A Commitspark search adapter instance. If set, query `_search` is added to the GraphQL API (see
163
- [Search](#search)).
164
-
165
- ### Client
166
-
167
- #### postGraphQL()
168
-
169
- This function is used to make GraphQL requests.
170
-
171
- Request execution is handled by ApolloServer behind the scenes.
172
-
173
- Argument `request` expects a conventional GraphQL query and supports query variables as well as introspection.
174
-
175
- #### getSchema()
176
-
177
- This function allows retrieving the GraphQL schema extended by Commitspark as a string.
178
-
179
- Compared to schema data obtained through GraphQL introspection, the schema returned by this function also includes
180
- directive declarations and annotations, allowing for development of additional tools that require this information.
181
-
182
- ## Picking from the Git tree
183
-
184
- As Commitspark is Git-based, all GraphQL requests support traversing the Git commit tree by setting the `ref` argument
185
- in library calls to a
186
-
187
- * ref (i.e. commit hash),
188
- * branch name, or
189
- * tag name (light or regular)
190
-
191
- This enables great flexibility, e.g. to use branches in order to enable data (entry) development workflows, to retrieve
192
- a specific (historic) commit where it is guaranteed that entries are immutable, or to retrieve entries by tag such as
193
- one that marks the latest reviewed and approved version in a repository.
194
-
195
- ### Writing data
196
-
197
- Mutation operations work on branch names only and (when successful) each append a new commit on
198
- HEAD in the given branch.
199
-
200
- To guarantee deterministic results, mutations in calls with multiple mutations are processed sequentially (see
201
- the [official GraphQL documentation](https://graphql.org/learn/queries/#multiple-fields-in-mutations) for details).
202
-
203
165
  ## Data model
204
166
 
205
167
  The data model (i.e. schema) is defined in a single GraphQL type definition text file using the
@@ -241,18 +203,24 @@ This keeps the number of entries low and performance up.
241
203
  Entries, i.e. instances of data types annotated with `@Entry`, are stored as `.yaml` YAML text files inside
242
204
  folder `commitspark/entries/` in the given Git repository (unless otherwise configured in your Git adapter).
243
205
 
244
- The filename (excluding file extension) constitutes the entry ID.
245
-
246
206
  Entry files have the following structure:
247
207
 
248
208
  ```yaml
249
209
  metadata:
250
- type: MyType # name of type as defined in your schema
251
- referencedBy: [ ] # array of entry IDs that hold a reference to this entry
210
+ type: MyType # type as defined in the schema that this entry file represents
252
211
  data:
253
- # ... fields of the type as defined in your schema
212
+ # ... fields of the type as defined in the schema
254
213
  ```
255
214
 
215
+ ### Entry IDs
216
+
217
+ The path of an entry file relative to the entry folder excluding file extension constitutes the entry ID. Entry IDs
218
+ can contain `/` for logical grouping, however the entry type is always taken from the file's metadata.
219
+
220
+ Entry IDs are case-sensitive, must map to valid unique file paths within the entries folder, and must not contain
221
+ characters `\ * " < > : | ?` or control characters. Files and folders whose name starts with `.` are ignored by
222
+ Commitspark.
223
+
256
224
  ### Serialization / Deserialization
257
225
 
258
226
  #### References
@@ -282,7 +250,6 @@ like this:
282
250
  # commitspark/entries/VA256.yaml
283
251
  metadata:
284
252
  type: RocketFlight
285
- referencedBy: [ ]
286
253
  data:
287
254
  operator:
288
255
  id: Arianespace
@@ -294,8 +261,6 @@ The YAML file of referenced `Operator` with ID `Arianespace` will then look like
294
261
  # commitspark/entries/Arianespace.yaml
295
262
  metadata:
296
263
  type: Operator
297
- referencedBy:
298
- - VA256
299
264
  data:
300
265
  fullName: Arianespace SA
301
266
  ```
@@ -325,6 +290,14 @@ This returns the following data:
325
290
  }
326
291
  ```
327
292
 
293
+ #### Incoming references
294
+
295
+ Commitspark automatically determines incoming references to entries at runtime from the data of all entries of the
296
+ requested commit.
297
+
298
+ These incoming references can be queried with the generated field `_referencedBy` that is added to all types annotated
299
+ with `@Entry`. The query returns the IDs of all entries referencing an entry, sorted by ID.
300
+
328
301
  #### Unions
329
302
 
330
303
  In our rocket example, let's assume we want to store information about a rocket's stages. Assuming there are two
@@ -359,7 +332,6 @@ concrete instance's type name as field name:
359
332
  # commitspark/entries/VA256.yaml
360
333
  metadata:
361
334
  type: Rocket
362
- referencedBy: [ ]
363
335
  data:
364
336
  stages:
365
337
  - LiquidRocketMotor:
@@ -381,7 +353,7 @@ query {
381
353
  }
382
354
  ... on SolidRocketMotor {
383
355
  fuelMass
384
- }
356
+ }
385
357
  }
386
358
  }
387
359
  }
@@ -392,27 +364,94 @@ removed:
392
364
 
393
365
  ```json
394
366
  {
395
- "id": "VA256",
367
+ "id": "VA256",
396
368
  "stages": [
397
- {
398
- "__typename": "LiquidRocketMotor",
399
- "fuelTemperature": 21
400
- },
401
- {
402
- "__typename": "SolidRocketMotor",
403
- "fuelMass": 200000
404
- }
369
+ {
370
+ "__typename": "LiquidRocketMotor",
371
+ "fuelTemperature": 21
372
+ },
373
+ {
374
+ "__typename": "SolidRocketMotor",
375
+ "fuelMass": 200000
376
+ }
405
377
  ]
406
378
  }
407
379
  ```
408
380
 
409
- ## Search
381
+ ## Navigating the Git repository
382
+
383
+ As Commitspark is Git-based, `postGraphQL()` and `getSchema()` take a `ref` argument that selects the commit to work
384
+ on. It can be a
385
+
386
+ * branch name,
387
+ * tag name (lightweight or annotated), or
388
+ * commit hash, if supported by the Git adapter
389
+
390
+ ## Reading and writing data
391
+
392
+ ### Queries
393
+
394
+ The given `ref` is resolved to a commit when request processing starts. All queries in a request read data from this
395
+ commit, which is returned as `ref` of the response.
396
+
397
+ ### Mutations
398
+
399
+ Mutations work on branch names only, as they create new commits.
400
+
401
+ Each successful mutation appends a new commit on HEAD of the given branch.
402
+
403
+ #### Multiple mutations in one request
404
+
405
+ To guarantee deterministic results, mutations in a request containing multiple mutations are processed sequentially (see
406
+ the [official GraphQL documentation](https://graphql.org/learn/queries/#multiple-fields-in-mutations) for details). The
407
+ commit internally resolved as branch HEAD for the duration of the request is updated after each successful mutation.
408
+
409
+ #### Mutations from multiple concurrent requests
410
+
411
+ When a repository is written to concurrently, whether through one or several Commitspark instances or from other
412
+ sources, the following logic guards against race conditions and data loss:
413
+
414
+ Every `@Entry` type has a generated field `_version` that changes whenever the stored entry changes. Mutations
415
+ `update<Type>` and `delete<Type>` accept an optional argument `expectedVersion`. If it is given and the entry has a
416
+ different version, the mutation fails with error code `CONFLICT` instead of overwriting changes made in the meantime.
417
+ Callers that let users edit entries are recommended to read `_version` together with the entry and pass it as
418
+ `expectedVersion` when saving, e.g.:
419
+
420
+ ```graphql
421
+ mutation {
422
+ updateMyEntry(id: "my-id", data: { name: "New name" }, expectedVersion: "<_version as read before>") {
423
+ _version
424
+ }
425
+ }
426
+ ```
427
+
428
+ Each mutation is validated (expected version, references, etc.) against the latest commit of the branch and passed to
429
+ the Git adapter together with this commit as expected parent. Git adapters must only add the new commit if the branch
430
+ still points to that parent. If another commit was added to the branch in the meantime, the mutation is validated again
431
+ against the new branch head and committed on top of it, up to three times in total, so that changes to unrelated
432
+ entries do not lead to errors. If the attempts are exhausted, the mutation fails with error code `CONFLICT`.
433
+
434
+ How reliably a Git adapter detects a moved branch depends on its Git provider; see the documentation of the respective
435
+ adapter for limitations.
436
+
437
+ #### Commit messages
438
+
439
+ Mutations accept an optional argument `commit` to describe the commit they create:
440
+
441
+ * `message` summarizes the change in a single line. A message containing line breaks is rejected with error code
442
+ `BAD_USER_INPUT`. If omitted or empty, a message such as `Update RocketFlight "VA256"` is generated from the
443
+ mutation, type and ID of the entry.
444
+ * `body` optionally holds details of the change and may span multiple lines.
445
+
446
+ Both are trimmed. How message and body are stored depends on the Git adapter, e.g. as commit headline and body.
447
+
448
+ ### Search
410
449
 
411
450
  Entries can be searched by text using query `_search` once a search adapter is passed to `createClient()`. How a
412
451
  search is performed (e.g. keyword search, semantic search or a combination of both) depends on the search adapter
413
452
  (see [Installing search support](#installing-search-support)).
414
453
 
415
- ### Marking fields as searchable
454
+ #### Marking fields as searchable
416
455
 
417
456
  Only fields explicitly marked with directive `@Searchable` are searchable. The directive must be declared in the
418
457
  schema and can be used on types and fields:
@@ -447,7 +486,7 @@ The following rules apply:
447
486
  * The directive of a type does not extend to fields of other types used in it. Such types must be marked themselves.
448
487
  * References to other entries are never followed. Each entry is only searchable by its own data.
449
488
 
450
- ### Querying
489
+ #### Search queries
451
490
 
452
491
  ```graphql
453
492
  query {
@@ -503,14 +542,52 @@ The following error codes are returned together with error codes of Git adapters
503
542
  documented [here](https://github.com/commitspark/git-adapter) and error codes of search adapters as
504
543
  documented [here](https://github.com/commitspark/search-adapter):
505
544
 
506
- | Error code | Description |
507
- |------------------------|--------------------------------------------------------------------|
508
- | `BAD_USER_INPUT` | Invalid input data provided by the caller |
509
- | `NOT_FOUND` | Requested resource (entry, type, etc.) does not exist |
510
- | `BAD_REPOSITORY_DATA` | Data in the repository is malformed or invalid according to schema |
511
- | `BAD_SCHEMA` | Schema definition is malformed or invalid |
512
- | `IN_USE` | Entry cannot be deleted because it is referenced by other entries |
513
- | `INTERNAL_ERROR` | Internal processing error |
545
+ | Error code | Description |
546
+ |-----------------------|----------------------------------------------------------------------------------------------|
547
+ | `BAD_USER_INPUT` | Invalid input data provided by the caller |
548
+ | `NOT_FOUND` | Requested resource (entry, type, etc.) does not exist |
549
+ | `BAD_REPOSITORY_DATA` | Data in the repository is malformed or invalid according to schema |
550
+ | `BAD_SCHEMA` | Schema definition is malformed or invalid |
551
+ | `IN_USE` | Entry cannot be deleted because it is referenced by other entries |
552
+ | `CONFLICT` | Entry or branch was changed concurrently (see "Mutations from multiple concurrent requests") |
553
+ | `INTERNAL_ERROR` | Internal processing error |
554
+
555
+ # TypeScript API
556
+
557
+ ## createClient()
558
+
559
+ This function is used to create a Commitspark GraphQL API client instance.
560
+
561
+ Argument `gitAdapter` expects a Commitspark git adapter instance which is then used by the client to access the
562
+ adapter's Git repository.
563
+
564
+ Optional argument `options` supports the following settings:
565
+
566
+ * `searchAdapter`: A Commitspark search adapter instance. If set, query `_search` is added to the GraphQL API (see
567
+ [Search](#search)).
568
+
569
+ ## Client
570
+
571
+ ### postGraphQL()
572
+
573
+ This function is used to make GraphQL requests.
574
+
575
+ Request execution is handled by ApolloServer behind the scenes.
576
+
577
+ Argument `ref` expects a branch name, tag name or commit hash (see
578
+ [Navigating the Git repository](#navigating-the-git-repository)).
579
+
580
+ Argument `request` expects a conventional GraphQL query and supports query variables as well as introspection.
581
+
582
+ ### getSchema()
583
+
584
+ This function allows retrieving the GraphQL schema extended by Commitspark as a string.
585
+
586
+ Compared to schema data obtained through GraphQL introspection, the schema returned by this function also includes
587
+ directive declarations and annotations, allowing for development of additional tools that require this information.
588
+
589
+ Argument `ref` expects a branch name, tag name or commit hash (see
590
+ [Navigating the Git repository](#navigating-the-git-repository)).
514
591
 
515
592
  # License
516
593
 
@@ -28,3 +28,4 @@ export interface SchemaResponse {
28
28
  ref: string;
29
29
  data: string;
30
30
  }
31
+ //# sourceMappingURL=client.d.ts.map
@@ -1,3 +1,4 @@
1
1
  import { ApolloContext } from '../client.ts';
2
2
  import { ApolloServerOptions } from '@apollo/server';
3
3
  export declare function createApolloConfig(context: ApolloContext): Promise<ApolloServerOptions<ApolloContext>>;
4
+ //# sourceMappingURL=apollo-config-factory.d.ts.map
@@ -1,13 +1,14 @@
1
1
  import { GraphQLError } from 'graphql';
2
2
  import { ErrorCode as GitAdapterErrorCode } from '@commitspark/git-adapter';
3
3
  import { ErrorCode as SearchAdapterErrorCode } from '@commitspark/search-adapter';
4
- export declare const enum ErrorCode {
4
+ export declare enum ErrorCode {
5
5
  BAD_USER_INPUT = "BAD_USER_INPUT",
6
6
  NOT_FOUND = "NOT_FOUND",
7
7
  BAD_REPOSITORY_DATA = "BAD_REPOSITORY_DATA",
8
8
  BAD_SCHEMA = "BAD_SCHEMA",
9
9
  INTERNAL_ERROR = "INTERNAL_ERROR",
10
- IN_USE = "IN_USE"
10
+ IN_USE = "IN_USE",
11
+ CONFLICT = "CONFLICT"
11
12
  }
12
13
  export interface ErrorMetadata {
13
14
  typeName?: string;
@@ -18,3 +19,4 @@ export interface ErrorMetadata {
18
19
  schema?: string;
19
20
  }
20
21
  export declare const createError: (message: string, code: ErrorCode | GitAdapterErrorCode | SearchAdapterErrorCode, metaData: ErrorMetadata) => GraphQLError;
22
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEjF,oBAAY,SAAS;IACnB,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,mBAAmB,wBAAwB;IAC3C,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,EACf,MAAM,SAAS,GAAG,mBAAmB,GAAG,sBAAsB,EAC9D,UAAU,aAAa,KACtB,YAiBF,CAAA"}
@@ -1,7 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createError = void 0;
3
+ exports.createError = exports.ErrorCode = void 0;
4
4
  const graphql_1 = require("graphql");
5
+ var ErrorCode;
6
+ (function (ErrorCode) {
7
+ ErrorCode["BAD_USER_INPUT"] = "BAD_USER_INPUT";
8
+ ErrorCode["NOT_FOUND"] = "NOT_FOUND";
9
+ ErrorCode["BAD_REPOSITORY_DATA"] = "BAD_REPOSITORY_DATA";
10
+ ErrorCode["BAD_SCHEMA"] = "BAD_SCHEMA";
11
+ ErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
12
+ ErrorCode["IN_USE"] = "IN_USE";
13
+ ErrorCode["CONFLICT"] = "CONFLICT";
14
+ })(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
5
15
  const createError = (message, code, metaData) => {
6
16
  const serializedFieldValue = typeof metaData.fieldValue === 'object' ||
7
17
  Array.isArray(metaData.fieldValue)
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AAsB/B,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,IAA8D,EAC9D,QAAuB,EACT,EAAE;IAChB,MAAM,oBAAoB,GACxB,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;QACvC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAA;IACzB,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;IACvC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,eAAe,CAAC,UAAU,GAAG,oBAAoB,CAAA;IACnD,CAAC;IAED,OAAO,IAAI,sBAAY,CAAC,OAAO,EAAE;QAC/B,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,eAAe;SAC7B;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AArBY,QAAA,WAAW,eAqBvB"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AAItC,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,8CAAiC,CAAA;IACjC,oCAAuB,CAAA;IACvB,wDAA2C,CAAA;IAC3C,sCAAyB,CAAA;IACzB,8CAAiC,CAAA;IACjC,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;AACvB,CAAC,EARW,SAAS,yBAAT,SAAS,QAQpB;AAWM,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,IAA8D,EAC9D,QAAuB,EACT,EAAE;IAChB,MAAM,oBAAoB,GACxB,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;QACvC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAA;IACzB,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;IACvC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,eAAe,CAAC,UAAU,GAAG,oBAAoB,CAAA;IACnD,CAAC;IAED,OAAO,IAAI,sBAAY,CAAC,OAAO,EAAE;QAC/B,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,eAAe;SAC7B;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AArBY,QAAA,WAAW,eAqBvB"}
@@ -3,3 +3,4 @@ import { SchemaAnalyzerResult } from './schema-analyzer.ts';
3
3
  export declare function generateIdInputTypeStrings(schemaAnalyzerResult: SchemaAnalyzerResult): string[];
4
4
  export declare function generateObjectInputTypeStrings(objectTypes: GraphQLObjectType[]): string[];
5
5
  export declare function generateUnionInputTypeStrings(unionTypes: GraphQLUnionType[]): string[];
6
+ //# sourceMappingURL=input-type-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-type-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/input-type-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,iBAAiB,EAEjB,gBAAgB,EAMjB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAkC3D,wBAAgB,0BAA0B,CACxC,oBAAoB,EAAE,oBAAoB,GACzC,MAAM,EAAE,CAeV;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,iBAAiB,EAAE,GAC/B,MAAM,EAAE,CA2BV;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,gBAAgB,EAAE,GAC7B,MAAM,EAAE,CAcV"}
@@ -50,14 +50,13 @@ function generateObjectInputTypeStrings(objectTypes) {
50
50
  return objectTypes.map((objectType) => {
51
51
  const name = objectType.name;
52
52
  const inputTypeName = `${name}Input`;
53
+ const isEntryType = (0, directive_util_ts_1.hasDirective)(objectType, directive_util_ts_1.ENTRY_DIRECTIVE_NAME);
53
54
  let inputType = `input ${inputTypeName} {\n`;
54
55
  let inputTypeFieldStrings = '';
55
56
  for (const fieldsKey in objectType.getFields()) {
56
57
  const field = objectType.getFields()[fieldsKey];
57
- if (((0, graphql_1.isNonNullType)(field.type) &&
58
- (0, graphql_1.isScalarType)(field.type.ofType) &&
59
- field.type.ofType.name === 'ID') ||
60
- ((0, graphql_1.isScalarType)(field.type) && field.type.name === 'ID')) {
58
+ // the ID of an entry is passed as mutation argument instead of as part of the entry data
59
+ if (isEntryType && field.name === 'id') {
61
60
  continue;
62
61
  }
63
62
  const inputTypeString = generateFieldInputTypeString(field.type);
@@ -75,11 +74,11 @@ function generateObjectInputTypeStrings(objectTypes) {
75
74
  });
76
75
  }
77
76
  function generateUnionInputTypeStrings(unionTypes) {
78
- const typeStrings = unionTypes.map((unionType) => {
77
+ return unionTypes.map((unionType) => {
79
78
  if ((0, entry_type_util_ts_1.buildsOnTypeWithEntryDirective)(unionType)) {
80
79
  return '';
81
80
  }
82
- // see https://github.com/graphql/graphql-spec/pull/825
81
+ // `@oneOf` is a directive specified by GraphQL and built into graphql-js since 16.9
83
82
  let unionInputType = `input ${unionType.name}Input @oneOf {\n`;
84
83
  for (const innerType of unionType.getTypes()) {
85
84
  unionInputType += ` ${innerType.name}: ${innerType.name}Input\n`;
@@ -87,9 +86,5 @@ function generateUnionInputTypeStrings(unionTypes) {
87
86
  unionInputType += '}\n';
88
87
  return unionInputType;
89
88
  });
90
- if (typeStrings.join('').length > 0) {
91
- typeStrings.push('directive @oneOf on INPUT_OBJECT\n');
92
- }
93
- return typeStrings;
94
89
  }
95
90
  //# sourceMappingURL=input-type-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-type-generator.js","sourceRoot":"","sources":["../../../src/graphql/input-type-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input-type-generator.js","sourceRoot":"","sources":["../../../src/graphql/input-type-generator.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,16 @@
1
1
  import { EntryData } from '@commitspark/git-adapter';
2
2
  import { GraphQLObjectType } from 'graphql';
3
- import { QueryMutationResolver, SearchQueryResolver } from './resolvers/types.ts';
3
+ import { QueryMutationResolver, ReferencedByResolver, SearchQueryResolver, VersionResolver } from './resolvers/types.ts';
4
4
  export declare function generateQueriesAndMutations(entryDirectiveTypes: GraphQLObjectType[]): GeneratedSchema[];
5
+ export declare function generateCommitInputType(): string;
5
6
  export declare function generateTypeNameQuery(): GeneratedQuery;
6
7
  export declare function generateSearchQuery(): GeneratedSearchQuery;
8
+ export declare function generateEntryFields(entryDirectiveTypes: GraphQLObjectType[]): GeneratedEntryFields[];
9
+ interface GeneratedEntryFields {
10
+ typeName: string;
11
+ typeExtensionString: string;
12
+ resolvers: Record<string, ReferencedByResolver | VersionResolver>;
13
+ }
7
14
  export interface GeneratedSearchQuery {
8
15
  name: string;
9
16
  schemaString: string;
@@ -22,3 +29,5 @@ export interface GeneratedQuery {
22
29
  schemaString: string;
23
30
  resolver: QueryMutationResolver<EntryData | EntryData[] | string>;
24
31
  }
32
+ export {};
33
+ //# sourceMappingURL=queries-mutations-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queries-mutations-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/queries-mutations-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAU3C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EAChB,MAAM,sBAAsB,CAAA;AAI7B,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,iBAAiB,EAAE,GACvC,eAAe,EAAE,CA+GnB;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAgBhD;AAED,wBAAgB,qBAAqB,IAAI,cAAc,CAStD;AAED,wBAAgB,mBAAmB,IAAI,oBAAoB,CAiB1D;AAED,wBAAgB,mBAAmB,CACjC,mBAAmB,EAAE,iBAAiB,EAAE,GACvC,oBAAoB,EAAE,CAoBxB;AAED,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,eAAe,CAAC,CAAA;CAClE;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,QAAQ,EAAE,mBAAmB,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,cAAc,CAAA;IAC1B,SAAS,EAAE,cAAc,CAAA;IACzB,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,qBAAqB,CAAC,SAAS,GAAG,SAAS,EAAE,GAAG,MAAM,CAAC,CAAA;CAClE"}