@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.
- package/CHANGELOG.md +58 -0
- package/README.md +165 -88
- package/dist/cjs/client.d.ts +1 -0
- package/dist/cjs/graphql/apollo-config-factory.d.ts +1 -0
- package/dist/cjs/graphql/errors.d.ts +4 -2
- package/dist/cjs/graphql/errors.d.ts.map +1 -0
- package/dist/cjs/graphql/errors.js +11 -1
- package/dist/cjs/graphql/errors.js.map +1 -1
- package/dist/cjs/graphql/input-type-generator.d.ts +1 -0
- package/dist/cjs/graphql/input-type-generator.d.ts.map +1 -0
- package/dist/cjs/graphql/input-type-generator.js +5 -10
- package/dist/cjs/graphql/input-type-generator.js.map +1 -1
- package/dist/cjs/graphql/queries-mutations-generator.d.ts +10 -1
- package/dist/cjs/graphql/queries-mutations-generator.d.ts.map +1 -0
- package/dist/cjs/graphql/queries-mutations-generator.js +55 -3
- package/dist/cjs/graphql/queries-mutations-generator.js.map +1 -1
- package/dist/cjs/graphql/resolvers/commit-message.d.ts +11 -0
- package/dist/cjs/graphql/resolvers/commit-message.d.ts.map +1 -0
- package/dist/cjs/graphql/resolvers/commit-message.js +22 -0
- package/dist/cjs/graphql/resolvers/commit-message.js.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js +2 -2
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js +3 -3
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts +3 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.js +7 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.js.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/types.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.d.ts +3 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.d.ts.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.js +7 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.js.map +1 -0
- package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js +1 -1
- package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +1 -0
- package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +33 -42
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +1 -0
- package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +28 -40
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +1 -0
- package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +26 -43
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +5 -5
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/types.d.ts +14 -2
- package/dist/cjs/graphql/resolvers/types.d.ts.map +1 -0
- package/dist/cjs/graphql/schema-analyzer.d.ts +1 -0
- package/dist/cjs/graphql/schema-generator.d.ts +1 -0
- package/dist/cjs/graphql/schema-generator.d.ts.map +1 -0
- package/dist/cjs/graphql/schema-generator.js +12 -1
- package/dist/cjs/graphql/schema-generator.js.map +1 -1
- package/dist/cjs/graphql/schema-root-type-generator.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/directive-util.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/entry-reference-util.d.ts +5 -2
- package/dist/cjs/graphql/schema-utils/entry-reference-util.d.ts.map +1 -0
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js +94 -121
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/cjs/graphql/schema-utils/entry-type-util.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/searchable-field-util.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/union-type-util.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/union-type-util.js +2 -2
- package/dist/cjs/graphql/schema-utils/union-type-util.js.map +1 -1
- package/dist/cjs/graphql/schema-validator.d.ts +1 -0
- package/dist/{types → cjs}/graphql/schema-validator.d.ts.map +1 -1
- package/dist/cjs/graphql/schema-validator.js +16 -0
- package/dist/cjs/graphql/schema-validator.js.map +1 -1
- package/dist/cjs/graphql/util.d.ts +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/persistence/cache.d.ts +4 -1
- package/dist/cjs/persistence/cache.d.ts.map +1 -0
- package/dist/cjs/persistence/cache.js +8 -17
- package/dist/cjs/persistence/cache.js.map +1 -1
- package/dist/cjs/persistence/commit-with-retry.d.ts +16 -0
- package/dist/cjs/persistence/commit-with-retry.d.ts.map +1 -0
- package/dist/cjs/persistence/commit-with-retry.js +39 -0
- package/dist/cjs/persistence/commit-with-retry.js.map +1 -0
- package/dist/cjs/persistence/git-adapter-call.d.ts +10 -0
- package/dist/cjs/persistence/git-adapter-call.d.ts.map +1 -0
- package/dist/cjs/persistence/git-adapter-call.js +29 -0
- package/dist/cjs/persistence/git-adapter-call.js.map +1 -0
- package/dist/cjs/persistence/persistence.d.ts +12 -0
- package/dist/{types → cjs}/persistence/persistence.d.ts.map +1 -1
- package/dist/cjs/persistence/persistence.js +37 -2
- package/dist/cjs/persistence/persistence.js.map +1 -1
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/graphql/apollo-config-factory.d.ts.map +1 -0
- package/dist/{types → esm}/graphql/errors.d.ts +3 -2
- package/dist/esm/graphql/errors.d.ts.map +1 -0
- package/dist/esm/graphql/errors.js +10 -0
- package/dist/esm/graphql/errors.js.map +1 -1
- package/dist/esm/graphql/input-type-generator.d.ts.map +1 -0
- package/dist/esm/graphql/input-type-generator.js +6 -11
- package/dist/esm/graphql/input-type-generator.js.map +1 -1
- package/dist/{types → esm}/graphql/queries-mutations-generator.d.ts +9 -1
- package/dist/esm/graphql/queries-mutations-generator.d.ts.map +1 -0
- package/dist/esm/graphql/queries-mutations-generator.js +53 -3
- package/dist/esm/graphql/queries-mutations-generator.js.map +1 -1
- package/dist/esm/graphql/resolvers/commit-message.d.ts +11 -0
- package/dist/esm/graphql/resolvers/commit-message.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/commit-message.js +19 -0
- package/dist/esm/graphql/resolvers/commit-message.js.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js +3 -3
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js +4 -4
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts +3 -0
- package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.js +3 -0
- package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/types.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.d.ts +3 -0
- package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.js +3 -0
- package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js +2 -2
- package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +36 -45
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +31 -43
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +29 -46
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +6 -6
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +2 -2
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
- package/dist/{types → esm}/graphql/resolvers/types.d.ts +13 -2
- package/dist/esm/graphql/resolvers/types.d.ts.map +1 -0
- package/dist/esm/graphql/schema-analyzer.d.ts.map +1 -0
- package/dist/esm/graphql/schema-generator.d.ts.map +1 -0
- package/dist/esm/graphql/schema-generator.js +14 -3
- package/dist/esm/graphql/schema-generator.js.map +1 -1
- package/dist/esm/graphql/schema-root-type-generator.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/directive-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/entry-reference-util.d.ts +6 -0
- package/dist/esm/graphql/schema-utils/entry-reference-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/entry-reference-util.js +93 -121
- package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/esm/graphql/schema-utils/entry-type-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/searchable-field-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/union-type-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/union-type-util.js +3 -3
- package/dist/esm/graphql/schema-utils/union-type-util.js.map +1 -1
- package/dist/esm/graphql/schema-validator.d.ts.map +1 -0
- package/dist/esm/graphql/schema-validator.js +17 -1
- package/dist/esm/graphql/schema-validator.js.map +1 -1
- package/dist/esm/graphql/util.d.ts.map +1 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/{types → esm}/persistence/cache.d.ts +3 -1
- package/dist/esm/persistence/cache.d.ts.map +1 -0
- package/dist/esm/persistence/cache.js +6 -15
- package/dist/esm/persistence/cache.js.map +1 -1
- package/dist/esm/persistence/commit-with-retry.d.ts +16 -0
- package/dist/esm/persistence/commit-with-retry.d.ts.map +1 -0
- package/dist/esm/persistence/commit-with-retry.js +35 -0
- package/dist/esm/persistence/commit-with-retry.js.map +1 -0
- package/dist/esm/persistence/git-adapter-call.d.ts +10 -0
- package/dist/esm/persistence/git-adapter-call.d.ts.map +1 -0
- package/dist/esm/persistence/git-adapter-call.js +24 -0
- package/dist/esm/persistence/git-adapter-call.js.map +1 -0
- package/dist/esm/persistence/persistence.d.ts +18 -0
- package/dist/esm/persistence/persistence.d.ts.map +1 -0
- package/dist/esm/persistence/persistence.js +36 -3
- package/dist/esm/persistence/persistence.js.map +1 -1
- package/package.json +27 -18
- package/src/graphql/errors.ts +2 -1
- package/src/graphql/input-type-generator.ts +6 -18
- package/src/graphql/queries-mutations-generator.ts +69 -3
- package/src/graphql/resolvers/commit-message.ts +34 -0
- package/src/graphql/resolvers/field-resolvers/referenced-by-resolver.ts +9 -0
- package/src/graphql/resolvers/field-resolvers/version-resolver.ts +8 -0
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts +43 -57
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts +45 -60
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts +38 -67
- package/src/graphql/resolvers/types.ts +26 -2
- package/src/graphql/schema-generator.ts +19 -0
- package/src/graphql/schema-utils/entry-reference-util.ts +147 -191
- package/src/graphql/schema-validator.ts +21 -0
- package/src/persistence/cache.ts +8 -14
- package/src/persistence/commit-with-retry.ts +47 -0
- package/src/persistence/git-adapter-call.ts +27 -0
- package/src/persistence/persistence.ts +50 -0
- package/dist/types/graphql/errors.d.ts.map +0 -1
- package/dist/types/graphql/input-type-generator.d.ts.map +0 -1
- package/dist/types/graphql/queries-mutations-generator.d.ts.map +0 -1
- package/dist/types/graphql/resolvers/types.d.ts.map +0 -1
- package/dist/types/graphql/schema-generator.d.ts.map +0 -1
- package/dist/types/graphql/schema-utils/entry-reference-util.d.ts +0 -4
- package/dist/types/graphql/schema-utils/entry-reference-util.d.ts.map +0 -1
- package/dist/types/persistence/cache.d.ts.map +0 -1
- package/dist/types/persistence/persistence.d.ts +0 -7
- /package/dist/{types → cjs}/client.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/apollo-config-factory.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/types.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-analyzer.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-root-type-generator.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-utils/directive-util.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-utils/entry-type-util.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-utils/searchable-field-util.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-utils/union-type-util.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/util.d.ts.map +0 -0
- /package/dist/{types → cjs}/index.d.ts.map +0 -0
- /package/dist/{types → esm}/client.d.ts +0 -0
- /package/dist/{types → esm}/graphql/apollo-config-factory.d.ts +0 -0
- /package/dist/{types → esm}/graphql/input-type-generator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/field-resolvers/types.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-analyzer.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-generator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-root-type-generator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-utils/directive-util.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-utils/entry-type-util.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-utils/searchable-field-util.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-utils/union-type-util.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-validator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/util.d.ts +0 -0
- /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
|
|
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!,
|
|
96
|
-
updateRocketFlight(id: ID!, data: RocketFlightInput!,
|
|
97
|
-
deleteRocketFlight(id: 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 #
|
|
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
|
|
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
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
507
|
-
|
|
508
|
-
| `BAD_USER_INPUT`
|
|
509
|
-
| `NOT_FOUND`
|
|
510
|
-
| `BAD_REPOSITORY_DATA`
|
|
511
|
-
| `BAD_SCHEMA`
|
|
512
|
-
| `IN_USE`
|
|
513
|
-
| `
|
|
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
|
|
package/dist/cjs/client.d.ts
CHANGED
|
@@ -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
|
|
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;
|
|
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
|
-
|
|
58
|
-
|
|
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
|
-
|
|
77
|
+
return unionTypes.map((unionType) => {
|
|
79
78
|
if ((0, entry_type_util_ts_1.buildsOnTypeWithEntryDirective)(unionType)) {
|
|
80
79
|
return '';
|
|
81
80
|
}
|
|
82
|
-
//
|
|
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":";;
|
|
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"}
|