ruru
Version:
Grafast-flavoured GraphiQL distribution
743 lines (527 loc) • 26.8 kB
Markdown
# ruru
## 2.0.0-beta.30
### Patch Changes
- [#2694](https://github.com/graphile/crystal/pull/2694)
[`13513dd`](https://github.com/graphile/crystal/commit/13513ddaea15ad9498a77de7c4e92679498f99ca)
Thanks [@benjie](https://github.com/benjie)! - Add support for `onError` RFC
with `PROPAGATE`, `NULL` and `HALT` behaviors implemented.
- [#2678](https://github.com/graphile/crystal/pull/2678)
[`6dafac1`](https://github.com/graphile/crystal/commit/6dafac162955291e5147c21e57734b44e30acb98)
Thanks [@benjie](https://github.com/benjie)! - Remove peer dependency
optionality in an attempt to satisfy pnpm's installation algorithms
- Updated dependencies
[[`cfd4c3c`](https://github.com/graphile/crystal/commit/cfd4c3cff0ef40ed87a2c700b7719c1ca0e73588),
[`e15f886`](https://github.com/graphile/crystal/commit/e15f886cae1041416b44b74b75426f8d43000dcf)]:
- graphile-config@0.0.1-beta.18
## 2.0.0-beta.29
### Patch Changes
- [`ce9dd46`](https://github.com/graphile/crystal/commit/ce9dd46bd0625ab23ee0f728baec0479149ef895)
Thanks [@benjie](https://github.com/benjie)! - Fix the sidebar border in
collapsed mode
## 2.0.0-beta.28
### Patch Changes
- [#2646](https://github.com/graphile/crystal/pull/2646)
[`59adcd5`](https://github.com/graphile/crystal/commit/59adcd52d3fd465c8d6afdcefaa41c82c9a77319)
Thanks [@benjie](https://github.com/benjie)! - Add condensed mode for Ruru,
enabled by default. (To disable, use the settings cog in the editor view and
uncheck condensed.)
- [#2645](https://github.com/graphile/crystal/pull/2645)
[`f941cfd`](https://github.com/graphile/crystal/commit/f941cfdcc8235e34716d3595745a05e49267de12)
Thanks [@benjie](https://github.com/benjie)! - Upgrade GraphiQL to latest
release
## 2.0.0-beta.27
### Patch Changes
- [`a31dc7c`](https://github.com/graphile/crystal/commit/a31dc7ce30cea33fdbecb7fbe4f9c70f24d8a318)
Thanks [@benjie](https://github.com/benjie)! - Fix URLs in README
- [#2636](https://github.com/graphile/crystal/pull/2636)
[`ba8dacb`](https://github.com/graphile/crystal/commit/ba8dacb1ef93f79a61622ea7581cce4e593243bc)
Thanks [@benjie](https://github.com/benjie)! - Improve backwards compatibility
of ruruHTML function; explicitly deprecate the htmlParts argument.
## 2.0.0-beta.26
### Patch Changes
- [#2629](https://github.com/graphile/crystal/pull/2629)
[`c5cc0ba`](https://github.com/graphile/crystal/commit/c5cc0ba6228c754bca60219d78ca1bc1b10759ca)
Thanks [@benjie](https://github.com/benjie)! - Fix loading worker scripts from
remote URLs.
- [#2631](https://github.com/graphile/crystal/pull/2631)
[`506b7a1`](https://github.com/graphile/crystal/commit/506b7a16bbdee72b0ac41eb3f3235775d629be6c)
Thanks [@benjie](https://github.com/benjie)! - Add a `ruru.html` file you can
self-host, and move Ruru documentation to the website for easier navigation
- [#2632](https://github.com/graphile/crystal/pull/2632)
[`418190a`](https://github.com/graphile/crystal/commit/418190a04169fdd01e166ae30fa764098bb34249)
Thanks [@benjie](https://github.com/benjie)! - Ruru loading state now matches
expected theme (light/dark).
## 2.0.0-beta.25
### Patch Changes
- [#2578](https://github.com/graphile/crystal/pull/2578)
[`1d76d2f`](https://github.com/graphile/crystal/commit/1d76d2f0d19b4d56895ee9988440a35d2c60f9f9)
Thanks [@benjie](https://github.com/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:
```diff
-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
```diff
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
```diff
const config = {
endpoint: "/graphql",
+ clientConfig: {
editorTheme: "dark",
+ },
}
```
- [#2605](https://github.com/graphile/crystal/pull/2605)
[`24d379a`](https://github.com/graphile/crystal/commit/24d379ae4b8a3c0afe3f1a309d87806a05e8d00d)
Thanks [@benjie](https://github.com/benjie)! - Add defaultTheme and
forcedTheme props to Ruru (passed through to GraphiQL)
- [#2600](https://github.com/graphile/crystal/pull/2600)
[`ad588ec`](https://github.com/graphile/crystal/commit/ad588ecde230359f56800e414b7c5fa1aed14957)
Thanks [@benjie](https://github.com/benjie)! - Mark all
peerDependencies=dependencies modules as optional peerDependencies to make
pnpm marginally happier hopefully.
## 2.0.0-beta.24
### Patch Changes
- [#2584](https://github.com/graphile/crystal/pull/2584)
[`00b3b8b`](https://github.com/graphile/crystal/commit/00b3b8baea55f0f8cb90c769baf63b408a593182)
Thanks [@benjie](https://github.com/benjie)! - Upgrade to GraphiQL v4. 🚨
Change `graphiql/graphiql.css` to `graphiql/style.css` and
`@graphiql/plugin-explorer/dist/style.css` to
`@graphiql/plugin-explorer/style.css`
- [#2577](https://github.com/graphile/crystal/pull/2577)
[`0c6b1f1`](https://github.com/graphile/crystal/commit/0c6b1f1e188f6e2913832adfed9ca76dfdc25c47)
Thanks [@benjie](https://github.com/benjie)! - Update dependencies
- [#2582](https://github.com/graphile/crystal/pull/2582)
[`826f2cb`](https://github.com/graphile/crystal/commit/826f2cbff651273098d6b0d8c343aefeacfb5a14)
Thanks [@benjie](https://github.com/benjie)! - Fix button-in-button warning
from ToolbarMenu
- [#2585](https://github.com/graphile/crystal/pull/2585)
[`5311f9c`](https://github.com/graphile/crystal/commit/5311f9c8206fb3287b6aae6c4e7668ae920a4441)
Thanks [@benjie](https://github.com/benjie)! - Upgrade to React 19
- [#2583](https://github.com/graphile/crystal/pull/2583)
[`faee38b`](https://github.com/graphile/crystal/commit/faee38bbff0421bbccfaa77c0dffa5c2d44e2b92)
Thanks [@benjie](https://github.com/benjie)! - 🚨 Upgrade to graphql-ws v6
- Updated dependencies
[[`0c6b1f1`](https://github.com/graphile/crystal/commit/0c6b1f1e188f6e2913832adfed9ca76dfdc25c47),
[`e0cdabe`](https://github.com/graphile/crystal/commit/e0cdabe25c8894da550546c93bc03b895585544c)]:
- graphile-config@0.0.1-beta.17
## 2.0.0-beta.23
### Patch Changes
- [#2444](https://github.com/graphile/crystal/pull/2444)
[`192a27e08763ea26607344a2ea6c7f5c595cc2a3`](https://github.com/graphile/crystal/commit/192a27e08763ea26607344a2ea6c7f5c595cc2a3)
Thanks [@benjie](https://github.com/benjie)! - Upgrade to Mermaid 11, and
reduce verbosity of polymorphism in plan diagrams.
- [#2546](https://github.com/graphile/crystal/pull/2546)
[`997c49648b62a93e5b915c65c49cdad1654bef3e`](https://github.com/graphile/crystal/commit/997c49648b62a93e5b915c65c49cdad1654bef3e)
Thanks [@benjie](https://github.com/benjie)! - Fix issue where ruru wasn't
hiding explain output in incremental delivery results.
- Updated dependencies
[[`459e1869a2ec58925b2bac5458af487c52a8ca37`](https://github.com/graphile/crystal/commit/459e1869a2ec58925b2bac5458af487c52a8ca37)]:
- graphile-config@0.0.1-beta.16
## 2.0.0-beta.22
### Patch Changes
- [#2426](https://github.com/graphile/crystal/pull/2426)
[`658d46c9a5b246e3beb4ba2a004334278f7bb24d`](https://github.com/graphile/crystal/commit/658d46c9a5b246e3beb4ba2a004334278f7bb24d)
Thanks [@benjie](https://github.com/benjie)! - Upgrade GraphiQL and fix
duplicate module issue
## 2.0.0-beta.21
### Patch Changes
- Updated dependencies
[[`00d79e6f5608affc3f36bb0ce4ca2547230174e7`](https://github.com/graphile/crystal/commit/00d79e6f5608affc3f36bb0ce4ca2547230174e7)]:
- graphile-config@0.0.1-beta.15
## 2.0.0-beta.20
### Patch Changes
- [#2365](https://github.com/graphile/crystal/pull/2365)
[`ba2847f3e`](https://github.com/graphile/crystal/commit/ba2847f3e87b3c081e4b9fc4e62a81cc8bd8bb15)
Thanks [@benjie](https://github.com/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`](https://github.com/graphile/crystal/commit/83c546509d24be2955a56120981363ad3c3a5f3f)]:
- graphile-config@0.0.1-beta.14
## 2.0.0-beta.18
### Patch Changes
- Updated dependencies
[[`7580bc16a`](https://github.com/graphile/crystal/commit/7580bc16a050fd8d916c6dabe9d1ded980090349)]:
- graphile-config@0.0.1-beta.13
## 2.0.0-beta.17
### Patch Changes
- [#2266](https://github.com/graphile/crystal/pull/2266)
[`38163c86a`](https://github.com/graphile/crystal/commit/38163c86ae628fed84cf38fc6a1cc76a7bc7932a)
Thanks [@hos](https://github.com/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`](https://github.com/graphile/crystal/commit/d13b76f0fef2a58466ecb44880af62d25910e83e),
[`b167bd849`](https://github.com/graphile/crystal/commit/b167bd8499be5866b71bac6594d55bd768fda1d0),
[`6a13ecbd4`](https://github.com/graphile/crystal/commit/6a13ecbd45534c39c846c1d8bc58242108426dd1)]:
- graphile-config@0.0.1-beta.12
## 2.0.0-beta.16
### Patch Changes
- Updated dependencies
[[`5626c7d36`](https://github.com/graphile/crystal/commit/5626c7d3649285e11fe9857dfa319d2883d027eb)]:
- graphile-config@0.0.1-beta.11
## 2.0.0-beta.15
### Patch Changes
- Updated dependencies
[[`cc0941731`](https://github.com/graphile/crystal/commit/cc0941731a1679bc04ce7b7fd4254009bb5f1f62),
[`8b472cd51`](https://github.com/graphile/crystal/commit/8b472cd51cd66d8227f9f2722d09c0a774792b0f),
[`9cd9bb522`](https://github.com/graphile/crystal/commit/9cd9bb5222a9f0398ee4b8bfa4f741b6de2a2192)]:
- graphile-config@0.0.1-beta.10
## 2.0.0-beta.14
### Patch Changes
- [#2125](https://github.com/graphile/crystal/pull/2125)
[`18addb385`](https://github.com/graphile/crystal/commit/18addb3852525aa91019a36d58fa2fecd8b5b443)
Thanks [@benjie](https://github.com/benjie)! - Change how unary steps are
rendered to plan diagrams, fixing the rendering of side-effect steps.
- [#2124](https://github.com/graphile/crystal/pull/2124)
[`cf535c210`](https://github.com/graphile/crystal/commit/cf535c21078da06c14dd12f30e9b4378da4ded03)
Thanks [@benjie](https://github.com/benjie)! - Render implicit side effects as
dependencies on plan diagram
## 2.0.0-beta.13
### Patch Changes
- Updated dependencies
[[`582bd768f`](https://github.com/graphile/crystal/commit/582bd768fec403ce3284f293b85b9fd86e4d3f40)]:
- graphile-config@0.0.1-beta.9
## 2.0.0-beta.12
### Patch Changes
- Updated dependencies
[[`db8ceed0f`](https://github.com/graphile/crystal/commit/db8ceed0f17923eb78ff09c9f3f28800a5c7e3b6)]:
- graphile-config@0.0.1-beta.8
## 2.0.0-beta.11
### Patch Changes
- [#1931](https://github.com/graphile/crystal/pull/1931)
[`941e28003`](https://github.com/graphile/crystal/commit/941e280038a735014a9fe4e24fc534a197fac0f2)
Thanks [@benjie](https://github.com/benjie)! - Add support for deprecated
arguments to Ruru.
- [#1931](https://github.com/graphile/crystal/pull/1931)
[`068be2f51`](https://github.com/graphile/crystal/commit/068be2f51d7a9c17311f26c6c9451985397c9e1f)
Thanks [@benjie](https://github.com/benjie)! - Fix issue typing into Ruru
explorer plugin - characters no longer overwritten.
- Updated dependencies
[[`5de3e86eb`](https://github.com/graphile/crystal/commit/5de3e86eba1ddfe5e07732d0325c63e5d72d4b5b)]:
- graphile-config@0.0.1-beta.7
## 2.0.0-beta.10
### Patch Changes
- Updated dependencies
[[`0df5511ac`](https://github.com/graphile/crystal/commit/0df5511ac8b79ea34f8d12ebf8feeb421f8fe971)]:
- graphile-config@0.0.1-beta.6
## 2.0.0-beta.9
### Patch Changes
- [#1877](https://github.com/graphile/crystal/pull/1877)
[`8a0cdb95f`](https://github.com/graphile/crystal/commit/8a0cdb95f200b28b0ea1ab5caa12b23dce5f374f)
Thanks [@benjie](https://github.com/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`](https://github.com/graphile/crystal/commit/8a0cdb95f200b28b0ea1ab5caa12b23dce5f374f)]:
- graphile-config@0.0.1-beta.5
## 2.0.0-beta.8
### Patch Changes
- Updated dependencies
[[`7aef73319`](https://github.com/graphile/crystal/commit/7aef73319a8a147c700727be62427e1eefdefbf8)]:
- graphile-config@0.0.1-beta.4
## 2.0.0-beta.7
### Patch Changes
- [#1799](https://github.com/graphile/crystal/pull/1799)
[`3dd5d86d6`](https://github.com/graphile/crystal/commit/3dd5d86d6c1ea7ba106c08e8a315ec47ed6cfa2d)
Thanks [@jvandermey](https://github.com/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](https://github.com/graphile/crystal/pull/1796)
[`ebb0b817e`](https://github.com/graphile/crystal/commit/ebb0b817e3efe210445d3f3396ff4bc53ebab3e7)
Thanks [@benjie](https://github.com/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
- [#514](https://github.com/graphile/crystal-pre-merge/pull/514)
[`c9848f693`](https://github.com/graphile/crystal-pre-merge/commit/c9848f6936a5abd7740c0638bfb458fb5551f03b)
Thanks [@benjie](https://github.com/benjie)! - Update package.json repository
information
- Updated dependencies
[[`c9848f693`](https://github.com/graphile/crystal-pre-merge/commit/c9848f6936a5abd7740c0638bfb458fb5551f03b)]:
- graphile-config@0.0.1-beta.3
## 2.0.0-beta.4
### Patch Changes
- [`4c39d7c0b`](https://github.com/benjie/crystal/commit/4c39d7c0bae5acb6ae79cc1fec0a1eabdd40a234)
Thanks [@benjie](https://github.com/benjie)! - Bump - npm broke the publish?
## 2.0.0-beta.3
### Patch Changes
- [#496](https://github.com/benjie/crystal/pull/496)
[`c9bfd9892`](https://github.com/benjie/crystal/commit/c9bfd989247f9433fb5b18c5175c9d8d64cd21a1)
Thanks [@benjie](https://github.com/benjie)! - Update dependencies (sometimes
through major versions).
- [#496](https://github.com/benjie/crystal/pull/496)
[`1867d365f`](https://github.com/benjie/crystal/commit/1867d365f360ac8411f622b0813ca76a19ab4013)
Thanks [@benjie](https://github.com/benjie)! - Ruru now runs on React 18
- [#496](https://github.com/benjie/crystal/pull/496)
[`c747d91e9`](https://github.com/benjie/crystal/commit/c747d91e9646409c66e73c12195dbf6cbd97b211)
Thanks [@benjie](https://github.com/benjie)! - Modules converted to ESM to fix
compatibility with GraphiQL.
- Updated dependencies
[[`c9bfd9892`](https://github.com/benjie/crystal/commit/c9bfd989247f9433fb5b18c5175c9d8d64cd21a1)]:
- graphile-config@0.0.1-beta.2
## 2.0.0-beta.2
### Patch Changes
- [#488](https://github.com/benjie/crystal/pull/488)
[`9f82b8612`](https://github.com/benjie/crystal/commit/9f82b861206fdd2b8a7c50ba5184112dfb57b54a)
Thanks [@benjie](https://github.com/benjie)! - Fix detection of SQL aliases
## 2.0.0-beta.1
### Patch Changes
- [`cbd987385`](https://github.com/benjie/crystal/commit/cbd987385f99bd1248bc093ac507cc2f641ba3e8)
Thanks [@benjie](https://github.com/benjie)! - Bump all packages to beta
- Updated dependencies
[[`cbd987385`](https://github.com/benjie/crystal/commit/cbd987385f99bd1248bc093ac507cc2f641ba3e8)]:
- graphile-config@0.0.1-beta.1
## 2.0.0-alpha.11
### Patch Changes
- Updated dependencies
[[`a22830b2f`](https://github.com/benjie/crystal/commit/a22830b2f293b50a244ac18e1601d7579b450c7d)]:
- graphile-config@0.0.1-alpha.7
## 2.0.0-alpha.10
### Patch Changes
- [#418](https://github.com/benjie/crystal/pull/418)
[`9ab2adba2`](https://github.com/benjie/crystal/commit/9ab2adba2c146b5d1bc91bbb2f25e4645ed381de)
Thanks [@benjie](https://github.com/benjie)! - Overhaul peerDependencies and
dependencies to try and eliminate duplicate modules error.
## 2.0.0-alpha.9
### Patch Changes
- Updated dependencies
[[`675b7abb9`](https://github.com/benjie/crystal/commit/675b7abb93e11d955930b9026fb0b65a56ecc999),
[`c5050dd28`](https://github.com/benjie/crystal/commit/c5050dd286bd6d9fa4a5d9cfbf87ba609cb148dd),
[`0d1782869`](https://github.com/benjie/crystal/commit/0d1782869adc76f5bbcecfdcbb85a258c468ca37)]:
- graphile-config@0.0.1-alpha.6
## 2.0.0-alpha.8
### Patch Changes
- Updated dependencies
[[`644938276`](https://github.com/benjie/crystal/commit/644938276ebd48c5486ba9736a525fcc66d7d714)]:
- graphile-config@0.0.1-alpha.5
## 2.0.0-alpha.7
### Patch Changes
- [#399](https://github.com/benjie/crystal/pull/399)
[`409581534`](https://github.com/benjie/crystal/commit/409581534f41ac2cf0ff21c77c2bcd8eaa8218fd)
Thanks [@benjie](https://github.com/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`](https://github.com/benjie/crystal/commit/198ac74d52fe1e47d602fe2b7c52f216d5216b25)]:
- graphile-config@0.0.1-alpha.4
## 2.0.0-alpha.5
### Patch Changes
- Updated dependencies
[[`adc7ae5e0`](https://github.com/benjie/crystal/commit/adc7ae5e002961c8b8286500527752f21139ab9e)]:
- graphile-config@0.0.1-alpha.3
## 2.0.0-alpha.4
### Patch Changes
- [`f34bd5a3c`](https://github.com/benjie/crystal/commit/f34bd5a3c353693b86a0307357a3620110700e1c)
Thanks [@benjie](https://github.com/benjie)! - Address dependency issues.
## 2.0.0-alpha.3
### Patch Changes
- [`2fe247f75`](https://github.com/benjie/crystal/commit/2fe247f751377e18b3d6809cba39a01aa1602dbc)
Thanks [@benjie](https://github.com/benjie)! - Added ability to download
mermaid plan diagram as SVG.
- [`7f857950a`](https://github.com/benjie/crystal/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71)
Thanks [@benjie](https://github.com/benjie)! - Upgrade to the latest
TypeScript/tslib
- Updated dependencies
[[`7f857950a`](https://github.com/benjie/crystal/commit/7f857950a7e4ec763c936eb6bd1fb77824041d71)]:
- graphile-config@0.0.1-alpha.2
## 2.0.0-alpha.2
### Patch Changes
- [#305](https://github.com/benjie/crystal/pull/305)
[`3cf35fdb4`](https://github.com/benjie/crystal/commit/3cf35fdb41d08762e9ff838a55dd7fc6004941f8)
Thanks [@benjie](https://github.com/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:
```ts
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:
```ts
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
- [`759ad403d`](https://github.com/benjie/crystal/commit/759ad403d71363312c5225c165873ae84b8a098c)
Thanks [@benjie](https://github.com/benjie)! - Alpha release - see
https://postgraphile.org/news/2023-04-26-version-5-alpha
- Updated dependencies
[[`759ad403d`](https://github.com/benjie/crystal/commit/759ad403d71363312c5225c165873ae84b8a098c)]:
- graphile-config@0.0.1-alpha.1
## 2.0.0-1.2
### Patch Changes
- Updated dependencies
[[`b4eaf89f4`](https://github.com/benjie/crystal/commit/b4eaf89f401ca207de08770361d07903f6bb9cb0)]:
- graphile-config@0.0.1-1.2
## 2.0.0-1.1
### Patch Changes
- [#267](https://github.com/benjie/crystal/pull/267)
[`159735204`](https://github.com/benjie/crystal/commit/15973520462d4a95e3cdf04fdacfc71ca851122f)
Thanks [@benjie](https://github.com/benjie)! - Add formatting for SQL aliases
- [#260](https://github.com/benjie/crystal/pull/260)
[`d5312e6b9`](https://github.com/benjie/crystal/commit/d5312e6b968fbeb46d074b82a41b4bdbc166598c)
Thanks [@benjie](https://github.com/benjie)! - TypeScript v5 is now required
- Updated dependencies
[[`d5312e6b9`](https://github.com/benjie/crystal/commit/d5312e6b968fbeb46d074b82a41b4bdbc166598c)]:
- graphile-config@0.0.1-1.1
## 2.0.0-0.13
### Patch Changes
- [`612092359`](undefined) - Fix header saving
## 2.0.0-0.12
### Patch Changes
- Updated dependencies
[[`11e7c12c5`](https://github.com/benjie/crystal/commit/11e7c12c5a3545ee24b5e39392fbec190aa1cf85)]:
- graphile-config@0.0.1-0.6
## 2.0.0-0.11
### Patch Changes
- [#229](https://github.com/benjie/crystal/pull/229)
[`b795b3da5`](https://github.com/benjie/crystal/commit/b795b3da5f8e8f13c495be3a8cf71667f3d149f8)
Thanks [@benjie](https://github.com/benjie)! - Upgrade GraphiQL, gaining the
watch mode fix.
## 2.0.0-0.10
### Patch Changes
- [#200](https://github.com/benjie/crystal/pull/200)
[`e11698473`](https://github.com/benjie/crystal/commit/e1169847303790570bfafa07eb25d8fce53a0391)
Thanks [@benjie](https://github.com/benjie)! - Add support for websocket
subscriptions to Ruru.
## 2.0.0-0.9
### Patch Changes
- Updated dependencies [[`0ab95d0b1`](undefined)]:
- graphile-config@0.0.1-0.5
## 2.0.0-0.8
### Patch Changes
- Updated dependencies
[[`842f6ccbb`](https://github.com/benjie/crystal/commit/842f6ccbb3c9bd0c101c4f4df31c5ed1aea9b2ab)]:
- graphile-config@0.0.1-0.4
## 2.0.0-0.7
### Patch Changes
- Updated dependencies
[[`19e2961de`](https://github.com/benjie/crystal/commit/19e2961de67dc0b9601799bba256e4c4a23cc0cb),
[`11d6be65e`](https://github.com/benjie/crystal/commit/11d6be65e0da489f8ab3e3a8b8db145f8b2147ad)]:
- graphile-config@0.0.1-0.3
## 2.0.0-0.6
### Patch Changes
- [`a40fa6966`](undefined) - Default to explain enabled. Fix issues with fetcher
mutating immutable objects. Fix typo in README. Fix playground on grafast
website.
- [`8f04af08d`](https://github.com/benjie/crystal/commit/8f04af08da68baf7b2b4d508eac0d2a57064da7b)
Thanks [@benjie](https://github.com/benjie)! - Fix typo in README
## 2.0.0-0.5
### Patch Changes
- [`9b296ba54`](undefined) - More secure, more compatible, and lots of fixes
across the monorepo
- Updated dependencies [[`9b296ba54`](undefined)]:
- graphile-config@0.0.1-0.2
## 2.0.0-0.4
### Patch Changes
- [`768f32681`](undefined) - Fix peerDependencies ranges
## 2.0.0-0.3
### Patch Changes
- [`0983df3f6`](undefined) - Downgrade to React 16 to work around npm infinite
loop bug (npm/cli#5322).
## 2.0.0-0.2
### Patch Changes
- [`d11c1911c`](undefined) - Fix dependencies
- Updated dependencies [[`d11c1911c`](undefined)]:
- graphile-config@0.0.1-0.1
## 2.0.0-0.1
### Patch Changes
- [`6576bd37b`](undefined) - Fix text colours in dark mode
## 2.0.0-0.0
### Major Changes
- [#125](https://github.com/benjie/crystal/pull/125)
[`91f2256b3`](https://github.com/benjie/crystal/commit/91f2256b3fd699bec19fc86f1ca79df057e58639)
Thanks [@benjie](https://github.com/benjie)! - Initial changesets release
### Patch Changes
- Updated dependencies
[[`91f2256b3`](https://github.com/benjie/crystal/commit/91f2256b3fd699bec19fc86f1ca79df057e58639)]:
- graphile-config@0.0.1-0.0