Skip to content

Latest commit

 

History

History
296 lines (207 loc) · 11.1 KB

File metadata and controls

296 lines (207 loc) · 11.1 KB

eslint-plugin-graphile-export

1.0.0

Identical to 1.0.0-rc.5.

1.0.0-rc.5

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.

1.0.0-rc.4

Patch Changes

  • a3722d6 Thanks @benjie! - Refactor to enable TypeScript options rewriteRelativeImportExtensions and erasableSyntaxOnly (including using .ts extensions in source code)

1.0.0-rc.3

Patch Changes

1.0.0-rc.2

Patch Changes

1.0.0-rc.1

Patch Changes

0.0.2-beta.10

Patch Changes

0.0.2-beta.9

Patch Changes

0.0.2-beta.8

Patch Changes

0.0.2-beta.7

Patch Changes

0.0.2-beta.6

Patch Changes

  • #2377 7c38cdeffe034c9b4f5cdd03a8f7f446bd52dcb7 Thanks @benjie! - Since ModifierStep and BaseStep are no more; ExecutableStep can be renamed to simply Step. The old name (ExecutableStep) is now deprecated.

  • #2398 c041fd250372c57601188b65a6411c8f440afab6 Thanks @benjie! - Since the following have been removed from Grafast, throw an error if they're seen in the schema:

    • autoApplyAfterParentInputPlan
    • autoApplyAfterParentApplyPlan
    • autoApplyAfterParentPlan
    • autoApplyAfterParentSubscribePlan
    • inputPlan
    • applyPlan on input fields

    Also: when Query type fails to build, throw the underlying error directly.

  • #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.get is no more; use FieldArgs.getRaw or use bakedInput() (TODO: document) to get the "baked" version of a raw input value.

    Input object fields no longer have applyPlan/inputPlan, instead having the runtime equivalents apply() and baked(). FieldArgs is no longer available on input object fields, since these fields are no longer called at plantime; instead, the actual value is passed.

    FieldArgs gains .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) FieldArg object representing the argument value itself.

    autoApplyAfterParentPlan is no more - instead if an argument has applyPlan it will be called automatically unless it was called during the field plan resolver itself.

    autoApplyAfterParentSubscribePlan is no more - instead if an argument has applySubscribePlan it will be called automatically unless it was called during the field plan resolver itself.

    Field arguments no longer support inputPlan - use bakedInput() if you need that.

    Input fields no longer support inputPlan, applyPlan, autoApplyAfterParentInputPlan nor autoApplyAfterParentApplyPlan. Instead, apply() (which is called by applyStep() 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. placeholder has been removed from all places that are now runtime - namely the list of modifiers below...

    The following ModifierStep classes have all dropped their Step suffix, these Modifier classes now all run at runtime, and are thus no longer steps; they're invoked as part of the new applyInput() (TODO: document) step:

    • ModifierStepModifier
    • PgBooleanFilterStepPgBooleanFilter
    • PgClassFilterStepPgClassFilter
    • PgConditionCapableParentStepPgConditionCapableParent
    • PgConditionLikeStepPgConditionLike
    • PgConditionStepModePgConditionMode
    • PgConditionStepPgCondition
    • PgManyFilterStepPgManyFilter
    • PgOrFilterStepPgOrFilter
    • PgTempTableStepPgTempTable
    • SetterCapableStepSetterCapable
    • SetterStepSetter

    (Interestingly, other than the removal of placeholder and 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()) instead
    • PgUnionAllStep.havingPlan - use fieldArg.apply($unionAll, qb => qb.havingBuilder()) instead
    • Same for PgSelectStep

    The following gain query builders:

    • PgInsertSingle
    • PgUpdateSingle
    • PgDeleteSingle

    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 implement clientMutationId.

    Extends query builders with additional functionality.

    Many of the types have had their generics changed, TypeScript should guide you if you have issues here.

    NodeIdHandler now requires a getIdentifiers method 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.

0.0.2-beta.5

Patch Changes

  • #2175 c69b2fdec Thanks @benjie! - Fix 'Container is falsy' error message the latest Babel patch release would cause.

0.0.2-beta.4

Patch Changes

  • #1933 3a2ea80ee Thanks @mattiarossi! - eslint-plugin-graphile-export now spots instances of inputPlan, applyPlan and assertStep so they can be checked - thanks @mattiarossi!

0.0.2-beta.3

Patch Changes

0.0.2-beta.2

Patch Changes

0.0.2-beta.1

Patch Changes

0.0.2-alpha.3

Patch Changes

0.0.2-alpha.2

Patch Changes

0.0.2-alpha.1

Patch Changes

0.0.2-1.1

Patch Changes

0.0.2-0.1

Patch Changes

0.0.2-0.0

Patch Changes