Commit 0b46e3b
authored
v1.2.0 Release (#192)
* Foundation for initial v1.2 release (#157)
* Build toplevel IR structs
Restarted this branch.
* Add Union, Enum to IR
* Fix Directive IDL generation
* Stub for IR directive
* IR IDL Object, minus fields
* basic input
* IR directive
* error t
* Add (Type)Definition to IR IDL nodes
* Fix reporting of syntax errors
* Support for directives on interfaces
* IR IDL UnionTypeDefinition, with directives
* Test for IDL Interfaces, normalize Language & IR refs to "InterfaceTypeDefinition"
* pass doc through
* merge fix
* [Input]ObjectDefinition -> [Input]ObjectTypeDefinition
* Fix some missed file moves for naming changes
* non null and friend
* list type vs list
* IR IDL FieldDefinitions, w/ types & directives
* Cleanup some AST struct type defs, style
* Cleanup AST struct defstructs, types
* IR IDL ScalarTypeDefinition w/ directive support
* IR IDL Directive definitions
* IR IDL FieldDefinition w/ ArgumentDefinitions
* IR IDL InputObjectTypeDefinition w/ fields & directives
* IR -> Blueprint
* Typespec fixes, start getting strict about keys
* Get serious about @SPEC and @enforce_keys
* Build Blueprint Field.t w/ Input.Argument.t
* Blueprint Object, Field, Directive args
* EnumTypeDefinition & Perf: `Enum.map` vs. `for`
* Fix typespec typo
* Add scalar definitions to blueprint types
* Blueprint variable definitions
* Naive pipelining of Parse -> Blueprint
* Simplify pipeline flow
* Add stub for variables phase
* AST responsible for Blueprint conversion
* initial mapping code
* might help if I included the file
* mapping for IDL types
* Pipeline configuration
* Basic Phase.Operation.Variables using Mapper
* Phase Variables -> Input, as it handles literals
* Split Phase Input -> [Variables, Arguments]
* Blueprint.IDL -> Blueprint.Schema
* Blueprint.{List,Named,NonNull}Type -> Blueprint.TypeReference.{List,Name,NonNull}
* Add Blueprint.Document namespacing
* Since it's not "mapping," call it Transform for now
* Add Deprecation and EnumValueDefinition
* Move Directive back; it's in schema and documents
* Blueprint.TypeReference.unwrap/1
* SourceLocation supported by major document nodes
* Phase behaviour check_input/1 for input prereqs
* Fix Phase.Document.Variables @moduledoc
* Support fragment types
* Fix selection types
* Beginning of work on flattening
* Flatten fragments from `selections` into `fields`
* Start document validation with NoFragmentCycles
* Add cycle test for validation (currently failing)
* Cleanup fragment tests, handle pipeline halting
* Foundation for directive expansion phase (#126)
* Basic Document.Schema phase to support directive expansion
* Core expansion logic
* Bump travis settings
* Set schema_node for operations and fragments
* Schema nodes for inline fragments
* Schema nodes for root fields of operations, fragments
* Fill in schema nodes for simple arguments
* Deeply nested input value schema-tagging, ignoring list/non-null
* Simple cases for directive expansion
* Generate data structure from Blueprint argument values (#128)
* Blueprint.Input.Argument.t: provided_value -> normalized_value
* Argument: value -> literal_value
* Argument: Add `data_value`
* Clean up some debugging
* Phase.Document.Arguments -> Phase.Document.Arguments.Normalize
* Object and scalar argument values
* Aruguments.Data phase: Support for lists of scalars
- Still have some regressions to fix
* Build argument data ignoring non-null/list as needed
* Start building test harness for validation tests
* Foundation of validation test harness
* Build out assertions for validation test harness
* Initial pass/fail tests for ArgumentsOfCorrectType validation
* ArgumentsOfCorrectType "happy path" tests
* initial {version} test passed (#129)
* initial {version} test passed
* basic tests with arguments work
* handle list return values
* more resolution work
* FSE test passing
* collect errors into result
* more execution
* Made Scalars parse Blueprint nodes vs AST
* Passing: All non-collection ArgumentsOfCorrectType
* List input coercion
* Support deep-flagging of problems in data phase
* More source locations, break out list validation
* Merge list item type validation w/ arg. Passing.
* Support for reporting unknown fields
* Simplify error checking, application
* ArgumentsOfCorrectType ALL PASSING
* KnownArgumentNames validation
* ProvidedNonNullArguments validation
* Actually add files. update data phase moduledoc.
* UniqueArgumentNames
- Add validation module
- Add validation helper module
- Allow @directive directive
* UniqueInputFieldNames validation
* Cleanup prewalks
* Wire validations into pipeline
* Add docs, specs, and comments.
* Work on test failures
* Phase tests passing
* Skip @tag :old_errors for now, fix pipeline test
* Pass variables as only part of provided_values
* Add 'directive' to parser rule
* Support for 'on' in certain contexts
* Directive expansion (#136)
* Basics for Doc/Schema KnownDirectives validation
* Cleanup some old validations, protocol
* Start to deal with validation of IDL documents
* Work on directives validation
* KnownDirectives validation, cleanup
* Update flatten to pay attention to directive flags
* Ensure KnownDirectives validation runs for schemas
* coerce variables given as strings for enums (#139)
* coerce variables given as strings for enums
* fixes
* Structural / Schema-related Validations (#138)
* LoneAnonymousOperation
* KnownFragmentNames, inline fragment parser tweak
* Phase.Validation.KnownTypeNames
* Core utilities for NoUndefinedVariables validation
* NoUndefinedVariables
* Missing files
* NoUnusedVariables
* NoUnusedFragments
* UniqueFragmentNames
* UniqueOperationNames
* UniqueVariableNames
* Extract error message to function
* Fix parser warning
* Restructure flags as a map for matching (#144)
* Clear out old parser code (#145)
* clean up warnings
* use current operation when resolving
* use custom default resolvers
* non null fields are only invalid if they are also not deprecated
* don't try to expand type if the parent schema node already is the type we want (#148)
* Execution test cleanup (#146)
* Use current operation in execution
* No missing input stubs for deprecated fields
* Restructure result tree, attach to operation
* Clean out old execution, more type massaging
* fix warnings
* Fix introspection tests, add debug phase
* Fix non-typeless inline fragment tests
* v1.2: Wrap up all non-error related test failures (#152)
* Fix flattening
* All happy path tests green!
* Fix compilation warnings
* v1.2: Build errors from Blueprint tree (#153)
* Towards resolution building Phase.Error structs
* 484 tests, 22 failures & field suggestions
* Validation: VariablesAreInputTypes, tests
* GREEN
* ScalarLeafs validation
* Basic pipeline tests, hook in ScalarLeafs
* Update introspection test
* v1.2: Basic Documentation Pass (#159)
* @moduledoc for toplevel & adapter cleanup
* First pass at CHANGELOG, bump version
* Small wording change, typo
* Enforce validation errors skipping resolution (#164)
* Don't include data fields if validation fails
* Work towards pipeline cleanup
* Return values from phases can control the pipeline
* Insert after a phase, ensure adapter
* Simplify/unify options to phases (#166)
* Simplify/unify options to phases
* Cleanup tests, check for operation during validation
* Use concrete resolvers for interface fields.
* Temporarily add in Debug phase post-flatten
* Fix a type condition check in resolution, docs.
* Move to %Absinthe.Resolution{}
* failing test case (#168)
* failing test case
* bug fix
* More CHANGELOG fun
* 2 and 3 arity function support
* version bump
* changelog entry
* Fix introspection breakage on lists, add test (#171)
* bug fix: actually stick the full field info on the definition
* alpha 2
* Fix unhandled argument variable cases. (#160)
* failing test cases with various nested variable situations
* initial input value work
* schema doesn't gag on basic argument values
* schema doesn't gag on basic argument values
* basic missing flagging
* list values
* once again back to basic arguments
* solve infinite loop issue
* handle list coercion
* handle missing variables properly
* tons of validation progress
* all passing arguments of correct type
* 33 test failures
* charlists => strings"
* more test fixes
* more test progress
* remove some duplicate errors
* handle nil variables properly
* arguments tests are green
* just uniqueness errors now
* omg they're all greeN'
* remove some unneeded test
* obselete not necessary
* beta commit
* updated docs deps
* coerce string inputs to enum inputs when they're found as part of a variable (#178)
* Fix #174 (#179)
* failing test case to exhibit bug
* Fixes #174 by doing a deep merge on the fragments
* Fixed type resolution of wrapped types (#180)
* Fixed type resolution of wrapped types
* Code tidy-up
* Fixed Pipeline.without/2 (#181)
* Resolution Plugin System. Includes Async (#183)
* basic async works
* now we'll run resolution as many times as necessary becuase we have an accumulator
* fleshed out resolution plugin system
* cleanup and improve plugin API
* it would help if I added all the files
* stabilization of plugin API. also docs
* tests
* fix dumb mistake
* improved docs
* Batching (#184)
* working batching
* improved docs
* allow timeout opts for async
* improved batching and plugin docs
* fix merge errors
* version bump
* correct version
* ensure we dont' strip out false input object fields from args
* Fix for resolution of list of union type (#188)
* moduledoc false all the things (#186)
* relocate the call function for resolution functions to somewhere more public facing
* Metadata utility (#187)
* Add `meta` notation macro and `Type.meta/2` utility
* Add Absinthe.Type.meta/1
* v1.2 updates to README, CHANGELOG (#191)
* Reformat CHANGELOG
* Add CHANGELOG entry on validation errors
* README cleanup
* Some CHANGELOG placeholders for Ben
* fill out changelog
* Add metadata mention1 parent 31a930a commit 0b46e3b
272 files changed
Lines changed: 14058 additions & 4206 deletions
File tree
- lib
- absinthe
- adapter
- blueprint
- document
- fragment
- named
- resolution
- input
- list
- variable
- schema
- type_reference
- execution
- input
- resolution
- introspection
- language
- phase
- document
- arguments
- execution
- validation
- schema
- validation
- pipeline
- resolution
- plugin
- schema
- notation
- type
- built_ins
- utils
- validation
- mix/tasks
- src
- test
- lib
- absinthe
- adapters
- blueprint
- execution
- language
- phase
- document
- arguments
- validation
- validation
- resolution/plugin
- type
- validation
- support
- case
- harness
- document
- validation
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
3 | 124 | | |
4 | 125 | | |
5 | | - | |
| 126 | + | |
| 127 | + | |
6 | 128 | | |
7 | 129 | | |
8 | 130 | | |
9 | 131 | | |
10 | | - | |
| 132 | + | |
| 133 | + | |
11 | 134 | | |
12 | 135 | | |
13 | 136 | | |
14 | 137 | | |
15 | 138 | | |
16 | 139 | | |
17 | 140 | | |
18 | | - | |
| 141 | + | |
| 142 | + | |
19 | 143 | | |
20 | 144 | | |
21 | 145 | | |
22 | 146 | | |
23 | | - | |
| 147 | + | |
24 | 148 | | |
25 | 149 | | |
26 | 150 | | |
27 | 151 | | |
28 | 152 | | |
29 | 153 | | |
30 | | - | |
| 154 | + | |
31 | 155 | | |
32 | 156 | | |
33 | 157 | | |
34 | 158 | | |
35 | 159 | | |
36 | | - | |
| 160 | + | |
37 | 161 | | |
38 | 162 | | |
39 | 163 | | |
| |||
42 | 166 | | |
43 | 167 | | |
44 | 168 | | |
45 | | - | |
| 169 | + | |
46 | 170 | | |
47 | 171 | | |
48 | 172 | | |
49 | 173 | | |
50 | 174 | | |
51 | | - | |
| 175 | + | |
52 | 176 | | |
53 | 177 | | |
54 | 178 | | |
| |||
65 | 189 | | |
66 | 190 | | |
67 | 191 | | |
68 | | - | |
| 192 | + | |
69 | 193 | | |
70 | 194 | | |
71 | 195 | | |
| |||
88 | 212 | | |
89 | 213 | | |
90 | 214 | | |
91 | | - | |
| 215 | + | |
92 | 216 | | |
93 | 217 | | |
94 | 218 | | |
| |||
143 | 267 | | |
144 | 268 | | |
145 | 269 | | |
146 | | - | |
| 270 | + | |
147 | 271 | | |
148 | 272 | | |
149 | 273 | | |
| |||
193 | 317 | | |
194 | 318 | | |
195 | 319 | | |
196 | | - | |
| 320 | + | |
197 | 321 | | |
198 | 322 | | |
199 | 323 | | |
200 | | - | |
| 324 | + | |
201 | 325 | | |
202 | 326 | | |
203 | 327 | | |
204 | | - | |
| 328 | + | |
205 | 329 | | |
206 | 330 | | |
207 | 331 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | | - | |
13 | | - | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
40 | 65 | | |
41 | 66 | | |
42 | 67 | | |
43 | 68 | | |
44 | 69 | | |
45 | 70 | | |
46 | 71 | | |
47 | | - | |
| 72 | + | |
48 | 73 | | |
49 | 74 | | |
50 | 75 | | |
| |||
56 | 81 | | |
57 | 82 | | |
58 | 83 | | |
59 | | - | |
| 84 | + | |
60 | 85 | | |
61 | 86 | | |
62 | 87 | | |
| |||
0 commit comments