graphiti 2.0.0.beta.8 → 2.0.0.beta.10
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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +1 -1
- data/.github/workflows/docs.yml +9 -6
- data/.github/workflows/release.yml +1 -1
- data/CHANGELOG.md +43 -0
- data/Rakefile +28 -0
- data/UPGRADING.md +1 -1
- data/lib/generators/graphiti/generator_mixin.rb +24 -0
- data/lib/generators/graphiti/templates/application_resource.rb.erb +9 -16
- data/lib/graphiti/configuration.rb +66 -28
- data/lib/graphiti/debugger.rb +18 -6
- data/lib/graphiti/delegates/pagination.rb +2 -2
- data/lib/graphiti/error_serializers/deprecated_constants.rb +23 -0
- data/lib/graphiti/error_serializers/invalid_request.rb +6 -0
- data/lib/graphiti/errors.rb +51 -3
- data/lib/graphiti/query.rb +36 -14
- data/lib/graphiti/rails/controller.rb +26 -6
- data/lib/graphiti/rails/rake_helpers.rb +17 -0
- data/lib/graphiti/rails.rb +14 -0
- data/lib/graphiti/railtie.rb +8 -0
- data/lib/graphiti/request_validators/update_validator.rb +1 -1
- data/lib/graphiti/request_validators/validator.rb +9 -0
- data/lib/graphiti/resource/configuration.rb +138 -40
- data/lib/graphiti/resource/dsl.rb +21 -2
- data/lib/graphiti/resource/interface.rb +1 -1
- data/lib/graphiti/resource/links.rb +36 -5
- data/lib/graphiti/resource/remote.rb +2 -1
- data/lib/graphiti/resource/sideloading.rb +2 -2
- data/lib/graphiti/schema.rb +2 -2
- data/lib/graphiti/scope.rb +115 -23
- data/lib/graphiti/scoping/filter.rb +4 -4
- data/lib/graphiti/scoping/paginate.rb +3 -3
- data/lib/graphiti/serializer.rb +12 -6
- data/lib/graphiti/sideload/polymorphic_belongs_to.rb +11 -4
- data/lib/graphiti/sideload.rb +22 -14
- data/lib/graphiti/spec_helpers/matchers.rb +2 -2
- data/lib/graphiti/spec_helpers/rspec.rb +6 -3
- data/lib/graphiti/util/link.rb +1 -1
- data/lib/graphiti/util/serializer_attributes.rb +5 -3
- data/lib/graphiti/util/serializer_relationships.rb +26 -16
- data/lib/graphiti/version.rb +1 -1
- data/lib/graphiti.rb +6 -1
- data/lib/tasks/graphiti.rake +4 -0
- data/package-lock.json +114 -0
- data/package.json +16 -3
- metadata +3 -2
data/package-lock.json
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"devDependencies": {
|
|
12
12
|
"@semantic-release/changelog": "^7.0.0",
|
|
13
|
+
"@semantic-release/exec": "^7.1.0",
|
|
13
14
|
"@semantic-release/git": "^11.0.1",
|
|
14
15
|
"semantic-release": "^25.0.8",
|
|
15
16
|
"semantic-release-rubygem": "^1.2.0"
|
|
@@ -394,6 +395,119 @@
|
|
|
394
395
|
"node": ">=18"
|
|
395
396
|
}
|
|
396
397
|
},
|
|
398
|
+
"node_modules/@semantic-release/exec": {
|
|
399
|
+
"version": "7.1.0",
|
|
400
|
+
"resolved": "https://registry.npmjs.org/@semantic-release/exec/-/exec-7.1.0.tgz",
|
|
401
|
+
"integrity": "sha512-4ycZ2atgEUutspPZ2hxO6z8JoQt4+y/kkHvfZ1cZxgl9WKJId1xPj+UadwInj+gMn2Gsv+fLnbrZ4s+6tK2TFQ==",
|
|
402
|
+
"dev": true,
|
|
403
|
+
"license": "MIT",
|
|
404
|
+
"dependencies": {
|
|
405
|
+
"@semantic-release/error": "^4.0.0",
|
|
406
|
+
"aggregate-error": "^3.0.0",
|
|
407
|
+
"debug": "^4.0.0",
|
|
408
|
+
"execa": "^9.0.0",
|
|
409
|
+
"lodash-es": "^4.17.21",
|
|
410
|
+
"parse-json": "^8.0.0"
|
|
411
|
+
},
|
|
412
|
+
"engines": {
|
|
413
|
+
"node": ">=20.8.1"
|
|
414
|
+
},
|
|
415
|
+
"peerDependencies": {
|
|
416
|
+
"semantic-release": ">=24.1.0"
|
|
417
|
+
}
|
|
418
|
+
},
|
|
419
|
+
"node_modules/@semantic-release/exec/node_modules/aggregate-error": {
|
|
420
|
+
"version": "3.1.0",
|
|
421
|
+
"resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
|
|
422
|
+
"integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
|
|
423
|
+
"dev": true,
|
|
424
|
+
"license": "MIT",
|
|
425
|
+
"dependencies": {
|
|
426
|
+
"clean-stack": "^2.0.0",
|
|
427
|
+
"indent-string": "^4.0.0"
|
|
428
|
+
},
|
|
429
|
+
"engines": {
|
|
430
|
+
"node": ">=8"
|
|
431
|
+
}
|
|
432
|
+
},
|
|
433
|
+
"node_modules/@semantic-release/exec/node_modules/clean-stack": {
|
|
434
|
+
"version": "2.2.0",
|
|
435
|
+
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
|
|
436
|
+
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
|
|
437
|
+
"dev": true,
|
|
438
|
+
"license": "MIT",
|
|
439
|
+
"engines": {
|
|
440
|
+
"node": ">=6"
|
|
441
|
+
}
|
|
442
|
+
},
|
|
443
|
+
"node_modules/@semantic-release/exec/node_modules/execa": {
|
|
444
|
+
"version": "9.6.1",
|
|
445
|
+
"resolved": "https://registry.npmjs.org/execa/-/execa-9.6.1.tgz",
|
|
446
|
+
"integrity": "sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==",
|
|
447
|
+
"dev": true,
|
|
448
|
+
"license": "MIT",
|
|
449
|
+
"dependencies": {
|
|
450
|
+
"@sindresorhus/merge-streams": "^4.0.0",
|
|
451
|
+
"cross-spawn": "^7.0.6",
|
|
452
|
+
"figures": "^6.1.0",
|
|
453
|
+
"get-stream": "^9.0.0",
|
|
454
|
+
"human-signals": "^8.0.1",
|
|
455
|
+
"is-plain-obj": "^4.1.0",
|
|
456
|
+
"is-stream": "^4.0.1",
|
|
457
|
+
"npm-run-path": "^6.0.0",
|
|
458
|
+
"pretty-ms": "^9.2.0",
|
|
459
|
+
"signal-exit": "^4.1.0",
|
|
460
|
+
"strip-final-newline": "^4.0.0",
|
|
461
|
+
"yoctocolors": "^2.1.1"
|
|
462
|
+
},
|
|
463
|
+
"engines": {
|
|
464
|
+
"node": "^18.19.0 || >=20.5.0"
|
|
465
|
+
},
|
|
466
|
+
"funding": {
|
|
467
|
+
"url": "https://github.com/sindresorhus/execa?sponsor=1"
|
|
468
|
+
}
|
|
469
|
+
},
|
|
470
|
+
"node_modules/@semantic-release/exec/node_modules/indent-string": {
|
|
471
|
+
"version": "4.0.0",
|
|
472
|
+
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
|
|
473
|
+
"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
|
|
474
|
+
"dev": true,
|
|
475
|
+
"license": "MIT",
|
|
476
|
+
"engines": {
|
|
477
|
+
"node": ">=8"
|
|
478
|
+
}
|
|
479
|
+
},
|
|
480
|
+
"node_modules/@semantic-release/exec/node_modules/parse-json": {
|
|
481
|
+
"version": "8.3.0",
|
|
482
|
+
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz",
|
|
483
|
+
"integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==",
|
|
484
|
+
"dev": true,
|
|
485
|
+
"license": "MIT",
|
|
486
|
+
"dependencies": {
|
|
487
|
+
"@babel/code-frame": "^7.26.2",
|
|
488
|
+
"index-to-position": "^1.1.0",
|
|
489
|
+
"type-fest": "^4.39.1"
|
|
490
|
+
},
|
|
491
|
+
"engines": {
|
|
492
|
+
"node": ">=18"
|
|
493
|
+
},
|
|
494
|
+
"funding": {
|
|
495
|
+
"url": "https://github.com/sponsors/sindresorhus"
|
|
496
|
+
}
|
|
497
|
+
},
|
|
498
|
+
"node_modules/@semantic-release/exec/node_modules/type-fest": {
|
|
499
|
+
"version": "4.41.0",
|
|
500
|
+
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
|
|
501
|
+
"integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
|
|
502
|
+
"dev": true,
|
|
503
|
+
"license": "(MIT OR CC0-1.0)",
|
|
504
|
+
"engines": {
|
|
505
|
+
"node": ">=16"
|
|
506
|
+
},
|
|
507
|
+
"funding": {
|
|
508
|
+
"url": "https://github.com/sponsors/sindresorhus"
|
|
509
|
+
}
|
|
510
|
+
},
|
|
397
511
|
"node_modules/@semantic-release/git": {
|
|
398
512
|
"version": "11.0.1",
|
|
399
513
|
"resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-11.0.1.tgz",
|
data/package.json
CHANGED
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"semantic-release-rubygem": "^1.2.0",
|
|
19
19
|
"semantic-release": "^25.0.8",
|
|
20
20
|
"@semantic-release/changelog": "^7.0.0",
|
|
21
|
-
"@semantic-release/git": "^11.0.1"
|
|
21
|
+
"@semantic-release/git": "^11.0.1",
|
|
22
|
+
"@semantic-release/exec": "^7.1.0"
|
|
22
23
|
},
|
|
23
24
|
"release": {
|
|
24
25
|
"branches": [
|
|
@@ -132,13 +133,25 @@
|
|
|
132
133
|
}
|
|
133
134
|
],
|
|
134
135
|
"semantic-release-rubygem",
|
|
135
|
-
|
|
136
|
+
[
|
|
137
|
+
"@semantic-release/github",
|
|
138
|
+
{
|
|
139
|
+
"successCommentCondition": "<% return !branch.prerelease; %>"
|
|
140
|
+
}
|
|
141
|
+
],
|
|
142
|
+
[
|
|
143
|
+
"@semantic-release/exec",
|
|
144
|
+
{
|
|
145
|
+
"prepareCmd": "bundle exec ruby spec/performance/measure_releases.rb --pending v${nextRelease.version}"
|
|
146
|
+
}
|
|
147
|
+
],
|
|
136
148
|
[
|
|
137
149
|
"@semantic-release/git",
|
|
138
150
|
{
|
|
139
151
|
"assets": [
|
|
140
152
|
"CHANGELOG.md",
|
|
141
|
-
"lib/graphiti/version.rb"
|
|
153
|
+
"lib/graphiti/version.rb",
|
|
154
|
+
"spec/performance/performance_history.tsv"
|
|
142
155
|
],
|
|
143
156
|
"message": "${nextRelease.version} CHANGELOG [skip ci]\n\n${nextRelease.notes}"
|
|
144
157
|
}
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: graphiti
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.0.beta.
|
|
4
|
+
version: 2.0.0.beta.10
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lee Richmond
|
|
@@ -340,6 +340,7 @@ files:
|
|
|
340
340
|
- lib/graphiti/rails/rake_helpers.rb
|
|
341
341
|
- lib/graphiti/rails/responders.rb
|
|
342
342
|
- lib/graphiti/rails/test_helpers.rb
|
|
343
|
+
- lib/graphiti/railtie.rb
|
|
343
344
|
- lib/graphiti/renderer.rb
|
|
344
345
|
- lib/graphiti/request_validator.rb
|
|
345
346
|
- lib/graphiti/request_validators/update_validator.rb
|
|
@@ -428,7 +429,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
428
429
|
- !ruby/object:Gem::Version
|
|
429
430
|
version: '0'
|
|
430
431
|
requirements: []
|
|
431
|
-
rubygems_version:
|
|
432
|
+
rubygems_version: 4.0.16
|
|
432
433
|
specification_version: 4
|
|
433
434
|
summary: Easily build jsonapi.org-compatible APIs
|
|
434
435
|
test_files: []
|