Skip to content

Latest commit

 

History

History
293 lines (204 loc) · 10.2 KB

CHANGELOG.md

File metadata and controls

293 lines (204 loc) · 10.2 KB

graphile-config

0.0.1-beta.9

Patch Changes

  • #2071 582bd768f Thanks @benjie! - GrafastExecutionArgs now accepts resolvedPreset and requestContext directly; passing these through additional arguments is now deprecated and support will be removed in a future revision. This affects:

    • grafast()
    • execute()
    • subscribe()
    • hookArgs()

    graphile-config has 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. applyHooks has been renamed to orderedApply (because it applies to more than just hooks), calling applyHooks will still work but is deprecated.

    🚨 grafast no longer automatically reads your graphile.config.ts or similar; you must do that yourself and pass the resolvedPreset to grafast via the args. This is to aid in bundling of grafast since it should not need to read from filesystem or dynamically load modules.

    grafast no longer outputs performance warning when you set GRAPHILE_ENV=development.

    🚨 plugin.grafast.hooks.args is now plugin.grafast.middleware.prepareArgs, and the signature has changed - you must be sure to call the next() function and ctx/resolvedPreset can be extracted directly from args:

     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 middleware plugin.grafserv.middleware.* (note that call signatures have changed slightly, similar to the diff above):

    • hooks.init -> middleware.setPreset
    • hooks.processGraphQLRequestBody -> middleware.processGraphQLRequestBody
    • hooks.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 -> FunctionalityObject
    • PluginHook -> CallbackOrDescriptor
    • PluginHookObject -> CallbackDescriptor
    • PluginHookCallback -> UnwrapCallback

0.0.1-beta.8

Patch Changes

  • #2048 db8ceed0f Thanks @benjie! - Help detect more invalid presets and plugins (bad imports) by forbidding keys starting with a capital or the key default.

0.0.1-beta.7

Patch Changes

0.0.1-beta.6

Patch Changes

  • #1892 0df5511ac Thanks @benjie! - Fix plugin ordering bug that ignored before/after when there was no provider; this now means PgSmartTagsPlugin is correctly loaded before PgFakeConstraintPlugin, fixing the postgraphile.tags.json5 file.

0.0.1-beta.5

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.

0.0.1-beta.4

Patch Changes

  • 7aef73319 Thanks @benjie! - TypeScript tweak to use readonly array in one place.

0.0.1-beta.3

Patch Changes

0.0.1-beta.2

Patch Changes

0.0.1-beta.1

Patch Changes

0.0.1-alpha.7

Patch Changes

  • #438 a22830b2f Thanks @benjie! - Plugin name now automatically used in provides for every hook, allowing ordering hooks before/after their equivalents in other plugins.

0.0.1-alpha.6

Patch Changes

0.0.1-alpha.5

Patch Changes

  • #402 644938276 Thanks @benjie! - Use file:// URLs in import() to fix compatibility with Windows (e.g. when loading graphile.config.mjs)

0.0.1-alpha.4

Patch Changes

0.0.1-alpha.3

Patch Changes

  • #344 adc7ae5e0 Thanks @benjie! - Detect presets that look like plugins and vice versa and throw error.

0.0.1-alpha.2

Patch Changes

0.0.1-alpha.1

Patch Changes

0.0.1-1.2

Patch Changes

  • #297 b4eaf89f4 Thanks @benjie! - AsyncHooks can now execute synchronously if all registered hooks are synchronous. May impact ordering of fields/types in GraphQL schema.

0.0.1-1.1

Patch Changes

0.0.1-0.6

Patch Changes

  • #233 11e7c12c5 Thanks @benjie! - Solve mutation issue in plugin ordering code which lead to heisenbugs.

0.0.1-0.5

Patch Changes

0.0.1-0.4

Patch Changes

  • #184 842f6ccbb Thanks @benjie! - Handle array-to-object issue in graphile-config when multiple presets set an array key.

0.0.1-0.3

Patch Changes

  • #176 19e2961de Thanks @benjie! - Better graphile.config.* compatibility with ESM-emulation, so 'export default preset;' should work in TypeScript even if outputting to CommonJS.

  • #176 11d6be65e Thanks @benjie! - Fix issue with plugin versioning. Add more TSDoc comments. New getTerminalWidth() helper.

0.0.1-0.2

Patch Changes

  • 9b296ba54 - More secure, more compatible, and lots of fixes across the monorepo

0.0.1-0.1

Patch Changes

0.0.1-0.0

Patch Changes