github graphile/crystal graphile-config@1.0.0

graphile-config

1.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.

1.0.0-rc.5

Patch Changes

  • #2937
    8f50146
    Thanks @benjie! - Eliminate dangling promises,
    reducing chance of process exit due to unhandled promise rejection.

1.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)

1.0.0-rc.3

Patch Changes

1.0.0-rc.2

Patch Changes

1.0.0-rc.1

Patch Changes

0.0.1-beta.18

Patch Changes

  • #2697
    cfd4c3c
    Thanks @benjie! - Be more selective about the
    errors caught whilst loading a config file; a bug/throw in the config file
    should still be raised.

  • #2688
    e15f886
    Thanks @benjie! - Fixes bug where two different
    plugins with the same name would be allowed to exist in the same (resolved)
    preset. Users of dynamically created presets and plugins (e.g.
    makeV4Preset(...) in PostGraphile) should be wary not to include two calls
    to the same factory in their preset (directly or indirectly).

0.0.1-beta.17

Patch Changes

  • #2577
    0c6b1f1
    Thanks @benjie! - Update dependencies

  • #2588
    e0cdabe
    Thanks @benjie! - Add support for
    --experimental-strip-types to graphile-config's loading of config files.
    No need for ts-node/tsx now.

0.0.1-beta.16

Patch Changes

0.0.1-beta.15

Patch Changes

0.0.1-beta.14

Patch Changes

0.0.1-beta.13

Patch Changes

0.0.1-beta.12

Patch Changes

  • #2240
    d13b76f0f
    Thanks @benjie! - Adds
    MiddlewareHandlers<TActivities> type to help with adding middleware to
    configs

  • #2253
    b167bd849
    Thanks @benjie! - 🚨 {} is no longer a valid
    GraphileConfig.ResolvedPreset; use resolvePreset({})

    Also: adds resolvePreset(preset) and deprecates resolvePresets(presets).

  • #2250
    6a13ecbd4
    Thanks @benjie! - Add support for 'preset.lib'
    which can be used to store global module references to help avoid the dual
    package hazard.

0.0.1-beta.11

Patch Changes

0.0.1-beta.10

Patch Changes

  • #2188
    cc0941731
    Thanks @benjie! - Overhaul the way in which
    graphile-config presets work such that including a preset at two different
    layers shouldn't result in unexpected behavior.

  • #2155
    8b472cd51
    Thanks @benjie! - disablePlugins now 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.

  • #2160
    9cd9bb522
    Thanks @benjie! - Add support for lists of hook
    objects, so that the same hook can be applied multiple times in the same
    plugin but with different priorities.

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

  • 0ab95d0b1 - Update sponsors.

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

  • d11c1911c - Fix dependencies

0.0.1-0.0

Patch Changes

Don't miss a new crystal release

NewReleases is sending notifications on new releases.