graphile-build
5.0.0-rc.6
Patch Changes
- #2990
5d408bd
Thanks @benjie! - No code changes. Updates the
release process, cleans up package.json, uses fixed identifiers for peer
dependencies (unless they're explicit dependencies also). Hopefully move to
trusted publishing. - Updated dependencies
[5d408bd]:- graphile-config@1.0.0-rc.6
- tamedevil@0.1.0-rc.6
5.0.0-rc.5
Patch Changes
-
#2957
5615d3f
Thanks @benjie! - Significantly reduce the size
of a PostGraphile exported schema (around 20% reduction on test fixtures) by:- marking optional things as optional
- excluding many optional things from being specified in configuration objects
(includingtagsobjects if no tags are present) - using
LIST_TYPESfor PostgreSQL builtin list types - extracting inline function definitions to be global functions where
appropriate, and simplifying functions where not
Breaking changes to types (but more accurate reflection of reality):
extensionsis now marked as optional in many places.extensions.tagsis now marked optional in many places.PgCodecAttribute.notNullis now marked as optional.PgResourceParameter.requiresis now marked as optional.PgCodecRelation.isUniqueis now marked as optional.pgGetArgDetailsFromParameters().argDetails.postgresArgNameis now optional
(may returnundefinedin addition tonull) and.requiredis now
optional (returnsboolean | undefined)
-
#2959
8384026
Thanks @benjie! - Add experimental schema
minification support, useful for people exporting to Lambda or similar. -
#2960
57dfa70
Thanks @benjie! - Use new Grafast
markSyncAndSafehelper when defining sync and safe functions. -
#2965
d15e1c2
Thanks @benjie! - Make EXPORTABLE's scope a
readonly array for greater compatibility. -
#2965
c0b8af9
Thanks @benjie! - Add new EXPORTABLE_CLONE_ARRAY
helper for exporting arrays after construction -
#2959
c9fd9f3
Thanks @benjie! - Use shared logic to decrease
export size. -
Updated dependencies
[b793077,
81ade71,
57dfa70,
d15e1c2]:- grafast@1.0.0-rc.8
- tamedevil@0.1.0-rc.5
5.0.0-rc.4
Patch Changes
-
#2910
9eb3829
Thanks @benjie! - Use consistent type export
syntax -
a3722d6
Thanks @benjie! - Refactor to enable TypeScript
options rewriteRelativeImportExtensions and erasableSyntaxOnly (including
using .ts extensions in source code) -
#2897
7ca663e
Thanks @benjie! - Fix various places where
inflection.builtin()was not called, and thus changes to builtin inflection
were not reflected. (Also adds test to prevent regression.) -
Updated dependencies
[9eb3829,
a3722d6,
5fc379e]:- graphile-config@1.0.0-rc.4
- grafast@1.0.0-rc.5
- tamedevil@0.1.0-rc.4
5.0.0-rc.3
Patch Changes
-
#2877
1e45a3d
Thanks @benjie! - Safety - use null prototype
objects in more places. -
#2873
0772086
Thanks @benjie! - Update TypeScript configuration
to support Node 22 minimum -
#2849
a60ed2a
Thanks @benjie! - "Transliterate" non-latin
characters so that schemas can be constructed more easily when characters
incompatible with GraphQL'sNameare used.To disable, remove the new plugin:
const preset = { extends: [AmberPreset /* ... */], + disablePlugins: ['TransliterationPlugin'], /* ... */ } -
#2888
1a56db2
Thanks @benjaie! - Node v22+ is required for
this module. -
Updated dependencies
[44555c7,
1e45a3d,
0772086,
a565503,
d9ccc82,
1a56db2,
eafa3f0,
b27c562,
f23f0cf]:- grafast@1.0.0-rc.4
- graphile-config@1.0.0-rc.3
- tamedevil@0.1.0-rc.3
5.0.0-rc.2
Patch Changes
-
#2806
5ad7ad0
Thanks @benjie! - Fix issues with extending
interfaces by adding newbuild.appendhelper. -
Updated dependencies
[f3a9869,
68f61cd,
a82e6fa]:- grafast@1.0.0-rc.2
- graphile-config@1.0.0-rc.2
- tamedevil@0.1.0-rc.2
5.0.0-rc.1
Patch Changes
-
#2777
6a4e3b9
Thanks @benjie! - Implement queue for
watchGather/watchSchema/etc and integrate with grafserv'ssetPreset
middleware. Promises returned by such now delay schema application, preventing
growing concurrent work. -
#2777
c6cbe61
Thanks @benjie! - Tighten our public API surface
by:- renaming
EventStreamHeandlerResultto the correctly spelt
EventStreamHandlerResult(and keeping only a deprecated alias for the old
name) - dropping the long-deprecated Grafast exports
InterfaceOrUnionPlans(use
InterfacePlanorUnionPlanas appropriate),deepEval(should be
applyTransforms) andDeepEvalStep(should beApplyTransformsStep) - removing the
PgAdaptorOptionsalias in favour ofPgAdaptorSettings - deleting the PostGraphile preset aliases
postgraphilePresetAmbershould be
PostGraphileAmberPreset) andPgRelayPreset(should be
PostGraphileRelayPreset), and updating all first-party usage to the
canonical names
- renaming
-
Updated dependencies
[abb623d,
7b86454,
42a0785,
d196d60,
c6cbe61,
d4ac603,
8a5a7c5,
ea0135f,
b6821f5]:- grafast@1.0.0-rc.1
- graphile-config@1.0.0-rc.1
- tamedevil@0.1.0-rc.1
5.0.0-beta.39
Patch Changes
-
#2730
4c3cf22
Thanks @benjie! - Updategraphqlversion range -
#2718
7ce4d41
Thanks @benjie! - Allow plugins to defer
assertTypeName to the end of the init phase -
#2142
0465b4a
Thanks @benjie! - GraphQL v16.9.0+ is now
required for enum thunk support (enums will now break without this) -
#2142
ab96e5f
Thanks @benjie! - Support for@deferand
@streamno longer requiresgraphql@16.1.0-experimental-stream-defer.6.
graphql@^16.9.0should now work, since we ponyfill everything we need. -
Updated dependencies
[4c3cf22,
71e0af2,
ab96e5f,
278b4d3,
eaa771b,
d0c15cc,
bffbb77,
c48ca48]:- grafast@0.1.1-beta.27
5.0.0-beta.38
Patch Changes
-
#2692
3d5c464
Thanks @benjie! - Allow forbidding certain
objects/functions from being exported, and raise error as early as possible. -
#2684
87a4c92
Thanks @benjie! - Enable deduplication of node
accessor calls -
#2678
6dafac1
Thanks @benjie! - Remove peer dependency
optionality in an attempt to satisfy pnpm's installation algorithms -
Updated dependencies
[cfd4c3c,
c3f9c38,
3d5c464,
13513dd,
bc2b188,
c13813e,
4a9072b,
6dafac1,
e15f886,
34efed0,
185d449]:- graphile-config@0.0.1-beta.18
- grafast@0.1.1-beta.26
- tamedevil@0.0.0-beta.9
5.0.0-beta.37
Patch Changes
9e21b2a
Thanks @benjie! - Allow changing the Node ID
codec from the default (base64JSON) to your own default via the
preset.schema.defaultNodeIdCodecsetting, or even override it on a per-table
basis with the@nodeIdCodecsmart tag. Thanks @jsmnbom!- Updated dependencies
[2adfd6e,
6113518]:- grafast@0.1.1-beta.25
5.0.0-beta.36
Patch Changes
- #2600
ad588ec
Thanks @benjie! - Mark all
peerDependencies=dependencies modules as optional peerDependencies to make
pnpm marginally happier hopefully. - Updated dependencies
[c54c6db,
ad588ec]:- grafast@0.1.1-beta.24
5.0.0-beta.35
Patch Changes
5.0.0-beta.34
Patch Changes
-
#2482
459e1869a2ec58925b2bac5458af487c52a8ca37
Thanks @benjie! - Minimum version of Node.js
bumped to Node 22 (the latest LTS). -
Updated dependencies
[0e36cb9077c76710d2e407830323f86c5038126e,
c0c3f48fa9f60cb9a4436ea135979b779ecc71ec,
cef9a37f846b4af105ac20960530d65c9f44afa9,
56ce94a847c6a4094643665cbf5d3712f56140b6,
192a27e08763ea26607344a2ea6c7f5c595cc2a3,
6ef6abce15936a896156d5316020df55cf7d18e3,
0239c2d519300a72f545e0db7c371adae4ade2a9,
0ea439d33ccef7f8d01ac5f54893ab2bbf1cbd4d,
8034614d1078b1bd177b6e7fcc949420614e3245,
459e1869a2ec58925b2bac5458af487c52a8ca37,
c350e49e372ec12a4cbf04fb6b4260e01832d12b,
3176ea3e57d626b39613a73117ef97627370ec83,
46a42f5547c041289aa98657ebc6815f4b6c8539,
be3f174c5aae8fe78a240e1bc4e1de7f18644b43,
576fb8bad56cb940ab444574d752e914d462018a,
9f459101fa4428aa4bac71531e75f99e33da8e17,
921665df8babe2651ab3b5886ab68bb518f2125b,
78bb1a615754d772a5fda000e96073c91fa9eba7,
ab0bcda5fc3c136eea09493a7d9ed4542975858e,
455f4811d37ad8fff91183c7a88621bcf9d79acf,
45adaff886e7cd72b864150927be6c0cb4a7dfe8]:- grafast@0.1.1-beta.22
- graphile-config@0.0.1-beta.16
- tamedevil@0.0.0-beta.8
5.0.0-beta.33
Patch Changes
-
#2377
7c38cdeffe034c9b4f5cdd03a8f7f446bd52dcb7
Thanks @benjie! - SinceModifierStepand
BaseStepare no more;ExecutableStepcan be renamed to simplyStep. The
old name (ExecutableStep) is now deprecated. -
#2424
e6da5d956ab696932410e7172cedfacba71dbf5e
Thanks @benjie! - Small tweaks to make exported
schemas have nicer formatting. -
#2398
c041fd250372c57601188b65a6411c8f440afab6
Thanks @benjie! - Since the following have been
removed from Grafast, throw an error if they're seen in the schema:autoApplyAfterParentInputPlanautoApplyAfterParentApplyPlanautoApplyAfterParentPlanautoApplyAfterParentSubscribePlaninputPlanapplyPlanon input fields
Also: when Query type fails to build, throw the underlying error directly.
-
#2384
6d19724330d50d076aab9442660fa8abddd095cb
Thanks @benjie! - Move postgresql argument logic
to runtime (from plantime) to avoid plantime eval of input values. -
#2376
da6f3c04efe3d8634c0bc3fcf93ac2518de85322
Thanks @benjie! - Overhaul Grafast to remove more
input planning - inputs should be evaluated at runtime - and remove more
plan-time step evaluation.FieldArgs.getis no more; useFieldArgs.getRawor usebakedInput()
(TODO: document) to get the "baked" version of a raw input value.Input object fields no longer have
applyPlan/inputPlan, instead having the
runtime equivalentsapply()andbaked().FieldArgsis no longer
available on input object fields, since these fields are no longer called at
plantime; instead, the actual value is passed.FieldArgsgains.typeAt(path)method that details the GraphQL input type
at the given path.Field arguments are no longer passed
FieldArgs, instead they're passed a
(similar)FieldArgobject representing the argument value itself.autoApplyAfterParentPlanis no more - instead if an argument hasapplyPlan
it will be called automatically unless it was called during the field plan
resolver itself.autoApplyAfterParentSubscribePlanis no more - instead if an argument has
applySubscribePlanit will be called automatically unless it was called
during the field plan resolver itself.Field arguments no longer support
inputPlan- usebakedInput()if you need
that.Input fields no longer support
inputPlan,applyPlan,
autoApplyAfterParentInputPlannorautoApplyAfterParentApplyPlan. Instead,
apply()(which is called byapplyStep()at runtime) has been added.sqlValueWithCodec(value, codec)can be used at runtime in places where
$step.placeholder($value, codec)would have been used previously.
placeholderhas been removed from all places that are now runtime - namely
the list of modifiers below...The following
ModifierStepclasses have all dropped theirStepsuffix,
theseModifierclasses now all run at runtime, and are thus no longer steps;
they're invoked as part of the newapplyInput()(TODO: document) step:ModifierStep⇒ModifierPgBooleanFilterStep⇒PgBooleanFilterPgClassFilterStep⇒PgClassFilterPgConditionCapableParentStep⇒PgConditionCapableParentPgConditionLikeStep⇒PgConditionLikePgConditionStepMode⇒PgConditionModePgConditionStep⇒PgConditionPgManyFilterStep⇒PgManyFilterPgOrFilterStep⇒PgOrFilterPgTempTableStep⇒PgTempTableSetterCapableStep⇒SetterCapableSetterStep⇒Setter
(Interestingly, other than the removal of
placeholderand the fact they deal
with runtime values rather than steps now, they're very similar to what they
were before.)The deprecated forms of the above have been removed.
Methods that rely on these modifier plans have been removed:
PgUnionAllStep.wherePlan- use
fieldArg.apply($unionAll, qb => qb.whereBuilder())insteadPgUnionAllStep.havingPlan- use
fieldArg.apply($unionAll, qb => qb.havingBuilder())instead- Same for PgSelectStep
The following gain query builders:
PgInsertSinglePgUpdateSinglePgDeleteSingle
Query builders gain
meta, an object that can be augmented with metadata
about the operation (typically this relates to cursors and similar
functionality). This is now used to implementclientMutationId.Extends query builders with additional functionality.
Many of the types have had their generics changed, TypeScript should guide you
if you have issues here.NodeIdHandlernow requires agetIdentifiersmethod that runs at runtime
and returns the identifiers from a decoded NodeId string.Types around GraphQL Global Object Identification (i.e.
Node/id) have
changed. -
#2357
8026b982a81776fb3d1d808392970c2d678c4023
Thanks @benjie! - Start migrating away from
applyPlan/inputPlan.When adding an argument to a field you can now(this
augment the field's plan resolver viacontext.addToPlanResolverhook
was later replaced with newinputApply()step, and arguments still keep
applyPlanthough input object fields lose it). Use this and other changes to
move handling of orderBy to runtime from plantime.Introduces runtime query builder for
PgSelectStepandPgUnionAllStep, and
PgSelectStep.apply()/PgUnionAllStep.apply()so that you can register
callbacks that will augment the query builder at runtime. -
Updated dependencies
[d34014a9a3c469154cc796086ba13719954731e5,
98516379ac355a0833a64e002f3717cc3a1d6473,
f8602d05eed3247c90b87c55d7af580d1698effc,
65df25534fa3f787ba2ab7fd9547d295ff2b1288,
1b3c76efd27df73eab3a5a1d221ce13de4cd6b1a,
3c0a925f26f10cae627a23c49c75ccd8d76b60c8,
fcaeb48844156e258a037f420ea1505edb50c52a,
68926abc31c32ce527327ffbb1ede4b0b7be446b,
4b49dbd2df3b339a2ba3f1e9ff400fa1a125298b,
d7950e8e28ec6106a4ce2f7fe5e35d88b10eac48,
c8f1971ea4198633ec97f72f82abf65089f71a88,
dd3d22eab73a8554715bf1111e30586251f69a88,
a120a8e43b24dfc174950cdbb69e481272a0b45e,
84f06eafa051e907a3050237ac6ee5aefb184652,
4a3aeaa77c8b8d2e39c1a9d05581d0c613b812cf,
0fc2db95d90df918cf5c59ef85f22ac78d8000d3,
90e81a5deeae554a8be2dd55dcd01489860e96e6,
c59132eb7a93bc82493d2f1ca050db8aaea9f4d1,
7c38cdeffe034c9b4f5cdd03a8f7f446bd52dcb7,
728888b28fcd2a6fc481e0ccdfe20d41181a091f,
f4f39092d7a51517668384945895d3b450237cce,
5cf3dc9d158891eaf324b2cd4f485d1d4bbb6b5e,
83d3b533e702cc875b46ba2ca02bf3642b421be8,
7001138c38e09822ad13db1018c62d2cac37941e,
e9e7e33665e22ec397e9ead054d2e4aad3eadc8c,
bb6ec8d834e3e630e28316196246f514114a2296,
2b1918d053f590cdc534c8cb81f7e74e96c1bbe6,
d1ecb39693a341f85762b27012ec4ea013857b0c,
042ebafe11fcf7e2ecac9b131265a55dddd42a6d,
fa005eb0783c58a2476add984fbdd462e0e91dbe,
df0e5a0f968cf6f9ae97b68745a9a2f391324bf5,
ef4cf75acd80e6b9c700c2b5a7ace899e565ef7f,
c041fd250372c57601188b65a6411c8f440afab6,
629b45aab49151810f6efc18ac18f7d735626433,
6d19724330d50d076aab9442660fa8abddd095cb,
ca5bc1a834df7b894088fb8602a12f9fcff55b38,
da6f3c04efe3d8634c0bc3fcf93ac2518de85322,
00d79e6f5608affc3f36bb0ce4ca2547230174e7,
f0bc64b71914dfdd3612f4b65370401fd85b97bc]:- grafast@0.1.1-beta.21
- graphile-config@0.0.1-beta.15
5.0.0-beta.32
Patch Changes
5.0.0-beta.31
Patch Changes
- Updated dependencies
[83c546509]:- graphile-config@0.0.1-beta.14
- grafast@0.1.1-beta.19
5.0.0-beta.30
Patch Changes
5.0.0-beta.29
Patch Changes
-
#2251
555d65cce
Thanks @benjie! - We now enforce GraphQL name
checks earlier and supply more information to better reveal where any invalid
names are originating. -
#2251
efa25d97d
Thanks @benjie! - 🚨 Inflection changes! V4
preset should be (mostly) unaffected, but Amber preset will likely have
changes betweenIDandROW_IDin various places, plus missing underscores
may reappear/etc. Be sure to diff your schema before/after this update (as you
should with every update... and to be honest, with everything else that
changes your schema).Normally
camelCase/upperCamelCase/constantCase/etc are the final step
before we name a field/type/enumValue/etc; however it turns out that some
inflectors were using the camel-cased output as input to their own
inflection - for example, when calculating the name of a relation it would
take the column names camel-cased and then combine them into a string which
was then camel-cased again. Even worse, when these values are then used in an
enum, it would then be constant-cased, so you end up with string 👉
camel-case 👉 concatenate 👉 camel-case 👉 concatenate 👉 constant-case. This
lead to certain edge cases where fields with numbers or underscores may come
out in unexpected ways.This release creates "raw" backing inflectors for a few things that remove the
final step (camel-casing) so that later usage may choose to use the raw value
rather than the camel-cased value. And due to this, we've also moved theid
👉rowIdtweaks from theattribute()inflector into the_attributeName()
inflector - which is where most of the changes have come from. We've undone
this change in the V4 preset, so if you don't use the V5 preset but need to
undo this change, please check out the V4 overrides of:Note: the V4 preset is fairly stable, but the Amber preset is being constantly
iterated to improve the OOTB V5 experience - it will only be stable once
V5.0.0 is released. -
#2250
86e228299
Thanks @benjie! - Integrate preset.lib into build
and gather context so plugins can use modules without needing to install
dependencies (and thus avoiding the dual package hazard). -
Updated dependencies
[69ab227b5,
d13b76f0f,
b167bd849,
6a13ecbd4]:- grafast@0.1.1-beta.17
- graphile-config@0.0.1-beta.12
5.0.0-beta.28
Patch Changes
5.0.0-beta.27
Patch Changes
- #2208
632691409
Thanks @benjie! - Behaviors can now be registered
by more than one plugin. Apply behaviors to more entities. Don't log so much.
5.0.0-beta.26
Patch Changes
- #2207
0b1f7b577
Thanks @benjie! - Fix overwhelming logs and
errors being output by the new behavior system
5.0.0-beta.25
Patch Changes
-
#2156
653929af0
Thanks @benjie! - Improve error message when
build.getTypeByNameand related methods are called before the 'init' phase
is complete. -
#2198
eb69c7361
Thanks @benjie! - Fix incorrect context type used
for GraphQLSchema_types hook, and addconfigto same context. -
#2160
54054b873
Thanks @benjie! - Fix bug where creating the
build object also initialized 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. -
#2160
426e9320e
Thanks @benjie! - Massive overhaul of the
behavior system which now has a centralized registry of known behaviors and
applies behaviors in a more careful and nuanced way, removing many hacks and
workarounds, and ultimately meaning thatdefaultBehavior: "-*"should now
operate correctly. Importantly,addBehaviorToTags()has been removed - you
should useplugin.schema.entityBehaviorsto indicate behaviors as shown in
this PR - do not mod the tags directly unless they're explicitly meant to be
overrides.Technically this is a significant breaking change (besides the removal of the
addBehaviorToTags()helper) 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@filterableto 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 debugCLI 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!)You'll also need to change any places where you're specifying behaviors that
will be type checked; you can either cast your existing strings e.g.
defaultBehavior: "+connection -list" as GraphileBuild.BehaviorString, or
preferably you can specify your behaviors as an array, which should give you
auto-complete on each entry; e.g.defaultBehavior: ["connection", "-list"]. -
#2199
3b09b414f
Thanks @benjie! - Database enum comments are now
reflected in the schema. -
#2155
8b472cd51
Thanks @benjie! -disablePluginsnow supports
TypeScript auto-completion of known plugin names. Other names are still
accepted without error, so this is just a minor DX improvement rather than
type safety. -
#2198
ba637b56d
Thanks @benjie! - Ensure that interface subtypes
are added to schema even if not referenced directly. -
Updated dependencies
[d5834def1,
42b982463,
884a4b429,
38835313a,
cc0941731,
b0865d169,
8b472cd51,
9cd9bb522]:- grafast@0.1.1-beta.15
- graphile-config@0.0.1-beta.10
5.0.0-beta.24
Patch Changes
- #2143
e8a0c4441
Thanks @benjie! - AddSelf.nameand
scope.valueNameto context forGraphQLEnumType_values_valuehook - Updated dependencies
[871d32b2a,
a26e3a30c,
02c11a4d4]:- grafast@0.1.1-beta.14
5.0.0-beta.23
Patch Changes
- Updated dependencies
[807650035]:- grafast@0.1.1-beta.13
5.0.0-beta.22
Patch Changes
- Updated dependencies
[1bd50b61e,
4e102b1a1,
7bb1573ba,
18addb385,
6ed615e55,
b25cc539c,
867f33136,
cf535c210,
acf99b190,
4967a197f,
1908e1ba1,
084d80be6]:- grafast@0.1.1-beta.12
5.0.0-beta.21
Patch Changes
-
#2071
582bd768f
Thanks @benjie! -GrafastExecutionArgsnow
acceptsresolvedPresetandrequestContextdirectly; passing these through
additional arguments is now deprecated and support will be removed in a future
revision. This affects:grafast()execute()subscribe()hookArgs()
graphile-confighas gained a middleware system which is more powerful than
it's AsyncHooks system. Old hooks can be emulated through the middleware
system safely since middleware is a superset of hooks' capabilities.
applyHookshas been renamed toorderedApply(because it applies to more
than just hooks), callingapplyHookswill still work but is deprecated.🚨
grafastno longer automatically reads yourgraphile.config.tsor
similar; you must do that yourself and pass theresolvedPresetto grafast
via theargs. This is to aid in bundling of grafast since it should not need
to read from filesystem or dynamically load modules.grafastno longer outputs performance warning when you set
GRAPHILE_ENV=development.🚨
plugin.grafast.hooks.argsis nowplugin.grafast.middleware.prepareArgs,
and the signature has changed - you must be sure to call thenext()function
and ctx/resolvedPreset can be extracted directly fromargs:const plugin = { grafast: { - hooks: { + middleware: { - args({ args, ctx, resolvedPreset }) { + prepareArgs(next, { args }) { + const { requestContext: ctx, resolvedPreset } = args; // ... + return next(); } } } }Many more middleware have been added; use TypeScript's autocomplete to see
what's available until we have proper documentation for them.plugin.grafserv.hooks.*are still supported but deprecated; instead use
middlewareplugin.grafserv.middleware.*(note that call signatures have
changed slightly, similar to the diff above):hooks.init->middleware.setPresethooks.processGraphQLRequestBody->middleware.processGraphQLRequestBodyhooks.ruruHTMLParts->middleware.ruruHTMLParts
A few TypeScript types related to Hooks have been renamed, but their old names
are still available, just deprecated. They will be removed in a future update:HookObject->FunctionalityObjectPluginHook->CallbackOrDescriptorPluginHookObject->CallbackDescriptorPluginHookCallback->UnwrapCallback
-
Updated dependencies
[582bd768f]:- graphile-config@0.0.1-beta.9
- grafast@0.1.1-beta.11
5.0.0-beta.20
Patch Changes
5.0.0-beta.19
Patch Changes
- Updated dependencies
[437570f97]:- grafast@0.1.1-beta.9
5.0.0-beta.18
Patch Changes
-
#2056
1842af661
Thanks @benjie! - Improve exporting of resource
options (neater export code) -
Updated dependencies
[bd5a908a4]:- grafast@0.1.1-beta.8
5.0.0-beta.17
Patch Changes
-
#2006
7ad35fe4d
Thanks @benjie! - When replacing inflectors via
plugin.inflection.replace.<inflector_name>the first argument is the
previous inflector (or null). Previously this was typed including the
this: Inflectionargument which meant to appease TypeScript you needed to do
previous.call(this, arg1, arg2), but this was never necessary in JS. This is
now fixed, and you can now issueprevious(arg1, arg2)from TypeScript
without error. -
#2050
272608c13
Thanks @benjie! - Add missing EXPORTABLE (and
remove excessive EXPORTABLE) to fix schema exports. -
#2006
bee0a0a68
Thanks @benjie! - Adopt improved inflection
typings. -
Updated dependencies
[357d475f5,
3551725e7,
80836471e,
a5c20fefb,
1ce08980e,
dff4f2535,
a287a57c2,
2fe56f9a6,
fed603d71,
ed6e0d278,
e82e4911e,
42ece5aa6,
e0d69e518,
db8ceed0f,
6699388ec,
966203504,
c1645b249,
ed8bbaa3c,
a0e82b9c5,
14e2412ee,
57ab0e1e7,
8442242e4,
64ce7b765,
cba842357,
2fa77d0f2]:- grafast@0.1.1-beta.7
- graphile-config@0.0.1-beta.8
5.0.0-beta.16
Patch Changes
-
#1955
6c6be29f1
Thanks @benjie! - Steps are now prevented from
calling other steps' lifecycle methods. GRAPHILE_ENV is actively encouraged,
and falls back to NODE_ENV. -
#1949
179d25b09
Thanks @benjie! - Add support for registering
PgCodecs via plugins, add support for ltree type, improve error messages, no
longer need to set a gather namespace to use cache/state. -
#1958
8315e8d01
Thanks @benjie! - EXPORTABLE now accepts a third
argument,nameHint, which is used to hint what variable name to use for the
given value. Used this ingraphile-exportalong with some fixes and
optimizations to improve the exports further. -
#1946
9d53dde72
Thanks @benjie! - Exporting a schema now performs
ESLint 'no-use-before-define' check to catch even more invalid export
conditions. FixregisterNodeIdCodeccalls caught by this. -
Updated dependencies
[9f85c614d,
6c6be29f1,
8315e8d01]:- grafast@0.1.1-beta.6
5.0.0-beta.15
Patch Changes
-
#1933
3a2ea80ee
Thanks @mattiarossi! -
eslint-plugin-graphile-exportnow spots instances ofinputPlan,
applyPlanandassertStepso they can be checked - thanks @mattiarossi! -
#1924
ef44c29b2
Thanks @benjie! - 🚨 TypeScript is now configured
to hide interfaces marked as@internal. This may result in a few errors
where you're accessing things you oughtn't be, but also may hide some
interfaces that should be exposed - please file an issue if an API you were
dependent on has been removed from the TypeScript typings. If that API happens
to bestep.dependencies; you should first read this:
https://benjie.dev/graphql/ancestors -
#1935
8ea67f891
Thanks @benjie! - Fix lots of things related to
exporting a schema withgraphile-export. -
#1935
e20e66ed7
Thanks @benjie! - Make even more of the schema
exportable, including handling scalars with no parseLiteral definition. -
Updated dependencies
[63dd7ea99,
d801c9778,
ef44c29b2,
5de3e86eb]:- grafast@0.1.1-beta.5
- graphile-config@0.0.1-beta.7
5.0.0-beta.14
Patch Changes
- #1901
f97d7976a
Thanks @benjie! - Loosens step assertion from
Query type so it can be served fromconstant(true). - Updated dependencies
[a2176ea32,
886833e2e]:- grafast@0.1.1-beta.4
5.0.0-beta.13
Patch Changes
- Updated dependencies
[0df5511ac]:- graphile-config@0.0.1-beta.6
- grafast@0.1.1-beta.3
5.0.0-beta.12
Patch Changes
-
#1877
8a0cdb95f
Thanks @benjie! - Move 'declare global' out of
'interfaces.ts' and into 'index.ts' or equivalent. Should make TypeScript more
aware of these types. -
#1817
f66cc40b3
Thanks @benjie! - Enable detecting "empty" enums
(enums with no values). -
#1878
f18635a5c
Thanks @benjie! - Export
getNodeIdHandlerByTypeName to make writing plugins easier -
Updated dependencies
[3fdc2bce4,
aeef362b5,
8a76db07f,
8a0cdb95f,
1c9f1c0ed]:- grafast@0.1.1-beta.2
- graphile-config@0.0.1-beta.5
5.0.0-beta.11
Patch Changes
5.0.0-beta.10
Patch Changes
-
#1769
b728d7fb9
Thanks @benjie! - Fix error message when ref is
used with no foreign key. -
Updated dependencies
[4a4d26d87,
b2bce88da,
861a8a306]:- grafast@0.1.1-beta.0
5.0.0-beta.9
Patch Changes
-
#514
c9848f693
Thanks @benjie! - Update package.json repository
information -
Updated dependencies
[c9848f693,
ede1092fe,
566983fbd,
409bf6071]:- graphile-config@0.0.1-beta.3
- grafast@0.0.1-beta.8
5.0.0-beta.8
Patch Changes
- Updated dependencies
[3700e204f]:- grafast@0.0.1-beta.7
5.0.0-beta.7
Patch Changes
-
#496
c9bfd9892
Thanks @benjie! - Update dependencies (sometimes
through major versions). -
Updated dependencies
[c9bfd9892,
e613b476d]:- graphile-config@0.0.1-beta.2
- grafast@0.0.1-beta.6
5.0.0-beta.6
Patch Changes
-
#488
73f1b5218
Thanks @benjie! - specForHandler now only
requires handler - no need to pass codec. -
Updated dependencies
[53186213a]:- grafast@0.0.1-beta.5
5.0.0-beta.5
Patch Changes
- Updated dependencies
[f9cc88dc4]:- grafast@0.0.1-beta.4
5.0.0-beta.4
Patch Changes
-
#454
196e5c1aa
Thanks @benjie! -
@interface mode=single/relationalnow getNodeinterface if the table has
a PK.🚨
@interface mode=unionno longer getsNodeinterface unless you also add
@behavior node.
5.0.0-beta.3
Patch Changes
-
#452
d3ab4e12d
Thanks @benjie! - Improve error messages with
links to more details. -
Updated dependencies
[46cd08aa1]:- grafast@0.0.1-beta.3
5.0.0-beta.2
Patch Changes
- Updated dependencies
[23bd3c291]:- grafast@0.0.1-beta.2
5.0.0-beta.1
Patch Changes
-
Updated dependencies
[cbd987385]:- grafast@0.0.1-beta.1
- graphile-config@0.0.1-beta.1
5.0.0-alpha.18
Patch Changes
- Updated dependencies
[dfefdad3c]:- grafast@0.0.1-alpha.16
5.0.0-alpha.17
Patch Changes
-
#433
5491e10b0
Thanks @benjie! - Improve error messages from
custom string scalars when they cannot be parsed as a string. -
#438
a22830b2f
Thanks @benjie! - Plugin name now automatically
used inprovidesfor every hook, allowing ordering hooks before/after their
equivalents in other plugins. -
Updated dependencies
[ea003ca3a,
57d88b5fa,
a22830b2f,
9f87a26b1]:- grafast@0.0.1-alpha.15
- graphile-config@0.0.1-alpha.7
5.0.0-alpha.16
Patch Changes
5.0.0-alpha.15
Patch Changes
- Updated dependencies
[d99d666fb]:- grafast@0.0.1-alpha.14
5.0.0-alpha.14
Patch Changes
-
#417
e7dd2e039
Thanks @benjie! -codecis now baked into
NodeId handlers (rather than usingcodecNameand looking that up in
codecs). All related APIs have thus simplified, e.g. the step
node(codecs, handler, $id)is nownode(handler, $id), etc. TypeScript
should point out any issues you have hopefully. -
#418
9ab2adba2
Thanks @benjie! - Overhaul peerDependencies and
dependencies to try and eliminate duplicate modules error. -
#410
4eda0cd57
Thanks @benjie! - Use a single behavior check per
location.In the past two weeks I added a few behavior strings like
array:attribute:filterBy(a scoped form ofattribute:filterByto only be
used by attributes that were arrays); however I've realised that this will
require plugin authors to implement all the same logic to figure out what type
an attribute is in order to then see if it has the relevant behavior. This
goes against the design of the behavior system, and makes plugin authors'
lives harder. So I've reverted this, and instead used theentityBehaviors
system to add or remove the baseattribute:filterBy(etc) behavior depending
on what the type of the attribute is. -
Updated dependencies
[620f9e07e,
1882e0185,
881672305,
e5012f9a1,
9ab2adba2,
47f6f018b,
ff4395bfc,
502b23340]:- grafast@0.0.1-alpha.13
5.0.0-alpha.13
Patch Changes
-
#407
9281a2d88
Thanks @benjie! - Exportedversionno longer
usesrequire('../package.json')hack, instead the version number is written
to a source file at versioning time. Packages now exportversion. -
#406
9f5a784c6
Thanks @benjie! - Introduce TypeScript CIF
gatherConfig() to help typing thegatherphase for plugins. -
#408
2849cc3fb
Thanks @benjie! - Better handle the situation
where a node fetcher could not be found. -
#408
8ca9425ed
Thanks @benjie! - Detect when your preset doesn't
have any plugins, or omits the QueryPlugin, and raise an error or warning
indicating to the user that there's likely an issue here. -
#408
dda361d11
Thanks @benjie! - Improve error messages for
getInputTypeByName and getOutputTypeByName. -
Updated dependencies
[9281a2d88,
675b7abb9,
c5050dd28,
0d1782869]:- grafast@0.0.1-alpha.12
- graphile-config@0.0.1-alpha.6
5.0.0-alpha.12
Patch Changes
-
#402
644938276
Thanks @benjie! - Usefile://URLs in import()
to fix compatibility with Windows (e.g. when loadinggraphile.config.mjs) -
#402
47365f0df
Thanks @benjie! - Add helper for more easily
handling NodeIDs for known typeName. -
Updated dependencies
[644938276]:- graphile-config@0.0.1-alpha.5
- grafast@0.0.1-alpha.11
5.0.0-alpha.11
Patch Changes
-
#399
409581534
Thanks @benjie! - Change many of the dependencies
to be instead (or also) peerDependencies, to avoid duplicate modules. -
#399
976958e80
Thanks @benjie! - Plugins can now use
build.grafast rather than adding grafast as a peerDependency. -
#383
2c8586b36
Thanks @benjie! - Change
'objectType.extensions.grafast.Step' to
'objectType.extensions.grafast.assertStep', accept it via object spec,
deprecate registerObjectType form that accepts it (pass via object spec
instead), improve typings around it. -
#378
47ff7e824
Thanks @benjie! - Add more detail to an error
message -
Updated dependencies
[409581534,
b7533bd4d,
9feb769c2,
7573bf374,
2c8586b36,
c43802d74,
b118b8f6d,
9008c4f87,
e8c81cd20]:- grafast@0.0.1-alpha.10
5.0.0-alpha.10
Patch Changes
-
#349
a94f11091
Thanks @benjie! - Overhaul behavior systemPreviously the behavior system worked during the schema building process,
inside the various schema hooks. So looking at the behavior of arelation
might have looked like:GraphQLObjectType_fields_field(field, build, context) { const relation = context.scope.pgRelationOrWhatever; // Establish a default behavior, e.g. you might give it different default behavior // depending on if the remote table is in the same schema or not const defaultBehavior = someCondition(relation) ? "behavior_if_true" : "behavior_if_false"; // Now establish the user-specified behavior for the entity, inheriting from all the // relevant places. const behavior = getBehavior([ relation.remoteResource.codec.extensions, relation.remoteResource.extensions, relation.extensions ]); // Finally check this behavior string against `behavior_to_test`, being sure to apply // the "schema-time smart defaulting" that we established in `defaultBehavior` above. if (build.behavior.matches(behavior, "behavior_to_test", defaultBehavior)) { doTheThing(); }
This meant that each plugin might treat the behavior of the entity different -
for examplepostgraphile-plugin-connection-filtermight have a different
someCondition()under which the "filter" behavior would apply by default,
whereas the built inconditionplugin might have a different one.Moreover, each place needs to know to call
getBehaviorwith the same list of
extension sources in the same order, otherwise subtle (or not so subtle)
differences in the schema would occur.And finally, because each entity doesn't have an established behavior, you
can't ask "what's the final behavior for this entity" because it's dynamic,
depending on which plugin is viewing it.This update fixes all of this; now each entity has a single behavior that's
established once. Each plugin can registerentityBehaviorsfor the various
behavior entity types (or global behaviors which apply to all entity types if
that makes more sense). So the hook code equivalent to the above would now be
more like:GraphQLObjectType_fields_field(field, build, context) { const relation = context.scope.pgRelationOrWhatever; // Do the thing if the relation has the given behavior. Simples. if (build.behavior.pgCodecRelationMatches(relation, "behavior_to_test")) { doTheThing(); }
This code is much more to the point, much easier for plugin authors to
implement, and also a lot easier to debug since everything has a single
established behavior now (exceptrefs, which aren't really an entity in
their own right, but a combination of entities...).These changes haven't changed any of the schemas in the test suite, but they
may impact you. This could be a breaking change - so be sure to do a schema
diff before/after this. -
#361
dad4d4aae
Thanks @benjie! - Instead of passing
resolvedPreset to behaviors, pass Build. -
Updated dependencies
[56237691b,
ed1982f31,
1fe47a2b0,
198ac74d5,
6878c589c,
2ac706f18]:- grafast@0.0.1-alpha.9
- graphile-config@0.0.1-alpha.4
5.0.0-alpha.9
Patch Changes
- Updated dependencies
[dd3ef599c]:- grafast@0.0.1-alpha.8
5.0.0-alpha.8
Patch Changes
-
#340
fe9154b23
Thanks @benjie! - Make Datetime RFC3339
compatible when a timezone is present -
Updated dependencies
[5c9d32264,
2fcbe688c,
3a984718a,
adc7ae5e0]:- grafast@0.0.1-alpha.7
- graphile-config@0.0.1-alpha.3
5.0.0-alpha.7
Patch Changes
- Updated dependencies
[f75926f4b]:- grafast@0.0.1-alpha.6
5.0.0-alpha.6
Patch Changes
-
2850e4732
Thanks @benjie! - Improve the error output when
the schema fails to build. -
Updated dependencies
[86e503d78,
24822d0dc]:- grafast@0.0.1-alpha.5
5.0.0-alpha.5
Patch Changes
- Updated dependencies
[45dcf3a8f]:- grafast@0.0.1-alpha.4
5.0.0-alpha.4
Patch Changes
5.0.0-alpha.3
Patch Changes
-
7f857950a
Thanks @benjie! - Upgrade to the latest
TypeScript/tslib -
Updated dependencies
[21e95326d,
2389f47ec,
e91ee201d,
865bec590,
7f857950a,
d39a5d409]:- graphile-export@0.0.2-alpha.2
- grafast@0.0.1-alpha.3
- graphile-config@0.0.1-alpha.2
5.0.0-alpha.2
Patch Changes
- Updated dependencies
[3df3f1726]:- grafast@0.0.1-alpha.2
5.0.0-alpha.1
Patch Changes
-
759ad403d
Thanks @benjie! - Alpha release - see
https://postgraphile.org/news/2023-04-26-version-5-alpha -
Updated dependencies
[759ad403d]:- grafast@0.0.1-alpha.1
- graphile-config@0.0.1-alpha.1
- graphile-export@0.0.2-alpha.1
5.0.0-1.3
Patch Changes
5.0.0-1.2
Patch Changes
- Updated dependencies
[7dcb0e008]:- grafast@0.0.1-1.2
5.0.0-1.1
Patch Changes
-
#287
c5d89d705
Thanks @benjie! - Fix the type definition of
GatherHooks to allow plugins to indicate individual gather hook ordering. -
#260
d5312e6b9
Thanks @benjie! - TypeScript v5 is now required -
#265
22ec50e36
Thanks @benjie! - 'extensions.graphile' is now
'extensions.grafast' -
#271
261eb520b
Thanks @benjie! - 🚨 RENAME ALL THE THINGSThe term 'source' was overloaded, and 'configs' was too vague, and
'databaseName' was misleading, and 'source' behaviours actually applied to
resources, and more. So, we've renamed lots of things as part of the API
stabilization work. You're probably only affected by the first 2 bullet
points.pgConfigs->pgServices(also applies to relatedpgConfigterms such
asmakePgConfig->makePgService,MakePgConfigOptions->
MakePgServiceOptions, etc) - see yourgraphile.config.tsor equivalent
file- All
*:source:*behaviors are now*:resource:*behaviors (use regexp
/:source\b|\bsource:[a-z$]/to find the places that need updating) PgDatabaseConfiguration->PgServiceConfigurationdatabaseName->serviceName(because it's not the name of the database,
it's the name of thepgServices(which waspgConfigs) entry)PgResourceConfig::source->PgResourceConfig.from('source' is
overloaded, so use a more direct term)PgResource::source->PgResource.fromPgSelectPlanJoin::source->PgSelectPlanJoin.fromhelpers.pgIntrospection.getDatabase->
helpers.pgIntrospection.getServicehelpers.pgIntrospection.getExecutorForDatabase->
helpers.pgIntrospection.getExecutorForService
-
Updated dependencies
[ae304b33c,
d5312e6b9,
22ec50e36,
0f4709356,
395b4a2dd]:- grafast@0.0.1-1.1
- graphile-config@0.0.1-1.1
- graphile-export@0.0.2-1.1
5.0.0-0.29
Patch Changes
5.0.0-0.28
Patch Changes
-
#233
a50bc5be4
Thanks @benjie! - Introduce new
GraphQLObjectType_fields_field_args_arg and
GraphQLInterfaceType_fields_field_args_arg hooks to resolve some plugin
ordering issues. -
#233
6fb7ef449
Thanks @benjie! - Also trim the empty
descriptions from interface fields/args in addition to all the existing places
empty descriptions are trimmed. -
#233
11e7c12c5
Thanks @benjie! - Solve mutation issue in plugin
ordering code which lead to heisenbugs. -
Updated dependencies
[11e7c12c5]:- graphile-config@0.0.1-0.6
- grafast@0.0.1-0.22
5.0.0-0.27
Patch Changes
-
#229
b9a2236d4
Thanks @benjie! - Remove deprecated
'subscriptions' option -
Updated dependencies
[f5a04cf66]:- grafast@0.0.1-0.21
5.0.0-0.26
Patch Changes
- Updated dependencies [
aac8732f9]:- grafast@0.0.1-0.20
5.0.0-0.25
Patch Changes
- Updated dependencies
[397e8bb40]:- grafast@0.0.1-0.19
5.0.0-0.24
Patch Changes
-
#220
2abc58cf6
Thanks @benjie! - Convert a few more more options
from V4 to V5.Explicitly remove query batching functionality, instead use HTTP2+ or
websockets or similar.Add schema exporting.
-
#223
df8c06657
Thanks @benjie! -graphile-utilsnow includes
themakeAddPgTableConditionPluginandmakeAddPgTableOrderByPlugin
generators, freshly ported from V4. The signatures of these functions has
changed slightly, but the functionality is broadly the same. -
Updated dependencies
[4c2b7d1ca,
c8a56cdc8]:- grafast@0.0.1-0.18
5.0.0-0.23
Patch Changes
- #219
b58f5dfac
Thanks @benjie! - Rename
GraphileBuild.GraphileBuildGatherOptionstoGraphileBuild.GatherOptions.
RenameGraphileBuild.GraphileBuildInflectionOptionsto
GraphileBuild.InflectionOptions.
5.0.0-0.22
Patch Changes
-
f48860d4f- Allow adding resolver-only fields to planned types. -
Updated dependencies [
f48860d4f]:- grafast@0.0.1-0.17
5.0.0-0.21
Patch Changes
- Updated dependencies
[df89aba52]:- grafast@0.0.1-0.16
5.0.0-0.20
Patch Changes
-
#210
2fb5001b4
Thanks @benjie! - retryOnInitFail implemented,
and bug in introspection cache on error resolved. -
#210
b523118fe
Thanks @benjie! - Replace BaseGraphQLContext with
Grafast.Context throughout. -
Updated dependencies
[b523118fe]:- grafast@0.0.1-0.15
5.0.0-0.19
Patch Changes
- #206
851b78ef2
Thanks @benjie! - Grafserv now masks untrusted
errors by default; trusted errors are constructed via GraphQL's GraphQLError
or Grafast's SafeError. - Updated dependencies
[d76043453,
afa0ea5f6,
851b78ef2,
384b3594f]:- grafast@0.0.1-0.14
5.0.0-0.18
Patch Changes
5.0.0-0.17
Patch Changes
- Updated dependencies [
e5b664b6f]:- grafast@0.0.1-0.13
5.0.0-0.16
Patch Changes
- #198
a1158d83e
Thanks @benjie! - Gather phase initialState may
now be asynchronous. If initialCache returns a promise, a helpful error
message with advice is now raised. - Updated dependencies
[4f5d5bec7,
25f5a6cbf]:- grafast@0.0.1-0.12
5.0.0-0.15
Patch Changes
-
0ab95d0b1- Update sponsors. -
#190
652cf1073
Thanks @benjie! - 🚨 Breaking changes around
types and postgres configuration:GraphileBuild.GraphileResolverContextrenamed toGrafast.ContextGraphileConfig.GraphQLRequestContextrenamed toGrafast.RequestContextGrafast.PgDatabaseAdaptorOptionsrenaed to
GraphileConfig.PgDatabaseAdaptorOptions@dataplan/pg/adaptors/node-postgresis now@dataplan/pg/adaptors/pgdue
to the bizarre naming of PostgreSQL clients on npm - we've decided to use
the module name as the unique identifiermakePgConfigs:- is now
makePgConfig(singular) - so you'll need to wrap it in an array
where you use it - no longer exported by
@dataplan/pg(because it depended onpg) -
instead each adaptor exposes this helper - so import from
@dataplan/pg/adaptors/node-postgres - accepts an object parameter containing
{connectionString, schemas, superuserConnectionString}, rather than
multiple string parameters
- is now
makeNodePostgresWithPgClient->makePgAdaptorWithPgClientpostgraphileCLI will now try and respect the adaptor stated in your
preset when overriding connection arguments- Removed
Grafast.RequestContext.httpRequestand instead use
Grafast.RequestContext.node.req/res; all server adaptors should implement
this if appropriate
-
Updated dependencies [
0ab95d0b1,
4783bdd7c,
652cf1073]:- grafast@0.0.1-0.11
- graphile-config@0.0.1-0.5
5.0.0-0.14
Patch Changes
72bf5f535- Overhaul the behavior system (see
https://postgraphile.org/postgraphile/next/behavior).- Adds
schema.defaultBehaviorconfiguration option to save having to write a
plugin for such a simple task - Changes a bunch of behavior strings:
(query|singularRelation|manyRelation|queryField|typeField):(list|connection|single)
->$1:source:$2(e.g.query:list->query:source:list)
- Checks for more specific behaviors, e.g.
source:updateor
constraint:source:updateorattribute:updaterather than justupdate - Updates every change to
getBehaviorso that it follows the relevant chain
(e.g. codec -> source -> relation for relations, similar for other types) - More helpful error message when
-insertprevents functions with input
arguments working - Throw an error if you try and use "create" scope (because we use
insert/update/delete not create/update/delete)
- Adds
5.0.0-0.13
Patch Changes
- Updated dependencies
[842f6ccbb]:- graphile-config@0.0.1-0.4
- grafast@0.0.1-0.10
5.0.0-0.12
Patch Changes
5.0.0-0.11
Patch Changes
- #176
11d6be65e
Thanks @benjie! - Fix issue with plugin
versioning. Add more TSDoc comments. New getTerminalWidth() helper. - Updated dependencies
[19e2961de,
11d6be65e]:- graphile-config@0.0.1-0.3
- grafast@0.0.1-0.9
5.0.0-0.10
Patch Changes
- Updated dependencies
[208166269]:- grafast@0.0.1-0.8
5.0.0-0.9
Patch Changes
6ebe3a13e
Thanks @benjie! - Enable omitting update/delete
mutations using behaviors on unique constraints.
5.0.0-0.8
Patch Changes
677c8f5fc- Create new getTags() introspection helper and use
it. Rename GraphileBuild.GraphileBuildSchemaOptions to
GraphileBuild.SchemaOptions. Fix a couple minor inflection bugs. Add some
missing descriptions. Fix the initial inflection types to not leak
implementation details. Fix inflectors to use ResolvedPreset rather than
Preset.- Updated dependencies []:
- grafast@0.0.1-0.7
5.0.0-0.7
Patch Changes
-
9b296ba54- More secure, more compatible, and lots of fixes
across the monorepo -
Updated dependencies [
9b296ba54]:- grafast@0.0.1-0.6
- graphile-config@0.0.1-0.2
5.0.0-0.6
Patch Changes
- Updated dependencies [
cd37fd02a]:- grafast@0.0.1-0.5
5.0.0-0.5
Patch Changes
-
768f32681- Fix peerDependencies ranges -
Updated dependencies [
768f32681]:- grafast@0.0.1-0.4
- graphile-export@0.0.2-0.4
5.0.0-0.4
Patch Changes
-
d11c1911c- Fix dependencies -
Updated dependencies [
d11c1911c]:- grafast@0.0.1-0.3
- graphile-config@0.0.1-0.1
- graphile-export@0.0.2-0.3
5.0.0-0.3
Patch Changes
- Updated dependencies [
25037fc15]:- grafast@0.0.1-0.2
- graphile-export@0.0.2-0.2
5.0.0-0.2
Patch Changes
- Updated dependencies [
55f15cf35]:- grafast@0.0.1-0.1
- graphile-export@0.0.2-0.1