From 5a07e63fd6b2d6ba72b24fa455d1d71b1c88eaaf Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 8 Aug 2023 04:36:45 +0000
Subject: [PATCH 01/14] chore(deps): update dependency nx-cloud to v16.2.0
(#8985)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [nx-cloud](https://nx.app) | [`16.0.5` ->
`16.2.0`](https://renovatebot.com/diffs/npm/nx-cloud/16.0.5/16.2.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/nx-cloud/16.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nx-cloud/16.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nx-cloud/16.0.5/16.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx-cloud/16.0.5/16.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
---
### Configuration
π
**Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
π¦ **Automerge**: Enabled.
β» **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
π **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
package.json | 2 +-
yarn.lock | 22 +++++++++++-----------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/package.json b/package.json
index 4155714f6c3c..8171a41d4f5f 100644
--- a/package.json
+++ b/package.json
@@ -89,7 +89,7 @@
"nodemon": "2.0.22",
"npm-packlist": "7.0.4",
"nx": "16.4.1",
- "nx-cloud": "16.0.5",
+ "nx-cloud": "16.2.0",
"octokit": "2.1.0",
"ora": "6.3.1",
"prompts": "2.4.2",
diff --git a/yarn.lock b/yarn.lock
index cd3216f87d2e..3a2aaacb93b4 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5496,12 +5496,12 @@ __metadata:
languageName: node
linkType: hard
-"@nrwl/nx-cloud@npm:16.0.5":
- version: 16.0.5
- resolution: "@nrwl/nx-cloud@npm:16.0.5"
+"@nrwl/nx-cloud@npm:16.2.0":
+ version: 16.2.0
+ resolution: "@nrwl/nx-cloud@npm:16.2.0"
dependencies:
- nx-cloud: 16.0.5
- checksum: 3d3d5900026a2984ddd6d7d5962a5c8ed1bc84fb7ea52268604d5b05cf77cca8757edf42ddacf774ca778937c133f94ab330e968296a4b0f14a962b9f9fc9f4e
+ nx-cloud: 16.2.0
+ checksum: f64edb06a6567e764812105b7ee440f3d2828bf946813cf630e443a0e72ea8017203f347c1d916026af8522021f36e47be8dc8374847fd89e9c678ae32bc427a
languageName: node
linkType: hard
@@ -25018,11 +25018,11 @@ __metadata:
languageName: node
linkType: hard
-"nx-cloud@npm:16.0.5":
- version: 16.0.5
- resolution: "nx-cloud@npm:16.0.5"
+"nx-cloud@npm:16.2.0":
+ version: 16.2.0
+ resolution: "nx-cloud@npm:16.2.0"
dependencies:
- "@nrwl/nx-cloud": 16.0.5
+ "@nrwl/nx-cloud": 16.2.0
axios: 1.1.3
chalk: ^4.1.0
dotenv: ~10.0.0
@@ -25034,7 +25034,7 @@ __metadata:
yargs-parser: ">=21.1.1"
bin:
nx-cloud: bin/nx-cloud.js
- checksum: 02f0bf081c3f69c2682d9e21bc9e281df80a0e31852cd81cb8746d9dd07ebdc071c5138867ed9b84f922c0da40bd0170f2d735c4d8cf0768c24d6a47078ebf48
+ checksum: ff642f4eb1002574d30789e5c9451d52ea5a78e37f639c7bed9bcdd236e7d46108d0a79bca978e7c0c4e24c4c2ae0b8ff747d64afc8dc115e1be990eea168c7d
languageName: node
linkType: hard
@@ -28515,7 +28515,7 @@ __metadata:
nodemon: 2.0.22
npm-packlist: 7.0.4
nx: 16.4.1
- nx-cloud: 16.0.5
+ nx-cloud: 16.2.0
octokit: 2.1.0
ora: 6.3.1
prompts: 2.4.2
From 8e21a282e7d0c96ce11419220107f9185a2a7703 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 8 Aug 2023 04:37:15 +0000
Subject: [PATCH 02/14] chore(deps): update dependency esbuild to v0.18.19
(#8983)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [esbuild](https://togithub.com/evanw/esbuild) | [`0.18.16` ->
`0.18.19`](https://renovatebot.com/diffs/npm/esbuild/0.18.16/0.18.19) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/esbuild/0.18.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/esbuild/0.18.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/esbuild/0.18.16/0.18.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/esbuild/0.18.16/0.18.19?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
evanw/esbuild (esbuild)
###
[`v0.18.19`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#01819)
[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.18.18...v0.18.19)
- Implement `composes` from CSS modules
([#20](https://togithub.com/evanw/esbuild/issues/20))
This release implements the `composes` annotation from the [CSS modules
specification](https://togithub.com/css-modules/css-modules#composition).
It provides a way for class selectors to reference other class selectors
(assuming you are using the `local-css` loader). And with the `from`
syntax, this can even work with local names across CSS files. For
example:
```js
// app.js
import { submit } from './style.css'
const div = document.createElement('div')
div.className = submit
document.body.appendChild(div)
```
```css
/* style.css */
.button {
composes: pulse from "anim.css";
display: inline-block;
}
.submit {
composes: button;
font-weight: bold;
}
```
```css
/* anim.css */
@keyframes pulse {
from, to { opacity: 1 }
50% { opacity: 0.5 }
}
.pulse {
animation: 2s ease-in-out infinite pulse;
}
```
Bundling this with esbuild using `--bundle --outdir=dist
--loader:.css=local-css` now gives the following:
```js
(() => {
// style.css
var submit = "anim_pulse style_button style_submit";
// app.js
var div = document.createElement("div");
div.className = submit;
document.body.appendChild(div);
})();
```
```css
/* anim.css */
@keyframes anim_pulse {
from, to {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
.anim_pulse {
animation: 2s ease-in-out infinite anim_pulse;
}
/* style.css */
.style_button {
display: inline-block;
}
.style_submit {
font-weight: bold;
}
```
Import paths in the `composes: ... from` syntax are resolved using the
new `composes-from` import kind, which can be intercepted by plugins
during import path resolution when bundling is enabled.
Note that the order in which composed CSS classes from separate files
appear in the bundled output file is deliberately ***undefined*** by
design (see [the
specification](https://togithub.com/css-modules/css-modules#composing-from-other-files)
for details). You are not supposed to declare the same CSS property in
two separate class selectors and then compose them together. You are
only supposed to compose CSS class selectors that declare
non-overlapping CSS properties.
Issue [#20](https://togithub.com/evanw/esbuild/issues/20) (the
issue tracking CSS modules) is esbuild's most-upvoted issue! With this
change, I now consider esbuild's implementation of CSS modules to be
complete. There are still improvements to make and there may also be
bugs with the current implementation, but these can be tracked in
separate issues.
- Fix non-determinism with `tsconfig.json` and symlinks
([#3284](https://togithub.com/evanw/esbuild/issues/3284))
This release fixes an issue that could cause esbuild to sometimes emit
incorrect build output in cases where a file under the effect of
`tsconfig.json` is inconsistently referenced through a symlink. It can
happen when using `npm link` to create a symlink within `node_modules`
to an unpublished package. The build result was non-deterministic
because esbuild runs module resolution in parallel and the result of the
`tsconfig.json` lookup depended on whether the import through the
symlink or not through the symlink was resolved first. This problem was
fixed by moving the `realpath` operation before the `tsconfig.json`
lookup.
- Add a `hash` property to output files
([#3084](https://togithub.com/evanw/esbuild/issues/3084),
[#3293](https://togithub.com/evanw/esbuild/issues/3293))
As a convenience, every output file in esbuild's API now includes a
`hash` property that is a hash of the `contents` field. This is the hash
that's used internally by esbuild to detect changes between builds for
esbuild's live-reload feature. You may also use it to detect changes
between your own builds if its properties are sufficient for your use
case.
This feature has been added directly to output file objects since it's
just a hash of the `contents` field, so it makes conceptual sense to
store it in the same location. Another benefit of putting it there
instead of including it as a part of the watch mode API is that it can
be used without watch mode enabled. You can use it to compare the output
of two independent builds that were done at different times.
The hash algorithm (currently [XXH64](https://xxhash.com/)) is
implementation-dependent and may be changed at any time in between
esbuild versions. If you don't like esbuild's choice of hash algorithm
then you are welcome to hash the contents yourself instead. As with any
hash algorithm, note that while two different hashes mean that the
contents are different, two equal hashes do not necessarily mean that
the contents are equal. You may still want to compare the contents in
addition to the hashes to detect with certainty when output files have
been changed.
- Avoid generating duplicate prefixed declarations in CSS
([#3292](https://togithub.com/evanw/esbuild/issues/3292))
There was a request for esbuild's CSS prefixer to avoid generating a
prefixed declaration if a declaration by that name is already present in
the same rule block. So with this release, esbuild will now avoid doing
this:
```css
/* Original code */
body {
backdrop-filter: blur(30px);
-webkit-backdrop-filter: blur(45px);
}
/* Old output (with --target=safari12) */
body {
-webkit-backdrop-filter: blur(30px);
backdrop-filter: blur(30px);
-webkit-backdrop-filter: blur(45px);
}
/* New output (with --target=safari12) */
body {
backdrop-filter: blur(30px);
-webkit-backdrop-filter: blur(45px);
}
```
This can result in a visual difference in certain cases (for example if
the browser understands `blur(30px)` but not `blur(45px)`, it will be
able to fall back to `blur(30px)`). But this change means esbuild now
matches the behavior of [Autoprefixer](https://autoprefixer.github.io/)
which is probably a good representation of how people expect this
feature to work.
###
[`v0.18.18`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#01818)
[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.18.17...v0.18.18)
- Fix asset references with the `--line-limit` flag
([#3286](https://togithub.com/evanw/esbuild/issues/3286))
The recently-released `--line-limit` flag tells esbuild to terminate
long lines after they pass this length limit. This includes
automatically wrapping long strings across multiple lines using escaped
newline syntax. However, using this could cause esbuild to generate
incorrect code for references from generated output files to assets in
the bundle (i.e. files loaded with the `file` or `copy` loaders). This
is because esbuild implements asset references internally using
find-and-replace with a randomly-generated string, but the find
operation fails if the string is split by an escaped newline due to line
wrapping. This release fixes the problem by not wrapping these strings.
This issue affected asset references in both JS and CSS files.
- Support local names in CSS for `@keyframe`, `@counter-style`, and
`@container`
([#20](https://togithub.com/evanw/esbuild/issues/20))
This release extends support for local names in CSS files loaded with
the `local-css` loader to cover the `@keyframe`, `@counter-style`, and
`@container` rules (and also `animation`, `list-style`, and `container`
declarations). Here's an example:
```css
@keyframes pulse {
from, to { opacity: 1 }
50% { opacity: 0.5 }
}
@counter-style moon {
system: cyclic;
symbols: π π π π π π π π;
}
@container squish {
li { float: left }
}
ul {
animation: 2s ease-in-out infinite pulse;
list-style: inside moon;
container: squish / size;
}
```
With the `local-css` loader enabled, that CSS will be turned into
something like this (with the local name mapping exposed to JS):
```css
@keyframes stdin_pulse {
from, to {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
@counter-style stdin_moon {
system: cyclic;
symbols: π π π π π π π π;
}
@container stdin_squish {
li {
float: left;
}
}
ul {
animation: 2s ease-in-out infinite stdin_pulse;
list-style: inside stdin_moon;
container: stdin_squish / size;
}
```
If you want to use a global name within a file loaded with the
`local-css` loader, you can use a `:global` selector to do that:
```css
div {
/* All symbols are global inside this scope (i.e.
* "pulse", "moon", and "squish" are global below) */
:global {
animation: 2s ease-in-out infinite pulse;
list-style: inside moon;
container: squish / size;
}
}
```
If you want to use `@keyframes`, `@counter-style`, or `@container` with
a global name, make sure it's in a file that uses the `css` or
`global-css` loader instead of the `local-css` loader. For example, you
can configure `--loader:.module.css=local-css` so that the `local-css`
loader only applies to `*.module.css` files.
- Support strings as keyframe animation names in CSS
([#2555](https://togithub.com/evanw/esbuild/issues/2555))
With this release, esbuild will now parse animation names that are
specified as strings and will convert them to identifiers. The CSS
specification allows animation names to be specified using either
identifiers or strings but Chrome only understands identifiers, so
esbuild will now always convert string names to identifier names for
Chrome compatibility:
```css
/* Original code */
@keyframes "hide menu" {
from { opacity: 1 }
to { opacity: 0 }
}
menu.hide {
animation: 0.5s ease-in-out "hide menu";
}
/* Old output */
@keyframes "hide menu" { from { opacity: 1 } to { opacity: 0 } }
menu.hide {
animation: 0.5s ease-in-out "hide menu";
}
/* New output */
@keyframes hide\ menu {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
menu.hide {
animation: 0.5s ease-in-out hide\ menu;
}
```
###
[`v0.18.17`](https://togithub.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#01817)
[Compare
Source](https://togithub.com/evanw/esbuild/compare/v0.18.16...v0.18.17)
- Support `An+B` syntax and `:nth-*()` pseudo-classes in CSS
This adds support for the `:nth-child()`, `:nth-last-child()`,
`:nth-of-type()`, and `:nth-last-of-type()` pseudo-classes to esbuild,
which has the following consequences:
- The [`An+B`
syntax](https://drafts.csswg.org/css-syntax-3/#anb-microsyntax) is now
parsed, so parse errors are now reported
- `An+B` values inside these pseudo-classes are now pretty-printed (e.g.
a leading `+` will be stripped because it's not in the AST)
- When minification is enabled, `An+B` values are reduced to equivalent
but shorter forms (e.g. `2n+0` => `2n`, `2n+1` => `odd`)
- Local CSS names in an `of` clause are now detected (e.g. in
`:nth-child(2n of :local(.foo))` the name `foo` is now renamed)
```css
/* Original code */
.foo:nth-child(+2n+1 of :local(.bar)) {
color: red;
}
/* Old output (with --loader=local-css) */
.stdin_foo:nth-child(+2n + 1 of :local(.bar)) {
color: red;
}
/* New output (with --loader=local-css) */
.stdin_foo:nth-child(2n+1 of .stdin_bar) {
color: red;
}
```
- Adjust CSS nesting parser for IE7 hacks
([#3272](https://togithub.com/evanw/esbuild/issues/3272))
This fixes a regression with esbuild's treatment of IE7 hacks in CSS.
CSS nesting allows selectors to be used where declarations are expected.
There's an IE7 hack where prefixing a declaration with a `*` causes that
declaration to only be applied in IE7 due to a bug in IE7's CSS parser.
However, it's valid for nested CSS selectors to start with `*`. So
esbuild was incorrectly parsing these declarations and anything
following it up until the next `{` as a selector for a nested CSS rule.
This release changes esbuild's parser to terminate the parsing of
selectors for nested CSS rules when a `;` is encountered to fix this
edge case:
```css
/* Original code */
.item {
*width: 100%;
height: 1px;
}
/* Old output */
.item {
*width: 100%; height: 1px; {
}
}
/* New output */
.item {
*width: 100%;
height: 1px;
}
```
Note that the syntax for CSS nesting is [about to change
again](https://togithub.com/w3c/csswg-drafts/issues/7961), so esbuild's
CSS parser may still not be completely accurate with how browsers do
and/or will interpret CSS nesting syntax. Expect additional updates to
esbuild's CSS parser in the future to deal with upcoming CSS
specification changes.
- Adjust esbuild's warning about undefined imports for TypeScript
`import` equals declarations
([#3271](https://togithub.com/evanw/esbuild/issues/3271))
In JavaScript, accessing a missing property on an import namespace
object is supposed to result in a value of `undefined` at run-time
instead of an error at compile-time. This is something that esbuild
warns you about by default because doing this can indicate a bug with
your code. For example:
```js
// app.js
import * as styles from './styles'
console.log(styles.buton)
```
```js
// styles.js
export let button = {}
```
If you bundle `app.js` with esbuild you will get this:
β² [WARNING] Import "buton" will always be undefined because there is no
matching export in "styles.js" [import-is-undefined]
app.js:2:19:
2 β console.log(styles.buton)
β ~~~~~
β΅ button
Did you mean to import "button" instead?
styles.js:1:11:
1 β export let button = {}
β΅ ~~~~~~
However, there is TypeScript-only syntax for `import` equals
declarations that can represent either a type import (which esbuild
should ignore) or a value import (which esbuild should respect). Since
esbuild doesn't have a type system, it tries to only respect `import`
equals declarations that are actually used as values. Previously esbuild
always generated this warning for unused imports referenced within
`import` equals declarations even when the reference could be a type
instead of a value. Starting with this release, esbuild will now only
warn in this case if the import is actually used. Here is an example of
some code that no longer causes an incorrect warning:
```ts
// app.ts
import * as styles from './styles'
import ButtonType = styles.Button
```
```ts
// styles.ts
export interface Button {}
```
---
### Configuration
π
**Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
π¦ **Automerge**: Enabled.
β» **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
π **Ignore**: Close this PR and you won't be reminded about these
updates again.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
packages/cli-packages/storybook/package.json | 2 +-
packages/core/package.json | 2 +-
packages/create-redwood-app/package.json | 2 +-
packages/eslint-plugin/package.json | 2 +-
packages/fastify/package.json | 2 +-
packages/internal/package.json | 2 +-
packages/project-config/package.json | 2 +-
packages/realtime/package.json | 2 +-
packages/record/package.json | 2 +-
packages/tui/package.json | 2 +-
packages/web-server/package.json | 2 +-
yarn.lock | 208 +++++++++----------
12 files changed, 115 insertions(+), 115 deletions(-)
diff --git a/packages/cli-packages/storybook/package.json b/packages/cli-packages/storybook/package.json
index 272e26e01068..f5d8201bed7f 100644
--- a/packages/cli-packages/storybook/package.json
+++ b/packages/cli-packages/storybook/package.json
@@ -39,7 +39,7 @@
},
"devDependencies": {
"@types/yargs": "17.0.24",
- "esbuild": "0.18.16",
+ "esbuild": "0.18.19",
"fast-glob": "3.3.1",
"jest": "29.6.1",
"typescript": "5.1.6"
diff --git a/packages/core/package.json b/packages/core/package.json
index 08246e4dae08..5fb27557c655 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -64,7 +64,7 @@
"css-loader": "6.8.1",
"css-minimizer-webpack-plugin": "5.0.1",
"dotenv-webpack": "8.0.1",
- "esbuild": "0.18.16",
+ "esbuild": "0.18.19",
"fast-glob": "3.3.1",
"file-loader": "6.2.0",
"graphql": "16.7.1",
diff --git a/packages/create-redwood-app/package.json b/packages/create-redwood-app/package.json
index c918dc58a01d..64a52dd73056 100644
--- a/packages/create-redwood-app/package.json
+++ b/packages/create-redwood-app/package.json
@@ -43,7 +43,7 @@
"@babel/core": "7.22.9",
"@babel/plugin-transform-typescript": "7.22.9",
"@types/babel__core": "7.20.1",
- "esbuild": "0.18.16",
+ "esbuild": "0.18.19",
"jest": "29.6.1",
"klaw-sync": "6.0.0"
},
diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json
index 08776ee52fb6..410d32f8f180 100644
--- a/packages/eslint-plugin/package.json
+++ b/packages/eslint-plugin/package.json
@@ -28,7 +28,7 @@
"@types/eslint": "8",
"@types/estree": "1.0.1",
"@typescript-eslint/parser": "5.61.0",
- "esbuild": "0.18.16",
+ "esbuild": "0.18.19",
"fast-glob": "3.3.1",
"glob": "10.3.1",
"typescript": "5.1.6"
diff --git a/packages/fastify/package.json b/packages/fastify/package.json
index 29cc2e2fde7f..5f64b59fe8a2 100644
--- a/packages/fastify/package.json
+++ b/packages/fastify/package.json
@@ -34,7 +34,7 @@
"@types/aws-lambda": "8.10.119",
"@types/lodash": "4.14.195",
"@types/qs": "6.9.7",
- "esbuild": "0.18.16",
+ "esbuild": "0.18.19",
"typescript": "5.1.6"
},
"gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1"
diff --git a/packages/internal/package.json b/packages/internal/package.json
index 3abae6aae5fb..2a6e7844de20 100644
--- a/packages/internal/package.json
+++ b/packages/internal/package.json
@@ -53,7 +53,7 @@
"chalk": "4.1.2",
"core-js": "3.31.1",
"deepmerge": "4.3.1",
- "esbuild": "0.18.16",
+ "esbuild": "0.18.19",
"fast-glob": "3.3.1",
"fs-extra": "11.1.1",
"graphql": "16.7.1",
diff --git a/packages/project-config/package.json b/packages/project-config/package.json
index a580933e2903..adb329fee33c 100644
--- a/packages/project-config/package.json
+++ b/packages/project-config/package.json
@@ -29,7 +29,7 @@
"string-env-interpolation": "1.0.1"
},
"devDependencies": {
- "esbuild": "0.18.16",
+ "esbuild": "0.18.19",
"jest": "29.6.1",
"rimraf": "5.0.1",
"typescript": "5.1.6"
diff --git a/packages/realtime/package.json b/packages/realtime/package.json
index 903c5b47071f..7b1abe5e4500 100644
--- a/packages/realtime/package.json
+++ b/packages/realtime/package.json
@@ -37,7 +37,7 @@
"@envelop/core": "4.0.0",
"@envelop/testing": "6.0.0",
"@envelop/types": "4.0.0",
- "esbuild": "0.18.16",
+ "esbuild": "0.18.19",
"jest": "29.6.1",
"nodemon": "2.0.22",
"typescript": "5.1.6"
diff --git a/packages/record/package.json b/packages/record/package.json
index c4aefd9a3caf..14ddb2d9d2b3 100644
--- a/packages/record/package.json
+++ b/packages/record/package.json
@@ -36,7 +36,7 @@
"@babel/cli": "7.22.9",
"@babel/core": "7.22.9",
"@prisma/internals": "5.1.0",
- "esbuild": "0.18.16",
+ "esbuild": "0.18.19",
"jest": "29.6.1"
},
"gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1"
diff --git a/packages/tui/package.json b/packages/tui/package.json
index 810de8bdda81..7de5ab4351cf 100644
--- a/packages/tui/package.json
+++ b/packages/tui/package.json
@@ -33,7 +33,7 @@
"stdout-update": "1.6.8"
},
"devDependencies": {
- "esbuild": "0.18.16",
+ "esbuild": "0.18.19",
"jest": "29.6.1",
"typescript": "5.1.6"
}
diff --git a/packages/web-server/package.json b/packages/web-server/package.json
index b5d9caa044de..a9c956bf5520 100644
--- a/packages/web-server/package.json
+++ b/packages/web-server/package.json
@@ -34,7 +34,7 @@
},
"devDependencies": {
"@types/yargs-parser": "21.0.0",
- "esbuild": "0.18.16",
+ "esbuild": "0.18.19",
"typescript": "5.1.6"
},
"gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1"
diff --git a/yarn.lock b/yarn.lock
index 3a2aaacb93b4..3272e5b6ccd6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2627,9 +2627,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/android-arm64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/android-arm64@npm:0.18.16"
+"@esbuild/android-arm64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/android-arm64@npm:0.18.19"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard
@@ -2641,9 +2641,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/android-arm@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/android-arm@npm:0.18.16"
+"@esbuild/android-arm@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/android-arm@npm:0.18.19"
conditions: os=android & cpu=arm
languageName: node
linkType: hard
@@ -2655,9 +2655,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/android-x64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/android-x64@npm:0.18.16"
+"@esbuild/android-x64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/android-x64@npm:0.18.19"
conditions: os=android & cpu=x64
languageName: node
linkType: hard
@@ -2669,9 +2669,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/darwin-arm64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/darwin-arm64@npm:0.18.16"
+"@esbuild/darwin-arm64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/darwin-arm64@npm:0.18.19"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
@@ -2683,9 +2683,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/darwin-x64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/darwin-x64@npm:0.18.16"
+"@esbuild/darwin-x64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/darwin-x64@npm:0.18.19"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
@@ -2697,9 +2697,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/freebsd-arm64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/freebsd-arm64@npm:0.18.16"
+"@esbuild/freebsd-arm64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/freebsd-arm64@npm:0.18.19"
conditions: os=freebsd & cpu=arm64
languageName: node
linkType: hard
@@ -2711,9 +2711,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/freebsd-x64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/freebsd-x64@npm:0.18.16"
+"@esbuild/freebsd-x64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/freebsd-x64@npm:0.18.19"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard
@@ -2725,9 +2725,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-arm64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/linux-arm64@npm:0.18.16"
+"@esbuild/linux-arm64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/linux-arm64@npm:0.18.19"
conditions: os=linux & cpu=arm64
languageName: node
linkType: hard
@@ -2739,9 +2739,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-arm@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/linux-arm@npm:0.18.16"
+"@esbuild/linux-arm@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/linux-arm@npm:0.18.19"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
@@ -2753,9 +2753,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-ia32@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/linux-ia32@npm:0.18.16"
+"@esbuild/linux-ia32@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/linux-ia32@npm:0.18.19"
conditions: os=linux & cpu=ia32
languageName: node
linkType: hard
@@ -2767,9 +2767,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-loong64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/linux-loong64@npm:0.18.16"
+"@esbuild/linux-loong64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/linux-loong64@npm:0.18.19"
conditions: os=linux & cpu=loong64
languageName: node
linkType: hard
@@ -2781,9 +2781,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-mips64el@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/linux-mips64el@npm:0.18.16"
+"@esbuild/linux-mips64el@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/linux-mips64el@npm:0.18.19"
conditions: os=linux & cpu=mips64el
languageName: node
linkType: hard
@@ -2795,9 +2795,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-ppc64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/linux-ppc64@npm:0.18.16"
+"@esbuild/linux-ppc64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/linux-ppc64@npm:0.18.19"
conditions: os=linux & cpu=ppc64
languageName: node
linkType: hard
@@ -2809,9 +2809,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-riscv64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/linux-riscv64@npm:0.18.16"
+"@esbuild/linux-riscv64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/linux-riscv64@npm:0.18.19"
conditions: os=linux & cpu=riscv64
languageName: node
linkType: hard
@@ -2823,9 +2823,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-s390x@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/linux-s390x@npm:0.18.16"
+"@esbuild/linux-s390x@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/linux-s390x@npm:0.18.19"
conditions: os=linux & cpu=s390x
languageName: node
linkType: hard
@@ -2837,9 +2837,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/linux-x64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/linux-x64@npm:0.18.16"
+"@esbuild/linux-x64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/linux-x64@npm:0.18.19"
conditions: os=linux & cpu=x64
languageName: node
linkType: hard
@@ -2851,9 +2851,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/netbsd-x64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/netbsd-x64@npm:0.18.16"
+"@esbuild/netbsd-x64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/netbsd-x64@npm:0.18.19"
conditions: os=netbsd & cpu=x64
languageName: node
linkType: hard
@@ -2865,9 +2865,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/openbsd-x64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/openbsd-x64@npm:0.18.16"
+"@esbuild/openbsd-x64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/openbsd-x64@npm:0.18.19"
conditions: os=openbsd & cpu=x64
languageName: node
linkType: hard
@@ -2879,9 +2879,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/sunos-x64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/sunos-x64@npm:0.18.16"
+"@esbuild/sunos-x64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/sunos-x64@npm:0.18.19"
conditions: os=sunos & cpu=x64
languageName: node
linkType: hard
@@ -2893,9 +2893,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/win32-arm64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/win32-arm64@npm:0.18.16"
+"@esbuild/win32-arm64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/win32-arm64@npm:0.18.19"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
@@ -2907,9 +2907,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/win32-ia32@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/win32-ia32@npm:0.18.16"
+"@esbuild/win32-ia32@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/win32-ia32@npm:0.18.19"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
@@ -2921,9 +2921,9 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/win32-x64@npm:0.18.16":
- version: 0.18.16
- resolution: "@esbuild/win32-x64@npm:0.18.16"
+"@esbuild/win32-x64@npm:0.18.19":
+ version: 0.18.19
+ resolution: "@esbuild/win32-x64@npm:0.18.19"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -7823,7 +7823,7 @@ __metadata:
"@storybook/react-webpack5": 7.2.0
"@types/yargs": 17.0.24
chalk: 4.1.2
- esbuild: 0.18.16
+ esbuild: 0.18.19
execa: 5.1.1
fast-glob: 3.3.1
jest: 29.6.1
@@ -7978,7 +7978,7 @@ __metadata:
css-loader: 6.8.1
css-minimizer-webpack-plugin: 5.0.1
dotenv-webpack: 8.0.1
- esbuild: 0.18.16
+ esbuild: 0.18.19
fast-glob: 3.3.1
file-loader: 6.2.0
graphql: 16.7.1
@@ -8058,7 +8058,7 @@ __metadata:
"@types/estree": 1.0.1
"@typescript-eslint/parser": 5.61.0
"@typescript-eslint/utils": 5.61.0
- esbuild: 0.18.16
+ esbuild: 0.18.19
eslint: 8.45.0
fast-glob: 3.3.1
glob: 10.3.1
@@ -8079,7 +8079,7 @@ __metadata:
"@types/lodash": 4.14.195
"@types/qs": 6.9.7
ansi-colors: 4.1.3
- esbuild: 0.18.16
+ esbuild: 0.18.19
fast-glob: 3.3.1
fastify: 4.21.0
fastify-raw-body: 4.2.1
@@ -8194,7 +8194,7 @@ __metadata:
chalk: 4.1.2
core-js: 3.31.1
deepmerge: 4.3.1
- esbuild: 0.18.16
+ esbuild: 0.18.19
fast-glob: 3.3.1
fs-extra: 11.1.1
graphql: 16.7.1
@@ -8250,7 +8250,7 @@ __metadata:
dependencies:
"@iarna/toml": 2.2.5
deepmerge: 4.3.1
- esbuild: 0.18.16
+ esbuild: 0.18.19
fast-glob: 3.3.1
jest: 29.6.1
rimraf: 5.0.1
@@ -8273,7 +8273,7 @@ __metadata:
"@graphql-yoga/subscription": 4.0.0
"@n1ru4l/graphql-live-query": 0.10.0
"@n1ru4l/in-memory-live-query-store": 0.10.0
- esbuild: 0.18.16
+ esbuild: 0.18.19
graphql: 16.7.1
ioredis: 5.3.2
jest: 29.6.1
@@ -8298,7 +8298,7 @@ __metadata:
"@prisma/internals": 5.1.0
"@redwoodjs/project-config": 6.0.3
core-js: 3.31.1
- esbuild: 0.18.16
+ esbuild: 0.18.19
jest: 29.6.1
languageName: unknown
linkType: soft
@@ -8478,7 +8478,7 @@ __metadata:
boxen: 5.1.2
chalk: 4.1.2
enquirer: 2.3.6
- esbuild: 0.18.16
+ esbuild: 0.18.19
jest: 29.6.1
stdout-update: 1.6.8
typescript: 5.1.6
@@ -8530,7 +8530,7 @@ __metadata:
"@types/yargs-parser": 21.0.0
chalk: 4.1.2
dotenv-defaults: 5.0.2
- esbuild: 0.18.16
+ esbuild: 0.18.19
fast-glob: 3.3.1
fastify: 4.21.0
typescript: 5.1.6
@@ -15503,7 +15503,7 @@ __metadata:
check-node-version: 4.2.1
ci-info: 3.8.0
envinfo: 7.9.0
- esbuild: 0.18.16
+ esbuild: 0.18.19
execa: 5.1.1
fs-extra: 11.1.1
jest: 29.6.1
@@ -17174,32 +17174,32 @@ __metadata:
languageName: node
linkType: hard
-"esbuild@npm:0.18.16, esbuild@npm:^0.18.0, esbuild@npm:^0.18.10":
- version: 0.18.16
- resolution: "esbuild@npm:0.18.16"
- dependencies:
- "@esbuild/android-arm": 0.18.16
- "@esbuild/android-arm64": 0.18.16
- "@esbuild/android-x64": 0.18.16
- "@esbuild/darwin-arm64": 0.18.16
- "@esbuild/darwin-x64": 0.18.16
- "@esbuild/freebsd-arm64": 0.18.16
- "@esbuild/freebsd-x64": 0.18.16
- "@esbuild/linux-arm": 0.18.16
- "@esbuild/linux-arm64": 0.18.16
- "@esbuild/linux-ia32": 0.18.16
- "@esbuild/linux-loong64": 0.18.16
- "@esbuild/linux-mips64el": 0.18.16
- "@esbuild/linux-ppc64": 0.18.16
- "@esbuild/linux-riscv64": 0.18.16
- "@esbuild/linux-s390x": 0.18.16
- "@esbuild/linux-x64": 0.18.16
- "@esbuild/netbsd-x64": 0.18.16
- "@esbuild/openbsd-x64": 0.18.16
- "@esbuild/sunos-x64": 0.18.16
- "@esbuild/win32-arm64": 0.18.16
- "@esbuild/win32-ia32": 0.18.16
- "@esbuild/win32-x64": 0.18.16
+"esbuild@npm:0.18.19, esbuild@npm:^0.18.0, esbuild@npm:^0.18.10":
+ version: 0.18.19
+ resolution: "esbuild@npm:0.18.19"
+ dependencies:
+ "@esbuild/android-arm": 0.18.19
+ "@esbuild/android-arm64": 0.18.19
+ "@esbuild/android-x64": 0.18.19
+ "@esbuild/darwin-arm64": 0.18.19
+ "@esbuild/darwin-x64": 0.18.19
+ "@esbuild/freebsd-arm64": 0.18.19
+ "@esbuild/freebsd-x64": 0.18.19
+ "@esbuild/linux-arm": 0.18.19
+ "@esbuild/linux-arm64": 0.18.19
+ "@esbuild/linux-ia32": 0.18.19
+ "@esbuild/linux-loong64": 0.18.19
+ "@esbuild/linux-mips64el": 0.18.19
+ "@esbuild/linux-ppc64": 0.18.19
+ "@esbuild/linux-riscv64": 0.18.19
+ "@esbuild/linux-s390x": 0.18.19
+ "@esbuild/linux-x64": 0.18.19
+ "@esbuild/netbsd-x64": 0.18.19
+ "@esbuild/openbsd-x64": 0.18.19
+ "@esbuild/sunos-x64": 0.18.19
+ "@esbuild/win32-arm64": 0.18.19
+ "@esbuild/win32-ia32": 0.18.19
+ "@esbuild/win32-x64": 0.18.19
dependenciesMeta:
"@esbuild/android-arm":
optional: true
@@ -17247,7 +17247,7 @@ __metadata:
optional: true
bin:
esbuild: bin/esbuild
- checksum: 7cb68f18fe10da783195d9b382956de6dc2084e60ef5843f17dc3a5114ba8f51578ff68076ec6039f0c583ba95f22fa0502a7b2eb9236d6d1bdd9987142d6021
+ checksum: 328b16c96a7eba98c94ff9462a61dd00ca8f89a8f1bae89f2486e28fad816d6caa899e2a3994adf886990d1d64645bc8c7527b3cc6c698c4797477f634e0fad8
languageName: node
linkType: hard
From 2631a069f470f94ea5a6ce199ace27cda24b4db4 Mon Sep 17 00:00:00 2001
From: Tobbe Lundberg
Date: Tue, 8 Aug 2023 20:05:44 +0200
Subject: [PATCH 03/14] Docs: Explain the entry.client.{jsx,tsx} file (#8987)
RW v6 (our implementation of Vite support really) introduces a new file,
`entry.client.{jsx,tsx}`.
This PR adds a short description of this file to the tutorial
This is a follow-up to the changes made here
https://github.com/redwoodjs/redwood/pull/8959
---------
Co-authored-by: Dominic Saadi
---
docs/docs/tutorial/chapter1/file-structure.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/docs/docs/tutorial/chapter1/file-structure.md b/docs/docs/tutorial/chapter1/file-structure.md
index 199b43dd1261..cbf375035bc8 100644
--- a/docs/docs/tutorial/chapter1/file-structure.md
+++ b/docs/docs/tutorial/chapter1/file-structure.md
@@ -142,8 +142,9 @@ That's it for the backend.
- `NotFoundPage.{jsx,tsx}` will be served when no other route is found (see `Routes.{jsx,tsx}` below).
- `FatalErrorPage.{jsx,tsx}` will be rendered when there is an uncaught error that can't be recovered from and would otherwise cause our application to really blow up (normally rendering a blank page).
- `App.{jsx,tsx}` the bootstrapping code to get our Redwood app up and running.
+ - `entry.client.{jsx,tsx}` is the standard React starting point for our app.
- `index.css` is a good starting place for custom CSS, but there are many options (we like [TailwindCSS](https://tailwindcss.com/) which, believe it or not, may not require you to write any custom CSS for the life of your app!)
- - `index.html` is the standard React starting point for our app.
+ - `index.html` is what's first sent to a visitor's browser. It fetches `entry.client.{jsx,tsx}`.
- `Routes.{jsx,tsx}` the route definitions for our app which map a URL to a _Page_.
We'll dip in and out of these directories and files (and create some new ones) as we work through the tutorial.
From 0167be7754ab49024f7be2a18ad02807f21221dc Mon Sep 17 00:00:00 2001
From: David Thyresson
Date: Tue, 8 Aug 2023 15:08:07 -0400
Subject: [PATCH 04/14] fix: Improve GraphQL Schema Validation to allow
Subscription types when not using Realtime and ensure schema does not use
reserved names (#9005)
See: https://github.com/redwoodjs/redwood/issues/8988
1. In GraphQL there are many reserved names - `Subscription` being one
of them.
And Redwood's schema validation checks that a validator directive is
applied to queries, mutations -- and subscriptions.
However, we have cases where existing RW apps have used `Subscription`
as a model and a type.
This PR will only check for the directive on Subscriptions if Redwood
Realtime is enabled.
Note: a workaround is to keep your Prisma model named Subscription, but
just rename the type to something like "CustomerSubscription" or
"ProductSubscription" and rework your services to have resolver types
that match your GraphQL schema.
2. This PR also will raise errors when reserved names are uses as types
,inputs or interfaces -- like if for example you had a Prisma model and
a generated type like "Float" because maybe you had a fishing or sailing
store and needed to have a collection of floats :)
Note to @jtoar - this is a potentially breaking changes because some
projects might be using reserved GraphQL names as types but really
shouldn't to mitigate issues downstream.
---------
Co-authored-by: Dominic Saadi
---
...alidateSchemaForReservedNames.test.ts.snap | 19 ++
.../validateSchemaForAuthDirectives.test.ts | 4 +-
.../validateSchemaForReservedNames.test.ts | 177 ++++++++++++++++++
packages/internal/src/project.ts | 26 +++
packages/internal/src/validateSchema.ts | 69 ++++++-
5 files changed, 290 insertions(+), 5 deletions(-)
create mode 100644 packages/internal/src/__tests__/__snapshots__/validateSchemaForReservedNames.test.ts.snap
create mode 100644 packages/internal/src/__tests__/validateSchemaForReservedNames.test.ts
diff --git a/packages/internal/src/__tests__/__snapshots__/validateSchemaForReservedNames.test.ts.snap b/packages/internal/src/__tests__/__snapshots__/validateSchemaForReservedNames.test.ts.snap
new file mode 100644
index 000000000000..3f30dbda5375
--- /dev/null
+++ b/packages/internal/src/__tests__/__snapshots__/validateSchemaForReservedNames.test.ts.snap
@@ -0,0 +1,19 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`SDL with no reserved names used SDL is invalid because uses a reserved name as a type 1`] = `
+"The type named 'Float' is a reserved GraphQL name.
+Please rename it to something more specific, like: ApplicationFloat.
+"
+`;
+
+exports[`SDL with no reserved names used because uses a reserved name as an input 1`] = `
+"The input type named 'Float' is a reserved GraphQL name.
+Please rename it to something more specific, like: ApplicationFloat.
+"
+`;
+
+exports[`SDL with no reserved names used because uses a reserved name as an interface 1`] = `
+"The interface named 'Float' is a reserved GraphQL name.
+Please rename it to something more specific, like: ApplicationFloat.
+"
+`;
diff --git a/packages/internal/src/__tests__/validateSchemaForAuthDirectives.test.ts b/packages/internal/src/__tests__/validateSchemaForAuthDirectives.test.ts
index 977e41b3c3b5..3d745d9e1a82 100644
--- a/packages/internal/src/__tests__/validateSchemaForAuthDirectives.test.ts
+++ b/packages/internal/src/__tests__/validateSchemaForAuthDirectives.test.ts
@@ -8,7 +8,7 @@ import { DocumentNode } from 'graphql'
import { getPaths } from '@redwoodjs/project-config'
import {
- validateSchemaForDirectives,
+ validateSchema,
DIRECTIVE_REQUIRED_ERROR_MESSAGE,
DIRECTIVE_INVALID_ROLE_TYPES_ERROR_MESSAGE,
} from '../validateSchema'
@@ -43,7 +43,7 @@ const validateSdlFile = async (sdlFile: string) => {
// Merge in the rootSchema with JSON scalars, etc.
const mergedDocumentNode = mergeTypeDefs([projectDocumentNodes])
- validateSchemaForDirectives(mergedDocumentNode)
+ validateSchema(mergedDocumentNode)
}
describe('SDL uses auth directives', () => {
diff --git a/packages/internal/src/__tests__/validateSchemaForReservedNames.test.ts b/packages/internal/src/__tests__/validateSchemaForReservedNames.test.ts
new file mode 100644
index 000000000000..695337441c6a
--- /dev/null
+++ b/packages/internal/src/__tests__/validateSchemaForReservedNames.test.ts
@@ -0,0 +1,177 @@
+import path from 'path'
+
+import { DocumentNode } from 'graphql'
+import gql from 'graphql-tag'
+
+import { validateSchema } from '../validateSchema'
+
+const FIXTURE_PATH = path.resolve(
+ __dirname,
+ '../../../../__fixtures__/example-todo-main'
+)
+
+beforeAll(() => {
+ process.env.RWJS_CWD = FIXTURE_PATH
+})
+afterAll(() => {
+ delete process.env.RWJS_CWD
+})
+
+const validateSdlFile = async (document: DocumentNode) => {
+ validateSchema(document)
+}
+
+describe('SDL with no reserved names used', () => {
+ describe('SDL is valid', () => {
+ test('with proper type definition names', async () => {
+ const document = gql`
+ type Message {
+ from: String
+ body: String
+ }
+
+ type Query {
+ room(id: ID!): [Message!]! @skipAuth
+ }
+
+ input SendMessageInput {
+ roomId: ID!
+ from: String!
+ body: String!
+ }
+
+ type Mutation {
+ sendMessage(input: SendMessageInput!): Message! @skipAuth
+ }
+ `
+
+ await expect(validateSdlFile(document)).resolves.not.toThrowError()
+ })
+ test('with proper interface interface definition names', async () => {
+ const document = gql`
+ interface Node {
+ id: ID!
+ }
+
+ type Message implements Node {
+ id: ID!
+ from: String
+ body: String
+ }
+
+ type Query {
+ room(id: ID!): [Message!]! @skipAuth
+ }
+ `
+ await expect(validateSdlFile(document)).resolves.not.toThrowError()
+ })
+ test('with proper interface input type definition names', async () => {
+ const document = gql`
+ type Message {
+ from: String
+ body: String
+ }
+
+ type Query {
+ room(id: ID!): [Message!]! @skipAuth
+ }
+
+ input SendMessageInput {
+ roomId: ID!
+ from: String!
+ body: String!
+ }
+
+ type Mutation {
+ sendMessage(input: SendMessageInput!): Message! @skipAuth
+ }
+ `
+ await expect(validateSdlFile(document)).resolves.not.toThrowError()
+ })
+ })
+
+ describe('SDL is invalid', () => {
+ test('because uses a reserved name as a type', async () => {
+ const document = gql`
+ type Float {
+ from: String
+ body: String
+ }
+
+ type Query {
+ room(id: ID!): [Message!]! @skipAuth
+ }
+
+ input SendMessageInput {
+ roomId: ID!
+ from: String!
+ body: String!
+ }
+
+ type Mutation {
+ sendMessage(input: SendMessageInput!): Message! @skipAuth
+ }
+ `
+ await expect(
+ validateSdlFile(document)
+ ).rejects.toThrowErrorMatchingSnapshot()
+ })
+ })
+
+ test('because uses a reserved name as an input', async () => {
+ const document = gql`
+ type Message {
+ from: String
+ body: String
+ }
+
+ type Query {
+ room(id: ID!): [Message!]! @skipAuth
+ }
+
+ input Float {
+ roomId: ID!
+ from: String!
+ body: String!
+ }
+
+ type Mutation {
+ sendMessage(input: SendMessageInput!): Message! @skipAuth
+ }
+ `
+ await expect(
+ validateSdlFile(document)
+ ).rejects.toThrowErrorMatchingSnapshot()
+ })
+
+ test('because uses a reserved name as an interface', async () => {
+ const document = gql`
+ interface Float {
+ id: ID!
+ }
+
+ type Message implements Float {
+ id: ID!
+ from: String
+ body: String
+ }
+
+ type Query {
+ room(id: ID!): [Message!]! @skipAuth
+ }
+
+ input SendMessageInput {
+ roomId: ID!
+ from: String!
+ body: String!
+ }
+
+ type Mutation {
+ sendMessage(input: SendMessageInput!): Message! @skipAuth
+ }
+ `
+ await expect(
+ validateSdlFile(document)
+ ).rejects.toThrowErrorMatchingSnapshot()
+ })
+})
diff --git a/packages/internal/src/project.ts b/packages/internal/src/project.ts
index c1607d7341cd..d16a458e536c 100644
--- a/packages/internal/src/project.ts
+++ b/packages/internal/src/project.ts
@@ -29,3 +29,29 @@ export const getTsConfigs = () => {
web: webTsConfig?.config ?? null,
}
}
+
+export const isTypeScriptProject = () => {
+ const paths = getPaths()
+ return (
+ fs.existsSync(path.join(paths.web.base, 'tsconfig.json')) ||
+ fs.existsSync(path.join(paths.api.base, 'tsconfig.json'))
+ )
+}
+
+export const isServerFileSetup = () => {
+ const serverFilePath = path.join(
+ getPaths().api.src,
+ `server.${isTypeScriptProject() ? 'ts' : 'js'}`
+ )
+
+ return fs.existsSync(serverFilePath)
+}
+
+export const isRealtimeSetup = () => {
+ const realtimePath = path.join(
+ getPaths().api.lib,
+ `realtime.${isTypeScriptProject() ? 'ts' : 'js'}`
+ )
+
+ return fs.existsSync(realtimePath)
+}
diff --git a/packages/internal/src/validateSchema.ts b/packages/internal/src/validateSchema.ts
index 613ccf2ee437..83c525005b1f 100644
--- a/packages/internal/src/validateSchema.ts
+++ b/packages/internal/src/validateSchema.ts
@@ -6,20 +6,74 @@ import { DocumentNode, Kind, ObjectTypeDefinitionNode, visit } from 'graphql'
import { rootSchema } from '@redwoodjs/graphql-server'
import { getPaths } from '@redwoodjs/project-config'
+import { isServerFileSetup, isRealtimeSetup } from './project'
+
export const DIRECTIVE_REQUIRED_ERROR_MESSAGE =
'You must specify one of @requireAuth, @skipAuth or a custom directive'
export const DIRECTIVE_INVALID_ROLE_TYPES_ERROR_MESSAGE =
'Please check that the requireAuth roles is a string or an array of strings.'
-export function validateSchemaForDirectives(
+
+/**
+ * These are names that are commonly used in GraphQL schemas as scalars
+ * and would cause a conflict if used as a type name.
+ *
+ * Note: Query, Mutation, and Subscription are not included here because
+ * they are checked for separately.
+ */
+export const RESERVED_TYPES = [
+ 'Int',
+ 'Float',
+ 'Boolean',
+ 'String',
+ 'DateTime',
+ 'ID',
+ 'uid',
+ 'as',
+]
+
+export function validateSchema(
schemaDocumentNode: DocumentNode,
- typesToCheck: string[] = ['Query', 'Mutation', 'Subscription']
+ typesToCheck: string[] = ['Query', 'Mutation']
) {
const validationOutput: string[] = []
+ const reservedNameValidationOutput: Record = []
const directiveRoleValidationOutput: Record = []
+ // Is Subscriptions are enabled with Redwood Realtime, then enforce a rule
+ // that a Subscription type needs to have a authentication directive applied,
+ // just as Query and Mutation requires
+ if (isServerFileSetup() && isRealtimeSetup()) {
+ typesToCheck.push('Subscription')
+ }
+
visit(schemaDocumentNode, {
+ InterfaceTypeDefinition(typeNode) {
+ // Warn that an interface definition in the SDL is using a reserved GraphQL type
+ if (RESERVED_TYPES.includes(typeNode.name.value)) {
+ reservedNameValidationOutput.push({
+ objectType: 'interface',
+ name: typeNode.name.value,
+ })
+ }
+ },
+ InputObjectTypeDefinition(typeNode) {
+ // Warn that an input definition in the SDL is using a reserved GraphQL type
+ if (RESERVED_TYPES.includes(typeNode.name.value)) {
+ reservedNameValidationOutput.push({
+ objectType: 'input type',
+ name: typeNode.name.value,
+ })
+ }
+ },
ObjectTypeDefinition(typeNode) {
+ // Warn that a type definition in the SDL is using a reserved GraphQL type
+ if (RESERVED_TYPES.includes(typeNode.name.value)) {
+ reservedNameValidationOutput.push({
+ objectType: 'type',
+ name: typeNode.name.value,
+ })
+ }
if (typesToCheck.includes(typeNode.name.value)) {
for (const field of typeNode.fields ||
([] as ObjectTypeDefinitionNode[])) {
@@ -102,6 +156,15 @@ export function validateSchemaForDirectives(
)} \n\nFor example: @requireAuth(roles: "admin") or @requireAuth(roles: ["admin", "editor"])`
)
}
+
+ if (reservedNameValidationOutput.length > 0) {
+ const reservedNameMsg = reservedNameValidationOutput.map(
+ (output: Record) => {
+ return `The ${output.objectType} named '${output.name}' is a reserved GraphQL name.\nPlease rename it to something more specific, like: Application${output.name}.\n`
+ }
+ )
+ throw new TypeError(reservedNameMsg.join('\n'))
+ }
}
export const loadAndValidateSdls = async () => {
@@ -137,5 +200,5 @@ export const loadAndValidateSdls = async () => {
projectDocumentNodes,
])
- validateSchemaForDirectives(mergedDocumentNode)
+ validateSchema(mergedDocumentNode)
}
From efa86ef7f10a92b6ac559808f99d2232e41d7d1a Mon Sep 17 00:00:00 2001
From: Dominic Saadi
Date: Tue, 8 Aug 2023 17:11:52 -0700
Subject: [PATCH 05/14] cherry pick part of "fix: Improve GraphQL Schema
Validation to allow Subscription types when not using Realtime and ensure
schema does not use reserved names (#9005)"
---
packages/internal/src/project.ts | 26 +++++++++++++++++++++++++
packages/internal/src/validateSchema.ts | 11 ++++++++++-
2 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/packages/internal/src/project.ts b/packages/internal/src/project.ts
index c1607d7341cd..d16a458e536c 100644
--- a/packages/internal/src/project.ts
+++ b/packages/internal/src/project.ts
@@ -29,3 +29,29 @@ export const getTsConfigs = () => {
web: webTsConfig?.config ?? null,
}
}
+
+export const isTypeScriptProject = () => {
+ const paths = getPaths()
+ return (
+ fs.existsSync(path.join(paths.web.base, 'tsconfig.json')) ||
+ fs.existsSync(path.join(paths.api.base, 'tsconfig.json'))
+ )
+}
+
+export const isServerFileSetup = () => {
+ const serverFilePath = path.join(
+ getPaths().api.src,
+ `server.${isTypeScriptProject() ? 'ts' : 'js'}`
+ )
+
+ return fs.existsSync(serverFilePath)
+}
+
+export const isRealtimeSetup = () => {
+ const realtimePath = path.join(
+ getPaths().api.lib,
+ `realtime.${isTypeScriptProject() ? 'ts' : 'js'}`
+ )
+
+ return fs.existsSync(realtimePath)
+}
diff --git a/packages/internal/src/validateSchema.ts b/packages/internal/src/validateSchema.ts
index 613ccf2ee437..f0f88e0b8544 100644
--- a/packages/internal/src/validateSchema.ts
+++ b/packages/internal/src/validateSchema.ts
@@ -6,6 +6,8 @@ import { DocumentNode, Kind, ObjectTypeDefinitionNode, visit } from 'graphql'
import { rootSchema } from '@redwoodjs/graphql-server'
import { getPaths } from '@redwoodjs/project-config'
+import { isServerFileSetup, isRealtimeSetup } from './project'
+
export const DIRECTIVE_REQUIRED_ERROR_MESSAGE =
'You must specify one of @requireAuth, @skipAuth or a custom directive'
@@ -13,11 +15,18 @@ export const DIRECTIVE_INVALID_ROLE_TYPES_ERROR_MESSAGE =
'Please check that the requireAuth roles is a string or an array of strings.'
export function validateSchemaForDirectives(
schemaDocumentNode: DocumentNode,
- typesToCheck: string[] = ['Query', 'Mutation', 'Subscription']
+ typesToCheck: string[] = ['Query', 'Mutation']
) {
const validationOutput: string[] = []
const directiveRoleValidationOutput: Record = []
+ // Is Subscriptions are enabled with Redwood Realtime, then enforce a rule
+ // that a Subscription type needs to have a authentication directive applied,
+ // just as Query and Mutation requires
+ if (isServerFileSetup() && isRealtimeSetup()) {
+ typesToCheck.push('Subscription')
+ }
+
visit(schemaDocumentNode, {
ObjectTypeDefinition(typeNode) {
if (typesToCheck.includes(typeNode.name.value)) {
From bd2bd971984fdd6a0a0204e5c82ca895f8d0b788 Mon Sep 17 00:00:00 2001
From: Dominic Saadi
Date: Tue, 8 Aug 2023 17:26:26 -0700
Subject: [PATCH 06/14] fix(docs): update quick start to fix Storybook start up
(#9014)
Fixes
https://community.redwoodjs.com/t/quick-start-tutorial-storybook-section-throws-error/5175.
---
__fixtures__/test-project/README.md | 41 ++++++-------
__fixtures__/test-project/web/package.json | 7 +--
.../AuthorCell/AuthorCell.stories.tsx | 8 +--
.../BlogPostCell/BlogPostCell.stories.tsx | 8 +--
.../BlogPostsCell/BlogPostsCell.stories.tsx | 8 +--
.../WaterfallBlogPostCell.stories.tsx | 8 +--
__fixtures__/test-project/web/src/index.css | 10 ++--
.../src/pages/AboutPage/AboutPage.stories.tsx | 2 +-
docs/docs/quick-start.md | 12 +++-
.../create-redwood-app/templates/js/README.md | 41 ++++++-------
.../create-redwood-app/templates/ts/README.md | 41 ++++++-------
.../rebuild-test-project-fixture.js | 60 +++++++------------
12 files changed, 121 insertions(+), 125 deletions(-)
diff --git a/__fixtures__/test-project/README.md b/__fixtures__/test-project/README.md
index 0b8e17b79a45..08f58865b056 100644
--- a/__fixtures__/test-project/README.md
+++ b/__fixtures__/test-project/README.md
@@ -4,7 +4,7 @@ Welcome to [RedwoodJS](https://redwoodjs.com)!
> **Prerequisites**
>
-> - Redwood requires [Node.js](https://nodejs.org/en/) (>=18.x) and [Yarn](https://yarnpkg.com/) (>=1.15)
+> - Redwood requires [Node.js](https://nodejs.org/en/) (=18.x) and [Yarn](https://yarnpkg.com/) (>=1.15)
> - Are you on Windows? For best results, follow our [Windows development setup](https://redwoodjs.com/docs/how-to/windows-development-setup) guide
Start by installing dependencies:
@@ -13,30 +13,29 @@ Start by installing dependencies:
yarn install
```
-Then change into that directory and start the development server:
+Then start the development server:
```
-cd my-redwood-project
yarn redwood dev
```
-Your browser should automatically open to http://localhost:8910 where you'll see the Welcome Page, which links to many great resources.
+Your browser should automatically open to [http://localhost:8910](http://localhost:8910) where you'll see the Welcome Page, which links out to many great resources.
> **The Redwood CLI**
>
-> Congratulations on running your first Redwood CLI command!
-> From dev to deploy, the CLI is with you the whole way.
-> And there's quite a few commands at your disposal:
+> Congratulations on running your first Redwood CLI command! From dev to deploy, the CLI is with you the whole way. And there's quite a few commands at your disposal:
+>
> ```
> yarn redwood --help
> ```
+>
> For all the details, see the [CLI reference](https://redwoodjs.com/docs/cli-commands).
## Prisma and the database
Redwood wouldn't be a full-stack framework without a database. It all starts with the schema. Open the [`schema.prisma`](api/db/schema.prisma) file in `api/db` and replace the `UserExample` model with the following `Post` model:
-```
+```prisma
model Post {
id Int @id @default(autoincrement())
title String
@@ -62,24 +61,28 @@ You'll be prompted for the name of your migration. `create posts` will do.
Now let's generate everything we need to perform all the CRUD (Create, Retrieve, Update, Delete) actions on our `Post` model:
```
-yarn redwood g scaffold post
+yarn redwood generate scaffold post
```
-Navigate to http://localhost:8910/posts/new, fill in the title and body, and click "Save":
+Navigate to [http://localhost:8910/posts/new](http://localhost:8910/posts/new), fill in the title and body, and click "Save".
-Did we just create a post in the database? Yup! With `yarn rw g scaffold `, Redwood created all the pages, components, and services necessary to perform all CRUD actions on our posts table.
+Did we just create a post in the database? Yup! With `yarn rw generate scaffold `, Redwood created all the pages, components, and services necessary to perform all CRUD actions on our posts table.
## Frontend first with Storybook
-Don't know what your data models look like?
-That's more than okβRedwood integrates Storybook so that you can work on design without worrying about data.
-Mockup, build, and verify your React components, even in complete isolation from the backend:
+Don't know what your data models look like? That's more than okβRedwood integrates Storybook so that you can work on design without worrying about data. Mockup, build, and verify your React components, even in complete isolation from the backend:
```
yarn rw storybook
```
-Before you start, see if the CLI's `setup ui` command has your favorite styling library:
+Seeing "Couldn't find any stories"? That's because you need a `*.stories.{tsx,jsx}` file. The Redwood CLI makes getting one easy enoughβtry generating a [Cell](https://redwoodjs.com/docs/cells), Redwood's data-fetching abstraction:
+
+```
+yarn rw generate cell examplePosts
+```
+
+The Storybook server should hot reload and now you'll have four stories to work with. They'll probably look a little bland since there's no styling. See if the Redwood CLI's `setup ui` command has your favorite styling library:
```
yarn rw setup ui --help
@@ -87,14 +90,13 @@ yarn rw setup ui --help
## Testing with Jest
-It'd be hard to scale from side project to startup without a few tests.
-Redwood fully integrates Jest with the front and the backends and makes it easy to keep your whole app covered by generating test files with all your components and services:
+It'd be hard to scale from side project to startup without a few tests. Redwood fully integrates Jest with both the front- and back-ends, and makes it easy to keep your whole app covered by generating test files with all your components and services:
```
yarn rw test
```
-To make the integration even more seamless, Redwood augments Jest with database [scenarios](https://redwoodjs.com/docs/testing.md#scenarios) and [GraphQL mocking](https://redwoodjs.com/docs/testing.md#mocking-graphql-calls).
+To make the integration even more seamless, Redwood augments Jest with database [scenarios](https://redwoodjs.com/docs/testing#scenarios) and [GraphQL mocking](https://redwoodjs.com/docs/testing#mocking-graphql-calls).
## Ship it
@@ -104,8 +106,7 @@ Redwood is designed for both serverless deploy targets like Netlify and Vercel a
yarn rw setup deploy --help
```
-Don't go live without auth!
-Lock down your front and backends with Redwood's built-in, database-backed authentication system ([dbAuth](https://redwoodjs.com/docs/authentication#self-hosted-auth-installation-and-setup)), or integrate with nearly a dozen third party auth providers:
+Don't go live without auth! Lock down your app with Redwood's built-in, database-backed authentication system ([dbAuth](https://redwoodjs.com/docs/authentication#self-hosted-auth-installation-and-setup)), or integrate with nearly a dozen third-party auth providers:
```
yarn rw setup auth --help
diff --git a/__fixtures__/test-project/web/package.json b/__fixtures__/test-project/web/package.json
index 4ec608291ece..37231c8e3ce9 100644
--- a/__fixtures__/test-project/web/package.json
+++ b/__fixtures__/test-project/web/package.json
@@ -23,10 +23,9 @@
"devDependencies": {
"@redwoodjs/vite": "6.0.3",
"autoprefixer": "^10.4.14",
- "postcss": "^8.4.25",
+ "postcss": "^8.4.27",
"postcss-loader": "^7.3.3",
- "prettier-plugin-tailwindcss": "^0.3.0",
- "storybook": "^7.0.26",
- "tailwindcss": "^3.3.2"
+ "prettier-plugin-tailwindcss": "^0.4.1",
+ "tailwindcss": "^3.3.3"
}
}
diff --git a/__fixtures__/test-project/web/src/components/AuthorCell/AuthorCell.stories.tsx b/__fixtures__/test-project/web/src/components/AuthorCell/AuthorCell.stories.tsx
index 3a5b334f6e03..8d535ed2fb9b 100644
--- a/__fixtures__/test-project/web/src/components/AuthorCell/AuthorCell.stories.tsx
+++ b/__fixtures__/test-project/web/src/components/AuthorCell/AuthorCell.stories.tsx
@@ -11,24 +11,24 @@ export default meta
export const loading: StoryObj = {
render: () => {
- return Loading ? : <>>;
+ return Loading ? : <>>
},
}
export const empty: StoryObj = {
render: () => {
- return Empty ? : <>>;
+ return Empty ? : <>>
},
}
export const failure: StoryObj = {
render: (args) => {
- return Failure ? : <>>;
+ return Failure ? : <>>
},
}
export const success: StoryObj = {
render: (args) => {
- return Success ? : <>>;
+ return Success ? : <>>
},
}
diff --git a/__fixtures__/test-project/web/src/components/BlogPostCell/BlogPostCell.stories.tsx b/__fixtures__/test-project/web/src/components/BlogPostCell/BlogPostCell.stories.tsx
index 962c48fe5246..797fb9c7c1dc 100644
--- a/__fixtures__/test-project/web/src/components/BlogPostCell/BlogPostCell.stories.tsx
+++ b/__fixtures__/test-project/web/src/components/BlogPostCell/BlogPostCell.stories.tsx
@@ -11,24 +11,24 @@ export default meta
export const loading: StoryObj = {
render: () => {
- return Loading ? : <>>;
+ return Loading ? : <>>
},
}
export const empty: StoryObj = {
render: () => {
- return Empty ? : <>>;
+ return Empty ? : <>>
},
}
export const failure: StoryObj = {
render: (args) => {
- return Failure ? : <>>;
+ return Failure ? : <>>
},
}
export const success: StoryObj = {
render: (args) => {
- return Success ? : <>>;
+ return Success ? : <>>
},
}
diff --git a/__fixtures__/test-project/web/src/components/BlogPostsCell/BlogPostsCell.stories.tsx b/__fixtures__/test-project/web/src/components/BlogPostsCell/BlogPostsCell.stories.tsx
index 7c7a32dda115..75950a785a0e 100644
--- a/__fixtures__/test-project/web/src/components/BlogPostsCell/BlogPostsCell.stories.tsx
+++ b/__fixtures__/test-project/web/src/components/BlogPostsCell/BlogPostsCell.stories.tsx
@@ -11,24 +11,24 @@ export default meta
export const loading: StoryObj = {
render: () => {
- return Loading ? : <>>;
+ return Loading ? : <>>
},
}
export const empty: StoryObj = {
render: () => {
- return Empty ? : <>>;
+ return Empty ? : <>>
},
}
export const failure: StoryObj = {
render: (args) => {
- return Failure ? : <>>;
+ return Failure ? : <>>
},
}
export const success: StoryObj = {
render: (args) => {
- return Success ? : <>>;
+ return Success ? : <>>
},
}
diff --git a/__fixtures__/test-project/web/src/components/WaterfallBlogPostCell/WaterfallBlogPostCell.stories.tsx b/__fixtures__/test-project/web/src/components/WaterfallBlogPostCell/WaterfallBlogPostCell.stories.tsx
index 466e409b805e..e1781c510d54 100644
--- a/__fixtures__/test-project/web/src/components/WaterfallBlogPostCell/WaterfallBlogPostCell.stories.tsx
+++ b/__fixtures__/test-project/web/src/components/WaterfallBlogPostCell/WaterfallBlogPostCell.stories.tsx
@@ -11,24 +11,24 @@ export default meta
export const loading: StoryObj = {
render: () => {
- return Loading ? : <>>;
+ return Loading ? : <>>
},
}
export const empty: StoryObj = {
render: () => {
- return Empty ? : <>>;
+ return Empty ? : <>>
},
}
export const failure: StoryObj = {
render: (args) => {
- return Failure ? : <>>;
+ return Failure ? : <>>
},
}
export const success: StoryObj = {
render: (args) => {
- return Success ? : <>>;
+ return Success ? : <>>
},
}
diff --git a/__fixtures__/test-project/web/src/index.css b/__fixtures__/test-project/web/src/index.css
index 027a7cd88a2a..b31cb3378fae 100644
--- a/__fixtures__/test-project/web/src/index.css
+++ b/__fixtures__/test-project/web/src/index.css
@@ -1,13 +1,13 @@
/**
* START --- SETUP TAILWINDCSS EDIT
*
- * `yarn rw setup ui tailwindcss` placed these imports here
+ * `yarn rw setup ui tailwindcss` placed these directives here
* to inject Tailwind's styles into your CSS.
- * For more information, see: https://tailwindcss.com/docs/installation#include-tailwind-in-your-css
+ * For more information, see: https://tailwindcss.com/docs/installation
*/
-@import 'tailwindcss/base';
-@import 'tailwindcss/components';
-@import 'tailwindcss/utilities';
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
/**
* END --- SETUP TAILWINDCSS EDIT
*/
diff --git a/__fixtures__/test-project/web/src/pages/AboutPage/AboutPage.stories.tsx b/__fixtures__/test-project/web/src/pages/AboutPage/AboutPage.stories.tsx
index fcf2e0439eaa..b8259100eb85 100644
--- a/__fixtures__/test-project/web/src/pages/AboutPage/AboutPage.stories.tsx
+++ b/__fixtures__/test-project/web/src/pages/AboutPage/AboutPage.stories.tsx
@@ -4,7 +4,7 @@ import AboutPage from './AboutPage'
const meta: Meta = {
component: AboutPage,
-};
+}
export default meta
diff --git a/docs/docs/quick-start.md b/docs/docs/quick-start.md
index 2dbac26d6ff9..40f35f9134bf 100644
--- a/docs/docs/quick-start.md
+++ b/docs/docs/quick-start.md
@@ -102,7 +102,17 @@ Mockup, build, and verify your React components, even in complete isolation from
yarn rw storybook
```
-Before you start, see if the CLI's `setup ui` command has your favorite styling library:
+Seeing "Couldn't find any stories"?
+That's because you need a `*.stories.{tsx,jsx}` file.
+The Redwood CLI makes getting one easy enoughβtry generating a [Cell](./cells), Redwood's data-fetching abstraction:
+
+```
+yarn rw generate cell examplePosts
+```
+
+The Storybook server should hot reload and now you'll have four stories to work with.
+They'll probably look a little bland since there's no styling.
+See if the Redwood CLI's `setup ui` command has your favorite styling library:
```
yarn rw setup ui --help
diff --git a/packages/create-redwood-app/templates/js/README.md b/packages/create-redwood-app/templates/js/README.md
index 0b8e17b79a45..08f58865b056 100644
--- a/packages/create-redwood-app/templates/js/README.md
+++ b/packages/create-redwood-app/templates/js/README.md
@@ -4,7 +4,7 @@ Welcome to [RedwoodJS](https://redwoodjs.com)!
> **Prerequisites**
>
-> - Redwood requires [Node.js](https://nodejs.org/en/) (>=18.x) and [Yarn](https://yarnpkg.com/) (>=1.15)
+> - Redwood requires [Node.js](https://nodejs.org/en/) (=18.x) and [Yarn](https://yarnpkg.com/) (>=1.15)
> - Are you on Windows? For best results, follow our [Windows development setup](https://redwoodjs.com/docs/how-to/windows-development-setup) guide
Start by installing dependencies:
@@ -13,30 +13,29 @@ Start by installing dependencies:
yarn install
```
-Then change into that directory and start the development server:
+Then start the development server:
```
-cd my-redwood-project
yarn redwood dev
```
-Your browser should automatically open to http://localhost:8910 where you'll see the Welcome Page, which links to many great resources.
+Your browser should automatically open to [http://localhost:8910](http://localhost:8910) where you'll see the Welcome Page, which links out to many great resources.
> **The Redwood CLI**
>
-> Congratulations on running your first Redwood CLI command!
-> From dev to deploy, the CLI is with you the whole way.
-> And there's quite a few commands at your disposal:
+> Congratulations on running your first Redwood CLI command! From dev to deploy, the CLI is with you the whole way. And there's quite a few commands at your disposal:
+>
> ```
> yarn redwood --help
> ```
+>
> For all the details, see the [CLI reference](https://redwoodjs.com/docs/cli-commands).
## Prisma and the database
Redwood wouldn't be a full-stack framework without a database. It all starts with the schema. Open the [`schema.prisma`](api/db/schema.prisma) file in `api/db` and replace the `UserExample` model with the following `Post` model:
-```
+```prisma
model Post {
id Int @id @default(autoincrement())
title String
@@ -62,24 +61,28 @@ You'll be prompted for the name of your migration. `create posts` will do.
Now let's generate everything we need to perform all the CRUD (Create, Retrieve, Update, Delete) actions on our `Post` model:
```
-yarn redwood g scaffold post
+yarn redwood generate scaffold post
```
-Navigate to http://localhost:8910/posts/new, fill in the title and body, and click "Save":
+Navigate to [http://localhost:8910/posts/new](http://localhost:8910/posts/new), fill in the title and body, and click "Save".
-Did we just create a post in the database? Yup! With `yarn rw g scaffold `, Redwood created all the pages, components, and services necessary to perform all CRUD actions on our posts table.
+Did we just create a post in the database? Yup! With `yarn rw generate scaffold `, Redwood created all the pages, components, and services necessary to perform all CRUD actions on our posts table.
## Frontend first with Storybook
-Don't know what your data models look like?
-That's more than okβRedwood integrates Storybook so that you can work on design without worrying about data.
-Mockup, build, and verify your React components, even in complete isolation from the backend:
+Don't know what your data models look like? That's more than okβRedwood integrates Storybook so that you can work on design without worrying about data. Mockup, build, and verify your React components, even in complete isolation from the backend:
```
yarn rw storybook
```
-Before you start, see if the CLI's `setup ui` command has your favorite styling library:
+Seeing "Couldn't find any stories"? That's because you need a `*.stories.{tsx,jsx}` file. The Redwood CLI makes getting one easy enoughβtry generating a [Cell](https://redwoodjs.com/docs/cells), Redwood's data-fetching abstraction:
+
+```
+yarn rw generate cell examplePosts
+```
+
+The Storybook server should hot reload and now you'll have four stories to work with. They'll probably look a little bland since there's no styling. See if the Redwood CLI's `setup ui` command has your favorite styling library:
```
yarn rw setup ui --help
@@ -87,14 +90,13 @@ yarn rw setup ui --help
## Testing with Jest
-It'd be hard to scale from side project to startup without a few tests.
-Redwood fully integrates Jest with the front and the backends and makes it easy to keep your whole app covered by generating test files with all your components and services:
+It'd be hard to scale from side project to startup without a few tests. Redwood fully integrates Jest with both the front- and back-ends, and makes it easy to keep your whole app covered by generating test files with all your components and services:
```
yarn rw test
```
-To make the integration even more seamless, Redwood augments Jest with database [scenarios](https://redwoodjs.com/docs/testing.md#scenarios) and [GraphQL mocking](https://redwoodjs.com/docs/testing.md#mocking-graphql-calls).
+To make the integration even more seamless, Redwood augments Jest with database [scenarios](https://redwoodjs.com/docs/testing#scenarios) and [GraphQL mocking](https://redwoodjs.com/docs/testing#mocking-graphql-calls).
## Ship it
@@ -104,8 +106,7 @@ Redwood is designed for both serverless deploy targets like Netlify and Vercel a
yarn rw setup deploy --help
```
-Don't go live without auth!
-Lock down your front and backends with Redwood's built-in, database-backed authentication system ([dbAuth](https://redwoodjs.com/docs/authentication#self-hosted-auth-installation-and-setup)), or integrate with nearly a dozen third party auth providers:
+Don't go live without auth! Lock down your app with Redwood's built-in, database-backed authentication system ([dbAuth](https://redwoodjs.com/docs/authentication#self-hosted-auth-installation-and-setup)), or integrate with nearly a dozen third-party auth providers:
```
yarn rw setup auth --help
diff --git a/packages/create-redwood-app/templates/ts/README.md b/packages/create-redwood-app/templates/ts/README.md
index 0b8e17b79a45..08f58865b056 100644
--- a/packages/create-redwood-app/templates/ts/README.md
+++ b/packages/create-redwood-app/templates/ts/README.md
@@ -4,7 +4,7 @@ Welcome to [RedwoodJS](https://redwoodjs.com)!
> **Prerequisites**
>
-> - Redwood requires [Node.js](https://nodejs.org/en/) (>=18.x) and [Yarn](https://yarnpkg.com/) (>=1.15)
+> - Redwood requires [Node.js](https://nodejs.org/en/) (=18.x) and [Yarn](https://yarnpkg.com/) (>=1.15)
> - Are you on Windows? For best results, follow our [Windows development setup](https://redwoodjs.com/docs/how-to/windows-development-setup) guide
Start by installing dependencies:
@@ -13,30 +13,29 @@ Start by installing dependencies:
yarn install
```
-Then change into that directory and start the development server:
+Then start the development server:
```
-cd my-redwood-project
yarn redwood dev
```
-Your browser should automatically open to http://localhost:8910 where you'll see the Welcome Page, which links to many great resources.
+Your browser should automatically open to [http://localhost:8910](http://localhost:8910) where you'll see the Welcome Page, which links out to many great resources.
> **The Redwood CLI**
>
-> Congratulations on running your first Redwood CLI command!
-> From dev to deploy, the CLI is with you the whole way.
-> And there's quite a few commands at your disposal:
+> Congratulations on running your first Redwood CLI command! From dev to deploy, the CLI is with you the whole way. And there's quite a few commands at your disposal:
+>
> ```
> yarn redwood --help
> ```
+>
> For all the details, see the [CLI reference](https://redwoodjs.com/docs/cli-commands).
## Prisma and the database
Redwood wouldn't be a full-stack framework without a database. It all starts with the schema. Open the [`schema.prisma`](api/db/schema.prisma) file in `api/db` and replace the `UserExample` model with the following `Post` model:
-```
+```prisma
model Post {
id Int @id @default(autoincrement())
title String
@@ -62,24 +61,28 @@ You'll be prompted for the name of your migration. `create posts` will do.
Now let's generate everything we need to perform all the CRUD (Create, Retrieve, Update, Delete) actions on our `Post` model:
```
-yarn redwood g scaffold post
+yarn redwood generate scaffold post
```
-Navigate to http://localhost:8910/posts/new, fill in the title and body, and click "Save":
+Navigate to [http://localhost:8910/posts/new](http://localhost:8910/posts/new), fill in the title and body, and click "Save".
-Did we just create a post in the database? Yup! With `yarn rw g scaffold `, Redwood created all the pages, components, and services necessary to perform all CRUD actions on our posts table.
+Did we just create a post in the database? Yup! With `yarn rw generate scaffold `, Redwood created all the pages, components, and services necessary to perform all CRUD actions on our posts table.
## Frontend first with Storybook
-Don't know what your data models look like?
-That's more than okβRedwood integrates Storybook so that you can work on design without worrying about data.
-Mockup, build, and verify your React components, even in complete isolation from the backend:
+Don't know what your data models look like? That's more than okβRedwood integrates Storybook so that you can work on design without worrying about data. Mockup, build, and verify your React components, even in complete isolation from the backend:
```
yarn rw storybook
```
-Before you start, see if the CLI's `setup ui` command has your favorite styling library:
+Seeing "Couldn't find any stories"? That's because you need a `*.stories.{tsx,jsx}` file. The Redwood CLI makes getting one easy enoughβtry generating a [Cell](https://redwoodjs.com/docs/cells), Redwood's data-fetching abstraction:
+
+```
+yarn rw generate cell examplePosts
+```
+
+The Storybook server should hot reload and now you'll have four stories to work with. They'll probably look a little bland since there's no styling. See if the Redwood CLI's `setup ui` command has your favorite styling library:
```
yarn rw setup ui --help
@@ -87,14 +90,13 @@ yarn rw setup ui --help
## Testing with Jest
-It'd be hard to scale from side project to startup without a few tests.
-Redwood fully integrates Jest with the front and the backends and makes it easy to keep your whole app covered by generating test files with all your components and services:
+It'd be hard to scale from side project to startup without a few tests. Redwood fully integrates Jest with both the front- and back-ends, and makes it easy to keep your whole app covered by generating test files with all your components and services:
```
yarn rw test
```
-To make the integration even more seamless, Redwood augments Jest with database [scenarios](https://redwoodjs.com/docs/testing.md#scenarios) and [GraphQL mocking](https://redwoodjs.com/docs/testing.md#mocking-graphql-calls).
+To make the integration even more seamless, Redwood augments Jest with database [scenarios](https://redwoodjs.com/docs/testing#scenarios) and [GraphQL mocking](https://redwoodjs.com/docs/testing#mocking-graphql-calls).
## Ship it
@@ -104,8 +106,7 @@ Redwood is designed for both serverless deploy targets like Netlify and Vercel a
yarn rw setup deploy --help
```
-Don't go live without auth!
-Lock down your front and backends with Redwood's built-in, database-backed authentication system ([dbAuth](https://redwoodjs.com/docs/authentication#self-hosted-auth-installation-and-setup)), or integrate with nearly a dozen third party auth providers:
+Don't go live without auth! Lock down your app with Redwood's built-in, database-backed authentication system ([dbAuth](https://redwoodjs.com/docs/authentication#self-hosted-auth-installation-and-setup)), or integrate with nearly a dozen third-party auth providers:
```
yarn rw setup auth --help
diff --git a/tasks/test-project/rebuild-test-project-fixture.js b/tasks/test-project/rebuild-test-project-fixture.js
index 1d26ecc07a9d..c4363c45689b 100755
--- a/tasks/test-project/rebuild-test-project-fixture.js
+++ b/tasks/test-project/rebuild-test-project-fixture.js
@@ -297,22 +297,6 @@ async function runCommand() {
await tuiTask({
step: 1,
- title: 'Temporary (v6): Add storybook and vite canary to web dependencies',
- content:
- 'Adding storybook and @redwoodjs/vite@6.0.0-canary.450\n' +
- ' β± This could take a while...',
- task: () => {
- return exec(
- 'yarn',
- ['workspace web add -D storybook @redwoodjs/vite@6.0.0-canary.450'],
- getExecaOptions(OUTPUT_PROJECT_PATH)
- )
- },
- skip: skipStep(startStep, 1),
- })
-
- await tuiTask({
- step: 2,
title: '[link] Building Redwood framework',
content: 'yarn build:clean && yarn build',
task: async () => {
@@ -322,11 +306,11 @@ async function runCommand() {
getExecaOptions(RW_FRAMEWORKPATH)
)
},
- skip: skipStep(startStep, 2),
+ skip: skipStep(startStep, 1),
})
await tuiTask({
- step: 3,
+ step: 2,
title: '[link] Adding framework dependencies to project',
content: 'Adding framework dependencies to project...',
task: () => {
@@ -336,21 +320,21 @@ async function runCommand() {
'pipe' // TODO: Remove this when everything is using @rwjs/tui
)
},
- skip: skipStep(startStep, 3),
+ skip: skipStep(startStep, 2),
})
await tuiTask({
- step: 4,
+ step: 3,
title: 'Installing node_modules',
content: 'yarn install',
task: () => {
return exec('yarn install', getExecaOptions(OUTPUT_PROJECT_PATH))
},
- skip: skipStep(startStep, 4),
+ skip: skipStep(startStep, 3),
})
await tuiTask({
- step: 5,
+ step: 4,
title: 'Updating ports in redwood.toml...',
task: () => {
// We do this, to make it easier to run multiple test projects in parallel
@@ -373,11 +357,11 @@ async function runCommand() {
fs.writeFileSync(REDWOOD_TOML_PATH, newRedwoodToml)
},
- skip: skipStep(startStep, 5),
+ skip: skipStep(startStep, 4),
})
await tuiTask({
- step: 6,
+ step: 5,
title: '[link] Copying framework packages to project',
task: () => {
return copyFrameworkPackages(
@@ -386,12 +370,12 @@ async function runCommand() {
'pipe'
)
},
- skip: skipStep(startStep, 6),
+ skip: skipStep(startStep, 5),
})
// Note that we undo this at the end
await tuiTask({
- step: 7,
+ step: 6,
title: '[link] Add rwfw project:copy postinstall',
task: () => {
return updatePkgJsonScripts({
@@ -401,33 +385,33 @@ async function runCommand() {
},
})
},
- skip: skipStep(startStep, 7),
+ skip: skipStep(startStep, 6),
})
await tuiTask({
- step: 8,
+ step: 7,
title: 'Apply web codemods',
task: () => {
return webTasks(OUTPUT_PROJECT_PATH, {
linkWithLatestFwBuild: true,
})
},
- skip: skipStep(startStep, 8),
+ skip: skipStep(startStep, 7),
})
await tuiTask({
- step: 9,
+ step: 8,
title: 'Apply api codemods',
task: () => {
return apiTasks(OUTPUT_PROJECT_PATH, {
linkWithLatestFwBuild: true,
})
},
- skip: skipStep(startStep, 9),
+ skip: skipStep(startStep, 8),
})
await tuiTask({
- step: 10,
+ step: 9,
title: 'Running prisma migrate reset',
task: () => {
return exec(
@@ -436,11 +420,11 @@ async function runCommand() {
getExecaOptions(OUTPUT_PROJECT_PATH)
)
},
- skip: skipStep(startStep, 10),
+ skip: skipStep(startStep, 9),
})
await tuiTask({
- step: 11,
+ step: 10,
title: 'Lint --fix all the things',
task: async () => {
try {
@@ -469,11 +453,11 @@ async function runCommand() {
}
}
},
- skip: skipStep(startStep, 11),
+ skip: skipStep(startStep, 10),
})
await tuiTask({
- step: 12,
+ step: 11,
title: 'Replace and Cleanup Fixture',
task: async () => {
// @TODO: This only works on UNIX, we should use path.join everywhere
@@ -507,11 +491,11 @@ async function runCommand() {
// then removes new Project temp directory
await copyProject()
},
- skip: skipStep(startStep, 12),
+ skip: skipStep(startStep, 11),
})
await tuiTask({
- step: 13,
+ step: 12,
title: 'All done!',
task: () => {
console.log('-'.repeat(30))
From 3dfb61f65689a83b28f2df619de2023595fd12d3 Mon Sep 17 00:00:00 2001
From: Dominic Saadi
Date: Tue, 8 Aug 2023 17:46:43 -0700
Subject: [PATCH 07/14] v6.0.4
---
__fixtures__/test-project/api/package.json | 6 +-
__fixtures__/test-project/package.json | 2 +-
__fixtures__/test-project/web/package.json | 10 +-
lerna.json | 2 +-
packages/api-server/package.json | 4 +-
packages/api/package.json | 2 +-
.../auth-providers/auth0/api/package.json | 4 +-
.../auth-providers/auth0/setup/package.json | 4 +-
.../auth-providers/auth0/web/package.json | 4 +-
.../azureActiveDirectory/api/package.json | 4 +-
.../azureActiveDirectory/setup/package.json | 4 +-
.../azureActiveDirectory/web/package.json | 4 +-
.../auth-providers/clerk/api/package.json | 4 +-
.../auth-providers/clerk/setup/package.json | 4 +-
.../auth-providers/clerk/web/package.json | 4 +-
.../auth-providers/custom/setup/package.json | 4 +-
.../auth-providers/dbAuth/api/package.json | 4 +-
.../auth-providers/dbAuth/setup/package.json | 4 +-
.../auth-providers/dbAuth/web/package.json | 4 +-
.../auth-providers/firebase/api/package.json | 4 +-
.../firebase/setup/package.json | 4 +-
.../auth-providers/firebase/web/package.json | 4 +-
.../auth-providers/netlify/api/package.json | 4 +-
.../auth-providers/netlify/setup/package.json | 4 +-
.../auth-providers/netlify/web/package.json | 4 +-
.../auth-providers/supabase/api/package.json | 4 +-
.../supabase/setup/package.json | 4 +-
.../auth-providers/supabase/web/package.json | 2 +-
.../supertokens/api/package.json | 4 +-
.../supertokens/setup/package.json | 4 +-
.../supertokens/web/package.json | 4 +-
packages/auth/package.json | 2 +-
packages/cli-helpers/package.json | 6 +-
packages/cli-packages/storybook/package.json | 8 +-
packages/cli/package.json | 18 +-
packages/codemods/package.json | 4 +-
packages/core/package.json | 12 +-
packages/create-redwood-app/package.json | 4 +-
.../templates/js/api/package.json | 4 +-
.../templates/js/package.json | 2 +-
.../templates/js/web/package.json | 8 +-
.../create-redwood-app/templates/js/yarn.lock | 262 +++++++++---------
.../templates/ts/api/package.json | 4 +-
.../templates/ts/package.json | 2 +-
.../templates/ts/web/package.json | 8 +-
.../create-redwood-app/templates/ts/yarn.lock | 262 +++++++++---------
packages/eslint-config/package.json | 8 +-
packages/eslint-plugin/package.json | 2 +-
packages/fastify/package.json | 6 +-
packages/forms/package.json | 2 +-
packages/graphql-server/package.json | 8 +-
packages/internal/package.json | 6 +-
packages/prerender/package.json | 14 +-
packages/project-config/package.json | 2 +-
packages/realtime/package.json | 2 +-
packages/record/package.json | 4 +-
packages/router/package.json | 4 +-
packages/structure/package.json | 4 +-
packages/studio/package.json | 6 +-
packages/telemetry/package.json | 6 +-
packages/testing/package.json | 14 +-
packages/tui/package.json | 2 +-
packages/vite/package.json | 6 +-
packages/web/package.json | 4 +-
yarn.lock | 192 ++++++-------
65 files changed, 511 insertions(+), 511 deletions(-)
diff --git a/__fixtures__/test-project/api/package.json b/__fixtures__/test-project/api/package.json
index d41d76fe79f3..0348883de84a 100644
--- a/__fixtures__/test-project/api/package.json
+++ b/__fixtures__/test-project/api/package.json
@@ -3,8 +3,8 @@
"version": "0.0.0",
"private": true,
"dependencies": {
- "@redwoodjs/api": "6.0.3",
- "@redwoodjs/auth-dbauth-api": "6.0.3",
- "@redwoodjs/graphql-server": "6.0.3"
+ "@redwoodjs/api": "6.0.4",
+ "@redwoodjs/auth-dbauth-api": "6.0.4",
+ "@redwoodjs/graphql-server": "6.0.4"
}
}
diff --git a/__fixtures__/test-project/package.json b/__fixtures__/test-project/package.json
index 9604d0242e0f..9046764971fb 100644
--- a/__fixtures__/test-project/package.json
+++ b/__fixtures__/test-project/package.json
@@ -7,7 +7,7 @@
]
},
"devDependencies": {
- "@redwoodjs/core": "6.0.3"
+ "@redwoodjs/core": "6.0.4"
},
"eslintConfig": {
"extends": "@redwoodjs/eslint-config",
diff --git a/__fixtures__/test-project/web/package.json b/__fixtures__/test-project/web/package.json
index d97347157eb5..40bcc5bb06c0 100644
--- a/__fixtures__/test-project/web/package.json
+++ b/__fixtures__/test-project/web/package.json
@@ -11,17 +11,17 @@
]
},
"dependencies": {
- "@redwoodjs/auth-dbauth-web": "6.0.3",
- "@redwoodjs/forms": "6.0.3",
- "@redwoodjs/router": "6.0.3",
- "@redwoodjs/web": "6.0.3",
+ "@redwoodjs/auth-dbauth-web": "6.0.4",
+ "@redwoodjs/forms": "6.0.4",
+ "@redwoodjs/router": "6.0.4",
+ "@redwoodjs/web": "6.0.4",
"humanize-string": "2.1.0",
"prop-types": "15.8.1",
"react": "18.2.0",
"react-dom": "18.2.0"
},
"devDependencies": {
- "@redwoodjs/vite": "6.0.3",
+ "@redwoodjs/vite": "6.0.4",
"autoprefixer": "^10.4.14",
"postcss": "^8.4.25",
"postcss-loader": "^7.3.3",
diff --git a/lerna.json b/lerna.json
index 66eccd9e4611..8dd01a05f606 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "6.0.3",
+ "version": "6.0.4",
"npmClient": "yarn",
"command": {
"publish": {
diff --git a/packages/api-server/package.json b/packages/api-server/package.json
index dc0435586579..a55638440d65 100644
--- a/packages/api-server/package.json
+++ b/packages/api-server/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/api-server",
- "version": "6.0.3",
+ "version": "6.0.4",
"description": "Redwood's HTTP server for Serverless Functions",
"repository": {
"type": "git",
@@ -33,7 +33,7 @@
"@fastify/http-proxy": "9.2.1",
"@fastify/static": "6.10.2",
"@fastify/url-data": "5.3.1",
- "@redwoodjs/project-config": "6.0.3",
+ "@redwoodjs/project-config": "6.0.4",
"ansi-colors": "4.1.3",
"chalk": "4.1.2",
"chokidar": "3.5.3",
diff --git a/packages/api/package.json b/packages/api/package.json
index 41fb82e0882f..7129f87d89c0 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/api",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
diff --git a/packages/auth-providers/auth0/api/package.json b/packages/auth-providers/auth0/api/package.json
index 87fabacd180c..c3ab46d61c78 100644
--- a/packages/auth-providers/auth0/api/package.json
+++ b/packages/auth-providers/auth0/api/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-auth0-api",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -30,7 +30,7 @@
"devDependencies": {
"@babel/cli": "7.22.9",
"@babel/core": "7.22.9",
- "@redwoodjs/api": "6.0.3",
+ "@redwoodjs/api": "6.0.4",
"@types/jsonwebtoken": "9.0.2",
"jest": "29.6.1",
"typescript": "5.1.6"
diff --git a/packages/auth-providers/auth0/setup/package.json b/packages/auth-providers/auth0/setup/package.json
index 9d283532d621..0edb15e9f220 100644
--- a/packages/auth-providers/auth0/setup/package.json
+++ b/packages/auth-providers/auth0/setup/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-auth0-setup",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/cli-helpers": "6.0.3",
+ "@redwoodjs/cli-helpers": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/auth0/web/package.json b/packages/auth-providers/auth0/web/package.json
index e559c4f8feaa..83960f388d4a 100644
--- a/packages/auth-providers/auth0/web/package.json
+++ b/packages/auth-providers/auth0/web/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-auth0-web",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/auth": "6.0.3",
+ "@redwoodjs/auth": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/azureActiveDirectory/api/package.json b/packages/auth-providers/azureActiveDirectory/api/package.json
index c09e840107d3..fc25282d3f00 100644
--- a/packages/auth-providers/azureActiveDirectory/api/package.json
+++ b/packages/auth-providers/azureActiveDirectory/api/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-azure-active-directory-api",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -30,7 +30,7 @@
"devDependencies": {
"@babel/cli": "7.22.9",
"@babel/core": "7.22.9",
- "@redwoodjs/api": "6.0.3",
+ "@redwoodjs/api": "6.0.4",
"@types/aws-lambda": "8.10.119",
"@types/jsonwebtoken": "9.0.2",
"jest": "29.6.1",
diff --git a/packages/auth-providers/azureActiveDirectory/setup/package.json b/packages/auth-providers/azureActiveDirectory/setup/package.json
index dac6fb0bac89..e0b3e6feb22a 100644
--- a/packages/auth-providers/azureActiveDirectory/setup/package.json
+++ b/packages/auth-providers/azureActiveDirectory/setup/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-azure-active-directory-setup",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/cli-helpers": "6.0.3",
+ "@redwoodjs/cli-helpers": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/azureActiveDirectory/web/package.json b/packages/auth-providers/azureActiveDirectory/web/package.json
index 21bb2fc818ca..ee29c6ba65e5 100644
--- a/packages/auth-providers/azureActiveDirectory/web/package.json
+++ b/packages/auth-providers/azureActiveDirectory/web/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-azure-active-directory-web",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/auth": "6.0.3",
+ "@redwoodjs/auth": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/clerk/api/package.json b/packages/auth-providers/clerk/api/package.json
index d8bc979a0184..973c2abac1e8 100644
--- a/packages/auth-providers/clerk/api/package.json
+++ b/packages/auth-providers/clerk/api/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-clerk-api",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -29,7 +29,7 @@
"devDependencies": {
"@babel/cli": "7.22.9",
"@babel/core": "7.22.9",
- "@redwoodjs/api": "6.0.3",
+ "@redwoodjs/api": "6.0.4",
"@types/aws-lambda": "8.10.119",
"jest": "29.6.1",
"typescript": "5.1.6"
diff --git a/packages/auth-providers/clerk/setup/package.json b/packages/auth-providers/clerk/setup/package.json
index 503a22168be9..fd3902c9af4d 100644
--- a/packages/auth-providers/clerk/setup/package.json
+++ b/packages/auth-providers/clerk/setup/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-clerk-setup",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/cli-helpers": "6.0.3",
+ "@redwoodjs/cli-helpers": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/clerk/web/package.json b/packages/auth-providers/clerk/web/package.json
index f177999df4c7..bc2293244321 100644
--- a/packages/auth-providers/clerk/web/package.json
+++ b/packages/auth-providers/clerk/web/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-clerk-web",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/auth": "6.0.3",
+ "@redwoodjs/auth": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/custom/setup/package.json b/packages/auth-providers/custom/setup/package.json
index 005cefe01298..556b48907366 100644
--- a/packages/auth-providers/custom/setup/package.json
+++ b/packages/auth-providers/custom/setup/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-custom-setup",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/cli-helpers": "6.0.3",
+ "@redwoodjs/cli-helpers": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/dbAuth/api/package.json b/packages/auth-providers/dbAuth/api/package.json
index 6c9f1d38ca38..9c390585ac8e 100644
--- a/packages/auth-providers/dbAuth/api/package.json
+++ b/packages/auth-providers/dbAuth/api/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-dbauth-api",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -32,7 +32,7 @@
"devDependencies": {
"@babel/cli": "7.22.9",
"@babel/core": "7.22.9",
- "@redwoodjs/api": "6.0.3",
+ "@redwoodjs/api": "6.0.4",
"@simplewebauthn/server": "7.3.1",
"@types/crypto-js": "4.1.1",
"@types/md5": "2.3.2",
diff --git a/packages/auth-providers/dbAuth/setup/package.json b/packages/auth-providers/dbAuth/setup/package.json
index 9460a725cd42..d7669cb6326e 100644
--- a/packages/auth-providers/dbAuth/setup/package.json
+++ b/packages/auth-providers/dbAuth/setup/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-dbauth-setup",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/cli-helpers": "6.0.3",
+ "@redwoodjs/cli-helpers": "6.0.4",
"@simplewebauthn/browser": "7.2.0",
"core-js": "3.31.1",
"prompts": "2.4.2",
diff --git a/packages/auth-providers/dbAuth/web/package.json b/packages/auth-providers/dbAuth/web/package.json
index 9b3cf2e7bc75..fbe76033cb38 100644
--- a/packages/auth-providers/dbAuth/web/package.json
+++ b/packages/auth-providers/dbAuth/web/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-dbauth-web",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -24,7 +24,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/auth": "6.0.3",
+ "@redwoodjs/auth": "6.0.4",
"@simplewebauthn/browser": "7.2.0",
"core-js": "3.31.1"
},
diff --git a/packages/auth-providers/firebase/api/package.json b/packages/auth-providers/firebase/api/package.json
index 30731f48d887..cac4e42d6468 100644
--- a/packages/auth-providers/firebase/api/package.json
+++ b/packages/auth-providers/firebase/api/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-firebase-api",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -29,7 +29,7 @@
"devDependencies": {
"@babel/cli": "7.22.9",
"@babel/core": "7.22.9",
- "@redwoodjs/api": "6.0.3",
+ "@redwoodjs/api": "6.0.4",
"@types/aws-lambda": "8.10.119",
"jest": "29.6.1",
"typescript": "5.1.6"
diff --git a/packages/auth-providers/firebase/setup/package.json b/packages/auth-providers/firebase/setup/package.json
index e2e4a65b2cc7..e8db1df7e084 100644
--- a/packages/auth-providers/firebase/setup/package.json
+++ b/packages/auth-providers/firebase/setup/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-firebase-setup",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/cli-helpers": "6.0.3",
+ "@redwoodjs/cli-helpers": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/firebase/web/package.json b/packages/auth-providers/firebase/web/package.json
index 05412a856887..3f41ad903b59 100644
--- a/packages/auth-providers/firebase/web/package.json
+++ b/packages/auth-providers/firebase/web/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-firebase-web",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/auth": "6.0.3",
+ "@redwoodjs/auth": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/netlify/api/package.json b/packages/auth-providers/netlify/api/package.json
index 7c09677303c9..4595e7fe1376 100644
--- a/packages/auth-providers/netlify/api/package.json
+++ b/packages/auth-providers/netlify/api/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-netlify-api",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -29,7 +29,7 @@
"devDependencies": {
"@babel/cli": "7.22.9",
"@babel/core": "7.22.9",
- "@redwoodjs/api": "6.0.3",
+ "@redwoodjs/api": "6.0.4",
"@types/aws-lambda": "8.10.119",
"@types/jsonwebtoken": "9.0.2",
"jest": "29.6.1",
diff --git a/packages/auth-providers/netlify/setup/package.json b/packages/auth-providers/netlify/setup/package.json
index 88606d34cb4a..c0b5f37a9396 100644
--- a/packages/auth-providers/netlify/setup/package.json
+++ b/packages/auth-providers/netlify/setup/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-netlify-setup",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/cli-helpers": "6.0.3",
+ "@redwoodjs/cli-helpers": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/netlify/web/package.json b/packages/auth-providers/netlify/web/package.json
index 4ebc908d240e..645f84a043d3 100644
--- a/packages/auth-providers/netlify/web/package.json
+++ b/packages/auth-providers/netlify/web/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-netlify-web",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/auth": "6.0.3",
+ "@redwoodjs/auth": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/supabase/api/package.json b/packages/auth-providers/supabase/api/package.json
index f0c9a082ed59..a5417de97921 100644
--- a/packages/auth-providers/supabase/api/package.json
+++ b/packages/auth-providers/supabase/api/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-supabase-api",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -29,7 +29,7 @@
"devDependencies": {
"@babel/cli": "7.22.9",
"@babel/core": "7.22.9",
- "@redwoodjs/api": "6.0.3",
+ "@redwoodjs/api": "6.0.4",
"@types/aws-lambda": "8.10.119",
"@types/jsonwebtoken": "9.0.2",
"jest": "29.6.1",
diff --git a/packages/auth-providers/supabase/setup/package.json b/packages/auth-providers/supabase/setup/package.json
index 7e808051b44e..f2d35e17f054 100644
--- a/packages/auth-providers/supabase/setup/package.json
+++ b/packages/auth-providers/supabase/setup/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-supabase-setup",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/cli-helpers": "6.0.3",
+ "@redwoodjs/cli-helpers": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/supabase/web/package.json b/packages/auth-providers/supabase/web/package.json
index b9d528e58d0a..78224c4be45f 100644
--- a/packages/auth-providers/supabase/web/package.json
+++ b/packages/auth-providers/supabase/web/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-supabase-web",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
diff --git a/packages/auth-providers/supertokens/api/package.json b/packages/auth-providers/supertokens/api/package.json
index 260be596f9e1..b1c13ae8351e 100644
--- a/packages/auth-providers/supertokens/api/package.json
+++ b/packages/auth-providers/supertokens/api/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-supertokens-api",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -30,7 +30,7 @@
"devDependencies": {
"@babel/cli": "7.22.9",
"@babel/core": "7.22.9",
- "@redwoodjs/api": "6.0.3",
+ "@redwoodjs/api": "6.0.4",
"@types/jsonwebtoken": "9.0.2",
"jest": "29.6.1",
"typescript": "5.1.6"
diff --git a/packages/auth-providers/supertokens/setup/package.json b/packages/auth-providers/supertokens/setup/package.json
index 5b55ea98bf9a..5bba67435a92 100644
--- a/packages/auth-providers/supertokens/setup/package.json
+++ b/packages/auth-providers/supertokens/setup/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-supertokens-setup",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/cli-helpers": "6.0.3",
+ "@redwoodjs/cli-helpers": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth-providers/supertokens/web/package.json b/packages/auth-providers/supertokens/web/package.json
index 4f3ab5779ab4..38d89cbdbcc8 100644
--- a/packages/auth-providers/supertokens/web/package.json
+++ b/packages/auth-providers/supertokens/web/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth-supertokens-web",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -23,7 +23,7 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/auth": "6.0.3",
+ "@redwoodjs/auth": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/auth/package.json b/packages/auth/package.json
index 5d3369f5ac49..0cc85d8135d3 100644
--- a/packages/auth/package.json
+++ b/packages/auth/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/auth",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
diff --git a/packages/cli-helpers/package.json b/packages/cli-helpers/package.json
index d5dd97247e66..024dfadfc06a 100644
--- a/packages/cli-helpers/package.json
+++ b/packages/cli-helpers/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/cli-helpers",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -25,8 +25,8 @@
"@babel/core": "7.22.9",
"@babel/runtime-corejs3": "7.22.6",
"@opentelemetry/api": "1.4.1",
- "@redwoodjs/project-config": "6.0.3",
- "@redwoodjs/telemetry": "6.0.3",
+ "@redwoodjs/project-config": "6.0.4",
+ "@redwoodjs/telemetry": "6.0.4",
"chalk": "4.1.2",
"core-js": "3.31.1",
"execa": "5.1.1",
diff --git a/packages/cli-packages/storybook/package.json b/packages/cli-packages/storybook/package.json
index d188257c7381..63268cd2aa46 100644
--- a/packages/cli-packages/storybook/package.json
+++ b/packages/cli-packages/storybook/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/cli-storybook",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -24,9 +24,9 @@
]
},
"dependencies": {
- "@redwoodjs/cli-helpers": "6.0.3",
- "@redwoodjs/project-config": "6.0.3",
- "@redwoodjs/telemetry": "6.0.3",
+ "@redwoodjs/cli-helpers": "6.0.4",
+ "@redwoodjs/project-config": "6.0.4",
+ "@redwoodjs/telemetry": "6.0.4",
"@storybook/addon-a11y": "7.1.1",
"@storybook/addon-docs": "7.1.1",
"@storybook/addon-essentials": "7.1.1",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index f9aee7f8f0b4..eb44563323df 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/cli",
- "version": "6.0.3",
+ "version": "6.0.4",
"description": "The Redwood Command Line",
"repository": {
"type": "git",
@@ -37,14 +37,14 @@
"@opentelemetry/sdk-trace-node": "1.15.0",
"@opentelemetry/semantic-conventions": "1.15.0",
"@prisma/internals": "5.0.0",
- "@redwoodjs/api-server": "6.0.3",
- "@redwoodjs/cli-helpers": "6.0.3",
- "@redwoodjs/fastify": "6.0.3",
- "@redwoodjs/internal": "6.0.3",
- "@redwoodjs/prerender": "6.0.3",
- "@redwoodjs/project-config": "6.0.3",
- "@redwoodjs/structure": "6.0.3",
- "@redwoodjs/telemetry": "6.0.3",
+ "@redwoodjs/api-server": "6.0.4",
+ "@redwoodjs/cli-helpers": "6.0.4",
+ "@redwoodjs/fastify": "6.0.4",
+ "@redwoodjs/internal": "6.0.4",
+ "@redwoodjs/prerender": "6.0.4",
+ "@redwoodjs/project-config": "6.0.4",
+ "@redwoodjs/structure": "6.0.4",
+ "@redwoodjs/telemetry": "6.0.4",
"@types/secure-random-password": "0.2.1",
"boxen": "5.1.2",
"camelcase": "6.3.0",
diff --git a/packages/codemods/package.json b/packages/codemods/package.json
index 8c57926a55a2..bdb511644117 100644
--- a/packages/codemods/package.json
+++ b/packages/codemods/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/codemods",
- "version": "6.0.3",
+ "version": "6.0.4",
"description": "Codemods to ease upgrading a RedwoodJS Project",
"repository": {
"type": "git",
@@ -29,7 +29,7 @@
"@babel/runtime-corejs3": "7.22.6",
"@babel/traverse": "7.22.8",
"@iarna/toml": "2.2.5",
- "@redwoodjs/project-config": "6.0.3",
+ "@redwoodjs/project-config": "6.0.4",
"@svgr/core": "8.0.0",
"@svgr/plugin-jsx": "8.0.1",
"@vscode/ripgrep": "1.15.5",
diff --git a/packages/core/package.json b/packages/core/package.json
index 8e745b097371..da924218e673 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/core",
- "version": "6.0.3",
+ "version": "6.0.4",
"description": "Foundational packages and config required to build RedwoodJS.",
"repository": {
"type": "git",
@@ -44,11 +44,11 @@
"@babel/preset-typescript": "7.22.5",
"@babel/runtime-corejs3": "7.22.6",
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
- "@redwoodjs/cli": "6.0.3",
- "@redwoodjs/eslint-config": "6.0.3",
- "@redwoodjs/internal": "6.0.3",
- "@redwoodjs/project-config": "6.0.3",
- "@redwoodjs/testing": "6.0.3",
+ "@redwoodjs/cli": "6.0.4",
+ "@redwoodjs/eslint-config": "6.0.4",
+ "@redwoodjs/internal": "6.0.4",
+ "@redwoodjs/project-config": "6.0.4",
+ "@redwoodjs/testing": "6.0.4",
"babel-loader": "9.1.3",
"babel-plugin-auto-import": "1.1.0",
"babel-plugin-graphql-tag": "3.3.0",
diff --git a/packages/create-redwood-app/package.json b/packages/create-redwood-app/package.json
index c918dc58a01d..d3d26b11ca9b 100644
--- a/packages/create-redwood-app/package.json
+++ b/packages/create-redwood-app/package.json
@@ -1,6 +1,6 @@
{
"name": "create-redwood-app",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -25,7 +25,7 @@
"@opentelemetry/resources": "1.15.0",
"@opentelemetry/sdk-trace-node": "1.15.0",
"@opentelemetry/semantic-conventions": "1.15.0",
- "@redwoodjs/tui": "6.0.3",
+ "@redwoodjs/tui": "6.0.4",
"chalk": "4.1.2",
"check-node-version": "4.2.1",
"ci-info": "3.8.0",
diff --git a/packages/create-redwood-app/templates/js/api/package.json b/packages/create-redwood-app/templates/js/api/package.json
index e4759a5969d4..06411ebd2258 100644
--- a/packages/create-redwood-app/templates/js/api/package.json
+++ b/packages/create-redwood-app/templates/js/api/package.json
@@ -3,7 +3,7 @@
"version": "0.0.0",
"private": true,
"dependencies": {
- "@redwoodjs/api": "6.0.3",
- "@redwoodjs/graphql-server": "6.0.3"
+ "@redwoodjs/api": "6.0.4",
+ "@redwoodjs/graphql-server": "6.0.4"
}
}
diff --git a/packages/create-redwood-app/templates/js/package.json b/packages/create-redwood-app/templates/js/package.json
index 9604d0242e0f..9046764971fb 100644
--- a/packages/create-redwood-app/templates/js/package.json
+++ b/packages/create-redwood-app/templates/js/package.json
@@ -7,7 +7,7 @@
]
},
"devDependencies": {
- "@redwoodjs/core": "6.0.3"
+ "@redwoodjs/core": "6.0.4"
},
"eslintConfig": {
"extends": "@redwoodjs/eslint-config",
diff --git a/packages/create-redwood-app/templates/js/web/package.json b/packages/create-redwood-app/templates/js/web/package.json
index f1434a8aa11e..72bfa43df6a2 100644
--- a/packages/create-redwood-app/templates/js/web/package.json
+++ b/packages/create-redwood-app/templates/js/web/package.json
@@ -11,14 +11,14 @@
]
},
"dependencies": {
- "@redwoodjs/forms": "6.0.3",
- "@redwoodjs/router": "6.0.3",
- "@redwoodjs/web": "6.0.3",
+ "@redwoodjs/forms": "6.0.4",
+ "@redwoodjs/router": "6.0.4",
+ "@redwoodjs/web": "6.0.4",
"prop-types": "15.8.1",
"react": "18.2.0",
"react-dom": "18.2.0"
},
"devDependencies": {
- "@redwoodjs/vite": "6.0.3"
+ "@redwoodjs/vite": "6.0.4"
}
}
diff --git a/packages/create-redwood-app/templates/js/yarn.lock b/packages/create-redwood-app/templates/js/yarn.lock
index d99cc7f0eacc..85fd42135a26 100644
--- a/packages/create-redwood-app/templates/js/yarn.lock
+++ b/packages/create-redwood-app/templates/js/yarn.lock
@@ -4498,16 +4498,16 @@ __metadata:
languageName: node
linkType: hard
-"@redwoodjs/api-server@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/api-server@npm:6.0.3"
+"@redwoodjs/api-server@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/api-server@npm:6.0.4"
dependencies:
"@babel/plugin-transform-runtime": 7.22.9
"@babel/runtime-corejs3": 7.22.6
"@fastify/http-proxy": 9.2.1
"@fastify/static": 6.10.2
"@fastify/url-data": 5.3.1
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
ansi-colors: 4.1.3
chalk: 4.1.2
chokidar: 3.5.3
@@ -4526,13 +4526,13 @@ __metadata:
rw-api-server-watch: dist/watch.js
rw-log-formatter: dist/logFormatter/bin.js
rw-server: dist/index.js
- checksum: eab3010dd61b7c20e5c900b3155d1da116a2f55c400faf39536416818684daf325791dc01617c64a454b691006de82bf1d5f5c796a822439dfb45fd78920b3d8
+ checksum: 2d792145c9b64555a954658bc9ef9f8d84f17483d974ad68bd479aa408c55cd29b0ad09c1fc1f69990afbad610ac0c5c6b92cdc9670e64155d30045f2d361204
languageName: node
linkType: hard
-"@redwoodjs/api@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/api@npm:6.0.3"
+"@redwoodjs/api@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/api@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
"@prisma/client": 5.0.0
@@ -4556,30 +4556,30 @@ __metadata:
rw: dist/bins/redwood.js
rwfw: dist/bins/rwfw.js
tsc: dist/bins/tsc.js
- checksum: e880bf1e1ec5b88f7cb6031888ff9e3f7a119c3bda46902fa259bbece0a8cc56d9cbccddec156ab3fb604c8dc5c46a37dae76b6fd7344e27ac8a825eb7b950c3
+ checksum: 126ae078936c7099c7d0429ff6c62880689faba4e2b4fad98b10af1bc923bde5742bfe39ef55d6d938246f2dc877a707a88be1e8c15b0eca8885162150eb6a84
languageName: node
linkType: hard
-"@redwoodjs/auth@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/auth@npm:6.0.3"
+"@redwoodjs/auth@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/auth@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
core-js: 3.31.1
react: 18.2.0
- checksum: 9cc4390b7ffb74bb0ea22b3291ff5433b1a8b1ab14a4151814ed127baccefdfd423dde34e3f64abaf6b5e0dd06c4898afdd9054b31f9007a69fdfb55a1cb1356
+ checksum: 254814f12acaf8eba383011d0bbac5f2098920eaf5de442386fd65cebdacb19c31fbf3651aedb402abd98560f73839f6a516f51b17363d4022c6e5d6d3dcc9a6
languageName: node
linkType: hard
-"@redwoodjs/cli-helpers@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/cli-helpers@npm:6.0.3"
+"@redwoodjs/cli-helpers@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/cli-helpers@npm:6.0.4"
dependencies:
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
"@opentelemetry/api": 1.4.1
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/telemetry": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/telemetry": 6.0.4
chalk: 4.1.2
core-js: 3.31.1
execa: 5.1.1
@@ -4589,13 +4589,13 @@ __metadata:
prettier: 2.8.8
prompts: 2.4.2
terminal-link: 2.1.1
- checksum: c8d304e93dcef11811cb1105fee230bb8ce023df6063cc93f060c5d78db52822c4b293d57d42ad9863714745332b364ae5c54150ada5f77964611abd38c63705
+ checksum: b2581395c10862570ec31bb903b0c7201663580bec2d4893323029303227d519168f1ef7208a48e1613ef28a5621e0941216c0a7c7023f47d33da00d37fa0954
languageName: node
linkType: hard
-"@redwoodjs/cli@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/cli@npm:6.0.3"
+"@redwoodjs/cli@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/cli@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
"@iarna/toml": 2.2.5
@@ -4606,14 +4606,14 @@ __metadata:
"@opentelemetry/sdk-trace-node": 1.15.0
"@opentelemetry/semantic-conventions": 1.15.0
"@prisma/internals": 5.0.0
- "@redwoodjs/api-server": 6.0.3
- "@redwoodjs/cli-helpers": 6.0.3
- "@redwoodjs/fastify": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/prerender": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/structure": 6.0.3
- "@redwoodjs/telemetry": 6.0.3
+ "@redwoodjs/api-server": 6.0.4
+ "@redwoodjs/cli-helpers": 6.0.4
+ "@redwoodjs/fastify": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/prerender": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/structure": 6.0.4
+ "@redwoodjs/telemetry": 6.0.4
"@types/secure-random-password": 0.2.1
boxen: 5.1.2
camelcase: 6.3.0
@@ -4655,13 +4655,13 @@ __metadata:
redwood: dist/index.js
rw: dist/index.js
rwfw: dist/rwfw.js
- checksum: 8febbec80055e7d5b6807ef256bcf28febfaddc0722f88ac83fe179a28e7d1438bba9a02e1c342cb91d966e2094a52786c2f90f63f1b4b01fc9dbf0d18d747f2
+ checksum: ffaf070f40840dc9b4caa101cdbe853626aed72ec0dc9d0ebcdbdf2e8288a253532697a8a6105141f1eda7f2b805293e5c0c52b9ec411de5ff65785a8275d900
languageName: node
linkType: hard
-"@redwoodjs/core@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/core@npm:6.0.3"
+"@redwoodjs/core@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/core@npm:6.0.4"
dependencies:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
@@ -4674,11 +4674,11 @@ __metadata:
"@babel/preset-typescript": 7.22.5
"@babel/runtime-corejs3": 7.22.6
"@pmmmwh/react-refresh-webpack-plugin": 0.5.10
- "@redwoodjs/cli": 6.0.3
- "@redwoodjs/eslint-config": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/testing": 6.0.3
+ "@redwoodjs/cli": 6.0.4
+ "@redwoodjs/eslint-config": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/testing": 6.0.4
babel-loader: 9.1.3
babel-plugin-auto-import: 1.1.0
babel-plugin-graphql-tag: 3.3.0
@@ -4724,20 +4724,20 @@ __metadata:
rw-gen-watch: dist/bins/rw-gen-watch.js
rw-log-formatter: dist/bins/rw-log-formatter.js
rwfw: dist/bins/rwfw.js
- checksum: fbb96668727dc6644a1fea505de06080d659765ba5b02d532e416f83b7120707d71b127889042d6df03db3137955f96f041458560792a6bec909c061d97551f6
+ checksum: 7d7a600241261db9ad4f688e0cae3b0f3282f2f6a5824193c0addfb5cb5ff8dc3283a0c0e10a25a156b6f4a7788576df379ea99f26e23bf32fa510bda1bab7ad
languageName: node
linkType: hard
-"@redwoodjs/eslint-config@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/eslint-config@npm:6.0.3"
+"@redwoodjs/eslint-config@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/eslint-config@npm:6.0.4"
dependencies:
"@babel/core": 7.22.9
"@babel/eslint-parser": 7.22.9
"@babel/eslint-plugin": 7.22.5
- "@redwoodjs/eslint-plugin": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/eslint-plugin": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
"@typescript-eslint/eslint-plugin": 5.61.0
"@typescript-eslint/parser": 5.61.0
eslint: 8.45.0
@@ -4751,42 +4751,42 @@ __metadata:
eslint-plugin-react: 7.32.2
eslint-plugin-react-hooks: 4.6.0
prettier: 2.8.8
- checksum: 86545185aea4a0b585881dffbb001da45879f3eff640cf2a9fbf66c6e4e1f7ca40626fa1f0c4254882c925b7a3f26d0898aead0f456a47b1bc98d9597439d226
+ checksum: 2752887273a0e46c272cbdc7c9937ef7476566f7edbacee7fdb6698660065720f3be672a151413750105253733002514a099e504c72cadda799bf0ffc20549ca
languageName: node
linkType: hard
-"@redwoodjs/eslint-plugin@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/eslint-plugin@npm:6.0.3"
+"@redwoodjs/eslint-plugin@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/eslint-plugin@npm:6.0.4"
dependencies:
"@typescript-eslint/utils": 5.61.0
eslint: 8.45.0
- checksum: b0a132995056bfdeb9b31be73b97989f7bd68463c62d2e9fc101bb927ea9efdd594fbc7cd4ebc842ebc9d21d2798d8ebef41a03290330c6771342a425f30c5a1
+ checksum: f9833ca5eef057c29b3ca379fec3f93bc830e1d2dd6f0bfd0e95254ba1788c8ebe4803d39b96cc4839e138cb95bd3ecb5e35c52785157a15837a9e1d235c2ec6
languageName: node
linkType: hard
-"@redwoodjs/fastify@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/fastify@npm:6.0.3"
+"@redwoodjs/fastify@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/fastify@npm:6.0.4"
dependencies:
"@fastify/http-proxy": 9.2.1
"@fastify/static": 6.10.2
"@fastify/url-data": 5.3.1
- "@redwoodjs/graphql-server": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/graphql-server": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
ansi-colors: 4.1.3
fast-glob: 3.2.12
fastify: 4.20.0
fastify-raw-body: 4.2.1
lodash: 4.17.21
qs: 6.11.2
- checksum: 4f2e9381329492460741c786ffb9ac124389b8185f358edc5915ec68dd6cd9d9aaa19cde3a277c6525cbbf9b74757f1d572a2ab40795f3c0272443e256b502c3
+ checksum: f0b217be7e54a49627e2921d28d6baf0fff60c8a7572f973c27a8e5391784d451f472123be4db4aa8089ddebeb8964636361cc3edd3834d558c619d36c29f338
languageName: node
linkType: hard
-"@redwoodjs/forms@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/forms@npm:6.0.3"
+"@redwoodjs/forms@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/forms@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
core-js: 3.31.1
@@ -4795,13 +4795,13 @@ __metadata:
peerDependencies:
graphql: 16.7.1
react: 18.2.0
- checksum: ba0decdf55a886165807aa995f68e2890b8d9a17f7c19161a712acb6601f21e27a61548dc7c60908643fc959e0febce7a2c1c693307a8d713a70ea9537844db8
+ checksum: dc4917f6b24a1623aa3bc501a56e50980a4d6fc2009c8e9d369195afb084e2d728bbd9d01b584bada3cc95d2d59bb2972dd71b0674b156a73ce8cc40a71bf37e
languageName: node
linkType: hard
-"@redwoodjs/graphql-server@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/graphql-server@npm:6.0.3"
+"@redwoodjs/graphql-server@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/graphql-server@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
"@envelop/core": 4.0.0
@@ -4814,8 +4814,8 @@ __metadata:
"@graphql-tools/schema": 10.0.0
"@graphql-tools/utils": 10.0.1
"@opentelemetry/api": 1.4.1
- "@redwoodjs/api": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/api": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
core-js: 3.31.1
graphql: 16.7.1
graphql-scalars: 1.22.2
@@ -4823,13 +4823,13 @@ __metadata:
graphql-yoga: 4.0.2
lodash: 4.17.21
uuid: 9.0.0
- checksum: 1addc0aeabf22b4ac565efd177e86b26d473c173d9095723f777992a85c1c5afabb5918f012a76fc5a24a6d6a4608ed1c62f9665b534209cdec8daa08ade8d5e
+ checksum: 04dfb55edee6dda9ef4df04ba769d0290f662fecd95487cde0f8979a4c81319d4dc3a0c12e71b13d535d8d602e4b5d4a578aec55bc3ab7b882b98ea30291336e
languageName: node
linkType: hard
-"@redwoodjs/internal@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/internal@npm:6.0.3"
+"@redwoodjs/internal@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/internal@npm:6.0.4"
dependencies:
"@babel/parser": 7.22.7
"@babel/plugin-transform-class-properties": 7.22.5
@@ -4847,8 +4847,8 @@ __metadata:
"@graphql-codegen/typescript-operations": 3.0.4
"@graphql-codegen/typescript-react-apollo": 3.3.7
"@graphql-codegen/typescript-resolvers": 3.2.1
- "@redwoodjs/graphql-server": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/graphql-server": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
"@sdl-codegen/node": 0.0.10
babel-plugin-graphql-tag: 3.3.0
babel-plugin-polyfill-corejs3: 0.8.3
@@ -4870,21 +4870,21 @@ __metadata:
bin:
rw-gen: dist/generate/generate.js
rw-gen-watch: dist/generate/watch.js
- checksum: 7121c5e88ddd626a1b9e37f7a08da2acb03f1bb41e8fc53d5a331563f7ca635a68955a143074d0893b45646e8f03caaa189f5ee3a3cdf83f137a35d789615710
+ checksum: c00ed34f3598116f2fec58086b41ff82aabbfffe7acb0f8c844e3c0b43b77545f38e061fded029e0531f07b83dd86a419fa4f6aae84f13a6cfbc6cb4f91cd9e3
languageName: node
linkType: hard
-"@redwoodjs/prerender@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/prerender@npm:6.0.3"
+"@redwoodjs/prerender@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/prerender@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/router": 6.0.3
- "@redwoodjs/structure": 6.0.3
- "@redwoodjs/web": 6.0.3
+ "@redwoodjs/auth": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/router": 6.0.4
+ "@redwoodjs/structure": 6.0.4
+ "@redwoodjs/web": 6.0.4
"@whatwg-node/fetch": 0.9.7
babel-plugin-ignore-html-and-css-imports: 0.1.0
cheerio: 1.0.0-rc.12
@@ -4894,45 +4894,45 @@ __metadata:
peerDependencies:
react: 18.2.0
react-dom: 18.2.0
- checksum: 3278038149cf256457cb8817acd248a60e15c28d9f4e6d5e226d9afe73a9cbf967988298c2f31c7071d9dadfbdb57bd46ade3e159ea9218a0f5e07c3d31ee91f
+ checksum: 3cdaf9dba28bbd164f90d5e7e707f31afffaa82e73edbddd650e7a27ae1bcbad33db3d3b81ed6d0324d7a3b1a66e8d3a84752411780e91651fa86211547d7e5f
languageName: node
linkType: hard
-"@redwoodjs/project-config@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/project-config@npm:6.0.3"
+"@redwoodjs/project-config@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/project-config@npm:6.0.4"
dependencies:
"@iarna/toml": 2.2.5
deepmerge: 4.3.1
fast-glob: 3.2.12
string-env-interpolation: 1.0.1
- checksum: f0a8f3f66f424a94b0ae80355c0fb86ea21c2b5d130a23a256e43a1388733ed3fed30d5598bd57a2aa1efd1e3bce02c5ba43d2892dc067b35bf500b73af45a01
+ checksum: 81cc0e1b7a500d112834087a07e81ff386f6ab9889657ff12ffd730c0a8511aae85aaf513fbfb90b7300acad6167b9df033a9ce124fb422942949a2943c72b7c
languageName: node
linkType: hard
-"@redwoodjs/router@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/router@npm:6.0.3"
+"@redwoodjs/router@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/router@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
"@reach/skip-nav": 0.18.0
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
core-js: 3.31.1
peerDependencies:
react: 18.2.0
react-dom: 18.2.0
- checksum: 7567bad5acd9e648ac178fcf68bb1d204f690730d4eaa14eb6ae1fd802d0538c19e2b34d1e3cf7a840f408eb4136140cf6ccb05e887fb83babfa518f967b509d
+ checksum: 11cd636b91ccd5a7683ccba6ef1c77adf50a91cd05dea254e8af620503344f3907fbd9276986a02bf6b6d700a9406c915debbc0f4af376d5e9d9a0f79f6525cb
languageName: node
linkType: hard
-"@redwoodjs/structure@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/structure@npm:6.0.3"
+"@redwoodjs/structure@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/structure@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
"@iarna/toml": 2.2.5
"@prisma/internals": 5.0.0
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
"@types/line-column": 1.0.0
camelcase: 6.3.0
core-js: 3.31.1
@@ -4952,17 +4952,17 @@ __metadata:
vscode-languageserver-textdocument: 1.0.8
vscode-languageserver-types: 3.17.3
yargs-parser: 21.1.1
- checksum: 7f593a8c61f6d666e7fd0f16a9a64aa621ff47d0cc6a1ded11d564d8607484dab92e4da1da84452a49a85dfcebb17081586010ff9a48197a05362fc7271b0a39
+ checksum: 0d6fa8e0c2ce469d76feab2d3210bea3a68c2358b279b6b06e771cd089cd272cf10548059445dcfb941180bf15bb700ec0d324e37549853ab33f67bf7d368ab2
languageName: node
linkType: hard
-"@redwoodjs/telemetry@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/telemetry@npm:6.0.3"
+"@redwoodjs/telemetry@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/telemetry@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/structure": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/structure": 6.0.4
"@whatwg-node/fetch": 0.9.7
ci-info: 3.8.0
core-js: 3.31.1
@@ -4970,21 +4970,21 @@ __metadata:
systeminformation: 5.18.5
uuid: 9.0.0
yargs: 17.7.2
- checksum: 3fb3ce9d22d6aae5afe745314c9be276a73fdad9699aeb4b03d25ea1e53624bbf99e7f7ae2d0a7f6e4aaa4d572d966ec0fcf181e3c4cd11e4bd05bd253a3e910
+ checksum: 2948757a571302d32aa80dacf662f90cf865b64c8d53c7b28dd965c659d91a8ffcd0d9305cc407920fd34e48e5992ddd779543abb4726a41fc8dec2fed540292
languageName: node
linkType: hard
-"@redwoodjs/testing@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/testing@npm:6.0.3"
+"@redwoodjs/testing@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/testing@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
- "@redwoodjs/graphql-server": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/router": 6.0.3
- "@redwoodjs/web": 6.0.3
+ "@redwoodjs/auth": 6.0.4
+ "@redwoodjs/graphql-server": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/router": 6.0.4
+ "@redwoodjs/web": 6.0.4
"@testing-library/jest-dom": 5.16.5
"@testing-library/react": 14.0.0
"@testing-library/user-event": 14.4.3
@@ -5005,17 +5005,17 @@ __metadata:
msw: 1.2.3
ts-toolbelt: 9.6.0
whatwg-fetch: 3.6.2
- checksum: 6ac11a0de1a6b435f96d3981fd5e9e143ab457d068cb0eb895d3e92ef5add045592db96d41e2694d9b196046e944a34cf82723ffa08c8015afd9cbee01b257df
+ checksum: 09fd4a99eafde7f4120aa9bb4029b9cae404a7d1d7fe3824f232c2e063709d2531a70b9014602f2cb087fbc7e1ba6f7d0027a7f5cada7dec1c7b4ae798adba99
languageName: node
linkType: hard
-"@redwoodjs/vite@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/vite@npm:6.0.3"
+"@redwoodjs/vite@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/vite@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
"@vitejs/plugin-react": 4.0.3
buffer: 6.0.3
core-js: 3.31.1
@@ -5025,17 +5025,17 @@ __metadata:
rw-vite-build: bins/rw-vite-build.mjs
rw-vite-dev: bins/rw-vite-dev.mjs
vite: bins/vite.mjs
- checksum: d9d7a2089308d1cb756e18cd28721998c6a847a65e15d734d712202f8f0f87cf0a4bbbeb1eaa71ec8f96b76898c77100a4e0ca0a312aac4b7d3fa929c7b4aeb9
+ checksum: 698257e0ec11aac5becfc9f42168cf0ca51be139a038be7b5b45056f5708ff45b12714e3b34b3e42ee8cd7ce452cbd4ba9390b1815a93886299661246541b531
languageName: node
linkType: hard
-"@redwoodjs/web@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/web@npm:6.0.3"
+"@redwoodjs/web@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/web@npm:6.0.4"
dependencies:
"@apollo/client": 3.7.17
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
core-js: 3.31.1
graphql: 16.7.1
graphql-tag: 2.12.6
@@ -5056,7 +5056,7 @@ __metadata:
storybook: dist/bins/storybook.js
tsc: dist/bins/tsc.js
webpack: dist/bins/webpack.js
- checksum: 4c900cfa004c1f8ca94d7af39c8d8223db9046eb99cdf1593507bb0a8b2c0df70d81d18d3bd8eb3fcb865da67075693f23065da077cb9202dc97c95099fcd53d
+ checksum: 068f39479b3a7bb71fb1746590b90e147dd4fc84fe78393374c4b5ebb38d659de59ca455812d81a6085a950126a9cf6b57bdec4cadec2526a68e410cb8d8f78f
languageName: node
linkType: hard
@@ -6901,8 +6901,8 @@ __metadata:
version: 0.0.0-use.local
resolution: "api@workspace:api"
dependencies:
- "@redwoodjs/api": 6.0.3
- "@redwoodjs/graphql-server": 6.0.3
+ "@redwoodjs/api": 6.0.4
+ "@redwoodjs/graphql-server": 6.0.4
languageName: unknown
linkType: soft
@@ -18125,7 +18125,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "root-workspace-0b6124@workspace:."
dependencies:
- "@redwoodjs/core": 6.0.3
+ "@redwoodjs/core": 6.0.4
languageName: unknown
linkType: soft
@@ -20693,10 +20693,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "web@workspace:web"
dependencies:
- "@redwoodjs/forms": 6.0.3
- "@redwoodjs/router": 6.0.3
- "@redwoodjs/vite": 6.0.3
- "@redwoodjs/web": 6.0.3
+ "@redwoodjs/forms": 6.0.4
+ "@redwoodjs/router": 6.0.4
+ "@redwoodjs/vite": 6.0.4
+ "@redwoodjs/web": 6.0.4
prop-types: 15.8.1
react: 18.2.0
react-dom: 18.2.0
diff --git a/packages/create-redwood-app/templates/ts/api/package.json b/packages/create-redwood-app/templates/ts/api/package.json
index e4759a5969d4..06411ebd2258 100644
--- a/packages/create-redwood-app/templates/ts/api/package.json
+++ b/packages/create-redwood-app/templates/ts/api/package.json
@@ -3,7 +3,7 @@
"version": "0.0.0",
"private": true,
"dependencies": {
- "@redwoodjs/api": "6.0.3",
- "@redwoodjs/graphql-server": "6.0.3"
+ "@redwoodjs/api": "6.0.4",
+ "@redwoodjs/graphql-server": "6.0.4"
}
}
diff --git a/packages/create-redwood-app/templates/ts/package.json b/packages/create-redwood-app/templates/ts/package.json
index 9604d0242e0f..9046764971fb 100644
--- a/packages/create-redwood-app/templates/ts/package.json
+++ b/packages/create-redwood-app/templates/ts/package.json
@@ -7,7 +7,7 @@
]
},
"devDependencies": {
- "@redwoodjs/core": "6.0.3"
+ "@redwoodjs/core": "6.0.4"
},
"eslintConfig": {
"extends": "@redwoodjs/eslint-config",
diff --git a/packages/create-redwood-app/templates/ts/web/package.json b/packages/create-redwood-app/templates/ts/web/package.json
index f1434a8aa11e..72bfa43df6a2 100644
--- a/packages/create-redwood-app/templates/ts/web/package.json
+++ b/packages/create-redwood-app/templates/ts/web/package.json
@@ -11,14 +11,14 @@
]
},
"dependencies": {
- "@redwoodjs/forms": "6.0.3",
- "@redwoodjs/router": "6.0.3",
- "@redwoodjs/web": "6.0.3",
+ "@redwoodjs/forms": "6.0.4",
+ "@redwoodjs/router": "6.0.4",
+ "@redwoodjs/web": "6.0.4",
"prop-types": "15.8.1",
"react": "18.2.0",
"react-dom": "18.2.0"
},
"devDependencies": {
- "@redwoodjs/vite": "6.0.3"
+ "@redwoodjs/vite": "6.0.4"
}
}
diff --git a/packages/create-redwood-app/templates/ts/yarn.lock b/packages/create-redwood-app/templates/ts/yarn.lock
index d99cc7f0eacc..85fd42135a26 100644
--- a/packages/create-redwood-app/templates/ts/yarn.lock
+++ b/packages/create-redwood-app/templates/ts/yarn.lock
@@ -4498,16 +4498,16 @@ __metadata:
languageName: node
linkType: hard
-"@redwoodjs/api-server@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/api-server@npm:6.0.3"
+"@redwoodjs/api-server@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/api-server@npm:6.0.4"
dependencies:
"@babel/plugin-transform-runtime": 7.22.9
"@babel/runtime-corejs3": 7.22.6
"@fastify/http-proxy": 9.2.1
"@fastify/static": 6.10.2
"@fastify/url-data": 5.3.1
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
ansi-colors: 4.1.3
chalk: 4.1.2
chokidar: 3.5.3
@@ -4526,13 +4526,13 @@ __metadata:
rw-api-server-watch: dist/watch.js
rw-log-formatter: dist/logFormatter/bin.js
rw-server: dist/index.js
- checksum: eab3010dd61b7c20e5c900b3155d1da116a2f55c400faf39536416818684daf325791dc01617c64a454b691006de82bf1d5f5c796a822439dfb45fd78920b3d8
+ checksum: 2d792145c9b64555a954658bc9ef9f8d84f17483d974ad68bd479aa408c55cd29b0ad09c1fc1f69990afbad610ac0c5c6b92cdc9670e64155d30045f2d361204
languageName: node
linkType: hard
-"@redwoodjs/api@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/api@npm:6.0.3"
+"@redwoodjs/api@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/api@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
"@prisma/client": 5.0.0
@@ -4556,30 +4556,30 @@ __metadata:
rw: dist/bins/redwood.js
rwfw: dist/bins/rwfw.js
tsc: dist/bins/tsc.js
- checksum: e880bf1e1ec5b88f7cb6031888ff9e3f7a119c3bda46902fa259bbece0a8cc56d9cbccddec156ab3fb604c8dc5c46a37dae76b6fd7344e27ac8a825eb7b950c3
+ checksum: 126ae078936c7099c7d0429ff6c62880689faba4e2b4fad98b10af1bc923bde5742bfe39ef55d6d938246f2dc877a707a88be1e8c15b0eca8885162150eb6a84
languageName: node
linkType: hard
-"@redwoodjs/auth@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/auth@npm:6.0.3"
+"@redwoodjs/auth@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/auth@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
core-js: 3.31.1
react: 18.2.0
- checksum: 9cc4390b7ffb74bb0ea22b3291ff5433b1a8b1ab14a4151814ed127baccefdfd423dde34e3f64abaf6b5e0dd06c4898afdd9054b31f9007a69fdfb55a1cb1356
+ checksum: 254814f12acaf8eba383011d0bbac5f2098920eaf5de442386fd65cebdacb19c31fbf3651aedb402abd98560f73839f6a516f51b17363d4022c6e5d6d3dcc9a6
languageName: node
linkType: hard
-"@redwoodjs/cli-helpers@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/cli-helpers@npm:6.0.3"
+"@redwoodjs/cli-helpers@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/cli-helpers@npm:6.0.4"
dependencies:
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
"@opentelemetry/api": 1.4.1
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/telemetry": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/telemetry": 6.0.4
chalk: 4.1.2
core-js: 3.31.1
execa: 5.1.1
@@ -4589,13 +4589,13 @@ __metadata:
prettier: 2.8.8
prompts: 2.4.2
terminal-link: 2.1.1
- checksum: c8d304e93dcef11811cb1105fee230bb8ce023df6063cc93f060c5d78db52822c4b293d57d42ad9863714745332b364ae5c54150ada5f77964611abd38c63705
+ checksum: b2581395c10862570ec31bb903b0c7201663580bec2d4893323029303227d519168f1ef7208a48e1613ef28a5621e0941216c0a7c7023f47d33da00d37fa0954
languageName: node
linkType: hard
-"@redwoodjs/cli@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/cli@npm:6.0.3"
+"@redwoodjs/cli@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/cli@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
"@iarna/toml": 2.2.5
@@ -4606,14 +4606,14 @@ __metadata:
"@opentelemetry/sdk-trace-node": 1.15.0
"@opentelemetry/semantic-conventions": 1.15.0
"@prisma/internals": 5.0.0
- "@redwoodjs/api-server": 6.0.3
- "@redwoodjs/cli-helpers": 6.0.3
- "@redwoodjs/fastify": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/prerender": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/structure": 6.0.3
- "@redwoodjs/telemetry": 6.0.3
+ "@redwoodjs/api-server": 6.0.4
+ "@redwoodjs/cli-helpers": 6.0.4
+ "@redwoodjs/fastify": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/prerender": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/structure": 6.0.4
+ "@redwoodjs/telemetry": 6.0.4
"@types/secure-random-password": 0.2.1
boxen: 5.1.2
camelcase: 6.3.0
@@ -4655,13 +4655,13 @@ __metadata:
redwood: dist/index.js
rw: dist/index.js
rwfw: dist/rwfw.js
- checksum: 8febbec80055e7d5b6807ef256bcf28febfaddc0722f88ac83fe179a28e7d1438bba9a02e1c342cb91d966e2094a52786c2f90f63f1b4b01fc9dbf0d18d747f2
+ checksum: ffaf070f40840dc9b4caa101cdbe853626aed72ec0dc9d0ebcdbdf2e8288a253532697a8a6105141f1eda7f2b805293e5c0c52b9ec411de5ff65785a8275d900
languageName: node
linkType: hard
-"@redwoodjs/core@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/core@npm:6.0.3"
+"@redwoodjs/core@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/core@npm:6.0.4"
dependencies:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
@@ -4674,11 +4674,11 @@ __metadata:
"@babel/preset-typescript": 7.22.5
"@babel/runtime-corejs3": 7.22.6
"@pmmmwh/react-refresh-webpack-plugin": 0.5.10
- "@redwoodjs/cli": 6.0.3
- "@redwoodjs/eslint-config": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/testing": 6.0.3
+ "@redwoodjs/cli": 6.0.4
+ "@redwoodjs/eslint-config": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/testing": 6.0.4
babel-loader: 9.1.3
babel-plugin-auto-import: 1.1.0
babel-plugin-graphql-tag: 3.3.0
@@ -4724,20 +4724,20 @@ __metadata:
rw-gen-watch: dist/bins/rw-gen-watch.js
rw-log-formatter: dist/bins/rw-log-formatter.js
rwfw: dist/bins/rwfw.js
- checksum: fbb96668727dc6644a1fea505de06080d659765ba5b02d532e416f83b7120707d71b127889042d6df03db3137955f96f041458560792a6bec909c061d97551f6
+ checksum: 7d7a600241261db9ad4f688e0cae3b0f3282f2f6a5824193c0addfb5cb5ff8dc3283a0c0e10a25a156b6f4a7788576df379ea99f26e23bf32fa510bda1bab7ad
languageName: node
linkType: hard
-"@redwoodjs/eslint-config@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/eslint-config@npm:6.0.3"
+"@redwoodjs/eslint-config@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/eslint-config@npm:6.0.4"
dependencies:
"@babel/core": 7.22.9
"@babel/eslint-parser": 7.22.9
"@babel/eslint-plugin": 7.22.5
- "@redwoodjs/eslint-plugin": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/eslint-plugin": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
"@typescript-eslint/eslint-plugin": 5.61.0
"@typescript-eslint/parser": 5.61.0
eslint: 8.45.0
@@ -4751,42 +4751,42 @@ __metadata:
eslint-plugin-react: 7.32.2
eslint-plugin-react-hooks: 4.6.0
prettier: 2.8.8
- checksum: 86545185aea4a0b585881dffbb001da45879f3eff640cf2a9fbf66c6e4e1f7ca40626fa1f0c4254882c925b7a3f26d0898aead0f456a47b1bc98d9597439d226
+ checksum: 2752887273a0e46c272cbdc7c9937ef7476566f7edbacee7fdb6698660065720f3be672a151413750105253733002514a099e504c72cadda799bf0ffc20549ca
languageName: node
linkType: hard
-"@redwoodjs/eslint-plugin@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/eslint-plugin@npm:6.0.3"
+"@redwoodjs/eslint-plugin@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/eslint-plugin@npm:6.0.4"
dependencies:
"@typescript-eslint/utils": 5.61.0
eslint: 8.45.0
- checksum: b0a132995056bfdeb9b31be73b97989f7bd68463c62d2e9fc101bb927ea9efdd594fbc7cd4ebc842ebc9d21d2798d8ebef41a03290330c6771342a425f30c5a1
+ checksum: f9833ca5eef057c29b3ca379fec3f93bc830e1d2dd6f0bfd0e95254ba1788c8ebe4803d39b96cc4839e138cb95bd3ecb5e35c52785157a15837a9e1d235c2ec6
languageName: node
linkType: hard
-"@redwoodjs/fastify@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/fastify@npm:6.0.3"
+"@redwoodjs/fastify@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/fastify@npm:6.0.4"
dependencies:
"@fastify/http-proxy": 9.2.1
"@fastify/static": 6.10.2
"@fastify/url-data": 5.3.1
- "@redwoodjs/graphql-server": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/graphql-server": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
ansi-colors: 4.1.3
fast-glob: 3.2.12
fastify: 4.20.0
fastify-raw-body: 4.2.1
lodash: 4.17.21
qs: 6.11.2
- checksum: 4f2e9381329492460741c786ffb9ac124389b8185f358edc5915ec68dd6cd9d9aaa19cde3a277c6525cbbf9b74757f1d572a2ab40795f3c0272443e256b502c3
+ checksum: f0b217be7e54a49627e2921d28d6baf0fff60c8a7572f973c27a8e5391784d451f472123be4db4aa8089ddebeb8964636361cc3edd3834d558c619d36c29f338
languageName: node
linkType: hard
-"@redwoodjs/forms@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/forms@npm:6.0.3"
+"@redwoodjs/forms@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/forms@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
core-js: 3.31.1
@@ -4795,13 +4795,13 @@ __metadata:
peerDependencies:
graphql: 16.7.1
react: 18.2.0
- checksum: ba0decdf55a886165807aa995f68e2890b8d9a17f7c19161a712acb6601f21e27a61548dc7c60908643fc959e0febce7a2c1c693307a8d713a70ea9537844db8
+ checksum: dc4917f6b24a1623aa3bc501a56e50980a4d6fc2009c8e9d369195afb084e2d728bbd9d01b584bada3cc95d2d59bb2972dd71b0674b156a73ce8cc40a71bf37e
languageName: node
linkType: hard
-"@redwoodjs/graphql-server@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/graphql-server@npm:6.0.3"
+"@redwoodjs/graphql-server@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/graphql-server@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
"@envelop/core": 4.0.0
@@ -4814,8 +4814,8 @@ __metadata:
"@graphql-tools/schema": 10.0.0
"@graphql-tools/utils": 10.0.1
"@opentelemetry/api": 1.4.1
- "@redwoodjs/api": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/api": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
core-js: 3.31.1
graphql: 16.7.1
graphql-scalars: 1.22.2
@@ -4823,13 +4823,13 @@ __metadata:
graphql-yoga: 4.0.2
lodash: 4.17.21
uuid: 9.0.0
- checksum: 1addc0aeabf22b4ac565efd177e86b26d473c173d9095723f777992a85c1c5afabb5918f012a76fc5a24a6d6a4608ed1c62f9665b534209cdec8daa08ade8d5e
+ checksum: 04dfb55edee6dda9ef4df04ba769d0290f662fecd95487cde0f8979a4c81319d4dc3a0c12e71b13d535d8d602e4b5d4a578aec55bc3ab7b882b98ea30291336e
languageName: node
linkType: hard
-"@redwoodjs/internal@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/internal@npm:6.0.3"
+"@redwoodjs/internal@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/internal@npm:6.0.4"
dependencies:
"@babel/parser": 7.22.7
"@babel/plugin-transform-class-properties": 7.22.5
@@ -4847,8 +4847,8 @@ __metadata:
"@graphql-codegen/typescript-operations": 3.0.4
"@graphql-codegen/typescript-react-apollo": 3.3.7
"@graphql-codegen/typescript-resolvers": 3.2.1
- "@redwoodjs/graphql-server": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/graphql-server": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
"@sdl-codegen/node": 0.0.10
babel-plugin-graphql-tag: 3.3.0
babel-plugin-polyfill-corejs3: 0.8.3
@@ -4870,21 +4870,21 @@ __metadata:
bin:
rw-gen: dist/generate/generate.js
rw-gen-watch: dist/generate/watch.js
- checksum: 7121c5e88ddd626a1b9e37f7a08da2acb03f1bb41e8fc53d5a331563f7ca635a68955a143074d0893b45646e8f03caaa189f5ee3a3cdf83f137a35d789615710
+ checksum: c00ed34f3598116f2fec58086b41ff82aabbfffe7acb0f8c844e3c0b43b77545f38e061fded029e0531f07b83dd86a419fa4f6aae84f13a6cfbc6cb4f91cd9e3
languageName: node
linkType: hard
-"@redwoodjs/prerender@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/prerender@npm:6.0.3"
+"@redwoodjs/prerender@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/prerender@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/router": 6.0.3
- "@redwoodjs/structure": 6.0.3
- "@redwoodjs/web": 6.0.3
+ "@redwoodjs/auth": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/router": 6.0.4
+ "@redwoodjs/structure": 6.0.4
+ "@redwoodjs/web": 6.0.4
"@whatwg-node/fetch": 0.9.7
babel-plugin-ignore-html-and-css-imports: 0.1.0
cheerio: 1.0.0-rc.12
@@ -4894,45 +4894,45 @@ __metadata:
peerDependencies:
react: 18.2.0
react-dom: 18.2.0
- checksum: 3278038149cf256457cb8817acd248a60e15c28d9f4e6d5e226d9afe73a9cbf967988298c2f31c7071d9dadfbdb57bd46ade3e159ea9218a0f5e07c3d31ee91f
+ checksum: 3cdaf9dba28bbd164f90d5e7e707f31afffaa82e73edbddd650e7a27ae1bcbad33db3d3b81ed6d0324d7a3b1a66e8d3a84752411780e91651fa86211547d7e5f
languageName: node
linkType: hard
-"@redwoodjs/project-config@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/project-config@npm:6.0.3"
+"@redwoodjs/project-config@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/project-config@npm:6.0.4"
dependencies:
"@iarna/toml": 2.2.5
deepmerge: 4.3.1
fast-glob: 3.2.12
string-env-interpolation: 1.0.1
- checksum: f0a8f3f66f424a94b0ae80355c0fb86ea21c2b5d130a23a256e43a1388733ed3fed30d5598bd57a2aa1efd1e3bce02c5ba43d2892dc067b35bf500b73af45a01
+ checksum: 81cc0e1b7a500d112834087a07e81ff386f6ab9889657ff12ffd730c0a8511aae85aaf513fbfb90b7300acad6167b9df033a9ce124fb422942949a2943c72b7c
languageName: node
linkType: hard
-"@redwoodjs/router@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/router@npm:6.0.3"
+"@redwoodjs/router@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/router@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
"@reach/skip-nav": 0.18.0
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
core-js: 3.31.1
peerDependencies:
react: 18.2.0
react-dom: 18.2.0
- checksum: 7567bad5acd9e648ac178fcf68bb1d204f690730d4eaa14eb6ae1fd802d0538c19e2b34d1e3cf7a840f408eb4136140cf6ccb05e887fb83babfa518f967b509d
+ checksum: 11cd636b91ccd5a7683ccba6ef1c77adf50a91cd05dea254e8af620503344f3907fbd9276986a02bf6b6d700a9406c915debbc0f4af376d5e9d9a0f79f6525cb
languageName: node
linkType: hard
-"@redwoodjs/structure@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/structure@npm:6.0.3"
+"@redwoodjs/structure@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/structure@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
"@iarna/toml": 2.2.5
"@prisma/internals": 5.0.0
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
"@types/line-column": 1.0.0
camelcase: 6.3.0
core-js: 3.31.1
@@ -4952,17 +4952,17 @@ __metadata:
vscode-languageserver-textdocument: 1.0.8
vscode-languageserver-types: 3.17.3
yargs-parser: 21.1.1
- checksum: 7f593a8c61f6d666e7fd0f16a9a64aa621ff47d0cc6a1ded11d564d8607484dab92e4da1da84452a49a85dfcebb17081586010ff9a48197a05362fc7271b0a39
+ checksum: 0d6fa8e0c2ce469d76feab2d3210bea3a68c2358b279b6b06e771cd089cd272cf10548059445dcfb941180bf15bb700ec0d324e37549853ab33f67bf7d368ab2
languageName: node
linkType: hard
-"@redwoodjs/telemetry@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/telemetry@npm:6.0.3"
+"@redwoodjs/telemetry@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/telemetry@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/structure": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/structure": 6.0.4
"@whatwg-node/fetch": 0.9.7
ci-info: 3.8.0
core-js: 3.31.1
@@ -4970,21 +4970,21 @@ __metadata:
systeminformation: 5.18.5
uuid: 9.0.0
yargs: 17.7.2
- checksum: 3fb3ce9d22d6aae5afe745314c9be276a73fdad9699aeb4b03d25ea1e53624bbf99e7f7ae2d0a7f6e4aaa4d572d966ec0fcf181e3c4cd11e4bd05bd253a3e910
+ checksum: 2948757a571302d32aa80dacf662f90cf865b64c8d53c7b28dd965c659d91a8ffcd0d9305cc407920fd34e48e5992ddd779543abb4726a41fc8dec2fed540292
languageName: node
linkType: hard
-"@redwoodjs/testing@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/testing@npm:6.0.3"
+"@redwoodjs/testing@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/testing@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
- "@redwoodjs/graphql-server": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/router": 6.0.3
- "@redwoodjs/web": 6.0.3
+ "@redwoodjs/auth": 6.0.4
+ "@redwoodjs/graphql-server": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/router": 6.0.4
+ "@redwoodjs/web": 6.0.4
"@testing-library/jest-dom": 5.16.5
"@testing-library/react": 14.0.0
"@testing-library/user-event": 14.4.3
@@ -5005,17 +5005,17 @@ __metadata:
msw: 1.2.3
ts-toolbelt: 9.6.0
whatwg-fetch: 3.6.2
- checksum: 6ac11a0de1a6b435f96d3981fd5e9e143ab457d068cb0eb895d3e92ef5add045592db96d41e2694d9b196046e944a34cf82723ffa08c8015afd9cbee01b257df
+ checksum: 09fd4a99eafde7f4120aa9bb4029b9cae404a7d1d7fe3824f232c2e063709d2531a70b9014602f2cb087fbc7e1ba6f7d0027a7f5cada7dec1c7b4ae798adba99
languageName: node
linkType: hard
-"@redwoodjs/vite@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/vite@npm:6.0.3"
+"@redwoodjs/vite@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/vite@npm:6.0.4"
dependencies:
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
"@vitejs/plugin-react": 4.0.3
buffer: 6.0.3
core-js: 3.31.1
@@ -5025,17 +5025,17 @@ __metadata:
rw-vite-build: bins/rw-vite-build.mjs
rw-vite-dev: bins/rw-vite-dev.mjs
vite: bins/vite.mjs
- checksum: d9d7a2089308d1cb756e18cd28721998c6a847a65e15d734d712202f8f0f87cf0a4bbbeb1eaa71ec8f96b76898c77100a4e0ca0a312aac4b7d3fa929c7b4aeb9
+ checksum: 698257e0ec11aac5becfc9f42168cf0ca51be139a038be7b5b45056f5708ff45b12714e3b34b3e42ee8cd7ce452cbd4ba9390b1815a93886299661246541b531
languageName: node
linkType: hard
-"@redwoodjs/web@npm:6.0.3":
- version: 6.0.3
- resolution: "@redwoodjs/web@npm:6.0.3"
+"@redwoodjs/web@npm:6.0.4":
+ version: 6.0.4
+ resolution: "@redwoodjs/web@npm:6.0.4"
dependencies:
"@apollo/client": 3.7.17
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
core-js: 3.31.1
graphql: 16.7.1
graphql-tag: 2.12.6
@@ -5056,7 +5056,7 @@ __metadata:
storybook: dist/bins/storybook.js
tsc: dist/bins/tsc.js
webpack: dist/bins/webpack.js
- checksum: 4c900cfa004c1f8ca94d7af39c8d8223db9046eb99cdf1593507bb0a8b2c0df70d81d18d3bd8eb3fcb865da67075693f23065da077cb9202dc97c95099fcd53d
+ checksum: 068f39479b3a7bb71fb1746590b90e147dd4fc84fe78393374c4b5ebb38d659de59ca455812d81a6085a950126a9cf6b57bdec4cadec2526a68e410cb8d8f78f
languageName: node
linkType: hard
@@ -6901,8 +6901,8 @@ __metadata:
version: 0.0.0-use.local
resolution: "api@workspace:api"
dependencies:
- "@redwoodjs/api": 6.0.3
- "@redwoodjs/graphql-server": 6.0.3
+ "@redwoodjs/api": 6.0.4
+ "@redwoodjs/graphql-server": 6.0.4
languageName: unknown
linkType: soft
@@ -18125,7 +18125,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "root-workspace-0b6124@workspace:."
dependencies:
- "@redwoodjs/core": 6.0.3
+ "@redwoodjs/core": 6.0.4
languageName: unknown
linkType: soft
@@ -20693,10 +20693,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "web@workspace:web"
dependencies:
- "@redwoodjs/forms": 6.0.3
- "@redwoodjs/router": 6.0.3
- "@redwoodjs/vite": 6.0.3
- "@redwoodjs/web": 6.0.3
+ "@redwoodjs/forms": 6.0.4
+ "@redwoodjs/router": 6.0.4
+ "@redwoodjs/vite": 6.0.4
+ "@redwoodjs/web": 6.0.4
prop-types: 15.8.1
react: 18.2.0
react-dom: 18.2.0
diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json
index 12e0b8339459..7511d540408d 100644
--- a/packages/eslint-config/package.json
+++ b/packages/eslint-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/eslint-config",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -15,9 +15,9 @@
"@babel/core": "7.22.9",
"@babel/eslint-parser": "7.22.9",
"@babel/eslint-plugin": "7.22.5",
- "@redwoodjs/eslint-plugin": "6.0.3",
- "@redwoodjs/internal": "6.0.3",
- "@redwoodjs/project-config": "6.0.3",
+ "@redwoodjs/eslint-plugin": "6.0.4",
+ "@redwoodjs/internal": "6.0.4",
+ "@redwoodjs/project-config": "6.0.4",
"@typescript-eslint/eslint-plugin": "5.61.0",
"@typescript-eslint/parser": "5.61.0",
"eslint": "8.45.0",
diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json
index 68038bee799d..e2c287af69dc 100644
--- a/packages/eslint-plugin/package.json
+++ b/packages/eslint-plugin/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/eslint-plugin",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
diff --git a/packages/fastify/package.json b/packages/fastify/package.json
index 1b0a25d8f273..ff781b814833 100644
--- a/packages/fastify/package.json
+++ b/packages/fastify/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/fastify",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -21,8 +21,8 @@
"@fastify/http-proxy": "9.2.1",
"@fastify/static": "6.10.2",
"@fastify/url-data": "5.3.1",
- "@redwoodjs/graphql-server": "6.0.3",
- "@redwoodjs/project-config": "6.0.3",
+ "@redwoodjs/graphql-server": "6.0.4",
+ "@redwoodjs/project-config": "6.0.4",
"ansi-colors": "4.1.3",
"fast-glob": "3.2.12",
"fastify": "4.20.0",
diff --git a/packages/forms/package.json b/packages/forms/package.json
index 515210a99ffe..ab629200b157 100644
--- a/packages/forms/package.json
+++ b/packages/forms/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/forms",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
diff --git a/packages/graphql-server/package.json b/packages/graphql-server/package.json
index c90fe1698e0d..8103317ab4a0 100644
--- a/packages/graphql-server/package.json
+++ b/packages/graphql-server/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/graphql-server",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -33,8 +33,8 @@
"@graphql-tools/schema": "10.0.0",
"@graphql-tools/utils": "10.0.1",
"@opentelemetry/api": "1.4.1",
- "@redwoodjs/api": "6.0.3",
- "@redwoodjs/project-config": "6.0.3",
+ "@redwoodjs/api": "6.0.4",
+ "@redwoodjs/project-config": "6.0.4",
"core-js": "3.31.1",
"graphql": "16.7.1",
"graphql-scalars": "1.22.2",
@@ -48,7 +48,7 @@
"@babel/core": "7.22.9",
"@envelop/testing": "6.0.0",
"@envelop/types": "4.0.0",
- "@redwoodjs/realtime": "6.0.3",
+ "@redwoodjs/realtime": "6.0.4",
"@types/jsonwebtoken": "9.0.2",
"@types/lodash": "4.14.195",
"@types/uuid": "9.0.2",
diff --git a/packages/internal/package.json b/packages/internal/package.json
index 3c5d7987efc0..fa0c86eb17eb 100644
--- a/packages/internal/package.json
+++ b/packages/internal/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/internal",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -44,8 +44,8 @@
"@graphql-codegen/typescript-operations": "3.0.4",
"@graphql-codegen/typescript-react-apollo": "3.3.7",
"@graphql-codegen/typescript-resolvers": "3.2.1",
- "@redwoodjs/graphql-server": "6.0.3",
- "@redwoodjs/project-config": "6.0.3",
+ "@redwoodjs/graphql-server": "6.0.4",
+ "@redwoodjs/project-config": "6.0.4",
"@sdl-codegen/node": "0.0.10",
"babel-plugin-graphql-tag": "3.3.0",
"babel-plugin-polyfill-corejs3": "0.8.3",
diff --git a/packages/prerender/package.json b/packages/prerender/package.json
index 576a6691bc99..cce34f06b824 100644
--- a/packages/prerender/package.json
+++ b/packages/prerender/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/prerender",
- "version": "6.0.3",
+ "version": "6.0.4",
"description": "RedwoodJS prerender",
"repository": {
"type": "git",
@@ -25,12 +25,12 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/auth": "6.0.3",
- "@redwoodjs/internal": "6.0.3",
- "@redwoodjs/project-config": "6.0.3",
- "@redwoodjs/router": "6.0.3",
- "@redwoodjs/structure": "6.0.3",
- "@redwoodjs/web": "6.0.3",
+ "@redwoodjs/auth": "6.0.4",
+ "@redwoodjs/internal": "6.0.4",
+ "@redwoodjs/project-config": "6.0.4",
+ "@redwoodjs/router": "6.0.4",
+ "@redwoodjs/structure": "6.0.4",
+ "@redwoodjs/web": "6.0.4",
"@whatwg-node/fetch": "0.9.7",
"babel-plugin-ignore-html-and-css-imports": "0.1.0",
"cheerio": "1.0.0-rc.12",
diff --git a/packages/project-config/package.json b/packages/project-config/package.json
index ecc007ccd37a..b8b38a7b1f24 100644
--- a/packages/project-config/package.json
+++ b/packages/project-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/project-config",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
diff --git a/packages/realtime/package.json b/packages/realtime/package.json
index 903c5b47071f..71a38d009c1b 100644
--- a/packages/realtime/package.json
+++ b/packages/realtime/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/realtime",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
diff --git a/packages/record/package.json b/packages/record/package.json
index 68f10bccfd60..5320eba51522 100644
--- a/packages/record/package.json
+++ b/packages/record/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/record",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -29,7 +29,7 @@
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
"@prisma/client": "5.0.0",
- "@redwoodjs/project-config": "6.0.3",
+ "@redwoodjs/project-config": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/router/package.json b/packages/router/package.json
index 53ab5c02476c..07caedf052d2 100644
--- a/packages/router/package.json
+++ b/packages/router/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/router",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -24,7 +24,7 @@
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
"@reach/skip-nav": "0.18.0",
- "@redwoodjs/auth": "6.0.3",
+ "@redwoodjs/auth": "6.0.4",
"core-js": "3.31.1"
},
"devDependencies": {
diff --git a/packages/structure/package.json b/packages/structure/package.json
index 71b6512e1b38..33dc593dce1c 100644
--- a/packages/structure/package.json
+++ b/packages/structure/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/structure",
- "version": "6.0.3",
+ "version": "6.0.4",
"description": "noun: the arrangement of and relations between the parts or elements of something complex",
"repository": {
"type": "git",
@@ -33,7 +33,7 @@
"@babel/runtime-corejs3": "7.22.6",
"@iarna/toml": "2.2.5",
"@prisma/internals": "5.0.0",
- "@redwoodjs/project-config": "6.0.3",
+ "@redwoodjs/project-config": "6.0.4",
"@types/line-column": "1.0.0",
"camelcase": "6.3.0",
"core-js": "3.31.1",
diff --git a/packages/studio/package.json b/packages/studio/package.json
index 0ba8c2c4c882..f0d6fc2ccbc7 100644
--- a/packages/studio/package.json
+++ b/packages/studio/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/studio",
- "version": "6.0.3",
+ "version": "6.0.4",
"description": "Redwood's development studio",
"repository": {
"type": "git",
@@ -29,8 +29,8 @@
"@fastify/http-proxy": "9.2.1",
"@fastify/static": "6.10.2",
"@fastify/url-data": "5.3.1",
- "@redwoodjs/internal": "6.0.3",
- "@redwoodjs/project-config": "6.0.3",
+ "@redwoodjs/internal": "6.0.4",
+ "@redwoodjs/project-config": "6.0.4",
"ansi-colors": "4.1.3",
"chokidar": "3.5.3",
"core-js": "3.31.1",
diff --git a/packages/telemetry/package.json b/packages/telemetry/package.json
index ff339699f7f8..0818b063f568 100644
--- a/packages/telemetry/package.json
+++ b/packages/telemetry/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/telemetry",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -27,8 +27,8 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/project-config": "6.0.3",
- "@redwoodjs/structure": "6.0.3",
+ "@redwoodjs/project-config": "6.0.4",
+ "@redwoodjs/structure": "6.0.4",
"@whatwg-node/fetch": "0.9.7",
"ci-info": "3.8.0",
"core-js": "3.31.1",
diff --git a/packages/testing/package.json b/packages/testing/package.json
index 51a3c66bb85f..c495c88ff33c 100644
--- a/packages/testing/package.json
+++ b/packages/testing/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/testing",
- "version": "6.0.3",
+ "version": "6.0.4",
"description": "Tools, wrappers and configuration for testing a Redwood project.",
"repository": {
"type": "git",
@@ -28,12 +28,12 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/auth": "6.0.3",
- "@redwoodjs/graphql-server": "6.0.3",
- "@redwoodjs/internal": "6.0.3",
- "@redwoodjs/project-config": "6.0.3",
- "@redwoodjs/router": "6.0.3",
- "@redwoodjs/web": "6.0.3",
+ "@redwoodjs/auth": "6.0.4",
+ "@redwoodjs/graphql-server": "6.0.4",
+ "@redwoodjs/internal": "6.0.4",
+ "@redwoodjs/project-config": "6.0.4",
+ "@redwoodjs/router": "6.0.4",
+ "@redwoodjs/web": "6.0.4",
"@testing-library/jest-dom": "5.16.5",
"@testing-library/react": "14.0.0",
"@testing-library/user-event": "14.4.3",
diff --git a/packages/tui/package.json b/packages/tui/package.json
index 810de8bdda81..0b6420cb729f 100644
--- a/packages/tui/package.json
+++ b/packages/tui/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/tui",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
diff --git a/packages/vite/package.json b/packages/vite/package.json
index 2b7e49e93aa9..01af3f4ab65e 100644
--- a/packages/vite/package.json
+++ b/packages/vite/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/vite",
- "version": "6.0.3",
+ "version": "6.0.4",
"description": "Vite configuration package for Redwood",
"repository": {
"type": "git",
@@ -27,8 +27,8 @@
},
"dependencies": {
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/internal": "6.0.3",
- "@redwoodjs/project-config": "6.0.3",
+ "@redwoodjs/internal": "6.0.4",
+ "@redwoodjs/project-config": "6.0.4",
"@vitejs/plugin-react": "4.0.3",
"buffer": "6.0.3",
"core-js": "3.31.1",
diff --git a/packages/web/package.json b/packages/web/package.json
index f66f0a955431..19b67bfbd640 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -1,6 +1,6 @@
{
"name": "@redwoodjs/web",
- "version": "6.0.3",
+ "version": "6.0.4",
"repository": {
"type": "git",
"url": "https://github.com/redwoodjs/redwood.git",
@@ -37,7 +37,7 @@
"dependencies": {
"@apollo/client": "3.7.17",
"@babel/runtime-corejs3": "7.22.6",
- "@redwoodjs/auth": "6.0.3",
+ "@redwoodjs/auth": "6.0.4",
"core-js": "3.31.1",
"graphql": "16.7.1",
"graphql-tag": "2.12.6",
diff --git a/yarn.lock b/yarn.lock
index da9d9985d447..e2fee96d4434 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -6678,7 +6678,7 @@ __metadata:
languageName: node
linkType: hard
-"@redwoodjs/api-server@6.0.3, @redwoodjs/api-server@workspace:packages/api-server":
+"@redwoodjs/api-server@6.0.4, @redwoodjs/api-server@workspace:packages/api-server":
version: 0.0.0-use.local
resolution: "@redwoodjs/api-server@workspace:packages/api-server"
dependencies:
@@ -6689,7 +6689,7 @@ __metadata:
"@fastify/http-proxy": 9.2.1
"@fastify/static": 6.10.2
"@fastify/url-data": 5.3.1
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
"@types/aws-lambda": 8.10.119
"@types/lodash": 4.14.195
"@types/qs": 6.9.7
@@ -6719,7 +6719,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/api@6.0.3, @redwoodjs/api@workspace:packages/api":
+"@redwoodjs/api@6.0.4, @redwoodjs/api@workspace:packages/api":
version: 0.0.0-use.local
resolution: "@redwoodjs/api@workspace:packages/api"
dependencies:
@@ -6768,7 +6768,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/api": 6.0.3
+ "@redwoodjs/api": 6.0.4
"@types/jsonwebtoken": 9.0.2
core-js: 3.31.1
jest: 29.6.1
@@ -6785,7 +6785,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/cli-helpers": 6.0.3
+ "@redwoodjs/cli-helpers": 6.0.4
"@types/yargs": 17.0.24
core-js: 3.31.1
jest: 29.6.1
@@ -6801,7 +6801,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
"@types/react": 18.2.14
core-js: 3.31.1
jest: 29.6.1
@@ -6819,7 +6819,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/api": 6.0.3
+ "@redwoodjs/api": 6.0.4
"@types/aws-lambda": 8.10.119
"@types/jsonwebtoken": 9.0.2
core-js: 3.31.1
@@ -6837,7 +6837,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/cli-helpers": 6.0.3
+ "@redwoodjs/cli-helpers": 6.0.4
"@types/yargs": 17.0.24
core-js: 3.31.1
jest: 29.6.1
@@ -6853,7 +6853,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
"@types/netlify-identity-widget": 1.9.3
"@types/react": 18.2.14
core-js: 3.31.1
@@ -6873,7 +6873,7 @@ __metadata:
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
"@clerk/clerk-sdk-node": 4.10.15
- "@redwoodjs/api": 6.0.3
+ "@redwoodjs/api": 6.0.4
"@types/aws-lambda": 8.10.119
core-js: 3.31.1
jest: 29.6.1
@@ -6888,7 +6888,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/cli-helpers": 6.0.3
+ "@redwoodjs/cli-helpers": 6.0.4
"@types/yargs": 17.0.24
core-js: 3.31.1
jest: 29.6.1
@@ -6905,7 +6905,7 @@ __metadata:
"@babel/runtime-corejs3": 7.22.6
"@clerk/clerk-react": 4.22.0
"@clerk/types": 3.46.1
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
"@types/react": 18.2.14
core-js: 3.31.1
jest: 29.6.1
@@ -6923,7 +6923,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/cli-helpers": 6.0.3
+ "@redwoodjs/cli-helpers": 6.0.4
"@types/yargs": 17.0.24
core-js: 3.31.1
jest: 29.6.1
@@ -6938,7 +6938,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/api": 6.0.3
+ "@redwoodjs/api": 6.0.4
"@simplewebauthn/server": 7.3.1
"@types/crypto-js": 4.1.1
"@types/md5": 2.3.2
@@ -6960,7 +6960,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/cli-helpers": 6.0.3
+ "@redwoodjs/cli-helpers": 6.0.4
"@simplewebauthn/browser": 7.2.0
"@simplewebauthn/typescript-types": 7.0.0
"@types/secure-random-password": 0.2.1
@@ -6981,7 +6981,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
"@simplewebauthn/browser": 7.2.0
"@simplewebauthn/typescript-types": 7.0.0
"@types/react": 18.2.14
@@ -6999,7 +6999,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/api": 6.0.3
+ "@redwoodjs/api": 6.0.4
"@types/aws-lambda": 8.10.119
core-js: 3.31.1
firebase-admin: 11.10.1
@@ -7015,7 +7015,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/cli-helpers": 6.0.3
+ "@redwoodjs/cli-helpers": 6.0.4
"@types/yargs": 17.0.24
core-js: 3.31.1
jest: 29.6.1
@@ -7030,7 +7030,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
"@types/react": 18.2.14
core-js: 3.31.1
firebase: 10.1.0
@@ -7049,7 +7049,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/api": 6.0.3
+ "@redwoodjs/api": 6.0.4
"@types/aws-lambda": 8.10.119
"@types/jsonwebtoken": 9.0.2
core-js: 3.31.1
@@ -7066,7 +7066,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/cli-helpers": 6.0.3
+ "@redwoodjs/cli-helpers": 6.0.4
"@types/yargs": 17.0.24
core-js: 3.31.1
jest: 29.6.1
@@ -7081,7 +7081,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
"@types/netlify-identity-widget": 1.9.3
"@types/react": 18.2.14
core-js: 3.31.1
@@ -7100,7 +7100,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/api": 6.0.3
+ "@redwoodjs/api": 6.0.4
"@types/aws-lambda": 8.10.119
"@types/jsonwebtoken": 9.0.2
core-js: 3.31.1
@@ -7117,7 +7117,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/cli-helpers": 6.0.3
+ "@redwoodjs/cli-helpers": 6.0.4
"@types/yargs": 17.0.24
core-js: 3.31.1
jest: 29.6.1
@@ -7150,7 +7150,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/api": 6.0.3
+ "@redwoodjs/api": 6.0.4
"@types/jsonwebtoken": 9.0.2
core-js: 3.31.1
jest: 29.6.1
@@ -7169,7 +7169,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/cli-helpers": 6.0.3
+ "@redwoodjs/cli-helpers": 6.0.4
"@types/yargs": 17.0.24
core-js: 3.31.1
jest: 29.6.1
@@ -7184,7 +7184,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
"@types/react": 18.2.14
core-js: 3.31.1
jest: 29.6.1
@@ -7196,7 +7196,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/auth@6.0.3, @redwoodjs/auth@workspace:packages/auth":
+"@redwoodjs/auth@6.0.4, @redwoodjs/auth@workspace:packages/auth":
version: 0.0.0-use.local
resolution: "@redwoodjs/auth@workspace:packages/auth"
dependencies:
@@ -7213,7 +7213,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/cli-helpers@6.0.3, @redwoodjs/cli-helpers@workspace:packages/cli-helpers":
+"@redwoodjs/cli-helpers@6.0.4, @redwoodjs/cli-helpers@workspace:packages/cli-helpers":
version: 0.0.0-use.local
resolution: "@redwoodjs/cli-helpers@workspace:packages/cli-helpers"
dependencies:
@@ -7221,8 +7221,8 @@ __metadata:
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
"@opentelemetry/api": 1.4.1
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/telemetry": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/telemetry": 6.0.4
"@types/lodash": 4.14.195
"@types/pascalcase": 1.0.1
"@types/yargs": 17.0.24
@@ -7244,9 +7244,9 @@ __metadata:
version: 0.0.0-use.local
resolution: "@redwoodjs/cli-storybook@workspace:packages/cli-packages/storybook"
dependencies:
- "@redwoodjs/cli-helpers": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/telemetry": 6.0.3
+ "@redwoodjs/cli-helpers": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/telemetry": 6.0.4
"@storybook/addon-a11y": 7.1.1
"@storybook/addon-docs": 7.1.1
"@storybook/addon-essentials": 7.1.1
@@ -7264,7 +7264,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/cli@6.0.3, @redwoodjs/cli@workspace:packages/cli":
+"@redwoodjs/cli@6.0.4, @redwoodjs/cli@workspace:packages/cli":
version: 0.0.0-use.local
resolution: "@redwoodjs/cli@workspace:packages/cli"
dependencies:
@@ -7279,14 +7279,14 @@ __metadata:
"@opentelemetry/sdk-trace-node": 1.15.0
"@opentelemetry/semantic-conventions": 1.15.0
"@prisma/internals": 5.0.0
- "@redwoodjs/api-server": 6.0.3
- "@redwoodjs/cli-helpers": 6.0.3
- "@redwoodjs/fastify": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/prerender": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/structure": 6.0.3
- "@redwoodjs/telemetry": 6.0.3
+ "@redwoodjs/api-server": 6.0.4
+ "@redwoodjs/cli-helpers": 6.0.4
+ "@redwoodjs/fastify": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/prerender": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/structure": 6.0.4
+ "@redwoodjs/telemetry": 6.0.4
"@types/crypto-js": 4.1.1
"@types/secure-random-password": 0.2.1
boxen: 5.1.2
@@ -7345,7 +7345,7 @@ __metadata:
"@babel/runtime-corejs3": 7.22.6
"@babel/traverse": 7.22.8
"@iarna/toml": 2.2.5
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
"@svgr/core": 8.0.0
"@svgr/plugin-jsx": 8.0.1
"@types/babel__core": 7.20.1
@@ -7391,11 +7391,11 @@ __metadata:
"@babel/preset-typescript": 7.22.5
"@babel/runtime-corejs3": 7.22.6
"@pmmmwh/react-refresh-webpack-plugin": 0.5.10
- "@redwoodjs/cli": 6.0.3
- "@redwoodjs/eslint-config": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/testing": 6.0.3
+ "@redwoodjs/cli": 6.0.4
+ "@redwoodjs/eslint-config": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/testing": 6.0.4
"@types/lodash": 4.14.195
babel-loader: 9.1.3
babel-plugin-auto-import: 1.1.0
@@ -7446,7 +7446,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/eslint-config@6.0.3, @redwoodjs/eslint-config@workspace:packages/eslint-config":
+"@redwoodjs/eslint-config@6.0.4, @redwoodjs/eslint-config@workspace:packages/eslint-config":
version: 0.0.0-use.local
resolution: "@redwoodjs/eslint-config@workspace:packages/eslint-config"
dependencies:
@@ -7454,9 +7454,9 @@ __metadata:
"@babel/core": 7.22.9
"@babel/eslint-parser": 7.22.9
"@babel/eslint-plugin": 7.22.5
- "@redwoodjs/eslint-plugin": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/eslint-plugin": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
"@typescript-eslint/eslint-plugin": 5.61.0
"@typescript-eslint/parser": 5.61.0
eslint: 8.45.0
@@ -7475,7 +7475,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/eslint-plugin@6.0.3, @redwoodjs/eslint-plugin@workspace:packages/eslint-plugin":
+"@redwoodjs/eslint-plugin@6.0.4, @redwoodjs/eslint-plugin@workspace:packages/eslint-plugin":
version: 0.0.0-use.local
resolution: "@redwoodjs/eslint-plugin@workspace:packages/eslint-plugin"
dependencies:
@@ -7491,15 +7491,15 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/fastify@6.0.3, @redwoodjs/fastify@workspace:packages/fastify":
+"@redwoodjs/fastify@6.0.4, @redwoodjs/fastify@workspace:packages/fastify":
version: 0.0.0-use.local
resolution: "@redwoodjs/fastify@workspace:packages/fastify"
dependencies:
"@fastify/http-proxy": 9.2.1
"@fastify/static": 6.10.2
"@fastify/url-data": 5.3.1
- "@redwoodjs/graphql-server": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/graphql-server": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
"@types/aws-lambda": 8.10.119
"@types/lodash": 4.14.195
"@types/qs": 6.9.7
@@ -7544,7 +7544,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/graphql-server@6.0.3, @redwoodjs/graphql-server@workspace:packages/graphql-server":
+"@redwoodjs/graphql-server@6.0.4, @redwoodjs/graphql-server@workspace:packages/graphql-server":
version: 0.0.0-use.local
resolution: "@redwoodjs/graphql-server@workspace:packages/graphql-server"
dependencies:
@@ -7563,9 +7563,9 @@ __metadata:
"@graphql-tools/schema": 10.0.0
"@graphql-tools/utils": 10.0.1
"@opentelemetry/api": 1.4.1
- "@redwoodjs/api": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/realtime": 6.0.3
+ "@redwoodjs/api": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/realtime": 6.0.4
"@types/jsonwebtoken": 9.0.2
"@types/lodash": 4.14.195
"@types/uuid": 9.0.2
@@ -7584,7 +7584,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/internal@6.0.3, @redwoodjs/internal@workspace:packages/internal":
+"@redwoodjs/internal@6.0.4, @redwoodjs/internal@workspace:packages/internal":
version: 0.0.0-use.local
resolution: "@redwoodjs/internal@workspace:packages/internal"
dependencies:
@@ -7606,8 +7606,8 @@ __metadata:
"@graphql-codegen/typescript-operations": 3.0.4
"@graphql-codegen/typescript-react-apollo": 3.3.7
"@graphql-codegen/typescript-resolvers": 3.2.1
- "@redwoodjs/graphql-server": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/graphql-server": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
"@sdl-codegen/node": 0.0.10
"@types/babel-plugin-tester": 9.0.5
"@types/babel__core": 7.20.1
@@ -7639,19 +7639,19 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/prerender@6.0.3, @redwoodjs/prerender@workspace:packages/prerender":
+"@redwoodjs/prerender@6.0.4, @redwoodjs/prerender@workspace:packages/prerender":
version: 0.0.0-use.local
resolution: "@redwoodjs/prerender@workspace:packages/prerender"
dependencies:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/router": 6.0.3
- "@redwoodjs/structure": 6.0.3
- "@redwoodjs/web": 6.0.3
+ "@redwoodjs/auth": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/router": 6.0.4
+ "@redwoodjs/structure": 6.0.4
+ "@redwoodjs/web": 6.0.4
"@types/mime-types": 2.1.1
"@whatwg-node/fetch": 0.9.7
babel-plugin-ignore-html-and-css-imports: 0.1.0
@@ -7668,7 +7668,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/project-config@6.0.3, @redwoodjs/project-config@workspace:packages/project-config":
+"@redwoodjs/project-config@6.0.4, @redwoodjs/project-config@workspace:packages/project-config":
version: 0.0.0-use.local
resolution: "@redwoodjs/project-config@workspace:packages/project-config"
dependencies:
@@ -7683,7 +7683,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/realtime@6.0.3, @redwoodjs/realtime@workspace:packages/realtime":
+"@redwoodjs/realtime@6.0.4, @redwoodjs/realtime@workspace:packages/realtime":
version: 0.0.0-use.local
resolution: "@redwoodjs/realtime@workspace:packages/realtime"
dependencies:
@@ -7720,14 +7720,14 @@ __metadata:
"@babel/runtime-corejs3": 7.22.6
"@prisma/client": 5.0.0
"@prisma/internals": 5.0.0
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
core-js: 3.31.1
esbuild: 0.18.16
jest: 29.6.1
languageName: unknown
linkType: soft
-"@redwoodjs/router@6.0.3, @redwoodjs/router@workspace:packages/router":
+"@redwoodjs/router@6.0.4, @redwoodjs/router@workspace:packages/router":
version: 0.0.0-use.local
resolution: "@redwoodjs/router@workspace:packages/router"
dependencies:
@@ -7735,7 +7735,7 @@ __metadata:
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
"@reach/skip-nav": 0.18.0
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
"@types/react": 18.2.14
"@types/react-dom": 18.2.6
core-js: 3.31.1
@@ -7749,7 +7749,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/structure@6.0.3, @redwoodjs/structure@workspace:packages/structure":
+"@redwoodjs/structure@6.0.4, @redwoodjs/structure@workspace:packages/structure":
version: 0.0.0-use.local
resolution: "@redwoodjs/structure@workspace:packages/structure"
dependencies:
@@ -7758,7 +7758,7 @@ __metadata:
"@babel/runtime-corejs3": 7.22.6
"@iarna/toml": 2.2.5
"@prisma/internals": 5.0.0
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
"@types/fs-extra": 11.0.1
"@types/line-column": 1.0.0
"@types/lodash": 4.14.195
@@ -7799,8 +7799,8 @@ __metadata:
"@fastify/http-proxy": 9.2.1
"@fastify/static": 6.10.2
"@fastify/url-data": 5.3.1
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
"@types/aws-lambda": 8.10.119
"@types/crypto-js": 4.1.1
"@types/jsonwebtoken": 9.0.2
@@ -7835,15 +7835,15 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/telemetry@6.0.3, @redwoodjs/telemetry@workspace:packages/telemetry":
+"@redwoodjs/telemetry@6.0.4, @redwoodjs/telemetry@workspace:packages/telemetry":
version: 0.0.0-use.local
resolution: "@redwoodjs/telemetry@workspace:packages/telemetry"
dependencies:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/structure": 6.0.3
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/structure": 6.0.4
"@types/envinfo": 7.8.1
"@types/uuid": 9.0.2
"@types/yargs": 17.0.24
@@ -7858,19 +7858,19 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/testing@6.0.3, @redwoodjs/testing@workspace:packages/testing":
+"@redwoodjs/testing@6.0.4, @redwoodjs/testing@workspace:packages/testing":
version: 0.0.0-use.local
resolution: "@redwoodjs/testing@workspace:packages/testing"
dependencies:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
- "@redwoodjs/graphql-server": 6.0.3
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
- "@redwoodjs/router": 6.0.3
- "@redwoodjs/web": 6.0.3
+ "@redwoodjs/auth": 6.0.4
+ "@redwoodjs/graphql-server": 6.0.4
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
+ "@redwoodjs/router": 6.0.4
+ "@redwoodjs/web": 6.0.4
"@testing-library/jest-dom": 5.16.5
"@testing-library/react": 14.0.0
"@testing-library/user-event": 14.4.3
@@ -7895,7 +7895,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/tui@6.0.3, @redwoodjs/tui@workspace:packages/tui":
+"@redwoodjs/tui@6.0.4, @redwoodjs/tui@workspace:packages/tui":
version: 0.0.0-use.local
resolution: "@redwoodjs/tui@workspace:packages/tui"
dependencies:
@@ -7915,8 +7915,8 @@ __metadata:
dependencies:
"@babel/cli": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/internal": 6.0.3
- "@redwoodjs/project-config": 6.0.3
+ "@redwoodjs/internal": 6.0.4
+ "@redwoodjs/project-config": 6.0.4
"@types/yargs-parser": 21.0.0
"@vitejs/plugin-react": 4.0.3
buffer: 6.0.3
@@ -7933,7 +7933,7 @@ __metadata:
languageName: unknown
linkType: soft
-"@redwoodjs/web@6.0.3, @redwoodjs/web@workspace:packages/web":
+"@redwoodjs/web@6.0.4, @redwoodjs/web@workspace:packages/web":
version: 0.0.0-use.local
resolution: "@redwoodjs/web@workspace:packages/web"
dependencies:
@@ -7941,7 +7941,7 @@ __metadata:
"@babel/cli": 7.22.9
"@babel/core": 7.22.9
"@babel/runtime-corejs3": 7.22.6
- "@redwoodjs/auth": 6.0.3
+ "@redwoodjs/auth": 6.0.4
"@testing-library/jest-dom": 5.16.5
"@testing-library/react": 14.0.0
"@types/prop-types": 15.7.5
@@ -14789,7 +14789,7 @@ __metadata:
"@opentelemetry/resources": 1.15.0
"@opentelemetry/sdk-trace-node": 1.15.0
"@opentelemetry/semantic-conventions": 1.15.0
- "@redwoodjs/tui": 6.0.3
+ "@redwoodjs/tui": 6.0.4
"@types/babel__core": 7.20.1
chalk: 4.1.2
check-node-version: 4.2.1
From b1151ac63802e68ac16526e8bfd6217bedea0980 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 9 Aug 2023 01:09:40 +0000
Subject: [PATCH 08/14] fix(deps): update dependency vite to v4.4.9 (#9018)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vite](https://togithub.com/vitejs/vite/tree/main/#readme)
([source](https://togithub.com/vitejs/vite)) | [`4.4.8` ->
`4.4.9`](https://renovatebot.com/diffs/npm/vite/4.4.8/4.4.9) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/4.4.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/4.4.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/4.4.8/4.4.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/4.4.8/4.4.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
vitejs/vite (vite)
###
[`v4.4.9`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small449-2023-08-07-small)
[Compare
Source](https://togithub.com/vitejs/vite/compare/v4.4.8...v4.4.9)
- chore: fix eslint warnings
([#14031](https://togithub.com/vitejs/vite/issues/14031))
([4021a0e](https://togithub.com/vitejs/vite/commit/4021a0e)), closes
[#14031](https://togithub.com/vitejs/vite/issues/14031)
- chore(deps): update all non-major dependencies
([#13938](https://togithub.com/vitejs/vite/issues/13938))
([a1b519e](https://togithub.com/vitejs/vite/commit/a1b519e)), closes
[#13938](https://togithub.com/vitejs/vite/issues/13938)
- fix: dynamic import vars ignored warning
([#14006](https://togithub.com/vitejs/vite/issues/14006))
([4479431](https://togithub.com/vitejs/vite/commit/4479431)), closes
[#14006](https://togithub.com/vitejs/vite/issues/14006)
- fix(build): silence warn dynamic import module when
inlineDynamicImports true
([#13970](https://togithub.com/vitejs/vite/issues/13970))
([7a77aaf](https://togithub.com/vitejs/vite/commit/7a77aaf)), closes
[#13970](https://togithub.com/vitejs/vite/issues/13970)
- perf: improve build times and memory utilization
([#14016](https://togithub.com/vitejs/vite/issues/14016))
([9d7d45e](https://togithub.com/vitejs/vite/commit/9d7d45e)), closes
[#14016](https://togithub.com/vitejs/vite/issues/14016)
- perf: replace startsWith with ===
([#14005](https://togithub.com/vitejs/vite/issues/14005))
([f5c1224](https://togithub.com/vitejs/vite/commit/f5c1224)), closes
[#14005](https://togithub.com/vitejs/vite/issues/14005)
---
### Configuration
π
**Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
π¦ **Automerge**: Enabled.
β» **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
π **Ignore**: Close this PR and you won't be reminded about these
updates again.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
packages/studio/frontend/package.json | 2 +-
packages/vite/package.json | 2 +-
yarn.lock | 24 ++++++++++++------------
3 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/packages/studio/frontend/package.json b/packages/studio/frontend/package.json
index 7faad7e84e2f..cf820dc685e8 100644
--- a/packages/studio/frontend/package.json
+++ b/packages/studio/frontend/package.json
@@ -44,6 +44,6 @@
"postcss": "8.4.27",
"tailwindcss": "3.3.2",
"typescript": "5.1.6",
- "vite": "4.4.8"
+ "vite": "4.4.9"
}
}
diff --git a/packages/vite/package.json b/packages/vite/package.json
index 497f87dca0f7..f8d2dbfffb07 100644
--- a/packages/vite/package.json
+++ b/packages/vite/package.json
@@ -78,7 +78,7 @@
"isbot": "3.6.8",
"react": "18.3.0-canary-035a41c4e-20230704",
"react-server-dom-webpack": "18.3.0-canary-035a41c4e-20230704",
- "vite": "4.4.8",
+ "vite": "4.4.9",
"yargs-parser": "21.1.1"
},
"devDependencies": {
diff --git a/yarn.lock b/yarn.lock
index f038c8d5b90c..f5750522ca5e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -8511,7 +8511,7 @@ __metadata:
react: 18.3.0-canary-035a41c4e-20230704
react-server-dom-webpack: 18.3.0-canary-035a41c4e-20230704
typescript: 5.1.6
- vite: 4.4.8
+ vite: 4.4.9
yargs-parser: 21.1.1
bin:
rw-dev-fe: ./dist/devFeServer.js
@@ -26696,7 +26696,7 @@ __metadata:
languageName: node
linkType: hard
-"postcss@npm:^8.2.14, postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.26":
+"postcss@npm:^8.2.14, postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.27":
version: 8.4.27
resolution: "postcss@npm:8.4.27"
dependencies:
@@ -28443,9 +28443,9 @@ __metadata:
languageName: node
linkType: hard
-"rollup@npm:^3.25.2":
- version: 3.26.2
- resolution: "rollup@npm:3.26.2"
+"rollup@npm:^3.27.1":
+ version: 3.27.2
+ resolution: "rollup@npm:3.27.2"
dependencies:
fsevents: ~2.3.2
dependenciesMeta:
@@ -28453,7 +28453,7 @@ __metadata:
optional: true
bin:
rollup: dist/bin/rollup
- checksum: c23ee8dcd34fe854afe06e1ec6d6017b200c523795a7c0f876494afd4a279f1d1232b3f274fea9438ac8ec4ebf6ce202f17316f790a94dba8173e213d2b98d19
+ checksum: feb1e76f50fb502e106954a621b2d0b3e2e92e2552f938a0cbef5f7931c9f4283d05076d47311a4582863205f377e3e2d7314a1626e3c7d9c7330527ddeb7562
languageName: node
linkType: hard
@@ -31730,14 +31730,14 @@ __metadata:
languageName: node
linkType: hard
-"vite@npm:4.4.8":
- version: 4.4.8
- resolution: "vite@npm:4.4.8"
+"vite@npm:4.4.9":
+ version: 4.4.9
+ resolution: "vite@npm:4.4.9"
dependencies:
esbuild: ^0.18.10
fsevents: ~2.3.2
- postcss: ^8.4.26
- rollup: ^3.25.2
+ postcss: ^8.4.27
+ rollup: ^3.27.1
peerDependencies:
"@types/node": ">= 14"
less: "*"
@@ -31766,7 +31766,7 @@ __metadata:
optional: true
bin:
vite: bin/vite.js
- checksum: 4032fbbd67ae74d2d2f748218bb97c5b0005283ebc6cbb00374e55d418fe8852fdee20e25119cd6e2f1dd90c8c9bdb899a1dcd4fede12011befad2dbde9c0c56
+ checksum: 80dbc632fd75b5866567c8fd605115c9d5718654dbf173f509cfd55c53f39dfbee24f62660e57fd5b11eb93f469a65abdbe6bae880ec8392bb70a5d0d7b6e6a9
languageName: node
linkType: hard
From 260d42a98f79ca39d9a4e0f69cee19b93a11d544 Mon Sep 17 00:00:00 2001
From: Dominic Saadi
Date: Tue, 8 Aug 2023 18:12:43 -0700
Subject: [PATCH 09/14] chore(docs): reversion docs to include recent changes
---
docs/versioned_docs/version-6.0/assets-and-files.md | 2 --
docs/versioned_docs/version-6.0/quick-start.md | 12 +++++++++++-
.../version-6.0/tutorial/chapter1/file-structure.md | 3 ++-
.../version-6.0/tutorial/chapter3/saving-data.md | 6 ------
4 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/docs/versioned_docs/version-6.0/assets-and-files.md b/docs/versioned_docs/version-6.0/assets-and-files.md
index c2a70ef92596..785f92861ef5 100644
--- a/docs/versioned_docs/version-6.0/assets-and-files.md
+++ b/docs/versioned_docs/version-6.0/assets-and-files.md
@@ -145,14 +145,12 @@ export const CarIcon = (props: SVGProps) => {
If you needed to convert a whole library of SVGs into stylable (or animatable!) components, one easy way would be to use the [SVGR cli](https://react-svgr.com/docs/cli/)
-
## Custom fonts
There are many different ways to peel this potato β it's all a search away β but if you're using the CSS `@font-face` rule, we have a quick tip for you:
1. Place your fonts in the public folder, so it gets carried across
2. In your CSS, use absolute paths - the public folder being your root - to point to the font file (same as the [Vite docs](https://vitejs.dev/guide/assets.html#the-public-directory)), for example:
-
```shell
web/
βββ src
diff --git a/docs/versioned_docs/version-6.0/quick-start.md b/docs/versioned_docs/version-6.0/quick-start.md
index 2dbac26d6ff9..40f35f9134bf 100644
--- a/docs/versioned_docs/version-6.0/quick-start.md
+++ b/docs/versioned_docs/version-6.0/quick-start.md
@@ -102,7 +102,17 @@ Mockup, build, and verify your React components, even in complete isolation from
yarn rw storybook
```
-Before you start, see if the CLI's `setup ui` command has your favorite styling library:
+Seeing "Couldn't find any stories"?
+That's because you need a `*.stories.{tsx,jsx}` file.
+The Redwood CLI makes getting one easy enoughβtry generating a [Cell](./cells), Redwood's data-fetching abstraction:
+
+```
+yarn rw generate cell examplePosts
+```
+
+The Storybook server should hot reload and now you'll have four stories to work with.
+They'll probably look a little bland since there's no styling.
+See if the Redwood CLI's `setup ui` command has your favorite styling library:
```
yarn rw setup ui --help
diff --git a/docs/versioned_docs/version-6.0/tutorial/chapter1/file-structure.md b/docs/versioned_docs/version-6.0/tutorial/chapter1/file-structure.md
index 199b43dd1261..cbf375035bc8 100644
--- a/docs/versioned_docs/version-6.0/tutorial/chapter1/file-structure.md
+++ b/docs/versioned_docs/version-6.0/tutorial/chapter1/file-structure.md
@@ -142,8 +142,9 @@ That's it for the backend.
- `NotFoundPage.{jsx,tsx}` will be served when no other route is found (see `Routes.{jsx,tsx}` below).
- `FatalErrorPage.{jsx,tsx}` will be rendered when there is an uncaught error that can't be recovered from and would otherwise cause our application to really blow up (normally rendering a blank page).
- `App.{jsx,tsx}` the bootstrapping code to get our Redwood app up and running.
+ - `entry.client.{jsx,tsx}` is the standard React starting point for our app.
- `index.css` is a good starting place for custom CSS, but there are many options (we like [TailwindCSS](https://tailwindcss.com/) which, believe it or not, may not require you to write any custom CSS for the life of your app!)
- - `index.html` is the standard React starting point for our app.
+ - `index.html` is what's first sent to a visitor's browser. It fetches `entry.client.{jsx,tsx}`.
- `Routes.{jsx,tsx}` the route definitions for our app which map a URL to a _Page_.
We'll dip in and out of these directories and files (and create some new ones) as we work through the tutorial.
diff --git a/docs/versioned_docs/version-6.0/tutorial/chapter3/saving-data.md b/docs/versioned_docs/version-6.0/tutorial/chapter3/saving-data.md
index f6a2a3c1ffc1..67b8c1f8de47 100644
--- a/docs/versioned_docs/version-6.0/tutorial/chapter3/saving-data.md
+++ b/docs/versioned_docs/version-6.0/tutorial/chapter3/saving-data.md
@@ -239,12 +239,6 @@ export const schema = gql`
message: String!
}
- input UpdateContactInput {
- name: String
- email: String
- message: String
- }
-
// highlight-start
type Mutation {
createContact(input: CreateContactInput!): Contact! @skipAuth
From c4e37af2ebd85999b6103d5a1ed969f76f760ce0 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 9 Aug 2023 03:45:36 +0000
Subject: [PATCH 10/14] fix(deps): update dependency react-hook-form to v7.45.4
(#9017)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [react-hook-form](https://www.react-hook-form.com)
([source](https://togithub.com/react-hook-form/react-hook-form)) |
[`7.45.2` ->
`7.45.4`](https://renovatebot.com/diffs/npm/react-hook-form/7.45.2/7.45.4)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/react-hook-form/7.45.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-hook-form/7.45.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-hook-form/7.45.2/7.45.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-hook-form/7.45.2/7.45.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
react-hook-form/react-hook-form (react-hook-form)
###
[`v7.45.4`](https://togithub.com/react-hook-form/react-hook-form/releases/tag/v7.45.4):
Version 7.45.4
[Compare
Source](https://togithub.com/react-hook-form/react-hook-form/compare/v7.45.3...v7.45.4)
π fix
[#10767](https://togithub.com/react-hook-form/react-hook-form/issues/10767)
dep issue with replayio
([#10768](https://togithub.com/react-hook-form/react-hook-form/issues/10768))
π fix
[#10762](https://togithub.com/react-hook-form/react-hook-form/issues/10762)
async submit with Form component
([#10766](https://togithub.com/react-hook-form/react-hook-form/issues/10766))
π« add test case for issue
[#10744](https://togithub.com/react-hook-form/react-hook-form/issues/10744)
to avoid future regressions
([#10759](https://togithub.com/react-hook-form/react-hook-form/issues/10759))
thanks to [@eg-bernardo](https://togithub.com/eg-bernardo)
###
[`v7.45.3`](https://togithub.com/react-hook-form/react-hook-form/releases/tag/v7.45.3):
Version 7.45.3
[Compare
Source](https://togithub.com/react-hook-form/react-hook-form/compare/v7.45.2...v7.45.3)
πΌ add Replay Test Suites
([#10681](https://togithub.com/react-hook-form/react-hook-form/issues/10681))
Revert "π§βπ close
[#10585](https://togithub.com/react-hook-form/react-hook-form/issues/10585)
update controller value on each render
([#10586](https://togithub.com/react-hook-form/react-hook-form/issues/10586))"
π close
[#10682](https://togithub.com/react-hook-form/react-hook-form/issues/10682)
make sure action flag gets reset after useEffect
([#10732](https://togithub.com/react-hook-form/react-hook-form/issues/10732))
thanks to [@jasonLaster](https://togithub.com/jasonLaster)
---
### Configuration
π
**Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
π¦ **Automerge**: Enabled.
β» **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
π **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
packages/forms/package.json | 2 +-
yarn.lock | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/packages/forms/package.json b/packages/forms/package.json
index 1c0a3a27501b..13eeb9cd5a41 100644
--- a/packages/forms/package.json
+++ b/packages/forms/package.json
@@ -25,7 +25,7 @@
"@babel/runtime-corejs3": "7.22.6",
"core-js": "3.31.1",
"pascalcase": "1.0.0",
- "react-hook-form": "7.45.2"
+ "react-hook-form": "7.45.4"
},
"devDependencies": {
"@babel/cli": "7.22.9",
diff --git a/yarn.lock b/yarn.lock
index f5750522ca5e..83d65ac6805e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -8111,7 +8111,7 @@ __metadata:
pascalcase: 1.0.0
react: 18.3.0-canary-035a41c4e-20230704
react-dom: 18.3.0-canary-035a41c4e-20230704
- react-hook-form: 7.45.2
+ react-hook-form: 7.45.4
typescript: 5.1.6
peerDependencies:
graphql: 16.7.1
@@ -27443,12 +27443,12 @@ __metadata:
languageName: node
linkType: hard
-"react-hook-form@npm:7.45.2":
- version: 7.45.2
- resolution: "react-hook-form@npm:7.45.2"
+"react-hook-form@npm:7.45.4":
+ version: 7.45.4
+ resolution: "react-hook-form@npm:7.45.4"
peerDependencies:
react: ^16.8.0 || ^17 || ^18
- checksum: 1b55ad7d5d9f2145710de19e941a5ac74c8630f21ebacefe855291debede2537cb98b971231f8cfdd7b2908b061d0db862dd22ae33f483cc5fc122ab240e6f7b
+ checksum: 09c016213ed09771e6e0c2f85b816a52ef5dc975324fbd676d2b056dd22de7447ac3fb38997f05c92e7cecc8f14f6fa931a8cc8c24ba569e72fe621333b835b2
languageName: node
linkType: hard
From c630f3a5176735f7b3c99486f5d776dd5d160d59 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 9 Aug 2023 03:45:55 +0000
Subject: [PATCH 11/14] fix(deps): update dependency eslint to v8.46.0 (#9022)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [eslint](https://eslint.org)
([source](https://togithub.com/eslint/eslint)) | [`8.45.0` ->
`8.46.0`](https://renovatebot.com/diffs/npm/eslint/8.45.0/8.46.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/8.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/8.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/8.45.0/8.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/8.45.0/8.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
eslint/eslint (eslint)
### [`v8.46.0`](https://togithub.com/eslint/eslint/releases/tag/v8.46.0)
[Compare
Source](https://togithub.com/eslint/eslint/compare/v8.45.0...v8.46.0)
#### Features
-
[`8a93438`](https://togithub.com/eslint/eslint/commit/8a9343871f7dade19d910ca8e2a4177bfca28b64)
feat: `require-unicode-regexp` support `v` flag
([#17402](https://togithub.com/eslint/eslint/issues/17402))
(SUZUKI Sosuke)
-
[`1a2f966`](https://togithub.com/eslint/eslint/commit/1a2f966fabe35103141d2f936180d2f1a72154db)
feat: `no-useless-escape` support `v` flag
([#17420](https://togithub.com/eslint/eslint/issues/17420))
(Yosuke Ota)
-
[`ee68d1d`](https://togithub.com/eslint/eslint/commit/ee68d1d9630892d99ae0d8dabe2f9f8d3b1338be)
feat: `no-empty-character-class` support `v` flag
([#17419](https://togithub.com/eslint/eslint/issues/17419))
(Milos Djermanovic)
-
[`853d32b`](https://togithub.com/eslint/eslint/commit/853d32baa8934c08b59a738470b72522e1505f6f)
feat: deprecate no-return-await
([#17417](https://togithub.com/eslint/eslint/issues/17417))
(Carlos Lopez)
-
[`d4f02e4`](https://togithub.com/eslint/eslint/commit/d4f02e4bf1b9ae4e1fc8f2bc4e4851ae3c36a127)
feat: `no-control-regex` support `v` flag
([#17405](https://togithub.com/eslint/eslint/issues/17405))
(Yosuke Ota)
-
[`2a35f3e`](https://togithub.com/eslint/eslint/commit/2a35f3e6ed27deafbebba48b6aec570d3abf9974)
feat: `prefer-named-capture-group` support `v` flag
([#17409](https://togithub.com/eslint/eslint/issues/17409))
(Yosuke Ota)
-
[`8ca8b50`](https://togithub.com/eslint/eslint/commit/8ca8b50b0425b3bad34a9505bc3095168e2f59d8)
feat: Better error message for flat config plugins
([#17399](https://togithub.com/eslint/eslint/issues/17399))
(Nicholas C. Zakas)
-
[`509f753`](https://togithub.com/eslint/eslint/commit/509f75395035822280245772e2a95732a0dde0e1)
feat: `no-misleading-character-class` support `v` flag
([#17406](https://togithub.com/eslint/eslint/issues/17406))
(Yosuke Ota)
-
[`3caf514`](https://togithub.com/eslint/eslint/commit/3caf51487decdf93a4b17765a2af2a51c337e974)
feat: `no-regex-spaces` support `v` flag
([#17407](https://togithub.com/eslint/eslint/issues/17407))
(Yosuke Ota)
-
[`b7fad2b`](https://togithub.com/eslint/eslint/commit/b7fad2b52f23667628cf209663795a721c88d0ba)
feat: `prefer-regex-literals` support `v` flag
([#17410](https://togithub.com/eslint/eslint/issues/17410))
(Yosuke Ota)
-
[`a6a3ad4`](https://togithub.com/eslint/eslint/commit/a6a3ad4ae438ea7fc3a1d97cd2555f6534b565f1)
feat: `no-useless-backreference` support `v` flag
([#17408](https://togithub.com/eslint/eslint/issues/17408))
(Yosuke Ota)
-
[`94954a7`](https://togithub.com/eslint/eslint/commit/94954a715448d5794f2892bf212fe986b43228ed)
feat: `no-invalid-regexp` support `v` flag
([#17404](https://togithub.com/eslint/eslint/issues/17404))
(Yosuke Ota)
-
[`1af6eac`](https://togithub.com/eslint/eslint/commit/1af6eac5727080c809e37c07dc729b44ef24483c)
feat: adds option for allowing empty object patterns as parameter
([#17365](https://togithub.com/eslint/eslint/issues/17365))
(Tanuj Kanti)
-
[`cf03104`](https://togithub.com/eslint/eslint/commit/cf03104b278fea59ef46e09f667110f5eaaf95e3)
feat: Improve config error messages
([#17385](https://togithub.com/eslint/eslint/issues/17385))
(Nicholas C. Zakas)
#### Bug Fixes
-
[`9803c7c`](https://togithub.com/eslint/eslint/commit/9803c7c04078f0672d8a480fd39cf3bbef8017e6)
fix: FlatESLint#getRulesMetaForResults shouldn't throw on unknown rules
([#17393](https://togithub.com/eslint/eslint/issues/17393))
(Milos Djermanovic)
-
[`42faa17`](https://togithub.com/eslint/eslint/commit/42faa17b1c93f801b14bea2840d1d528e25c7211)
fix: Update no-loop-func to not overlap with no-undef
([#17358](https://togithub.com/eslint/eslint/issues/17358)) (Matt
Wilkinson)
#### Documentation
-
[`4d474e3`](https://togithub.com/eslint/eslint/commit/4d474e351ba6ce0242f18e55c27cb3ae17b84f63)
docs: update with TypeScript info
([#17423](https://togithub.com/eslint/eslint/issues/17423))
(James)
-
[`091f44e`](https://togithub.com/eslint/eslint/commit/091f44e4c72007edb2ac6d4db4eafa5501e41e94)
docs: File extension named processor deprecation
([#17362](https://togithub.com/eslint/eslint/issues/17362)) (Matt
Wilkinson)
-
[`9254a6c`](https://togithub.com/eslint/eslint/commit/9254a6cea845dfaf2f3f52f718cb9b071853aa09)
docs: Update README (GitHub Actions Bot)
-
[`6d6dc51`](https://togithub.com/eslint/eslint/commit/6d6dc5141f535728029eef8735854a421bc08eba)
docs: fix overlapping of `open in playground` button
([#17403](https://togithub.com/eslint/eslint/issues/17403))
(Tanuj Kanti)
-
[`7fc3a2c`](https://togithub.com/eslint/eslint/commit/7fc3a2ce68979a2c2a6fc779e647b3004ab6f4ac)
docs: Add private class features info to no-underscore-dangle
([#17386](https://togithub.com/eslint/eslint/issues/17386)) (Matt
Wilkinson)
-
[`da73e58`](https://togithub.com/eslint/eslint/commit/da73e583e1703a420551d8fa8f7c70b56dc88dd5)
docs: Migrating `eslint-env` configuration comments
([#17390](https://togithub.com/eslint/eslint/issues/17390))
(Francesco Trotta)
-
[`80dffed`](https://togithub.com/eslint/eslint/commit/80dffed4c81dcc71fb72bc187aff2f87d141a6ed)
docs: fix Ignoring Files section in config migration guide
([#17392](https://togithub.com/eslint/eslint/issues/17392))
(Milos Djermanovic)
-
[`8a9abb7`](https://togithub.com/eslint/eslint/commit/8a9abb7cf424bd49d45c09345dc45ae95f29cc9d)
docs: Update README (GitHub Actions Bot)
-
[`7e9be4b`](https://togithub.com/eslint/eslint/commit/7e9be4bd7331d0e8e8e0af0b075a2f6d28d1bea3)
docs: Update README (GitHub Actions Bot)
-
[`0b0bbe0`](https://togithub.com/eslint/eslint/commit/0b0bbe07d4fb0870f3916e975b8ec6978f838077)
docs: Update README (GitHub Actions Bot)
#### Chores
-
[`d1eb7e4`](https://togithub.com/eslint/eslint/commit/d1eb7e46e954c64af8d7d13d087b3a18f43e6d72)
chore: Update ecosystem dependencies
([#17427](https://togithub.com/eslint/eslint/issues/17427))
(Nicholas C. Zakas)
-
[`fab9e97`](https://togithub.com/eslint/eslint/commit/fab9e97ef9dff40e98a5b3b97bdd3b0ff5439d46)
chore: package.json update for eslint-config-eslint release (ESLint
Jenkins)
-
[`6246711`](https://togithub.com/eslint/eslint/commit/6246711e0650d03afe044c36acde048ed2d39ee3)
chore: package.json update for
[@eslint/js](https://togithub.com/eslint/js) release (ESLint
Jenkins)
-
[`0aa0bc3`](https://togithub.com/eslint/eslint/commit/0aa0bc365a5425440c8e86c96104d0053a51b602)
chore: Add PRs to triage project
([#17421](https://togithub.com/eslint/eslint/issues/17421))
(Nicholas C. Zakas)
---
### Configuration
π
**Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
π¦ **Automerge**: Enabled.
β» **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
π **Ignore**: Close this PR and you won't be reminded about these
updates again.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
package.json | 2 +-
packages/eslint-config/package.json | 2 +-
packages/eslint-plugin/package.json | 2 +-
yarn.lock | 78 ++++++++++++++---------------
4 files changed, 42 insertions(+), 42 deletions(-)
diff --git a/package.json b/package.json
index 8171a41d4f5f..afc6ca75f033 100644
--- a/package.json
+++ b/package.json
@@ -75,7 +75,7 @@
"cypress": "12.15.0",
"cypress-wait-until": "1.7.2",
"dependency-cruiser": "13.0.4",
- "eslint": "8.45.0",
+ "eslint": "8.46.0",
"fast-glob": "3.3.1",
"fs-extra": "11.1.1",
"jest": "29.6.1",
diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json
index 7511d540408d..e96a3258fe4e 100644
--- a/packages/eslint-config/package.json
+++ b/packages/eslint-config/package.json
@@ -20,7 +20,7 @@
"@redwoodjs/project-config": "6.0.4",
"@typescript-eslint/eslint-plugin": "5.61.0",
"@typescript-eslint/parser": "5.61.0",
- "eslint": "8.45.0",
+ "eslint": "8.46.0",
"eslint-config-prettier": "8.8.0",
"eslint-import-resolver-babel-module": "5.3.2",
"eslint-plugin-babel": "5.3.1",
diff --git a/packages/eslint-plugin/package.json b/packages/eslint-plugin/package.json
index 6dce1222d51a..6bb1271a2863 100644
--- a/packages/eslint-plugin/package.json
+++ b/packages/eslint-plugin/package.json
@@ -22,7 +22,7 @@
},
"dependencies": {
"@typescript-eslint/utils": "5.61.0",
- "eslint": "8.45.0"
+ "eslint": "8.46.0"
},
"devDependencies": {
"@types/eslint": "8",
diff --git a/yarn.lock b/yarn.lock
index 83d65ac6805e..0e3e2cc2882a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3066,16 +3066,16 @@ __metadata:
languageName: node
linkType: hard
-"@eslint-community/regexpp@npm:^4.4.0":
- version: 4.5.1
- resolution: "@eslint-community/regexpp@npm:4.5.1"
- checksum: d79cbd99cc4dcfbb17e8dd30a30bb5aec5da9c60b9471043f886f116615bb15f0d417cb0ca638cefedba0b4c67c339e2011b53d88264a4540775f042a5879e01
+"@eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.1":
+ version: 4.6.2
+ resolution: "@eslint-community/regexpp@npm:4.6.2"
+ checksum: da800788298f8419f4c4e04eaa4e3c97e7f57537e822e7b150de662e420e3d437816b863e490807bd0b00e715b0989f9d8864bf54357cbcfa84e4255b910789d
languageName: node
linkType: hard
-"@eslint/eslintrc@npm:^2.1.0":
- version: 2.1.0
- resolution: "@eslint/eslintrc@npm:2.1.0"
+"@eslint/eslintrc@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "@eslint/eslintrc@npm:2.1.1"
dependencies:
ajv: ^6.12.4
debug: ^4.3.2
@@ -3086,14 +3086,14 @@ __metadata:
js-yaml: ^4.1.0
minimatch: ^3.1.2
strip-json-comments: ^3.1.1
- checksum: 6ffbc3e7867b377754492539af0e2f5b55645a2c67279a70508fe09080bc76d49ba64b579e59a2a04014f84d0768301736fbcdd94c7b3ad4f0e648c32bf21e43
+ checksum: 104ec8997206eabc87de84b87a2852efce0ff98730d377061734da2554c79c9b6d417fbe66248ef5566a0501ef41fddec3a00f79b77731102903586a63b2ed34
languageName: node
linkType: hard
-"@eslint/js@npm:8.44.0":
- version: 8.44.0
- resolution: "@eslint/js@npm:8.44.0"
- checksum: ce7b966f8804228e4d5725d44d3c8fb7fc427176f077401323a02e082f628d207133a25704330e610ebe3254fdf1acb186f779d1242fd145a758fdcc4486a660
+"@eslint/js@npm:^8.46.0":
+ version: 8.46.0
+ resolution: "@eslint/js@npm:8.46.0"
+ checksum: 674c5800e4e9829322aa84195b23c59db326cb42190ac0284bdfe70b2442d544837f3006d8d8c166afaa86ab7072df1b77f7fdb43a60aa2bb1ede90d82e38540
languageName: node
linkType: hard
@@ -8034,7 +8034,7 @@ __metadata:
"@redwoodjs/project-config": 6.0.4
"@typescript-eslint/eslint-plugin": 5.61.0
"@typescript-eslint/parser": 5.61.0
- eslint: 8.45.0
+ eslint: 8.46.0
eslint-config-prettier: 8.8.0
eslint-import-resolver-babel-module: 5.3.2
eslint-plugin-babel: 5.3.1
@@ -8059,7 +8059,7 @@ __metadata:
"@typescript-eslint/parser": 5.61.0
"@typescript-eslint/utils": 5.61.0
esbuild: 0.18.19
- eslint: 8.45.0
+ eslint: 8.46.0
fast-glob: 3.3.1
glob: 10.3.1
typescript: 5.1.6
@@ -12332,7 +12332,7 @@ __metadata:
languageName: node
linkType: hard
-"ajv@npm:^6.1.0, ajv@npm:^6.10.0, ajv@npm:^6.10.2, ajv@npm:^6.12.4, ajv@npm:^6.12.5":
+"ajv@npm:^6.1.0, ajv@npm:^6.10.2, ajv@npm:^6.12.4, ajv@npm:^6.12.5":
version: 6.12.6
resolution: "ajv@npm:6.12.6"
dependencies:
@@ -17605,13 +17605,13 @@ __metadata:
languageName: node
linkType: hard
-"eslint-scope@npm:^7.2.0":
- version: 7.2.0
- resolution: "eslint-scope@npm:7.2.0"
+"eslint-scope@npm:^7.2.2":
+ version: 7.2.2
+ resolution: "eslint-scope@npm:7.2.2"
dependencies:
esrecurse: ^4.3.0
estraverse: ^5.2.0
- checksum: 5b48a3cc2485a3a58ca0bdecfb557c349009308a9b2afb24d070b1c0c254d445ee86d78bfee2c4ed6d1b8944307604a987c92f6d7e611e29de5d06256747a0ff
+ checksum: 613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116
languageName: node
linkType: hard
@@ -17622,33 +17622,33 @@ __metadata:
languageName: node
linkType: hard
-"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1":
- version: 3.4.1
- resolution: "eslint-visitor-keys@npm:3.4.1"
- checksum: b4ebd35aed5426cd81b1fb92487825f1acf47a31e91d76597a3ee0664d69627140c4dafaf9b319cfeb1f48c1113a393e21a734c669e6565a72e6fcc311bd9911
+"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.2":
+ version: 3.4.2
+ resolution: "eslint-visitor-keys@npm:3.4.2"
+ checksum: 4521d1d470490c89fb613aec6fb2f0814b496a4618619ec8dfcc985640fe33c9c64f3dab882f50ebb401b4613f35f2601a9ef9a72b57739af5b0150fecdaf1f1
languageName: node
linkType: hard
-"eslint@npm:8.45.0":
- version: 8.45.0
- resolution: "eslint@npm:8.45.0"
+"eslint@npm:8.46.0":
+ version: 8.46.0
+ resolution: "eslint@npm:8.46.0"
dependencies:
"@eslint-community/eslint-utils": ^4.2.0
- "@eslint-community/regexpp": ^4.4.0
- "@eslint/eslintrc": ^2.1.0
- "@eslint/js": 8.44.0
+ "@eslint-community/regexpp": ^4.6.1
+ "@eslint/eslintrc": ^2.1.1
+ "@eslint/js": ^8.46.0
"@humanwhocodes/config-array": ^0.11.10
"@humanwhocodes/module-importer": ^1.0.1
"@nodelib/fs.walk": ^1.2.8
- ajv: ^6.10.0
+ ajv: ^6.12.4
chalk: ^4.0.0
cross-spawn: ^7.0.2
debug: ^4.3.2
doctrine: ^3.0.0
escape-string-regexp: ^4.0.0
- eslint-scope: ^7.2.0
- eslint-visitor-keys: ^3.4.1
- espree: ^9.6.0
+ eslint-scope: ^7.2.2
+ eslint-visitor-keys: ^3.4.2
+ espree: ^9.6.1
esquery: ^1.4.2
esutils: ^2.0.2
fast-deep-equal: ^3.1.3
@@ -17672,18 +17672,18 @@ __metadata:
text-table: ^0.2.0
bin:
eslint: bin/eslint.js
- checksum: 2a043b8d3b9a5684e2f66bd446c3dc8522cc7afbb0982d0a5be76ea1f578d0e617598a7b289616a861ab8272b57f6056acb2b264bec6302c9b0921a1cfa66fdb
+ checksum: 81abddb21e540dcd509ba08fdf524b494cbda69a62ffce2a61b5adfcdeb3cbf713f72c6cbb42932333decb4b067ae7a89e4cb5e908e0d42e4287d4f357576a72
languageName: node
linkType: hard
-"espree@npm:^9.0.0, espree@npm:^9.6.0":
- version: 9.6.0
- resolution: "espree@npm:9.6.0"
+"espree@npm:^9.0.0, espree@npm:^9.6.0, espree@npm:^9.6.1":
+ version: 9.6.1
+ resolution: "espree@npm:9.6.1"
dependencies:
acorn: ^8.9.0
acorn-jsx: ^5.3.2
eslint-visitor-keys: ^3.4.1
- checksum: f064a43bcf7f435d34e600c056320dde1c15b3eeb5da24e7585ed6cf83adcbbeafb4fa4d062ff14281b0d246b0a9645dd9d3796a638099f19595004eee4ac8be
+ checksum: 1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460
languageName: node
linkType: hard
@@ -28501,7 +28501,7 @@ __metadata:
cypress: 12.15.0
cypress-wait-until: 1.7.2
dependency-cruiser: 13.0.4
- eslint: 8.45.0
+ eslint: 8.46.0
fast-glob: 3.3.1
fs-extra: 11.1.1
jest: 29.6.1
From 0e252242e485f1e25f5cd3e901f5bca8645ff760 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 9 Aug 2023 03:46:23 +0000
Subject: [PATCH 12/14] fix(deps): update dependency pino to v8.15.0 (#9023)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pino](https://getpino.io)
([source](https://togithub.com/pinojs/pino)) | [`8.14.1` ->
`8.15.0`](https://renovatebot.com/diffs/npm/pino/8.14.1/8.15.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pino/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pino/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pino/8.14.1/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pino/8.14.1/8.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
pinojs/pino (pino)
### [`v8.15.0`](https://togithub.com/pinojs/pino/releases/tag/v8.15.0)
[Compare
Source](https://togithub.com/pinojs/pino/compare/v8.14.2...v8.15.0)
#### What's Changed
- docs(transports): add axiom
[#1753](https://togithub.com/pinojs/pino/issues/1753) by
[@qlaffont](https://togithub.com/qlaffont) in
[https://github.com/pinojs/pino/pull/1754](https://togithub.com/pinojs/pino/pull/1754)
- Add pino-opentelemetry-transport as a known plugin to transports.md by
[@Vunovati](https://togithub.com/Vunovati) in
[https://github.com/pinojs/pino/pull/1757](https://togithub.com/pinojs/pino/pull/1757)
- fix: example code in transports.md by
[@exKAZUu](https://togithub.com/exKAZUu) in
[https://github.com/pinojs/pino/pull/1761](https://togithub.com/pinojs/pino/pull/1761)
- Add default levels to opts in multistream by
[@tzviki](https://togithub.com/tzviki) in
[https://github.com/pinojs/pino/pull/1760](https://togithub.com/pinojs/pino/pull/1760)
#### New Contributors
- [@qlaffont](https://togithub.com/qlaffont) made their first
contribution in
[https://github.com/pinojs/pino/pull/1754](https://togithub.com/pinojs/pino/pull/1754)
- [@Vunovati](https://togithub.com/Vunovati) made their first
contribution in
[https://github.com/pinojs/pino/pull/1757](https://togithub.com/pinojs/pino/pull/1757)
- [@exKAZUu](https://togithub.com/exKAZUu) made their first
contribution in
[https://github.com/pinojs/pino/pull/1761](https://togithub.com/pinojs/pino/pull/1761)
- [@tzviki](https://togithub.com/tzviki) made their first
contribution in
[https://github.com/pinojs/pino/pull/1760](https://togithub.com/pinojs/pino/pull/1760)
**Full Changelog**:
https://github.com/pinojs/pino/compare/v8.14.2...v8.15.0
###
[`v8.14.2`](https://togithub.com/pinojs/pino/compare/v8.14.1...v8.14.2)
[Compare
Source](https://togithub.com/pinojs/pino/compare/v8.14.1...v8.14.2)
---
### Configuration
π
**Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
π¦ **Automerge**: Enabled.
β» **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
π **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/redwoodjs/redwood).
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
packages/api/package.json | 2 +-
yarn.lock | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/packages/api/package.json b/packages/api/package.json
index 2c9ae422ab76..70228dfe0055 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -38,7 +38,7 @@
"humanize-string": "2.1.0",
"jsonwebtoken": "9.0.0",
"pascalcase": "1.0.0",
- "pino": "8.14.1",
+ "pino": "8.15.0",
"title-case": "3.0.3"
},
"devDependencies": {
diff --git a/yarn.lock b/yarn.lock
index 0e3e2cc2882a..cb80aa42c55f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7309,7 +7309,7 @@ __metadata:
jsonwebtoken: 9.0.0
memjs: 1.3.1
pascalcase: 1.0.0
- pino: 8.14.1
+ pino: 8.15.0
redis: 4.6.7
split2: 4.2.0
title-case: 3.0.3
@@ -26215,9 +26215,9 @@ __metadata:
languageName: node
linkType: hard
-"pino@npm:8.14.1, pino@npm:^8.12.0":
- version: 8.14.1
- resolution: "pino@npm:8.14.1"
+"pino@npm:8.15.0, pino@npm:^8.12.0":
+ version: 8.15.0
+ resolution: "pino@npm:8.15.0"
dependencies:
atomic-sleep: ^1.0.0
fast-redact: ^3.1.1
@@ -26232,7 +26232,7 @@ __metadata:
thread-stream: ^2.0.0
bin:
pino: bin.js
- checksum: 0903238577141814b7bcab0278e0a249078e6cf8198630c9bb7a0dfba555ea303660632ea289d9bd721d8b964939adbfe90fd5a39dee7a6c9f967c0c5e3df8ae
+ checksum: 0288488d0426b68d1e3a7e0f11eda6b3e8e4d7cd9f8aa6e090afe03e604fa5039be62397528d78d6f30735e6416a54b4e07881107ef80c125076191399283688
languageName: node
linkType: hard
From 8dc8e80f23cd71620b6bd2ae382382972ed92a7c Mon Sep 17 00:00:00 2001
From: Daniel Choudhury
Date: Wed, 9 Aug 2023 14:51:51 +0700
Subject: [PATCH 13/14] fix(router): Do not reset scroll on query & hash
changes (#9004)
---
.../src/__tests__/routeScrollReset.test.tsx | 93 +++++++++++++++++++
packages/router/src/active-route-loader.tsx | 2 -
packages/router/src/location.tsx | 34 +++++--
packages/router/src/util.ts | 17 ++--
4 files changed, 129 insertions(+), 17 deletions(-)
create mode 100644 packages/router/src/__tests__/routeScrollReset.test.tsx
diff --git a/packages/router/src/__tests__/routeScrollReset.test.tsx b/packages/router/src/__tests__/routeScrollReset.test.tsx
new file mode 100644
index 000000000000..bf9475f62b0e
--- /dev/null
+++ b/packages/router/src/__tests__/routeScrollReset.test.tsx
@@ -0,0 +1,93 @@
+import React from 'react'
+
+import '@testing-library/jest-dom/extend-expect'
+import { act, cleanup, render, screen } from '@testing-library/react'
+
+import { navigate } from '../history'
+import { Route, Router, routes } from '../router'
+
+describe('Router scroll reset', () => {
+ const Page1 = () => Page 1
+ const Page2 = () => Page 2
+ const TestRouter = () => (
+
+
+
+
+ )
+
+ // Redfine the mocks here again (already done in jest.setup)
+ // Otherwise the mock doesn't clear for some reason
+ globalThis.scrollTo = jest.fn()
+
+ beforeEach(async () => {
+ ;(globalThis.scrollTo as jest.Mock).mockClear()
+ render()
+
+ // Make sure we're starting on the home route
+ await screen.getByText('Page 1')
+ })
+
+ afterEach(async () => {
+ // @NOTE: for some reason, the Router state does not reset between renders
+ act(() => navigate('/'))
+ cleanup()
+ })
+
+ it('resets on location/path change', async () => {
+ act(() =>
+ navigate(
+ // @ts-expect-error - AvailableRoutes built in project only
+ routes.page2()
+ )
+ )
+
+ await screen.getByText('Page 2')
+
+ expect(globalThis.scrollTo).toHaveBeenCalledTimes(1)
+ })
+
+ it('resets on location/path and queryChange change', async () => {
+ act(() =>
+ navigate(
+ // @ts-expect-error - AvailableRoutes built in project only
+ routes.page2({
+ tab: 'three',
+ })
+ )
+ )
+
+ await screen.getByText('Page 2')
+
+ expect(globalThis.scrollTo).toHaveBeenCalledTimes(1)
+ })
+
+ it('resets scroll on query params (search) change on the same page', async () => {
+ act(() =>
+ // We're staying on page 1, but changing the query params
+ navigate(
+ // @ts-expect-error - AvailableRoutes built in project only
+ routes.page1({
+ queryParam1: 'foo',
+ })
+ )
+ )
+
+ await screen.getByText('Page 1')
+
+ expect(globalThis.scrollTo).toHaveBeenCalledTimes(1)
+ })
+
+ it('does NOT reset on hash change', async () => {
+ await screen.getByText('Page 1')
+
+ act(() =>
+ // Stay on page 1, but change the hash
+ navigate(`#route=66`, { replace: true })
+ )
+
+ await screen.getByText('Page 1')
+
+ expect(globalThis.scrollTo).not.toHaveBeenCalled()
+ })
+})
diff --git a/packages/router/src/active-route-loader.tsx b/packages/router/src/active-route-loader.tsx
index 61e6cf6190eb..cacbee622dd1 100644
--- a/packages/router/src/active-route-loader.tsx
+++ b/packages/router/src/active-route-loader.tsx
@@ -70,8 +70,6 @@ export const ActiveRouteLoader = ({
return
}
- globalThis?.scrollTo(0, 0)
-
if (announcementRef.current) {
announcementRef.current.innerText = getAnnouncement()
}
diff --git a/packages/router/src/location.tsx b/packages/router/src/location.tsx
index bccad5cdff37..4719abeaebeb 100644
--- a/packages/router/src/location.tsx
+++ b/packages/router/src/location.tsx
@@ -11,24 +11,32 @@ export interface LocationContextType {
const LocationContext = createNamedContext('Location')
+interface Location {
+ pathname: string
+ search?: string
+ hash?: string
+}
interface LocationProviderProps {
- location?: {
- pathname: string
- search?: string
- hash?: string
- }
+ location?: Location
trailingSlashes?: TrailingSlashesTypes
children?: React.ReactNode
}
-class LocationProvider extends React.Component {
+interface LocationProviderState {
+ context: Location
+}
+
+class LocationProvider extends React.Component<
+ LocationProviderProps,
+ LocationProviderState
+> {
// When prerendering, there might be more than one level of location
// providers. Use the values from the one above.
static contextType = LocationContext
declare context: React.ContextType
HISTORY_LISTENER_ID: string | undefined = undefined
- state = {
+ state: LocationProviderState = {
context: this.getContext(),
}
@@ -82,7 +90,17 @@ class LocationProvider extends React.Component {
componentDidMount() {
this.HISTORY_LISTENER_ID = gHistory.listen(() => {
- this.setState(() => ({ context: this.getContext() }))
+ const context = this.getContext()
+ this.setState((lastState) => {
+ if (
+ context.pathname !== lastState.context.pathname ||
+ context.search !== lastState.context.search
+ ) {
+ globalThis?.scrollTo(0, 0)
+ }
+
+ return { context }
+ })
})
}
diff --git a/packages/router/src/util.ts b/packages/router/src/util.ts
index ebb2188e2fcf..5b22dcf56e5d 100644
--- a/packages/router/src/util.ts
+++ b/packages/router/src/util.ts
@@ -122,7 +122,7 @@ type SupportedRouterParamTypes = keyof typeof coreParamTypes
* => { match: true, params: {} }
*/
export function matchPath(
- route: string,
+ routeDefinition: string,
pathname: string,
{
userParamTypes,
@@ -138,10 +138,11 @@ export function matchPath(
// Get the names and the transform types for the given route.
const allParamTypes = { ...coreParamTypes, ...userParamTypes }
- const { matchRegex, routeParams } = getRouteRegexAndParams(route, {
- matchSubPaths,
- allParamTypes,
- })
+ const { matchRegex, routeParams: routeParamsDefinition } =
+ getRouteRegexAndParams(routeDefinition, {
+ matchSubPaths,
+ allParamTypes,
+ })
// Does the `pathname` match the route?
const matches = [...pathname.matchAll(matchRegex)]
@@ -151,10 +152,12 @@ export function matchPath(
}
// Map extracted values to their param name, casting the value if needed
const providedParams = matches[0].slice(1)
- if (routeParams.length > 0) {
+
+ // @NOTE: refers to definiton e.g. '/page/{id}', not the actual params
+ if (routeParamsDefinition.length > 0) {
const params = providedParams.reduce>(
(acc, value, index) => {
- const [name, transformName] = routeParams[index]
+ const [name, transformName] = routeParamsDefinition[index]
const typeInfo =
allParamTypes[transformName as SupportedRouterParamTypes]
From 58a242192174e6bd2e72ccd2269f66d02ad7a401 Mon Sep 17 00:00:00 2001
From: Daniel Choudhury
Date: Wed, 9 Aug 2023 15:41:17 +0700
Subject: [PATCH 14/14] feat(streaming-ssr): Fix build and server html
injection (#8978)
- Fixes cases where route hooks not firing correctly when root Route
hook missing
- Fixes build erroring out when pages are explicitly imported
- Ensures webdir for build too
- Adds new way to inject html to `` for Apollo client
- Makes the `` component partially work with the new streaming
setup. Helmet doesn't work with streaming (their docs are for the old
way of streaming).
- Right now it doesn't support "templates" like Helmet does (neither do
route hooks)
Note: I haven't applied HTML injection to prod just yet.
---------
Co-authored-by: Dominic Saadi, Kris Coulson
---
packages/vite/ambient.d.ts | 19 ++-
packages/vite/bins/rw-vite-build.mjs | 7 +-
packages/vite/src/buildFeServer.ts | 8 +-
packages/vite/src/devFeServer.ts | 71 ++-------
packages/vite/src/runFeServer.ts | 14 +-
packages/vite/src/runRscFeServer.ts | 5 +-
.../vite/src/streaming/registerGlobals.ts | 34 ++++
packages/vite/src/streaming/streamHelpers.ts | 146 ++++++++++++++++++
.../src/{ => streaming}/triggerRouteHooks.ts | 39 +++--
packages/vite/src/utils.ts | 18 +++
packages/web/ambient.d.ts | 5 +
packages/web/package.json | 2 +-
packages/web/src/components/MetaTags.tsx | 13 +-
packages/web/src/components/PortalHead.tsx | 20 +++
.../web/src/components/RedwoodProvider.tsx | 9 +-
packages/web/src/components/ServerInject.tsx | 82 ++++++++++
packages/web/src/components/htmlTags.tsx | 14 +-
.../web/src/components/portalHead.test.tsx | 44 ++++++
packages/web/src/index.ts | 2 +
19 files changed, 447 insertions(+), 105 deletions(-)
create mode 100644 packages/vite/src/streaming/registerGlobals.ts
create mode 100644 packages/vite/src/streaming/streamHelpers.ts
rename packages/vite/src/{ => streaming}/triggerRouteHooks.ts (81%)
create mode 100644 packages/web/src/components/PortalHead.tsx
create mode 100644 packages/web/src/components/ServerInject.tsx
create mode 100644 packages/web/src/components/portalHead.test.tsx
diff --git a/packages/vite/ambient.d.ts b/packages/vite/ambient.d.ts
index 64c58d8e3a00..da81612adf7a 100644
--- a/packages/vite/ambient.d.ts
+++ b/packages/vite/ambient.d.ts
@@ -1,16 +1,29 @@
/* eslint-disable no-var */
///
+import type { HelmetServerState } from 'react-helmet-async'
declare global {
+ // Provided by Vite.config, or Webpack in the user's project
+ // but "regsitered" in packages/vite/src/streaming/registerGlobals.ts
+ // for it to be available to framework code
var RWJS_ENV: {
- RWJS_API_GRAPHQL_URL?: string
+ RWJS_API_GRAPHQL_URL: string
/** URL or absolute path to serverless functions */
- RWJS_API_URL?: string
+ RWJS_API_URL: string
+ RWJS_EXP_STREAMING_SSR: boolean
+ RWJS_EXP_RSC: boolean
- __REDWOOD__APP_TITLE?: string
+ __REDWOOD__APP_TITLE: string
+ }
+
+ var RWJS_DEBUG_ENV: {
+ RWJS_SRC_ROOT: string
+ REDWOOD_ENV_EDITOR: string
}
var __REDWOOD__PRERENDER_PAGES: any
+
+ var __REDWOOD__HELMET_CONTEXT: { helmet?: HelmetServerState }
}
export {}
diff --git a/packages/vite/bins/rw-vite-build.mjs b/packages/vite/bins/rw-vite-build.mjs
index 158e57b75905..e3aabaf7773e 100755
--- a/packages/vite/bins/rw-vite-build.mjs
+++ b/packages/vite/bins/rw-vite-build.mjs
@@ -41,13 +41,14 @@ const buildWebSide = async (webDir) => {
throw new Error('Could not locate your web/vite.config.{js,ts} file')
}
- // @NOTE: necessary for keeping the cwd correct for postcss/tailwind
- process.chdir(webDir)
process.env.NODE_ENV = 'production'
if (getConfig().experimental?.streamingSsr?.enabled) {
- await buildFeServer({ verbose })
+ // Webdir checks handled in the rwjs/vite package in new build system
+ await buildFeServer({ verbose, webDir })
} else {
+ // Ensure cwd to be web: required for postcss/tailwind to work correctly
+ process.chdir(webDir)
// Right now, the buildWeb function looks up the config file from project-config
// In the future, if we have multiple web spaces we could pass in the cwd here
buildWeb({ verbose })
diff --git a/packages/vite/src/buildFeServer.ts b/packages/vite/src/buildFeServer.ts
index 2e070f0bdcd5..2cfaca286e94 100644
--- a/packages/vite/src/buildFeServer.ts
+++ b/packages/vite/src/buildFeServer.ts
@@ -13,12 +13,16 @@ import { getAppRouteHook, getConfig, getPaths } from '@redwoodjs/project-config'
import { buildRscFeServer } from './buildRscFeServer'
import { RWRouteManifest } from './types'
+import { ensureProcessDirWeb } from './utils'
export interface BuildOptions {
verbose?: boolean
+ webDir?: string
}
-export const buildFeServer = async ({ verbose }: BuildOptions) => {
+export const buildFeServer = async ({ verbose, webDir }: BuildOptions = {}) => {
+ ensureProcessDirWeb(webDir)
+
const rwPaths = getPaths()
const rwConfig = getConfig()
const viteConfigPath = rwPaths.web.viteConfig
@@ -143,7 +147,7 @@ export const buildFeServer = async ({ verbose }: BuildOptions) => {
acc[route.path] = {
name: route.name,
bundle: route.relativeFilePath
- ? clientBuildManifest[route.relativeFilePath].file
+ ? clientBuildManifest[route.relativeFilePath]?.file
: null,
matchRegexString: route.matchRegexString,
// @NOTE this is the path definition, not the actual path
diff --git a/packages/vite/src/devFeServer.ts b/packages/vite/src/devFeServer.ts
index 9adc2519d8e4..462ff2a1b9d0 100644
--- a/packages/vite/src/devFeServer.ts
+++ b/packages/vite/src/devFeServer.ts
@@ -1,8 +1,6 @@
// TODO (STREAMING) Merge with runFeServer so we only have one file
-import path from 'path'
import express from 'express'
-import { renderToPipeableStream } from 'react-dom/server'
import { createServer as createViteServer } from 'vite'
import { getProjectRoutes } from '@redwoodjs/internal/dist/routes'
@@ -10,29 +8,18 @@ import { getAppRouteHook, getConfig, getPaths } from '@redwoodjs/project-config'
import { matchPath } from '@redwoodjs/router'
import type { TagDescriptor } from '@redwoodjs/web'
-import { loadAndRunRouteHooks } from './triggerRouteHooks'
-import { stripQueryStringAndHashFromPath } from './utils'
-
-// These values are defined in the vite.config.ts
-globalThis.RWJS_ENV = {}
+import { registerFwGlobals } from './streaming/registerGlobals'
+import { reactRenderToStream } from './streaming/streamHelpers'
+import { loadAndRunRouteHooks } from './streaming/triggerRouteHooks'
+import { ensureProcessDirWeb, stripQueryStringAndHashFromPath } from './utils'
// TODO (STREAMING) Just so it doesn't error out. Not sure how to handle this.
globalThis.__REDWOOD__PRERENDER_PAGES = {}
async function createServer() {
- // Check CWD: make sure its the web/ directory
- // Without this Postcss can misbehave, and its hard to trace why.
- if (process.cwd() !== getPaths().web.base) {
- console.error('β οΈ Warning: CWD is ', process.cwd())
- console.warn('~'.repeat(50))
- console.warn(
- 'The FE dev server cwd must be web/. Please use `yarn rw dev` or start the server from the web/ directory.'
- )
- console.log(`Changing cwd to ${getPaths().web.base}....`)
- console.log()
+ ensureProcessDirWeb()
- process.chdir(getPaths().web.base)
- }
+ registerFwGlobals()
const app = express()
const rwPaths = getPaths()
@@ -62,6 +49,7 @@ async function createServer() {
app.use('*', async (req, res, next) => {
const currentPathName = stripQueryStringAndHashFromPath(req.originalUrl)
+ globalThis.__REDWOOD__HELMET_CONTEXT = {}
try {
const routes = getProjectRoutes()
@@ -120,46 +108,17 @@ async function createServer() {
// required, and provides efficient invalidation similar to HMR.
const { ServerEntry } = await vite.ssrLoadModule(rwPaths.web.entryServer)
- // TODO (STREAMING) CSS is handled by Vite in dev mode, we don't need to
- // worry about it in dev but..... it causes a flash of unstyled content.
- // For now I'm just injecting index css here
- // We believe we saw a fix for this somewhere in the Waku sources. Maybe
- // it was called something like "Capture Css". And it's also mentioned
- // in the Vite issues on GitHub
- const FIXME_HardcodedIndexCss = ['index.css']
-
- const assetMap = JSON.stringify({
- css: FIXME_HardcodedIndexCss,
- meta: metaTags,
- })
-
- const bootstrapModules = [
- path.join(__dirname, '../inject', 'reactRefresh.js'),
- ]
-
const pageWithJs = currentRoute?.renderMode !== 'html'
- if (pageWithJs) {
- bootstrapModules.push(rwPaths.web.entryClient)
- }
+ res.setHeader('content-type', 'text/html; charset=utf-8')
- const { pipe } = renderToPipeableStream(
- ServerEntry({
- url: currentPathName,
- css: FIXME_HardcodedIndexCss,
- meta: metaTags,
- }),
- {
- bootstrapScriptContent: pageWithJs
- ? `window.__assetMap = function() { return ${assetMap} }`
- : undefined,
- bootstrapModules,
- onShellReady() {
- res.setHeader('content-type', 'text/html; charset=utf-8')
- pipe(res)
- },
- }
- )
+ reactRenderToStream({
+ ServerEntry,
+ currentPathName,
+ metaTags,
+ includeJs: pageWithJs,
+ res,
+ })
} catch (e) {
// TODO (STREAMING) Is this what we want to do?
// send back a SPA page
diff --git a/packages/vite/src/runFeServer.ts b/packages/vite/src/runFeServer.ts
index 1bad75e2f16c..3170de8eb25b 100644
--- a/packages/vite/src/runFeServer.ts
+++ b/packages/vite/src/runFeServer.ts
@@ -18,12 +18,11 @@ import { getConfig, getPaths } from '@redwoodjs/project-config'
import { matchPath } from '@redwoodjs/router'
import type { TagDescriptor } from '@redwoodjs/web'
-import { loadAndRunRouteHooks } from './triggerRouteHooks'
+import { registerFwGlobals } from './streaming/registerGlobals'
+import { loadAndRunRouteHooks } from './streaming/triggerRouteHooks'
import { RWRouteManifest } from './types'
import { stripQueryStringAndHashFromPath } from './utils'
-globalThis.RWJS_ENV = {}
-
/**
* TODO (STREAMING)
* We have this server in the vite package only temporarily.
@@ -50,6 +49,8 @@ export async function runFeServer() {
const rwPaths = getPaths()
const rwConfig = getConfig()
+ registerFwGlobals()
+
// TODO When https://github.com/tc39/proposal-import-attributes and
// https://github.com/microsoft/TypeScript/issues/53656 have both landed we
// should try to do this instead:
@@ -211,15 +212,16 @@ export async function runFeServer() {
const pageWithJs = currentRoute.renderMode !== 'html'
// @NOTE have to add slash so subpaths still pick up the right file
- // Vite is currently producing modules not scripts: https://vitejs.dev/config/build-options.html#build-target
const bootstrapModules = pageWithJs
- ? ['/' + indexEntry.file, '/' + currentRoute.bundle]
+ ? ([
+ '/' + indexEntry.file,
+ currentRoute.bundle && '/' + currentRoute.bundle,
+ ].filter(Boolean) as string[])
: undefined
const isSeoCrawler = checkUaForSeoCrawler(req.get('user-agent'))
const { pipe, abort } = renderToPipeableStream(
- // we should use the same shape as Remix or Next for the meta object
ServerEntry({
url: currentPathName,
css: indexEntry.css,
diff --git a/packages/vite/src/runRscFeServer.ts b/packages/vite/src/runRscFeServer.ts
index 1b62b7533996..af4cde8bb392 100644
--- a/packages/vite/src/runRscFeServer.ts
+++ b/packages/vite/src/runRscFeServer.ts
@@ -15,10 +15,9 @@ import type { Manifest as ViteBuildManifest } from 'vite'
import { getConfig, getPaths } from '@redwoodjs/project-config'
+import { registerFwGlobals } from './streaming/registerGlobals'
import { renderRSC, setClientEntries } from './waku-lib/rsc-handler-worker'
-globalThis.RWJS_ENV = {}
-
/**
* TODO (STREAMING)
* We have this server in the vite package only temporarily.
@@ -45,6 +44,8 @@ export async function runFeServer() {
const rwPaths = getPaths()
const rwConfig = getConfig()
+ registerFwGlobals()
+
await setClientEntries('load')
// TODO When https://github.com/tc39/proposal-import-attributes and
diff --git a/packages/vite/src/streaming/registerGlobals.ts b/packages/vite/src/streaming/registerGlobals.ts
new file mode 100644
index 000000000000..fd21a2855dc5
--- /dev/null
+++ b/packages/vite/src/streaming/registerGlobals.ts
@@ -0,0 +1,34 @@
+import path from 'node:path'
+
+import { getConfig, getPaths } from '@redwoodjs/project-config'
+
+/**
+ * Use this function on the web server
+ *
+ * Because although this is defined in Vite/index.ts
+ * They are only available in the user's code (and not in FW code)
+ * because define STATICALLY replaces it in user's code, not in node_modules
+ *
+ * It's still available on the client side though, probably because its processed by Vite
+ */
+export const registerFwGlobals = () => {
+ const rwConfig = getConfig()
+ const rwPaths = getPaths()
+
+ globalThis.RWJS_ENV = {
+ // @NOTE we're avoiding process.env here, unlike webpack
+ RWJS_API_GRAPHQL_URL:
+ rwConfig.web.apiGraphQLUrl ?? rwConfig.web.apiUrl + '/graphql',
+ RWJS_API_URL: rwConfig.web.apiUrl,
+ __REDWOOD__APP_TITLE: rwConfig.web.title || path.basename(rwPaths.base),
+ RWJS_EXP_STREAMING_SSR:
+ rwConfig.experimental.streamingSsr &&
+ rwConfig.experimental.streamingSsr.enabled,
+ RWJS_EXP_RSC: rwConfig.experimental?.rsc?.enabled,
+ }
+
+ globalThis.RWJS_DEBUG_ENV = {
+ RWJS_SRC_ROOT: rwPaths.web.src,
+ REDWOOD_ENV_EDITOR: JSON.stringify(process.env.REDWOOD_ENV_EDITOR),
+ }
+}
diff --git a/packages/vite/src/streaming/streamHelpers.ts b/packages/vite/src/streaming/streamHelpers.ts
new file mode 100644
index 000000000000..bed2ad5bccf0
--- /dev/null
+++ b/packages/vite/src/streaming/streamHelpers.ts
@@ -0,0 +1,146 @@
+import path from 'node:path'
+import { Writable } from 'node:stream'
+
+import React from 'react'
+
+import { renderToPipeableStream, renderToString } from 'react-dom/server'
+
+import { getPaths } from '@redwoodjs/project-config'
+import type { TagDescriptor } from '@redwoodjs/web'
+// @TODO (ESM), use exports field. Cannot import from web because of index exports
+import {
+ ServerHtmlProvider,
+ ServerInjectedHtml,
+ createInjector,
+ RenderCallback,
+} from '@redwoodjs/web/dist/components/ServerInject'
+
+interface RenderToStreamArgs {
+ ServerEntry: any
+ currentPathName: string
+ metaTags: TagDescriptor[]
+ includeJs: boolean
+ res: Writable
+}
+
+export function reactRenderToStream({
+ ServerEntry,
+ currentPathName,
+ metaTags,
+ includeJs,
+ res,
+}: RenderToStreamArgs) {
+ const rwPaths = getPaths()
+
+ const bootstrapModules = [
+ path.join(__dirname, '../../inject', 'reactRefresh.js'),
+ ]
+
+ if (includeJs) {
+ // type casting: guaranteed to have entryClient by this stage, because checks run earlier
+ bootstrapModules.push(rwPaths.web.entryClient as string)
+ }
+
+ // TODO (STREAMING) CSS is handled by Vite in dev mode, we don't need to
+ // worry about it in dev but..... it causes a flash of unstyled content.
+ // For now I'm just injecting index css here
+ // Looks at collectStyles in packages/vite/src/fully-react/find-styles.ts
+ const FIXME_HardcodedIndexCss = ['index.css']
+
+ const assetMap = JSON.stringify({
+ css: FIXME_HardcodedIndexCss,
+ meta: metaTags,
+ })
+
+ // This ensures an isolated state for each request
+ const { injectionState, injectToPage } = createInjector()
+
+ // This is effectively a transformer stream
+ const intermediateStream = createServerInjectionStream({
+ outputStream: res,
+ onFinal: () => {
+ res.end()
+ },
+ injectionState,
+ })
+
+ const { pipe } = renderToPipeableStream(
+ React.createElement(
+ ServerHtmlProvider,
+ {
+ value: injectToPage,
+ },
+ ServerEntry({
+ url: currentPathName,
+ css: FIXME_HardcodedIndexCss,
+ meta: metaTags,
+ })
+ ),
+ {
+ bootstrapScriptContent: includeJs
+ ? `window.__REDWOOD__ASSET_MAP = ${assetMap}`
+ : undefined,
+ bootstrapModules,
+ onShellReady() {
+ // Pass the react "input" stream to the injection stream
+ // This intermediate stream will interweave the injected html into the react stream's
+ pipe(intermediateStream)
+ },
+ }
+ )
+}
+function createServerInjectionStream({
+ outputStream,
+ onFinal,
+ injectionState,
+}: {
+ outputStream: Writable
+ onFinal: () => void
+ injectionState: Set
+}) {
+ return new Writable({
+ write(chunk, encoding, next) {
+ const chunkAsString = chunk.toString()
+ const split = chunkAsString.split('')
+
+ // If the closing tag exists
+ if (split.length > 1) {
+ const [beforeClosingHead, afterClosingHead] = split
+
+ const elementsInjectedToHead = renderToString(
+ React.createElement(ServerInjectedHtml, {
+ injectionState,
+ })
+ )
+
+ const outputBuffer = Buffer.from(
+ [
+ beforeClosingHead,
+ elementsInjectedToHead,
+ '',
+ afterClosingHead,
+ ].join('')
+ )
+
+ outputStream.write(outputBuffer, encoding)
+ } else {
+ outputStream.write(chunk, encoding)
+ }
+
+ next()
+ },
+ final() {
+ // Before finishing, make sure we flush anything else that has been added to the queue
+ // Because of the implementation in ServerRenderHtml, its safe to call this multiple times (I think!)
+ // This is really for the data fetching usecase, where the promise is resolved after is closed
+ const elementsAtTheEnd = renderToString(
+ React.createElement(ServerInjectedHtml, {
+ injectionState,
+ })
+ )
+
+ outputStream.write(elementsAtTheEnd)
+ onFinal()
+ },
+ })
+}
diff --git a/packages/vite/src/triggerRouteHooks.ts b/packages/vite/src/streaming/triggerRouteHooks.ts
similarity index 81%
rename from packages/vite/src/triggerRouteHooks.ts
rename to packages/vite/src/streaming/triggerRouteHooks.ts
index 42d402e7e6a3..285bcd0c6cd3 100644
--- a/packages/vite/src/triggerRouteHooks.ts
+++ b/packages/vite/src/streaming/triggerRouteHooks.ts
@@ -80,39 +80,38 @@ export const loadAndRunRouteHooks = async ({
}
let currentRouteHooks: RouteHooks
-
+ let rhOutput: RouteHookOutput = defaultRouteHookOutput
// Pull out the first path
// Remember shift will mutate the array
const routeHookPath = paths.shift()
- if (!routeHookPath) {
- return defaultRouteHookOutput
- } else {
- try {
+ try {
+ // Sometimes the appRouteHook is null, so we can skip it
+ if (routeHookPath) {
currentRouteHooks = await loadModule(routeHookPath)
// Step 2, run the route hooks
- const rhOutput = await triggerRouteHooks({
+ rhOutput = await triggerRouteHooks({
routeHooks: currentRouteHooks,
req: reqMeta.req,
parsedParams: reqMeta.parsedParams,
previousOutput,
})
+ }
- if (paths.length > 0) {
- // Step 3, recursively call this function
- return loadAndRunRouteHooks({
- paths,
- reqMeta,
- previousOutput: rhOutput,
- viteDevServer,
- })
- } else {
- return rhOutput
- }
- } catch (e) {
- console.error(`Error loading route hooks in ${routeHookPath}}`)
- throw new Error(e as any)
+ if (paths.length > 0) {
+ // Step 3, recursively call this function
+ return loadAndRunRouteHooks({
+ paths,
+ reqMeta,
+ previousOutput: rhOutput,
+ viteDevServer,
+ })
+ } else {
+ return rhOutput
}
+ } catch (e) {
+ console.error(`Error loading route hooks in ${routeHookPath}}`)
+ throw e
}
}
diff --git a/packages/vite/src/utils.ts b/packages/vite/src/utils.ts
index 32da87601cca..e721c32177f3 100644
--- a/packages/vite/src/utils.ts
+++ b/packages/vite/src/utils.ts
@@ -1,3 +1,21 @@
+import { getPaths } from '@redwoodjs/project-config'
+
export function stripQueryStringAndHashFromPath(url: string) {
return url.split('?')[0].split('#')[0]
}
+
+// Check CWD: make sure its the web/ directory
+// Without this Postcss can misbehave, and its hard to trace why.
+export function ensureProcessDirWeb(webDir: string = getPaths().web.base) {
+ if (process.cwd() !== webDir) {
+ console.error('β οΈ Warning: CWD is ', process.cwd())
+ console.warn('~'.repeat(50))
+ console.warn(
+ 'The cwd must be web/. Please use `yarn rw ` or run the command from the web/ directory.'
+ )
+ console.log(`Changing cwd to ${webDir}....`)
+ console.log()
+
+ process.chdir(webDir)
+ }
+}
diff --git a/packages/web/ambient.d.ts b/packages/web/ambient.d.ts
index e452d2016432..151c7972b58a 100644
--- a/packages/web/ambient.d.ts
+++ b/packages/web/ambient.d.ts
@@ -8,6 +8,11 @@ declare global {
var __REDWOOD__APP_TITLE: string
var __REDWOOD__APOLLO_STATE: NormalizedCacheObject
+ var __REDWOOD__ASSET_MAP: {
+ css?: string[]
+ meta?: TagDescriptor[]
+ }
+
// Provided by Vite.config, or Webpack in the user's project
var RWJS_ENV: {
RWJS_API_GRAPHQL_URL: string
diff --git a/packages/web/package.json b/packages/web/package.json
index 4d3a24b5775a..8c68dc235408 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -31,7 +31,7 @@
"build:types": "tsc --build --verbose",
"build:watch": "nodemon --watch src --ext \"js,jsx,ts,tsx\" --ignore dist --exec \"yarn build\"",
"prepublishOnly": "NODE_ENV=production yarn build",
- "test": "jest src",
+ "test": "jest",
"test:watch": "yarn test --watch"
},
"dependencies": {
diff --git a/packages/web/src/components/MetaTags.tsx b/packages/web/src/components/MetaTags.tsx
index 0f207a0f4dac..1b1c5ebd492f 100644
--- a/packages/web/src/components/MetaTags.tsx
+++ b/packages/web/src/components/MetaTags.tsx
@@ -1,4 +1,8 @@
-import { Head } from '../index'
+import { Head as HelmetHead } from '../index'
+
+// Ideally we wouldn't include this for non experiment builds
+// But.... not worth the effort to remove it from bundle atm
+import PortalHead from './PortalHead'
type RobotsParams =
| 'noindex'
@@ -78,6 +82,13 @@ export const MetaTags = (props: MetaTagsProps) => {
author,
children,
} = props
+
+ let Head: typeof HelmetHead | typeof PortalHead = HelmetHead
+
+ if (RWJS_ENV.RWJS_EXP_STREAMING_SSR) {
+ Head = PortalHead
+ }
+
return (
<>
{title && (
diff --git a/packages/web/src/components/PortalHead.tsx b/packages/web/src/components/PortalHead.tsx
new file mode 100644
index 000000000000..829c1ccc5687
--- /dev/null
+++ b/packages/web/src/components/PortalHead.tsx
@@ -0,0 +1,20 @@
+import { createPortal } from 'react-dom'
+
+import { useServerInsertedHTML } from './ServerInject'
+
+const PortalHead: React.FC = ({ children }) => {
+ useServerInsertedHTML(() => {
+ // @TODO this component should be wrapped in: document.head.append()
+ // because its possible for meta tags to be rendered after is closed
+ return children
+ })
+
+ if (typeof window === 'undefined') {
+ // Don't do anything on the server, handled by above callback
+ return null
+ } else {
+ return createPortal(<>{children}>, document.head)
+ }
+}
+
+export default PortalHead
diff --git a/packages/web/src/components/RedwoodProvider.tsx b/packages/web/src/components/RedwoodProvider.tsx
index bc84deeb17af..64a4a3308164 100644
--- a/packages/web/src/components/RedwoodProvider.tsx
+++ b/packages/web/src/components/RedwoodProvider.tsx
@@ -18,12 +18,9 @@ export const RedwoodProvider = ({
}
return ''
}
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- // TODO (STREAMING) need to disable helmet here, because it clashes with meta
- // routeHooks but can still leave helmet provider to make it easy to migrate
- // to new setup
- // TODO (STREAMING) Figure out how the Helmet stuff can live along side
- // streaming while streaming is still experimental
+
+ // @TODO (STREAMING): We can remove Helmet, HelmetProvider
+ // Once we've migrated to using the new PortalHead component
return (
diff --git a/packages/web/src/components/ServerInject.tsx b/packages/web/src/components/ServerInject.tsx
new file mode 100644
index 000000000000..1e1819243dfd
--- /dev/null
+++ b/packages/web/src/components/ServerInject.tsx
@@ -0,0 +1,82 @@
+import React, { Fragment, ReactNode, useContext, useId } from 'react'
+
+/**
+ *
+ * Inspired by Next's useServerInsertedHTML, originally designed for CSS-in-JS
+ * for now it seems the only way to inject html with streaming is to use a context
+ *
+ * We use this for tags, and for apollo cache hydration
+ *
+ * Until https://github.com/reactjs/rfcs/pull/219 makes it into react
+ *
+ */
+
+export type RenderCallback = () => ReactNode
+
+export const ServerHtmlContext = React.createContext<
+ ((things: RenderCallback) => void) | null
+>(null)
+
+/**
+ *
+ * Use this factory, once per request.
+ * This is to ensure that injectionState is isolated to the request
+ * and not shared between requests.
+ */
+export const createInjector = () => {
+ const injectionState: Set = new Set([])
+
+ const injectToPage = (renderCallback: RenderCallback) => {
+ injectionState.add(renderCallback)
+ }
+
+ return { injectToPage, injectionState }
+}
+
+// @NOTE do not instatiate the provider value here, so that we can ensure
+// context isolation. This is done in streamHelpers currently,
+// using the createInjector factory, once per request
+export const ServerHtmlProvider = ServerHtmlContext.Provider
+
+export const ServerInjectedHtml = ({
+ injectionState,
+}: {
+ injectionState: Set
+}) => {
+ const serverInsertedHtml = []
+ for (const callback of injectionState) {
+ serverInsertedHtml.push(callback())
+
+ // Remove it from the set so its not rendered again
+ injectionState.delete(callback)
+ }
+
+ const fragmentId = useId()
+
+ return serverInsertedHtml.map((html, i) => {
+ return (
+ {html}
+ )
+ })
+}
+
+// Exactly the same as Next's useServerInsertedHTML
+export function useServerInsertedHTML(callback: () => React.ReactNode): void {
+ const addInsertedServerHTMLCallback = useContext(ServerHtmlContext)
+
+ // Should have no effects on client where there's no flush effects provider
+ if (addInsertedServerHTMLCallback) {
+ addInsertedServerHTMLCallback(callback)
+ }
+}
+
+// @TODO use this in streamHelpers final block
+export const AppendToHead = ({ tagsToAppend }: { tagsToAppend: string }) => {
+ return (
+
+ )
+}
diff --git a/packages/web/src/components/htmlTags.tsx b/packages/web/src/components/htmlTags.tsx
index 57482830ece8..4763bfdd8d52 100644
--- a/packages/web/src/components/htmlTags.tsx
+++ b/packages/web/src/components/htmlTags.tsx
@@ -1,11 +1,13 @@
import { Fragment } from 'react'
/** CSS is a specialised metatag */
-export const Css = ({ css = [] }: { css: string[] }) => {
+export const Css = ({ css }: { css: string[] }) => {
+ const cssLinks = css || window?.__REDWOOD__ASSET_MAP?.css || []
+
return (
<>
- {css.map((cssLinks, index) => {
+ {cssLinks.map((cssLink, index) => {
return (
-
+
)
})}
>
@@ -77,10 +79,12 @@ interface MetaProps {
tags: TagDescriptor[] | undefined
}
-export const Meta = ({ tags = [] }: MetaProps) => {
+export const Meta = ({ tags }: MetaProps) => {
+ const metaTags = tags || window?.__REDWOOD__ASSET_MAP?.meta || []
+
return (
<>
- {tags.map((tag, index) => {
+ {metaTags.map((tag, index) => {
if (!tag) {
return null
}
diff --git a/packages/web/src/components/portalHead.test.tsx b/packages/web/src/components/portalHead.test.tsx
new file mode 100644
index 000000000000..74e8916c3d31
--- /dev/null
+++ b/packages/web/src/components/portalHead.test.tsx
@@ -0,0 +1,44 @@
+import React from 'react'
+
+import '@testing-library/jest-dom/extend-expect'
+import { render } from '@testing-library/react'
+
+import PortalHead from './PortalHead'
+import * as ServerInject from './ServerInject'
+
+const serverInsertionHookSpy = jest
+ .spyOn(ServerInject, 'useServerInsertedHTML')
+ .mockImplementation(jest.fn())
+
+describe('Portal head', () => {
+ const TestUsage = () => {
+ return (
+
+ Test title
+
+
+
+ )
+ }
+
+ it('Should add children to the on the client, and call serverInsertion hook', () => {
+ render()
+ // Actually doesn't do anything on the client underneath, but we
+ // still want to make sure its called
+ expect(serverInsertionHookSpy).toHaveBeenCalled()
+
+ const head = document.querySelector('head') as HTMLHeadElement
+
+ expect(head.childNodes).toHaveLength(3)
+ expect(head.childNodes[0]).toHaveTextContent('Test title')
+
+ expect(head.childNodes[1]).toHaveAttribute('rel', 'canonical')
+ expect(head.childNodes[1]).toHaveAttribute('href', 'https://example.com')
+
+ expect(head.childNodes[2]).toHaveAttribute('name', 'description')
+ expect(head.childNodes[2]).toHaveAttribute(
+ 'content',
+ 'Kittens are soft and cuddly'
+ )
+ })
+})
diff --git a/packages/web/src/index.ts b/packages/web/src/index.ts
index baa1196cb448..019e25db6fbb 100644
--- a/packages/web/src/index.ts
+++ b/packages/web/src/index.ts
@@ -34,3 +34,5 @@ export { Helmet as Head, Helmet } from 'react-helmet-async'
export * from './components/htmlTags'
export * from './routeHooks.types'
+
+export * from './components/ServerInject'