-
-
Notifications
You must be signed in to change notification settings - Fork 571
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stage 1 of behavior overhaul #2160
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
🦋 Changeset detectedLatest commit: 2dfc10f The changes in this PR will be included in the next version bump. This PR includes changesets to release 17 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
benjie
force-pushed
the
behavior-overhaul
branch
from
September 24, 2024 12:28
520bf42
to
7a529a6
Compare
…multiple times with different priorities
…ame hook can be applied multiple times in the same plugin but with different priorities.
…lists (use 'array' instead)
benjie
force-pushed
the
behavior-overhaul
branch
from
September 25, 2024 15:39
19b2001
to
4a9ca7a
Compare
…'t turn on singleRelation:*:connection for example
…sortable, so we should honour them.
…s a centralized registry of known behaviors and applies behaviors in a more careful and nuanced way, removing many hacks and workarounds, and ultimately meaning that `defaultBehavior: "-*"` should now operate correctly. Technically this is a breaking change because the order in which behaviors are applied has changed, and so a different behavior might ultimately "win". This shows up in places where there is ambiguity, for example if you add `@filterable` to a function that you don't have execute permissions on, that function will now show up in the schema since user overrides (smart tags) "win" versus inferred behaviors such as introspected permissions; this wasn't the case before. Hopefully most users will not notice any difference, and for those who do, the `graphile behavior debug` CLI may be able to help you figure out what's going on. Be sure to print your schema before and after this update and look for changes; if there are changes then you likely need to fix the relevant behaviors/smart tags. (Hopefully there's no changes for you!)
…ized it; this is incorrect since if you just want the build object you don't necessarily want to register all of the GraphQL types (and potentially discover naming conflicts) at that moment. Introduced new `schemaBuilder.initBuild(schemaBuilder.createBuild(input))` API to explicitly handle initing if you need an initialized build object.
…ing debugging behaviors when naming conflicts occur in the schema.
5 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
graphile-config
plugin hooks can now register arrays of hooks, in case they need the hook to be called multiple times at different priorities. (Prior to this you had to write multiple plugins and combine them via a preset.)Lots to do:
addBehaviorToTags
usagegraphile
CLI for custom per-project docsAt the end of this:
defaultBehavior: "-*"
work as expected #1803addBehaviorToTags
(or at least use it less) #1762My personal notes: https://docs.google.com/document/d/1rNOhd4n5Ml75SXobUrPFBRd5Fe_TD2o0a_6SETDeOC8/edit
Performance impact
Security impact
Checklist
yarn lint:fix
passes.yarn test
passes.RELEASE_NOTES.md
file (if one exists).