github graphile/crystal ruru@2.0.0

ruru

2.0.0-rc.7

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
    • ruru-types@2.0.0-rc.6

2.0.0-rc.6

Patch Changes

  • #2937
    8f50146
    Thanks @benjie! - Eliminate dangling promises,
    reducing chance of process exit due to unhandled promise rejection.
  • Updated dependencies
    [8f50146]:
    • graphile-config@1.0.0-rc.5

2.0.0-rc.5

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)

  • #2912
    ebe1d22
    Thanks @benjie! - Ruru now depends on ruru-types
    package - stripped down vs ruru-components

  • #2915
    be9792b
    Thanks @benjie! - Fix some peerDependencies woes

  • Updated dependencies
    [9eb3829,
    a3722d6,
    ebe1d22,
    be9792b]:

    • graphile-config@1.0.0-rc.4
    • ruru-types@2.0.0-rc.5

2.0.0-rc.4

Patch Changes

2.0.0-rc.3

Patch Changes

2.0.0-rc.2

Patch Changes

2.0.0-rc.1

Patch Changes

  • 8a5a7c5
    Thanks @benjie! - Bump to release candidate

  • Updated dependencies
    [8a5a7c5]:

    • graphile-config@1.0.0-rc.1

2.0.0-beta.31

Patch Changes

2.0.0-beta.30

Patch Changes

  • #2694
    13513dd
    Thanks @benjie! - Add support for onError RFC
    with PROPAGATE, NULL and HALT behaviors implemented.

  • #2678
    6dafac1
    Thanks @benjie! - Remove peer dependency
    optionality in an attempt to satisfy pnpm's installation algorithms

  • Updated dependencies
    [cfd4c3c,
    e15f886]:

    • graphile-config@0.0.1-beta.18

2.0.0-beta.29

Patch Changes

2.0.0-beta.28

Patch Changes

  • #2646
    59adcd5
    Thanks @benjie! - Add condensed mode for Ruru,
    enabled by default. (To disable, use the settings cog in the editor view and
    uncheck condensed.)

  • #2645
    f941cfd
    Thanks @benjie! - Upgrade GraphiQL to latest
    release

2.0.0-beta.27

Patch Changes

  • a31dc7c
    Thanks @benjie! - Fix URLs in README

  • #2636
    ba8dacb
    Thanks @benjie! - Improve backwards compatibility
    of ruruHTML function; explicitly deprecate the htmlParts argument.

2.0.0-beta.26

Patch Changes

  • #2629
    c5cc0ba
    Thanks @benjie! - Fix loading worker scripts from
    remote URLs.

  • #2631
    506b7a1
    Thanks @benjie! - Add a ruru.html file you can
    self-host, and move Ruru documentation to the website for easier navigation

  • #2632
    418190a
    Thanks @benjie! - Ruru loading state now matches
    expected theme (light/dark).

2.0.0-beta.25

Patch Changes

  • #2578
    1d76d2f
    Thanks @benjie! - 🚨 Ruru has been "rebuilt"!
    The loading methods and APIs have changed!

    Ruru is now built on top of GraphiQL v5, which moves to using the Monaco
    editor (the same editor used in VSCode) enabling more familiar keybindings and
    more features (e.g. press F1 in the editor to see the command palette, and you
    can now add comments in the variables JSON). This has required a
    rearchitecture to Ruru's previously "single file" approach since Monaco uses
    workers which require additional files.

    In this release we have embraced the bundle splitting approach. We now bundle
    both prettier and mermaid, and they are now loaded on-demand.

    Usage instructions for all environments have had to change since we can no
    longer serve Ruru as a single HTML file. We now include helpers for serving
    Ruru's static files from whatever JS-based webserver you are using.

    We've also added some additional improvements:

    • Formatting with prettier now maintains the cursor position
      (Ctrl-Shift-P/Meta-Shift-P/Cmd-Shift-P depending on platform)
    • All editors are now formatted, not just the GraphQL editor
    • Prettier and mermaid should now work offline
    • Even more GraphiQL props are now passed through, including
      inputValueDeprecation and schemaDeprecation which you can set to false
      if your GraphQL server is, ahem, a little behind the GraphQL spec draft.

    🚨 Changes you need to make: 🚨

    • If you are using Ruru directly (i.e. importing from ruru/server), please
      see the new Ruru README for setup instructions, you'll want to switch out
      your previous setup. In particular, ruru/bundle no longer exists and you
      now need to serve the static files (via ruru/static).
    • defaultHTMLParts is no more; instead config.htmlParts (also
      preset.ruru.htmlParts for Graphile Config users) now allows the entries to
      be callback functions reducing boilerplate:
      -import { defaultHTMLParts } from "ruru/server";
       const config = {
         htmlParts: {
      -    metaTags: defaultHTMLParts.metaTags + "<!-- local override -->",
      +    metaTags: (base) => base + "<!-- local override -->",
         }
       }
      (alternatively you can use makeHTMLParts(config))
    • Grafserv users: plugin.grafserv.middleware.ruruHTMLParts is renamed to
      ruruHTML and wraps the generation of the HTML - simply trim Parts from
      the name and be sure calling next() is the final line of the function
       const plugin = {
         grafserv: {
           middleware: {
      -      ruruHTMLParts(next, event) {
      +      ruruHTML(next, event) {
               const { htmlParts, request } = event;
               htmlParts.titleTag = `<title>${escapeHTML(
                 "Ruru | " + request.getHeader("host"),
               )}</title>`;
               return next();
             },
           },
         },
       };

    Additional changes:

    • RuruConfig.clientConfig has been added for props to explicitly pass to
      Ruru making it explicit that these will be sent to the client
    • RuruServerConfig has deprecated the client options editorTheme,
      debugTools and eventSourceInit at the top level; instead these should be
      passed via RuruServerConfig.clientConfig making it explicit these will be
      sent to the client and expanding to cover more props
       const config = {
         endpoint: "/graphql",
      +  clientConfig: {
         editorTheme: "dark",
      +  },
       }
  • #2605
    24d379a
    Thanks @benjie! - Add defaultTheme and
    forcedTheme props to Ruru (passed through to GraphiQL)

  • #2600
    ad588ec
    Thanks @benjie! - Mark all
    peerDependencies=dependencies modules as optional peerDependencies to make
    pnpm marginally happier hopefully.

2.0.0-beta.24

Patch Changes

2.0.0-beta.23

Patch Changes

2.0.0-beta.22

Patch Changes

2.0.0-beta.21

Patch Changes

2.0.0-beta.20

Patch Changes

  • #2365
    ba2847f3e
    Thanks @benjie! - ruru/server no longer uses
    fs module to read data/version from disk, instead data is bundled in source
    files. This may aid people attempting to bundle ruru.

2.0.0-beta.19

Patch Changes

  • Updated dependencies
    [83c546509]:
    • graphile-config@0.0.1-beta.14

2.0.0-beta.18

Patch Changes

  • Updated dependencies
    [7580bc16a]:
    • graphile-config@0.0.1-beta.13

2.0.0-beta.17

Patch Changes

  • #2266
    38163c86a
    Thanks @hos! - Fix white-screen-of-death caused by
    EventSource disconnection. Instead, handle errors gracefully. Also, allow
    overriding of the EventSource configuration options.
  • Updated dependencies
    [d13b76f0f,
    b167bd849,
    6a13ecbd4]:
    • graphile-config@0.0.1-beta.12

2.0.0-beta.16

Patch Changes

  • Updated dependencies
    [5626c7d36]:
    • graphile-config@0.0.1-beta.11

2.0.0-beta.15

Patch Changes

2.0.0-beta.14

Patch Changes

  • #2125
    18addb385
    Thanks @benjie! - Change how unary steps are
    rendered to plan diagrams, fixing the rendering of side-effect steps.

  • #2124
    cf535c210
    Thanks @benjie! - Render implicit side effects as
    dependencies on plan diagram

2.0.0-beta.13

Patch Changes

  • Updated dependencies
    [582bd768f]:
    • graphile-config@0.0.1-beta.9

2.0.0-beta.12

Patch Changes

  • Updated dependencies
    [db8ceed0f]:
    • graphile-config@0.0.1-beta.8

2.0.0-beta.11

Patch Changes

  • #1931
    941e28003
    Thanks @benjie! - Add support for deprecated
    arguments to Ruru.

  • #1931
    068be2f51
    Thanks @benjie! - Fix issue typing into Ruru
    explorer plugin - characters no longer overwritten.

  • Updated dependencies
    [5de3e86eb]:

    • graphile-config@0.0.1-beta.7

2.0.0-beta.10

Patch Changes

  • Updated dependencies
    [0df5511ac]:
    • graphile-config@0.0.1-beta.6

2.0.0-beta.9

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.
  • Updated dependencies
    [8a0cdb95f]:
    • graphile-config@0.0.1-beta.5

2.0.0-beta.8

Patch Changes

  • Updated dependencies
    [7aef73319]:
    • graphile-config@0.0.1-beta.4

2.0.0-beta.7

Patch Changes

  • #1799
    3dd5d86d6
    Thanks @jvandermey! - Can now pass onEdit
    callbacks through the Ruru config via the plugin system; e.g. to update the
    URL search params with the current editor state.

2.0.0-beta.6

Patch Changes

  • #1796
    ebb0b817e
    Thanks @benjie! - Can now set initial query and
    variables in Ruru via the plugin system; e.g. to set query/variables based on
    query string.

2.0.0-beta.5

Patch Changes

2.0.0-beta.4

Patch Changes

2.0.0-beta.3

Patch Changes

2.0.0-beta.2

Patch Changes

2.0.0-beta.1

Patch Changes

2.0.0-alpha.11

Patch Changes

  • Updated dependencies
    [a22830b2f]:
    • graphile-config@0.0.1-alpha.7

2.0.0-alpha.10

Patch Changes

  • #418
    9ab2adba2
    Thanks @benjie! - Overhaul peerDependencies and
    dependencies to try and eliminate duplicate modules error.

2.0.0-alpha.9

Patch Changes

2.0.0-alpha.8

Patch Changes

  • Updated dependencies
    [644938276]:
    • graphile-config@0.0.1-alpha.5

2.0.0-alpha.7

Patch Changes

  • #399
    409581534
    Thanks @benjie! - Change many of the dependencies
    to be instead (or also) peerDependencies, to avoid duplicate modules.

2.0.0-alpha.6

Patch Changes

  • Updated dependencies
    [198ac74d5]:
    • graphile-config@0.0.1-alpha.4

2.0.0-alpha.5

Patch Changes

  • Updated dependencies
    [adc7ae5e0]:
    • graphile-config@0.0.1-alpha.3

2.0.0-alpha.4

Patch Changes

2.0.0-alpha.3

Patch Changes

  • 2fe247f75
    Thanks @benjie! - Added ability to download
    mermaid plan diagram as SVG.

  • 7f857950a
    Thanks @benjie! - Upgrade to the latest
    TypeScript/tslib

  • Updated dependencies
    [7f857950a]:

    • graphile-config@0.0.1-alpha.2

2.0.0-alpha.2

Patch Changes

  • #305
    3cf35fdb4
    Thanks @benjie! - 🚨 Ruru is now a CommonJS
    module, no longer an ESM module.

    Ruru CLI now reads options from a graphile.config.ts file if present.

    It's now possible to customize the HTML that Ruru is served with (specifically
    the meta, title, stylesheets, header JS, body content, body JS, and init
    script), either via configuration:

    import { defaultHTMLParts } from "ruru/server";
    
    const preset: GraphileConfig.Preset = {
      //...
      ruru: {
        htmlParts: {
          titleTag: "<title>GraphiQL with Grafast support - Ruru!</title>",
          metaTags:
            defaultHTMLParts.metaTags +
            `<meta name="viewport" content="width=device-width, initial-scale=1" />`,
        },
      },
    };

    or via a plugin, which allows you to change it on a per-request (per-user)
    basis:

    const RuruMetaPlugin: GraphileConfig.Plugin = {
      name: "RuruMetaPlugin",
      version: "0.0.0",
      grafserv: {
        hooks: {
          ruruHTMLParts(_info, parts, extra) {
            // extra.request gives you access to request details, so you can customize `parts` for the user
    
            parts.metaTags += `<meta name="viewport" content="width=device-width, initial-scale=1" />`;
          },
        },
      },
    };

2.0.0-alpha.1

Patch Changes

2.0.0-1.2

Patch Changes

  • Updated dependencies
    [b4eaf89f4]:
    • graphile-config@0.0.1-1.2

2.0.0-1.1

Patch Changes

2.0.0-0.13

Patch Changes

  • 612092359 - Fix header saving

2.0.0-0.12

Patch Changes

  • Updated dependencies
    [11e7c12c5]:
    • graphile-config@0.0.1-0.6

2.0.0-0.11

Patch Changes

2.0.0-0.10

Patch Changes

2.0.0-0.9

Patch Changes

  • Updated dependencies [0ab95d0b1]:
    • graphile-config@0.0.1-0.5

2.0.0-0.8

Patch Changes

  • Updated dependencies
    [842f6ccbb]:
    • graphile-config@0.0.1-0.4

2.0.0-0.7

Patch Changes

2.0.0-0.6

Patch Changes

  • a40fa6966 - Default to explain enabled. Fix issues with fetcher
    mutating immutable objects. Fix typo in README. Fix playground on grafast
    website.

  • 8f04af08d
    Thanks @benjie! - Fix typo in README

2.0.0-0.5

Patch Changes

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

  • Updated dependencies [9b296ba54]:

    • graphile-config@0.0.1-0.2

2.0.0-0.4

Patch Changes

  • 768f32681 - Fix peerDependencies ranges

2.0.0-0.3

Patch Changes

  • 0983df3f6 - Downgrade to React 16 to work around npm infinite
    loop bug (npm/cli#5322).

2.0.0-0.2

Patch Changes

  • d11c1911c - Fix dependencies

  • Updated dependencies [d11c1911c]:

    • graphile-config@0.0.1-0.1

2.0.0-0.1

Patch Changes

  • 6576bd37b - Fix text colours in dark mode

2.0.0-0.0

Major Changes

Patch Changes

  • Updated dependencies
    [91f2256b3]:
    • graphile-config@0.0.1-0.0

Don't miss a new crystal release

NewReleases is sending notifications on new releases.