Compare commits

..

18 Commits

Author SHA1 Message Date
github-actions[bot]
14187d381f chore: update versions (#3332)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @nhost/dashboard@2.30.0

### Minor Changes

-   f6947a2: fix: fetch job-backup services logs using Live filter
- 44a3e6b: fix: collapsed main navigation sidebar overlaps mobile navbar
-   99b78f1: feat: dashboard: add download button for soc2 report
-   9acae7d: fix: e2e tests, stop on error when refreshing metadata

### Patch Changes

- 31e636a: fix (dashboard): Use the correct payload to reset metadata
before the e2e tests

## @nhost/docs@2.32.0

### Minor Changes

-   df51c3e: fix: added installation instructions for the CLI

### Patch Changes

-   4d835c4: fix: remove nodejs18
-   2aa81a6: fix (docs): fix audit

## @nhost-examples/nextjs-server-components@0.6.0

### Minor Changes

-   6ee2d1f: fix: proper use of onError in middleware

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-03 18:33:21 +00:00
Nuno Pato
99b78f147e feat: dashboard: add download button for soc2 report (#3349)
### **PR Type**
Enhancement


___

### **Description**
- Add SOC2 report download button for eligible organizations

- Implement Soc2Download component with error handling

- Update settings page to include Soc2Download component

- Add environment variable for SOC2 report file ID


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>Soc2Download.tsx</strong><dd><code>Implement
Soc2Download Component</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></summary>
<hr>


dashboard/src/features/orgs/components/general/components/Soc2Download/Soc2Download.tsx

<li>Create Soc2Download component with download functionality<br> <li>
Implement eligibility check for Team and Enterprise plans<br> <li> Add
error handling and user feedback for download process<br> <li> Design UI
for SOC2 report download section


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3349/files#diff-3768eb3fc718d4780028c34b5c76388e8d93cbbac94868f82c1a262fb9cc1100">+88/-0</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>index.ts</strong><dd><code>Export Soc2Download
Component</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></summary>
<hr>


dashboard/src/features/orgs/components/general/components/Soc2Download/index.ts

- Export Soc2Download component as default


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3349/files#diff-6c2a578aa4d31c64a57076a451d5bc1b5144f3ea25f5d37f1b52a0080a92f42a">+1/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>settings.tsx</strong><dd><code>Add Soc2Download to
Settings Page</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

dashboard/src/pages/orgs/[orgSlug]/settings.tsx

<li>Import Soc2Download component<br> <li> Add Soc2Download component to
OrgSettings page


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3349/files#diff-cb1b8a7cd77683034723d5f9a8ac429959db814ea2916ceaf0a3a5a5dae1515b">+2/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Documentation</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>spicy-walls-joke.md</strong><dd><code>Add Changeset for
SOC2 Download Feature</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></summary>
<hr>

.changeset/spicy-walls-joke.md

<li>Add changeset for minor version bump<br> <li> Describe feature
addition for SOC2 report download


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3349/files#diff-071df030006660706aa82d8a7cb94423abdc0b687bccbf6668dfbcd0dde43725">+5/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>.env.example</strong><dd><code>Add SOC2 Report File ID
Environment Variable</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

dashboard/.env.example

- Add NEXT_PUBLIC_SOC2_REPORT_FILE_ID environment variable


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3349/files#diff-b47cf46119af2f0298d96e5657e53e57161833e8b02d87526ac5c1ed9393d477">+3/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
2025-06-03 15:04:05 +00:00
robertkasza
2aa81a6cb9 fix (docs): fix audit (#3351)
### **PR Type**
Bug fix, Documentation


___

### **Description**
- Update audit-ci.jsonc to allow CVE-2025-48068 for 'next'

- Add new security patches in package.json

- Create changeset for @nhost/docs patch

- Improve documentation and audit compliance


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>yellow-drinks-sort.md</strong><dd><code>Add changeset
for @nhost/docs patch</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.changeset/yellow-drinks-sort.md

<li>Add new changeset file for @nhost/docs<br> <li> Specify patch
version update<br> <li> Include fix message for documentation audit


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3351/files#diff-217398d60b2d9d1a3e219e315bd0d9f9fee076071dcdc83e5d649491689a11f0">+5/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>audit-ci.jsonc</strong><dd><code>Update audit-ci.jsonc
allowlist for security exception</code>&nbsp; &nbsp; &nbsp;
</dd></summary>
<hr>

audit-ci.jsonc

- Add allowlist entry for CVE-2025-48068 in 'next' path


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3351/files#diff-4ede69da2a1704e53e08b8d647a315c202f037cc9277f16c94176d9622d261c6">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Dependencies</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>package.json</strong><dd><code>Update package.json with
new security patches</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

package.json

<li>Add new security patches for undici and tar-fs<br> <li> Update
existing security patch versions<br> <li> Adjust formatting for
consistency


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3351/files#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519">+4/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
2025-06-03 16:01:52 +02:00
David BM
a1edaf18ea fix: update requirements in DEVELOPERS.md (#3345)
### **User description**
Update requirements for development to Node.js 20


___

### **PR Type**
Documentation


___

### **Description**
- Update Node.js requirement to v20 or later

- Remove mention of Node.js v16 support

- Simplify Node.js version requirement section


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>DEVELOPERS.md</strong><dd><code>Update Node.js version
requirement</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

DEVELOPERS.md

<li>Updated Node.js requirement to v20 or later<br> <li> Removed mention
of Node.js v16 support<br> <li> Simplified Node.js version requirement
section


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3345/files#diff-bd017515eb79a7fb7569b1d15e8963ea380123d4fdf779978dd4b3ab7500fd10">+1/-3</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>

Co-authored-by: David Barroso Murcia <davidbm@air-m4.local>
2025-05-22 12:14:15 +02:00
David Barroso
4d835c4b9c fix (docs): remove nodejs18 (#3343)
### **PR Type**
Documentation


___

### **Description**
- Remove Node.js 18 runtime from supported versions

- Update documentation to reflect current runtimes

- Remove Node.js 18 configuration example

- Add changeset for patch update to @nhost/docs


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>brave-garlics-act.md</strong><dd><code>Add changeset
for removing Node.js 18</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.changeset/brave-garlics-act.md

<li>Add new changeset file for @nhost/docs patch update<br> <li>
Describe fix to remove Node.js 18


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3343/files#diff-af4dedaee65af3f90491e3eea21a6996fec17988247ad9779ed1b623f386eba6">+5/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>runtimes.mdx</strong><dd><code>Update runtimes
documentation to remove Node.js 18</code>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

docs/products/functions/runtimes.mdx

<li>Remove Node.js 18 from list of supported runtimes<br> <li> Delete
Node.js 18 configuration example<br> <li> Update supported versions to
Node.js 20 and 22


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3343/files#diff-41cc586838cadca39a91bf32878fb7cc5473d5815dec595547a4089684b5d489">+0/-9</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
2025-05-20 22:19:18 +02:00
David BM
44a3e6bd41 fix (dashboard): collapsed main navigation sidebar overlaps mobile navbar (#3341) 2025-05-20 22:05:58 +02:00
Dimitri POSTOLOV
6ee2d1f5bf fix (examples/nextjs-server-components): proper use of onError in middleware (#3330)
onError should be returned since it can contain `NextResponse.redirect`
like in the example
e87505c564/examples/quickstarts/nextjs-server-components/src/middleware.ts (L5-L7)

---------

Co-authored-by: David Barroso <dbarrosop@dravetech.com>
2025-05-19 11:21:06 +02:00
Calvin
df51c3e64e fix (docs): added installation instructions for the CLI (#3329)
Co-authored-by: David Barroso <dbarrosop@dravetech.com>
2025-05-16 09:01:45 +02:00
David BM
9acae7d1c4 fix (dashboard ci): stop playwright e2e tests run after first failure (#3334)
### **PR Type**
Bug fix, Enhancement


___

### **Description**
- Reload metadata for Graphite's remote schemas in e2e tests

- Add 'reload_remote_schemas' parameter to metadata reload

- Include Changeset for version tracking


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>refresh-metadata.setup.ts</strong><dd><code>Add
Graphite remote schema to metadata reload</code>&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></summary>
<hr>

dashboard/e2e/setup/refresh-metadata.setup.ts

<li>Add 'reload_remote_schemas' parameter with value ['graphite']<br>
<li> Include Graphite remote schema in metadata reload


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3334/files#diff-e32371f0138a80b833384d09a2b1fcc0de848b555823c16c0e9a96ed441edc8a">+1/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Documentation</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>wild-stingrays-help.md</strong><dd><code>Add changeset
for dashboard version update</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></summary>
<hr>

.changeset/wild-stingrays-help.md

<li>Create new changeset file<br> <li> Specify minor version bump for
'@nhost/dashboard'<br> <li> Add description of the fix


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3334/files#diff-b5a0c57a4f2bd08515f9feef3c38804e7f948ffb4b76418f6549131f61cf20fd">+5/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
2025-05-15 18:03:29 +02:00
David BM
f6947a2194 fix (dashboard): logs page, fetch job-backup services logs using Live filter (#3333)
### **User description**
Adds `job-backup.+` regex pattern to the service filter in the logs
subscription, to match any job-backup services


___

### **PR Type**
Bug fix, Enhancement


___

### **Description**
- Fix logs fetching for job-backup services

- Implement regex pattern for job-backup service filter

- Improve live log subscription functionality

- Add changeset for version tracking


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>logs.tsx</strong><dd><code>Improve log fetching for
job-backup services</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

dashboard/src/pages/orgs/[orgSlug]/projects/[appSubdomain]/logs.tsx

<li>Modify service filter in logs subscription<br> <li> Implement regex
pattern 'job-backup.+' for job-backup services<br> <li> Enhance
conditional logic for service filtering


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3333/files#diff-77489a68a7526d74f06d59019ad68c44728b7620637308d70fba38d6649b73fa">+4/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Documentation</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>hungry-waves-destroy.md</strong><dd><code>Add changeset
for version tracking</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.changeset/hungry-waves-destroy.md

<li>Add new changeset file<br> <li> Specify minor version bump for
@nhost/dashboard<br> <li> Document fix for job-backup services logs
fetching


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3333/files#diff-45dd073b01febac00c055bb63f51182ff043ee7a5df2c12058232caf2d2a31ca">+5/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
2025-05-14 13:55:11 +02:00
robertkasza
31e636a9c8 fix (dashboard): Use the correct payload to reset metadata before e2 tests (#3331)
### **PR Type**
Bug fix, Tests


___

### **Description**
- Fix metadata reset payload in e2e tests

- Improve error handling and logging for metadata consistency

- Add changeset for patch version bump


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Bug
fix</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>refresh-metadata.setup.ts</strong><dd><code>Refactor
metadata reset and improve consistency checks</code>&nbsp; &nbsp; &nbsp;
</dd></summary>
<hr>

dashboard/e2e/setup/refresh-metadata.setup.ts

<li>Updated payload for metadata reset (removed
<code>reload_remote_schemas</code>, set <br><code>reload_sources</code>
to false)<br> <li> Enhanced error handling and logging for metadata
consistency<br> <li> Added detailed console logging for inconsistent
metadata


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3331/files#diff-e32371f0138a80b833384d09a2b1fcc0de848b555823c16c0e9a96ed441edc8a">+10/-3</a>&nbsp;
&nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Documentation</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>lemon-flies-live.md</strong><dd><code>Add changeset for
dashboard patch update</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; </dd></summary>
<hr>

.changeset/lemon-flies-live.md

<li>Added changeset file for patch version bump<br> <li> Described fix
for metadata reset in e2e tests


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3331/files#diff-25789650a83994d924e29e67aafc8011da8f98e2178211207de1ef049d53e4f6">+5/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
2025-05-13 13:18:29 +02:00
github-actions[bot]
0fdff345ac chore: update versions (#3327)
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @nhost/dashboard@2.29.0

### Minor Changes

-   c97b43f: fix: update vite to address vulnerability audit
-   a0931e2: fix: improve logs time range and filter selection
- c0635ae: feat (dashboard): Add information about that free
organization cannot be upgraded.
- e87505c: fix: can downsize postgres storage capacity using local
dashboard

## @nhost-examples/codegen-react-apollo@0.8.0

### Minor Changes

-   c97b43f: fix: update vite to address vulnerability audit

## @nhost-examples/codegen-react-query@0.8.0

### Minor Changes

-   c97b43f: fix: update vite to address vulnerability audit

## @nhost-examples/codegen-react-urql@0.7.0

### Minor Changes

-   c97b43f: fix: update vite to address vulnerability audit

## @nhost-examples/sveltekit@0.8.0

### Minor Changes

-   c97b43f: fix: update vite to address vulnerability audit

## @nhost-examples/react-apollo@1.6.0

### Minor Changes

-   c97b43f: fix: update vite to address vulnerability audit

### Patch Changes

-   97db637: fix: fix settings

## @nhost-examples/react-gqty@1.6.0

### Minor Changes

-   c97b43f: fix: update vite to address vulnerability audit

## @nhost-examples/vue-apollo@0.12.0

### Minor Changes

-   c97b43f: fix: update vite to address vulnerability audit

## @nhost-examples/vue-quickstart@0.6.0

### Minor Changes

-   c97b43f: fix: update vite to address vulnerability audit

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-12 20:05:18 +00:00
David Barroso
97db63791b fix (examples/react-apollo): fix settings (#3301)
### **PR Type**
Enhancement, Configuration changes


___

### **Description**
- Update auth settings in nhost.toml

- Remove rate limiting configurations

- Remove SMTP provider settings

- Add changeset for patch version bump


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>lazy-years-kneel.md</strong><dd><code>Add changeset for
patch version bump</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.changeset/lazy-years-kneel.md

<li>Add new changeset file for patch version bump<br> <li> Specify
'@nhost-examples/react-apollo' package<br> <li> Include fix description


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3301/files#diff-019ff1fe3f65a591a01a6cbc0fa05c44c065e2611417ac0b3dcf6bd5a6eda7c2">+5/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>nhost.toml</strong><dd><code>Update Nhost configuration
settings</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

examples/react-apollo/nhost/nhost.toml

<li>Change auth.elevatedPrivileges.mode to 'recommended'<br> <li> Remove
auth.rateLimit configurations<br> <li> Remove provider.smtp settings<br>
<li> Update allowed URLs for auth redirections


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3301/files#diff-268d6c8dddd6990d60d62c1c923955c4e0e7549a80f0f5856192f889378416a0">+1/-30</a>&nbsp;
&nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
2025-05-12 19:30:59 +02:00
David BM
a0931e282f fix (dashboard): logs persist time range selector, fix validation (#3300)
### **User description**
Resolves #3154


___

### **PR Type**
Bug fix, Enhancement


___

### **Description**
- Fix logs search functionality with selected service filter

- Implement persistent time range selector

- Add interval-based date range selection

- Improve form validation and submission logic


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>LogsDatePicker.tsx</strong><dd><code>Enhance
LogsDatePicker with form context integration</code>&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></summary>
<hr>


dashboard/src/features/orgs/projects/logs/components/LogsDatePicker/LogsDatePicker.tsx

<li>Import LogsFilterFormValues type and useFormContext hook<br> <li>
Add setValue function from form context<br> <li> Implement
handleDateChange to update selected date and reset interval<br> <li>
Update DatePicker onChange to use new handleDateChange function


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3300/files#diff-0768cb2a5cee4ab57a64580c34213950a042a9893b5da51b8886e166cb7a9060">+9/-3</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>LogsHeader.tsx</strong><dd><code>Improve LogsHeader
with interval support and form handling</code></dd></summary>
<hr>


dashboard/src/features/orgs/projects/logs/components/LogsHeader/LogsHeader.tsx

<li>Add interval to validation schema and form default values<br> <li>
Implement interval-based date recalculation in handleSubmit<br> <li>
Update form mode to 'onChange' for real-time validation<br> <li> Modify
useEffect to trigger submission on service change


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3300/files#diff-ebb3285aa776c9c5ea8b72672c4aafd55994c6c694998bbf56ca9c56d1e77664">+27/-3</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>LogsRangeSelector.tsx</strong><dd><code>Enhance
LogsRangeSelector with interval selection and UI
updates</code></dd></summary>
<hr>


dashboard/src/features/orgs/projects/logs/components/LogsRangeSelector/LogsRangeSelector.tsx

<li>Add interval handling in LogsToDatePickerLiveButton<br> <li>
Implement interval setting in handleIntervalChange function<br> <li>
Update Button variant based on selected interval<br> <li> Add interval
to useWatch hook for reactive updates


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3300/files#diff-46dd7c795a79e4b443213ed10089651423d13e5c776ca72e3a95ae5e0f7f63c8">+9/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
2025-05-12 18:31:58 +02:00
David BM
e87505c564 fix (dashboard): downsize postgres using local dashboard (#3292)
### **User description**
Fixes #3265


___

### **PR Type**
Bug fix, Enhancement


___

### **Description**
- Fix PostgreSQL version parsing for empty strings

- Enable downsizing Postgres in local dashboard

- Improve handling of free project and platform checks

- Update refetch queries with optional chaining


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Bug
fix</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>useGetPostgresVersion.ts</strong><dd><code>Fix
PostgreSQL version parsing for empty strings</code>&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>


dashboard/src/features/orgs/projects/database/common/hooks/useGetPostgresVersion/useGetPostgresVersion.ts

<li>Add fallback to empty string for <code>version</code> in
<br><code>splitPostgresMajorMinorVersions</code>


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3292/files#diff-1836b93836a54ca5a8fd4d9fe64ec944a0ef37dfcb81909225115ba2a6d98928">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>index.tsx</strong><dd><code>Update refetch queries with
optional chaining</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>


dashboard/src/pages/orgs/[orgSlug]/projects/[appSubdomain]/settings/index.tsx

- Add optional chaining for `userData.id` in refetch queries


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3292/files#diff-b4185be97a505e25badcdefe31ea86fa9d69f72264c4bb35eae17fba936a3d47">+8/-2</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>DatabaseStorageCapacity.tsx</strong><dd><code>Improve
database storage capacity handling and UI</code>&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>


dashboard/src/features/orgs/projects/database/settings/components/DatabaseStorageCapacity/DatabaseStorageCapacity.tsx

<li>Add <code>isEmptyValue</code> check for <code>org</code> object<br>
<li> Introduce <code>shouldShowUpdateCapacityWarning</code> variable<br>
<li> Modify <code>submitDisabled</code> logic for non-platform
environments<br> <li> Update conditional rendering of
<code>DatabaseStorageCapacityWarning</code>


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3292/files#diff-097a59d13b44816051386182a444eadfe2dcacd69b88c121af6733d7eca3ee43">+16/-3</a>&nbsp;
&nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
2025-05-08 14:02:09 +02:00
robertkasza
c0635ae1c7 feat (dashboard): Add information about that free organization cannot be upgraded (#3316)
### **PR Type**
Enhancement


___

### **Description**
- Add info about free org upgrade limitations

- Introduce new 'NewOrgButton' component

- Update UI for subscription plan section

- Improve text link component functionality


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>InfoAlert.tsx</strong><dd><code>Enhance AlertTitle
styling</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

dashboard/src/features/orgs/components/InfoAlert/InfoAlert.tsx

- Added 'font-semibold' class to AlertTitle


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3316/files#diff-4b78a2f0e1c6c2f6b37e430bc6cad016e884bb34735bd6aaebac906743748d7b">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>SubscriptionPlan.tsx</strong><dd><code>Update
subscription plan UI and add free org info</code>&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>


dashboard/src/features/orgs/components/billing/components/SubscriptionPlan/SubscriptionPlan.tsx

<li>Added InfoAlert for free organizations<br> <li> Introduced
NewOrgButton component<br> <li> Updated layout and styling of
subscription plan section<br> <li> Replaced Link component with TextLink


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3316/files#diff-2a5f070869055286b669e382b18d656935752803b9a1ef13390ac028c2a48ac4">+32/-30</a>&nbsp;
</td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>TextLink.tsx</strong><dd><code>Enhance TextLink
component with optional icon</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>


dashboard/src/features/orgs/projects/common/components/TextLink/TextLink.tsx

<li>Added optional icon to TextLink component<br> <li> Introduced
withIcon prop for flexibility


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3316/files#diff-2f49ce51c83fab712173974ec09621f291ef56a7ad056df587c1bfd525ae6983">+4/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Documentation</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>good-frogs-share.md</strong><dd><code>Add changeset for
dashboard feature</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.changeset/good-frogs-share.md

- Added changeset file for version bump


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3316/files#diff-ff1c12916da9254a5d59fef39d5220a0ccdd20a7e66e1436a860da9a014d31ee">+5/-0</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
2025-05-07 13:31:01 +02:00
robertkasza
d2a9a9ae1d fix: update labeler config (#3328)
### **PR Type**
Enhancement


___

### **Description**
- Update labeler configuration for all categories

- Standardize format using 'any' key for all rules

- Remove redundant 'any' key for documentation category

- Maintain existing category definitions and file patterns


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>labeler.yml</strong><dd><code>Standardize and simplify
labeler configuration</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.github/labeler.yml

<li>Standardized all rules using 'any' key<br> <li> Removed redundant
'any' key for documentation<br> <li> Maintained existing category
definitions and file patterns<br> <li> Simplified overall configuration
structure


</details>


  </td>
<td><a
href="https://github.com/nhost/nhost/pull/3328/files#diff-a22c263686553013feaeb0677d26eeb0b8778a756c4311c1fce13384258026aa">+8/-9</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>
2025-05-07 10:00:34 +02:00
David BM
c97b43f149 fix (ci): update vite to solve vulnerability audit (#3323)
### **PR Type**
Bug fix, Enhancement


___

### **Description**
- Update Vite to address vulnerability audit

- Upgrade Vite in multiple project dependencies

- Update package overrides for security

- Add changeset for minor version bumps


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td><details><summary>1
files</summary><table>
<tr>
<td><strong>chatty-kids-exist.md</strong><dd><code>Add changeset for
minor version updates</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/nhost/nhost/pull/3323/files#diff-22d27113acb695bcdab878d71e0e553a23f87070faeb4672ce09bf2108c56064">+13/-0</a>&nbsp;
&nbsp; </td>

</tr>

</table></details></td></tr><tr><td><strong>Dependencies</strong></td><td><details><summary>10
files</summary><table>
<tr>
<td><strong>package.json</strong><dd><code>Update Vite to
v5.4.19</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/nhost/nhost/pull/3323/files#diff-2d8d55c799cd71f1b35e831f075f8178ed1734c4820a2ad548b4dd24d6938d7c">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>package.json</strong><dd><code>Update Vite to
v5.4.19</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/nhost/nhost/pull/3323/files#diff-83675898dc6ed88838763232d022f6e100e07d71681cc8a1f02aee99ee3f229b">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>package.json</strong><dd><code>Update Vite to
v5.4.19</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/nhost/nhost/pull/3323/files#diff-9fb3a23f389ab1d192d7e018d2acbe512bd8792278662101401caa98692735db">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>package.json</strong><dd><code>Update Vite to
v5.4.19</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/nhost/nhost/pull/3323/files#diff-cb7094614884e8cd2c8fb67dadedb1887c46c31b888840def0b7042273bfbb28">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>package.json</strong><dd><code>Update Vite to
v6.2.7</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/nhost/nhost/pull/3323/files#diff-6288951fff74ec246c9cc023b7b7e3e9aad31423891bc4ea25b5d84a5f5b061f">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>package.json</strong><dd><code>Update Vite to
v5.4.19</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/nhost/nhost/pull/3323/files#diff-d95dc3391741287366ea2e61f70e9ccc64452e0d22b1db91d6bf524f5aa4331c">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>package.json</strong><dd><code>Update Vite to
v5.4.19</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/nhost/nhost/pull/3323/files#diff-8a3e5ed0f618f15211c31f700e0da998e2eae58f60353624b7a7e637bd63b153">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>package.json</strong><dd><code>Update Vite to
v5.4.19</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/nhost/nhost/pull/3323/files#diff-fc4298d3512fdd9a3d871f9f182fe871c8beccd1580f864a271ddfb32005feef">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>package.json</strong><dd><code>Update Vite to
v5.4.19</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/nhost/nhost/pull/3323/files#diff-85166d1137e29a5275f991e1e94a0c9d5b83ac7504463ba76f9187b2b750c895">+1/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
<td><strong>package.json</strong><dd><code>Update Vite and adjust
overrides</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></td>
<td><a
href="https://github.com/nhost/nhost/pull/3323/files#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519">+4/-4</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></details></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>

---------

Co-authored-by: robertkasza <robert.kasza@bishop-co.com>
2025-05-06 14:39:39 +02:00
53 changed files with 619 additions and 291 deletions

19
.github/labeler.yml vendored
View File

@@ -1,24 +1,25 @@
dashboard:
- dashboard/**/*
- any:
- changed-files:
- any-glob-to-any-file: ['dashboard/**/*']
documentation:
- any:
- docs/**/*
- any: ['docs/**/*']
examples:
- examples/**/*
- any: ['examples/**/*']
sdk:
- packages/**/*
- any: ['packages/**/*']
integrations:
- integrations/**/*
- any: ['integrations/**/*']
react:
- '{packages,examples,integrations}/*react*/**/*'
- any: ['{packages,examples,integrations}/*react*/**/*']
nextjs:
- '{packages,examples}/*next*/**/*'
- any: ['{packages,examples}/*next*/**/*']
vue:
- '{packages,examples,integrations}/*vue*/**/*'
- any: ['{packages,examples,integrations}/*vue*/**/*']

View File

@@ -29,7 +29,7 @@ env:
NHOST_PRO_TEST_PROJECT_NAME: ${{ vars.NHOST_PRO_TEST_PROJECT_NAME }}
NHOST_TEST_USER_EMAIL: ${{ secrets.NHOST_TEST_USER_EMAIL }}
NHOST_TEST_USER_PASSWORD: ${{ secrets.NHOST_TEST_USER_PASSWORD }}
NHOST_TEST_PROJECT_ADMIN_SECRET: ${{ secrets.NHOST_TEST_PROJECT_ADMIN_SECRET }}
NHOST_TEST_PROJECT_ADMIN_SECRET: '${{ secrets.NHOST_TEST_PROJECT_ADMIN_SECRET }}'
NHOST_TEST_FREE_USER_EMAILS: ${{ secrets.NHOST_TEST_FREE_USER_EMAILS }}
jobs:

View File

@@ -3,13 +3,12 @@ on:
- pull_request_target
jobs:
triage:
labeler:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v4
- uses: actions/labeler@v5
with:
repo-token: '${{ secrets.GH_PAT }}'
sync-labels: ''
repo-token: ${{ secrets.GH_PAT }}

View File

@@ -2,9 +2,7 @@
## Requirements
### Node.js v18
_⚠️ Node.js v16 is also supported for the time being but support will be dropped in the near future_.
### Node.js v20 or later
### [pnpm](https://pnpm.io/) package manager

View File

@@ -2,5 +2,5 @@
// $schema provides code completion hints to IDEs.
"$schema": "https://github.com/IBM/audit-ci/raw/main/docs/schema.json",
"moderate": true,
"allowlist": ["vue-template-compiler"]
"allowlist": ["vue-template-compiler", { "id": "CVE-2025-48068", "path": "next" }]
}

View File

@@ -25,4 +25,6 @@ NEXT_PUBLIC_ZENDESK_USER_EMAIL=
CODEGEN_GRAPHQL_URL=https://local.graphql.local.nhost.run/v1
CODEGEN_HASURA_ADMIN_SECRET=nhost-admin-secret
NEXT_PUBLIC_TURNSTILE_SITE_KEY=FIXME
NEXT_PUBLIC_TURNSTILE_SITE_KEY=FIXME
NEXT_PUBLIC_SOC2_REPORT_FILE_ID=

View File

@@ -1,5 +1,27 @@
# @nhost/dashboard
## 2.30.0
### Minor Changes
- f6947a2: fix: fetch job-backup services logs using Live filter
- 44a3e6b: fix: collapsed main navigation sidebar overlaps mobile navbar
- 99b78f1: feat: dashboard: add download button for soc2 report
- 9acae7d: fix: e2e tests, stop on error when refreshing metadata
### Patch Changes
- 31e636a: fix (dashboard): Use the correct payload to reset metadata before the e2e tests
## 2.29.0
### Minor Changes
- c97b43f: fix: update vite to address vulnerability audit
- a0931e2: fix: improve logs time range and filter selection
- c0635ae: feat (dashboard): Add information about that free organization cannot be upgraded.
- e87505c: fix: can downsize postgres storage capacity using local dashboard
## 2.28.0
### Minor Changes

View File

@@ -1,9 +1,10 @@
/* eslint-disable no-console */
import { TEST_PROJECT_ADMIN_SECRET, TEST_PROJECT_SUBDOMAIN } from '@/e2e/env';
import { test as setup } from '@playwright/test';
setup('refresh metadata', async () => {
try {
await fetch(
const response = await fetch(
`https://${TEST_PROJECT_SUBDOMAIN}.hasura.eu-central-1.staging.nhost.run/v1/metadata`,
{
method: 'POST',
@@ -15,8 +16,7 @@ setup('refresh metadata', async () => {
{
type: 'reload_metadata',
args: {
reload_remote_schemas: [],
reload_sources: [],
reload_sources: false,
},
},
{
@@ -29,6 +29,21 @@ setup('refresh metadata', async () => {
}),
},
);
const body = await response.json();
if (!response.ok) {
const message = `[${body.code}]:${body.error}`;
throw new Error(message);
} else {
const isConsistent = body[0].is_consistent;
if (isConsistent) {
console.log('Metadata is consistent.');
} else {
console.error('Metadata is not consistent.');
console.error(body[0].inconsistent_objects);
throw new Error('Metadata is not consistent');
}
}
} catch (error) {
// Log safe error information
console.error(

View File

@@ -1,6 +1,6 @@
{
"name": "@nhost/dashboard",
"version": "2.28.0",
"version": "2.30.0",
"private": true,
"scripts": {
"preinstall": "npx only-allow pnpm",
@@ -16,7 +16,7 @@
"storybook": "start-storybook -p 6006 -s public",
"build-storybook": "build-storybook",
"install-browsers": "pnpm playwright install && pnpm playwright install-deps",
"e2e:tests": "pnpm install-browsers && pnpm playwright test --config=playwright.config.ts",
"e2e:tests": "pnpm install-browsers && pnpm playwright test --config=playwright.config.ts -x",
"e2e": "pnpm e2e:tests --project=main",
"e2e:local": "pnpm e2e:tests --project=local",
"e2e:upgrade-project": "pnpm e2e:tests --project=upgrade-project"
@@ -196,7 +196,7 @@
"tailwindcss": "^3.4.12",
"ts-node": "^10.9.2",
"tsconfig-paths-webpack-plugin": "^4.1.0",
"vite": "^5.4.18",
"vite": "^5.4.19",
"vite-tsconfig-paths": "^4.3.2",
"vitest": "^0.32.4"
},

View File

@@ -41,7 +41,7 @@ export default function MainNav({ container }: MainNavProps) {
return (
<Sheet open={open} onOpenChange={setOpen}>
<div
className="min- absolute left-0 z-50 flex h-full w-6 justify-center border-r-[1px] bg-background pt-1 hover:bg-accent"
className="min- absolute left-0 z-[39] flex h-full w-6 justify-center border-r-[1px] bg-background pt-1 hover:bg-accent"
onMouseEnter={() => setOpen(true)}
>
<Menu className="h-4 w-4" />

View File

@@ -26,7 +26,7 @@ function InfoAlert({
<Alert className={alertClassNames}>
{icon && <div>{icon}</div>}
<div>
{title && <AlertTitle>{title}</AlertTitle>}
{title && <AlertTitle className="font-semibold">{title}</AlertTitle>}
{children && (
<AlertDescription className={descClassNames}>
{children}

View File

@@ -1,7 +1,6 @@
import { useUI } from '@/components/common/UIProvider';
import { ActivityIndicator } from '@/components/ui/v2/ActivityIndicator';
import { ArrowSquareOutIcon } from '@/components/ui/v2/icons/ArrowSquareOutIcon';
import { Link } from '@/components/ui/v2/Link';
import { Button } from '@/components/ui/v3/button';
import {
Dialog,
@@ -21,6 +20,8 @@ import {
FormMessage,
} from '@/components/ui/v3/form';
import { RadioGroup, RadioGroupItem } from '@/components/ui/v3/radio-group';
import { InfoAlert } from '@/features/orgs/components/InfoAlert';
import TextLink from '@/features/orgs/projects/common/components/TextLink/TextLink';
import { planDescriptions } from '@/features/orgs/projects/common/utils/planDescriptions';
import { useCurrentOrg } from '@/features/orgs/projects/hooks/useCurrentOrg';
import { execPromiseWithErrorToast } from '@/features/orgs/utils/execPromiseWithErrorToast';
@@ -35,6 +36,14 @@ import { useEffect, useState } from 'react';
import { useForm } from 'react-hook-form';
import { z } from 'zod';
function NewOrgButton() {
return (
<strong className="inline-flex items-center justify-center gap-2 px-1">
<span>+ New Organization</span>
</strong>
);
}
const changeOrgPlanForm = z.object({
plan: z.string(),
});
@@ -48,6 +57,8 @@ export default function SubscriptionPlan() {
const [fetchOrganizationCustomePortalLink, { loading }] =
useBillingOrganizationCustomePortalLazyQuery();
const isFreeOrg = org?.plan.isFree;
const form = useForm<z.infer<typeof changeOrgPlanForm>>({
resolver: zodResolver(changeOrgPlanForm),
defaultValues: {
@@ -125,7 +136,7 @@ export default function SubscriptionPlan() {
<div className="flex w-full flex-col gap-1 border-b p-4">
<h4 className="font-medium">Subscription plan</h4>
</div>
<div className="flex w-full flex-col justify-between gap-8 border-b p-4 md:flex-row">
<div className="flex w-full flex-col justify-between gap-8 p-4 md:flex-row">
<div className="flex basis-1/2 flex-col gap-4">
<span className="font-medium">Organization name</span>
<span className="font-medium">{org?.name}</span>
@@ -152,31 +163,26 @@ export default function SubscriptionPlan() {
</div>
</div>
</div>
<div className="flex w-full flex-col-reverse items-end justify-between gap-2 p-4 md:flex-row md:items-center md:gap-0">
{isFreeOrg && (
<div className="flex w-full flex-col justify-between gap-8 p-4 md:flex-row">
<InfoAlert title="Personal Organizations can not be upgraded.">
You may create a new organization with premium features by
clicking on the <NewOrgButton /> button in the left sidebar.
</InfoAlert>
</div>
)}
<div className="flex w-full flex-col-reverse items-end justify-between gap-2 border-t p-4 md:flex-row md:items-center md:gap-0">
<div>
<span>For a complete list of features, visit our </span>
<Link
href="https://nhost.io/pricing"
target="_blank"
rel="noopener noreferrer"
underline="hover"
className="font-medium"
>
<TextLink href="https://nhost.io/pricing">
pricing
<ArrowSquareOutIcon className="mb-[2px] ml-1 h-4 w-4" />
</Link>
</TextLink>
<span> You can also visit our </span>
<Link
href="https://docs.nhost.io/platform/cloud/billing"
target="_blank"
rel="noopener noreferrer"
underline="hover"
className="font-medium"
>
<TextLink href="https://docs.nhost.io/platform/cloud/billing">
documentation
<ArrowSquareOutIcon className="mb-[2px] ml-1 h-4 w-4" />
</Link>
</TextLink>
<span> for billing information</span>
</div>
<div className="flex w-full flex-row items-center justify-end gap-2">
@@ -245,7 +251,7 @@ export default function SubscriptionPlan() {
</div>
<div className="mt-0 flex h-full items-center text-xl font-semibold">
{plan.isFree ? 'Free' : `${plan.price}/mo`}
{isFreeOrg ? 'Free' : `${plan.price}/mo`}
</div>
</FormLabel>
</FormItem>
@@ -264,16 +270,10 @@ export default function SubscriptionPlan() {
</div>
</div>
<Link
href="mailto:hello@nhost.io"
target="_blank"
rel="noopener noreferrer"
underline="hover"
className="font-medium"
>
<TextLink href="mailto:hello@nhost.io">
Contact us
<ArrowSquareOutIcon className="ml-1 h-4 w-4" />
</Link>
</TextLink>
</div>
</div>
</RadioGroup>

View File

@@ -0,0 +1,95 @@
import { Button } from '@/components/ui/v3/button';
import { useCurrentOrg } from '@/features/orgs/projects/hooks/useCurrentOrg';
import { execPromiseWithErrorToast } from '@/features/orgs/utils/execPromiseWithErrorToast';
import { Organization_Status_Enum } from '@/utils/__generated__/graphql';
import nhost from '@/utils/nhost/nhost';
import { Download } from 'lucide-react';
import { useState } from 'react';
export default function Soc2Download() {
const { org } = useCurrentOrg();
const [downloading, setDownloading] = useState(false);
const showSoc2Download =
(org?.plan?.name === 'Team' || org?.plan?.name?.startsWith('Enterprise')) &&
org?.status === Organization_Status_Enum.Ok;
const handleDownload = async () => {
if (!org || !showSoc2Download) {
return;
}
setDownloading(true);
await execPromiseWithErrorToast(
async () => {
const fileId = process.env.NEXT_PUBLIC_SOC2_REPORT_FILE_ID;
if (!fileId) {
throw new Error('SOC2 report file ID not configured');
}
const { file, error } = await nhost.storage.download({
fileId,
});
if (error) {
throw new Error(error.message || 'Failed to download SOC2 report');
}
if (!file) {
throw new Error('No file data available');
}
const url = URL.createObjectURL(file);
const link = document.createElement('a');
link.href = url;
link.download = 'Nhost-SOC2-Report.pdf';
link.click();
URL.revokeObjectURL(url);
},
{
loadingMessage: 'Downloading SOC2 report...',
successMessage: 'SOC2 report downloaded successfully',
errorMessage:
'Failed to download SOC2 report. Please try again or contact support.',
},
);
setDownloading(false);
};
if (!showSoc2Download) {
return null;
}
return (
<div className="flex w-full flex-col rounded-md border bg-background">
<div className="w-full border-b p-4 font-medium">
SOC2 Compliance Report
</div>
<div className="flex w-full flex-col gap-4 p-4">
<div className="flex flex-col gap-2">
<p className="text-sm text-muted-foreground">
Download Nhost&apos;s SOC2 Type II compliance report. This report
demonstrates our commitment to security controls.
</p>
</div>
<div className="flex justify-start">
<Button
onClick={handleDownload}
disabled={downloading}
variant="outline"
className="flex items-center gap-2"
>
<Download className="h-4 w-4" />
{downloading ? 'Downloading...' : 'Download SOC2 Report'}
</Button>
</div>
</div>
</div>
);
}

View File

@@ -0,0 +1 @@
export { default as Soc2Download } from './Soc2Download';

View File

@@ -1,3 +1,4 @@
import { SquareArrowUpRightIcon } from 'lucide-react';
import Link from 'next/link';
import type { PropsWithChildren } from 'react';
@@ -5,7 +6,8 @@ function TextLink({
href,
children,
target = '_blank',
}: PropsWithChildren<{ href: string; target?: string }>) {
withIcon = false,
}: PropsWithChildren<{ href: string; target?: string; withIcon?: boolean }>) {
return (
<Link
href={href}
@@ -14,6 +16,7 @@ function TextLink({
rel="noopener noreferrer"
>
{children}
{withIcon && <SquareArrowUpRightIcon className="h-4 w-4" />}
</Link>
);
}

View File

@@ -23,7 +23,7 @@ export default function useGetPostgresVersion() {
});
const { version } = postgresSettingsData?.config?.postgres || {};
const { major, minor } = splitPostgresMajorMinorVersions(version);
const { major, minor } = splitPostgresMajorMinorVersions(version || '');
return {
version,

View File

@@ -21,6 +21,7 @@ import {
useGetPostgresSettingsQuery,
useUpdateConfigMutation,
} from '@/generated/graphql';
import { isEmptyValue } from '@/lib/utils';
import { ApplicationStatus } from '@/types/application';
import { yupResolver } from '@hookform/resolvers/yup';
import { useEffect, useMemo } from 'react';
@@ -46,7 +47,9 @@ export default function DatabaseStorageCapacity() {
const localMimirClient = useLocalMimirClient();
const { project } = useProject();
const isFreeProject = !!org?.plan?.isFree;
const isFreeProject = isEmptyValue(org) ? false : org.plan.isFree;
const shouldShowUpdateCapacityWarning = !isFreeProject && isPlatform;
const {
data,
@@ -98,6 +101,10 @@ export default function DatabaseStorageCapacity() {
return true;
}
if (!isPlatform) {
return false;
}
if (maintenanceActive) {
return true;
}
@@ -107,7 +114,13 @@ export default function DatabaseStorageCapacity() {
}
return false;
}, [isDirty, maintenanceActive, decreasingSize, applicationPause]);
}, [
isDirty,
maintenanceActive,
decreasingSize,
applicationPause,
isPlatform,
]);
useEffect(() => {
if (data && !loading) {
@@ -195,7 +208,7 @@ export default function DatabaseStorageCapacity() {
helperText={formState.errors.capacity?.message}
/>
</Box>
{!isFreeProject && (
{shouldShowUpdateCapacityWarning && (
<DatabaseStorageCapacityWarning
state={state}
decreasingSize={decreasingSize}

View File

@@ -6,11 +6,13 @@ import { Dropdown } from '@/components/ui/v2/Dropdown';
import { CalendarIcon } from '@/components/ui/v2/icons/CalendarIcon';
import { ChevronDownIcon } from '@/components/ui/v2/icons/ChevronDownIcon';
import { Text } from '@/components/ui/v2/Text';
import type { LogsFilterFormValues } from '@/features/orgs/projects/logs/components/LogsHeader';
import { LogsTimePicker } from '@/features/orgs/projects/logs/components/LogsTimePicker';
import { DATEPICKER_DISPLAY_FORMAT } from '@/features/orgs/projects/logs/utils/constants/datePicker';
import { usePreviousData } from '@/hooks/usePreviousData';
import { format } from 'date-fns';
import { useState } from 'react';
import { useFormContext } from 'react-hook-form';
import { twMerge } from 'tailwind-merge';
export interface LogsDatePickerProps extends DatePickerProps {
@@ -36,6 +38,7 @@ function LogsDatePicker({
value,
}: LogsDatePickerProps) {
const [selectedDate, setSelectedDate] = useState<Date | null>(value);
const { setValue } = useFormContext<LogsFilterFormValues>();
const { button: buttonSlotProps } = {
button: componentsProps?.button || {},
};
@@ -45,6 +48,11 @@ function LogsDatePicker({
// going to display the last state set.
const previousDate = usePreviousData(selectedDate);
const handleDateChange = (newValue: Date) => {
setSelectedDate(new Date(newValue));
setValue('interval', null);
};
return (
<Dropdown.Root>
<div className="grid grid-flow-col gap-x-3">
@@ -84,9 +92,7 @@ function LogsDatePicker({
<Dropdown.Content>
<DatePicker
value={disabled ? previousDate : selectedDate}
onChange={(newValue) => {
setSelectedDate(new Date(newValue));
}}
onChange={handleDateChange}
minDate={minDate}
maxDate={maxDate}
/>

View File

@@ -17,7 +17,7 @@ import {
} from '@/features/orgs/projects/logs/utils/constants/services';
import { isEmptyValue } from '@/lib/utils';
import { useGetServiceLabelValuesQuery } from '@/utils/__generated__/graphql';
import { MINUTES_TO_DECREASE_FROM_CURRENT_DATE } from '@/utils/constants/common';
import { DEFAULT_LOG_INTERVAL } from '@/utils/constants/common';
import { yupResolver } from '@hookform/resolvers/yup';
import { subMinutes } from 'date-fns';
import { useEffect, useMemo } from 'react';
@@ -28,6 +28,7 @@ import LogsServiceFilter from './LogsServiceFilter';
export const validationSchema = Yup.object({
from: Yup.date(),
to: Yup.date().nullable(),
interval: Yup.number().nullable(), // in minutes
service: Yup.string().oneOf(Object.values(AvailableLogsService)),
regexFilter: Yup.string(),
});
@@ -44,11 +45,17 @@ interface LogsHeaderProps extends Omit<BoxProps, 'children'> {
* Function to be called when the user submits the filters form
*/
onSubmitFilterValues: (value: LogsFilterFormValues) => void;
/**
*
* Function to be called to force a refetch of the logs when the form is not dirty and the user submits the form
*/
onRefetch: () => void;
}
export default function LogsHeader({
loading,
onSubmitFilterValues,
onRefetch,
...props
}: LogsHeaderProps) {
const { project } = useProject();
@@ -83,16 +90,20 @@ export default function LogsHeader({
const form = useForm<LogsFilterFormValues>({
defaultValues: {
from: subMinutes(new Date(), MINUTES_TO_DECREASE_FROM_CURRENT_DATE),
from: subMinutes(new Date(), DEFAULT_LOG_INTERVAL),
to: new Date(),
regexFilter: '',
service: AvailableLogsService.ALL,
interval: DEFAULT_LOG_INTERVAL,
},
reValidateMode: 'onSubmit',
resolver: yupResolver(validationSchema),
reValidateMode: 'onSubmit',
});
const { formState } = form;
const { register, watch, getValues } = form;
const isNotDirty = Object.keys(formState.dirtyFields).length === 0;
const { register, watch, getValues, setValue } = form;
const service = watch('service');
@@ -100,8 +111,33 @@ export default function LogsHeader({
onSubmitFilterValues(getValues());
}, [service, getValues, onSubmitFilterValues]);
const handleSubmit = (values: LogsFilterFormValues) =>
const handleSubmit = (values: LogsFilterFormValues) => {
// If there's an interval set, recalculate the dates
if (values.interval) {
const now = new Date();
const newValues = {
...values,
from: subMinutes(now, values.interval),
to: now,
interval: values.interval,
};
// Update form values before submitting, to ensure the dates have the current date if selected an interval
setValue('from', newValues.from);
setValue('to', newValues.to);
setValue('interval', newValues.interval);
onSubmitFilterValues(newValues);
return;
}
// If the form is not dirty, force a refetch of the logs
if (isNotDirty) {
onRefetch();
}
onSubmitFilterValues(values);
};
return (
<Box
@@ -198,11 +234,13 @@ export default function LogsHeader({
type="submit"
className="h-10"
startIcon={
loading ? (
<ActivityIndicator className="h-4 w-4" />
) : (
<SearchIcon />
)
<div className="flex h-5 w-5 items-center justify-center">
{loading ? (
<ActivityIndicator className="h-5 w-5" />
) : (
<SearchIcon className="h-5 w-5" />
)}
</div>
}
disabled={loading}
>

View File

@@ -27,11 +27,18 @@ function LogsToDatePickerLiveButton() {
if (isLive) {
setValue('from', subMinutes(new Date(), 20));
setValue('to', new Date());
setValue('interval', null);
return;
}
setValue('to', null);
setCurrentTime(new Date());
setValue('interval', null);
}
function handleChangeToDate(date: Date) {
setValue('to', date);
setValue('interval', null);
}
useInterval(() => setCurrentTime(new Date()), isLive ? 1000 : 0);
@@ -43,7 +50,7 @@ function LogsToDatePickerLiveButton() {
label="To"
value={!isLive ? to : currentTime}
disabled={isLive}
onChange={(date: Date) => setValue('to', date)}
onChange={handleChangeToDate}
minDate={from}
maxDate={new Date()}
componentsProps={{
@@ -84,7 +91,7 @@ function LogsRangeSelectorIntervalPickers({
const applicationCreationDate = new Date(project.createdAt);
const { setValue, getValues } = useFormContext<LogsFilterFormValues>();
const { from } = useWatch<LogsFilterFormValues>();
const { from, interval } = useWatch<LogsFilterFormValues>();
const { handleClose } = useDropdown();
@@ -101,6 +108,12 @@ function LogsRangeSelectorIntervalPickers({
}: LogsCustomInterval) {
setValue('from', subMinutes(new Date(), minutesToDecreaseFromCurrentDate));
setValue('to', new Date());
setValue('interval', minutesToDecreaseFromCurrentDate);
}
function handleChangeFromDate(date: Date) {
setValue('from', date);
setValue('interval', null);
}
return (
@@ -109,7 +122,7 @@ function LogsRangeSelectorIntervalPickers({
<LogsDatePicker
label="From"
value={from}
onChange={(date) => setValue('from', date)}
onChange={handleChangeFromDate}
minDate={applicationCreationDate}
maxDate={new Date()}
/>
@@ -122,7 +135,11 @@ function LogsRangeSelectorIntervalPickers({
<Button
key={logInterval.label}
variant="outlined"
color="secondary"
color={
interval === logInterval.minutesToDecreaseFromCurrentDate
? 'primary'
: 'secondary'
}
className="self-center"
onClick={() => handleIntervalChange(logInterval)}
>

View File

@@ -12,7 +12,7 @@ import {
GetLogsSubscriptionDocument,
useGetProjectLogsQuery,
} from '@/utils/__generated__/graphql';
import { MINUTES_TO_DECREASE_FROM_CURRENT_DATE } from '@/utils/constants/common';
import { DEFAULT_LOG_INTERVAL } from '@/utils/constants/common';
import { subMinutes } from 'date-fns';
import {
useCallback,
@@ -37,7 +37,7 @@ export default function LogsPage() {
const subscriptionReturn = useRef(null);
const [filters, setFilters] = useState<LogsFilters>({
from: subMinutes(new Date(), MINUTES_TO_DECREASE_FROM_CURRENT_DATE),
from: subMinutes(new Date(), DEFAULT_LOG_INTERVAL),
to: new Date(),
regexFilter: '',
service: AvailableLogsService.ALL,
@@ -48,6 +48,7 @@ export default function LogsPage() {
error,
subscribeToMore,
client,
refetch,
loading: loadingLogs,
} = useGetProjectLogsQuery({
variables: { appID: project?.id, ...filters },
@@ -63,7 +64,10 @@ export default function LogsPage() {
document: GetLogsSubscriptionDocument,
variables: {
appID: project?.id,
service: filters.service,
service:
filters.service === AvailableLogsService.JOB_BACKUP
? 'job-backup.+' // Use regex pattern to match any job-backup services
: filters.service,
from: filters.from,
regexFilter: filters.regexFilter,
},
@@ -147,6 +151,7 @@ export default function LogsPage() {
<LogsHeader
loading={loading}
onSubmitFilterValues={onSubmitFilterValues}
onRefetch={refetch}
/>
<LogsBody error={error} loading={loading} logsData={data} />
</RetryableErrorBoundary>

View File

@@ -78,7 +78,10 @@ export default function SettingsGeneralPage() {
usePauseApplicationMutation({
variables: { appId: project?.id },
refetchQueries: [
{ query: GetOrganizationsDocument, variables: { userId: userData.id } },
{
query: GetOrganizationsDocument,
variables: { userId: userData?.id },
},
],
});
@@ -86,7 +89,10 @@ export default function SettingsGeneralPage() {
useUnpauseApplicationMutation({
variables: { appId: project?.id },
refetchQueries: [
{ query: GetOrganizationsDocument, variables: { userId: userData.id } },
{
query: GetOrganizationsDocument,
variables: { userId: userData?.id },
},
],
});

View File

@@ -1,5 +1,6 @@
import { DeleteOrg } from '@/features/orgs/components/general/components/DeleteOrg';
import { GeneralSettings } from '@/features/orgs/components/general/components/GeneralSettings';
import { Soc2Download } from '@/features/orgs/components/general/components/Soc2Download';
import { ProjectLayout } from '@/features/orgs/layout/ProjectLayout';
import type { ReactElement } from 'react';
@@ -7,6 +8,7 @@ export default function OrgSettings() {
return (
<div className="flex h-full flex-col gap-4 overflow-auto bg-accent p-4">
<GeneralSettings />
<Soc2Download />
<DeleteOrg />
</div>
);

View File

@@ -67,4 +67,4 @@ export const MAX_FREE_PROJECTS = 1;
/**
* Default value in minutes to use for querying the logs
*/
export const MINUTES_TO_DECREASE_FROM_CURRENT_DATE = 20;
export const DEFAULT_LOG_INTERVAL = 15;

View File

@@ -1,5 +1,16 @@
# @nhost/docs
## 2.32.0
### Minor Changes
- df51c3e: fix: added installation instructions for the CLI
### Patch Changes
- 4d835c4: fix: remove nodejs18
- 2aa81a6: fix (docs): fix audit
## 2.31.0
### Minor Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@nhost/docs",
"version": "2.31.0",
"version": "2.32.0",
"private": true,
"scripts": {
"start": "mintlify dev"

View File

@@ -11,6 +11,22 @@ Nhost's command-line interface (CLI) lets you run a complete Nhost development e
- [Git](https://git-scm.com/downloads)
- [Docker](https://www.docker.com/get-started)
## Supported platforms
- MacOS
- Linux
- Windows (via WSL2)<sup>1</sup>
<Warning>
<sup>1</sup> Windows isn't supported natively. WSL2 is required to install and use the Nhost CLI. We recommend using docker-ce inside WSL2 instead of Docker Desktop.
</Warning>
## Installing Nhost's CLI
```bash
sudo curl -L https://raw.githubusercontent.com/nhost/cli/main/get.sh | bash
```
## Login to Nhost
```bash

View File

@@ -8,21 +8,12 @@ icon: person-running
The following runtimes are supported:
- [Node.js 18](https://nodejs.org)
- [Node.js 20](https://nodejs.org)
- [Node.js 22](https://nodejs.org)
To select your preferred runtime ensure the following configuration is present in your `nhost.toml` file:
<Tabs>
<Tab title="Node.js 18">
```toml
[functions.node]
version = 18
```
</Tab>
<Tab title="Node.js 20">
```toml

View File

@@ -1,5 +1,11 @@
# @nhost-examples/codegen-react-apollo
## 0.8.0
### Minor Changes
- c97b43f: fix: update vite to address vulnerability audit
## 0.7.1
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@nhost-examples/codegen-react-apollo",
"version": "0.7.1",
"version": "0.8.0",
"private": true,
"scripts": {
"codegen": "graphql-codegen",
@@ -36,6 +36,6 @@
"postcss": "^8.4.38",
"tailwindcss": "^3.4.3",
"typescript": "^4.9.5",
"vite": "^5.4.18"
"vite": "^5.4.19"
}
}

View File

@@ -1,5 +1,11 @@
# @nhost-examples/codegen-react-query
## 0.8.0
### Minor Changes
- c97b43f: fix: update vite to address vulnerability audit
## 0.7.1
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@nhost-examples/codegen-react-query",
"version": "0.7.1",
"version": "0.8.0",
"private": true,
"scripts": {
"codegen": "graphql-codegen",
@@ -37,6 +37,6 @@
"postcss": "^8.4.38",
"tailwindcss": "^3.4.3",
"typescript": "^4.9.5",
"vite": "^5.4.18"
"vite": "^5.4.19"
}
}

View File

@@ -1,5 +1,11 @@
# @nhost-examples/react-urql
## 0.7.0
### Minor Changes
- c97b43f: fix: update vite to address vulnerability audit
## 0.6.1
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "@nhost-examples/codegen-react-urql",
"private": true,
"version": "0.6.1",
"version": "0.7.0",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
@@ -30,6 +30,6 @@
"postcss": "^8.4.38",
"tailwindcss": "^3.4.3",
"typescript": "^4.9.5",
"vite": "^5.4.18"
"vite": "^5.4.19"
}
}

View File

@@ -1,5 +1,11 @@
# @nhost-examples/nextjs-server-components
## 0.6.0
### Minor Changes
- 6ee2d1f: fix: proper use of onError in middleware
## 0.5.6
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@nhost-examples/nextjs-server-components",
"version": "0.5.6",
"version": "0.6.0",
"private": true,
"scripts": {
"dev": "next dev",

View File

@@ -37,8 +37,8 @@ export const manageAuthSession = async (
if (accessTokenExpired || refreshToken) {
const { session: newSession, error } = await nhost.auth.refreshSession(refreshToken)
if (error) {
onError?.(error)
if (error && onError) {
return onError(error)
}
// remove the refreshToken from the url

View File

@@ -1,5 +1,10 @@
---
## 0.8.0
### Minor Changes
- c97b43f: fix: update vite to address vulnerability audit
## 0.7.1
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@nhost-examples/sveltekit",
"version": "0.7.1",
"version": "0.8.0",
"private": true,
"scripts": {
"dev": "vite dev",
@@ -30,7 +30,7 @@
"svelte-check": "^3.6.8",
"tailwindcss": "^3.4.3",
"typescript": "^5.4.3",
"vite": "^6.2.6",
"vite": "^6.2.7",
"vitest": "^0.25.8"
},
"type": "module",

View File

@@ -1,5 +1,15 @@
# @nhost-examples/react-apollo
## 1.6.0
### Minor Changes
- c97b43f: fix: update vite to address vulnerability audit
### Patch Changes
- 97db637: fix: fix settings
## 1.5.1
### Patch Changes

View File

@@ -47,27 +47,6 @@ disableNewUsers = false
default = 'user'
allowed = ['user', 'me']
[auth.rateLimit]
[auth.rateLimit.emails]
limit = 100
interval = '1h'
[auth.rateLimit.sms]
limit = 100
interval = '1h'
[auth.rateLimit.bruteForce]
limit = 100
interval = '5m'
[auth.rateLimit.signups]
limit = 100
interval = '5m'
[auth.rateLimit.global]
limit = 1000
interval = '1m'
[auth.user.locale]
default = 'en'
allowed = ['en']
@@ -182,14 +161,6 @@ version = '16.6-20250311-1'
capacity = 1
[provider]
[provider.smtp]
host = "smtp.test.com"
method = "LOGIN"
password = "test123123"
port = 587
secure = false
sender = "test@nhost.io"
user = "test"
[storage]
version = '0.7.1'

View File

@@ -35,6 +35,32 @@
"op": "replace",
"path": "/auth/method/webauthn/relyingParty/origins/0"
},
{
"value": {
"bruteForce": {
"interval": "5m",
"limit": 100
},
"emails": {
"interval": "1h",
"limit": 100
},
"global": {
"interval": "1m",
"limit": 1000
},
"signups": {
"interval": "5m",
"limit": 100
},
"sms": {
"interval": "1h",
"limit": 100
}
},
"op": "add",
"path": "/auth/rateLimit"
},
{
"value": "http://localhost:3000",
"op": "replace",
@@ -77,5 +103,18 @@
"value": "http://localhost:3000",
"op": "replace",
"path": "/auth/redirections/clientUrl"
},
{
"value": {
"host": "smtp.test.com",
"method": "LOGIN",
"password": "test123123",
"port": 587,
"secure": false,
"sender": "test@nhost.io",
"user": "test"
},
"op": "add",
"path": "/provider/smtp"
}
]

View File

@@ -1,6 +1,6 @@
{
"name": "@nhost-examples/react-apollo",
"version": "1.5.1",
"version": "1.6.0",
"private": true,
"type": "module",
"scripts": {
@@ -64,6 +64,6 @@
"totp-generator": "^0.0.13",
"typescript": "^5.5.3",
"typescript-eslint": "^8.0.0",
"vite": "^5.4.18"
"vite": "^5.4.19"
}
}

View File

@@ -1,5 +1,11 @@
# @nhost-examples/react-gqty
## 1.6.0
### Minor Changes
- c97b43f: fix: update vite to address vulnerability audit
## 1.5.1
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "@nhost-examples/react-gqty",
"private": true,
"version": "1.5.1",
"version": "1.6.0",
"type": "module",
"scripts": {
"dev": "vite",
@@ -27,6 +27,6 @@
"postcss": "^8.4.38",
"tailwindcss": "^3.4.3",
"typescript": "^4.9.5",
"vite": "^5.4.18"
"vite": "^5.4.19"
}
}

View File

@@ -1,5 +1,11 @@
# @nhost-examples/vue-apollo
## 0.12.0
### Minor Changes
- c97b43f: fix: update vite to address vulnerability audit
## 0.11.1
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "@nhost-examples/vue-apollo",
"private": true,
"version": "0.11.1",
"version": "0.12.0",
"scripts": {
"dev": "vite",
"build": "vite build",
@@ -37,7 +37,7 @@
"@xstate/inspect": "^0.6.5",
"sass": "1.86.1",
"typescript": "4.9.4",
"vite": "^5.4.18",
"vite": "^5.4.19",
"vue-tsc": "^0.38.9"
},
"eslintConfig": {

View File

@@ -1,5 +1,11 @@
# @nhost-examples/vue-quickstart
## 0.6.0
### Minor Changes
- c97b43f: fix: update vite to address vulnerability audit
## 0.5.1
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"name": "@nhost-examples/vue-quickstart",
"type": "module",
"version": "0.5.1",
"version": "0.6.0",
"private": true,
"scripts": {
"build": "vite build",
@@ -35,7 +35,7 @@
"unocss": "66.0.0",
"unplugin-auto-import": "^0.17.5",
"unplugin-vue-components": "^0.26.0",
"vite": "^5.4.18",
"vite": "^5.4.19",
"vite-plugin-pages": "^0.28.0",
"vue-tsc": "^0.38.9"
}

12
flake.lock generated
View File

@@ -40,11 +40,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1736258395,
"narHash": "sha256-G55pFLtWxy8pzR5k/UOXBSgHoU8oO263YyYkxbaWzXM=",
"lastModified": 1745925792,
"narHash": "sha256-tSN3G8dAm4cX6vG6Agm/jXGhBrsHgewHCHVF0LR52fQ=",
"owner": "nhost",
"repo": "nixops",
"rev": "52d9d8ff772a58b2cedac9f2f8a89517a86b35a4",
"rev": "555a2f79e2a0187c0e2f33d519c8e79041b681e1",
"type": "github"
},
"original": {
@@ -55,11 +55,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1732238832,
"narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=",
"lastModified": 1745804731,
"narHash": "sha256-v/sK3AS0QKu/Tu5sHIfddiEHCvrbNYPv8X10Fpux68g=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d",
"rev": "29335f23bea5e34228349ea739f31ee79e267b88",
"type": "github"
},
"original": {

View File

@@ -1,22 +1,22 @@
{ final }:
let
version = "v1.29.5";
version = "v1.29.6";
dist = {
aarch64-darwin = {
url = "https://github.com/nhost/cli/releases/download/${version}/cli-${version}-darwin-arm64.tar.gz";
sha256 = "036kz31ggkk9lil1ykp9scyykl5sx8snh8q0l8ldwcp1n0l7xh3l";
sha256 = "0jbi1ihidpjfs0igjv6h6jg4jisnjggy9lyncpsafqbpgvr9gpy8";
};
x86_64-darwin = {
url = "https://github.com/nhost/cli/releases/download/${version}/cli-${version}-darwin-amd64.tar.gz";
sha256 = "00ry1d12lw7ibzp3sykvy7ph8zgbybhha21rfwjq1gnjk6kgxgh6";
sha256 = "1rirxir3y4qvbf91j0npcwiqkpagg336iani3mh2mwmbqxmzvacp";
};
aarch64-linux = {
url = "https://github.com/nhost/cli/releases/download/${version}/cli-${version}-linux-arm64.tar.gz";
sha256 = "1svppmf2bc7yv1lz0bdphqpp7530kp1k3jlk5jzb1wz288zrmz5h";
sha256 = "0c0k2zcnvly91gzvqmkqnl4nvxypk6nx1k5zlnjxgc59s37vr2xn";
};
x86_64-linux = {
url = "https://github.com/nhost/cli/releases/download/${version}/cli-${version}-linux-amd64.tar.gz";
sha256 = "11zai2hayv95jpv0a3pbqmj79qkbvzfhpbga6i16j88n7an3lsks";
sha256 = "0kp7jwxryb6h3mb1nk125qrflsx32bz2b6jkhrwpgfdfy0w2vawr";
};
};

View File

@@ -88,7 +88,7 @@
"turbo": "2.3.3",
"typedoc": "^0.22.18",
"typescript": "4.9.5",
"vite": "^5.4.18",
"vite": "^5.4.19",
"vite-plugin-dts": "^3.9.1",
"vite-tsconfig-paths": "^4.3.2",
"vitest": "^0.32.4"
@@ -125,7 +125,7 @@
"zod@<=3.22.2": ">=3.22.3",
"@antfu/utils@<0.7.3": ">=0.7.3",
"next@>=0.9.9 <13.4.20-canary.13": ">=13.4.20-canary.13",
"vite@>=4.0.0 <4.5.12": ">=4.5.12",
"vite@<=4.5.13": ">=4.5.14",
"yaml@>=2.0.0-5 <2.2.2": ">=2.2.2",
"pnpm@<7.33.4": ">=7.33.4",
"graphql@>=16.3.0 <16.8.1": ">=16.8.1",
@@ -174,10 +174,12 @@
"cookie@<0.7.0": ">=0.7.0",
"prismjs@<1.30.0": ">=1.30.0",
"axios@<1.8.2": ">=1.8.2",
"vite@>=5.0.0 <5.4.18": ">=5.4.18",
"vite@>=6.2.0 <6.2.6": ">=6.2.6",
"vite@>=5.0.0 <=5.4.18": ">=5.4.19",
"vite@>=6.2.0 <=6.2.6": ">=6.2.6",
"@sveltejs/kit@>=2.0.0 <2.20.6": ">=2.20.6",
"react-router@<7.5.2": ">=7.5.2"
"react-router@<7.5.2": ">=7.5.2",
"undici@<5.29.0": ">=5.29.0",
"tar-fs@>=3.0.0 <3.0.9": ">=3.0.9"
}
}
}

284
pnpm-lock.yaml generated
View File

@@ -26,7 +26,7 @@ overrides:
zod@<=3.22.2: '>=3.22.3'
'@antfu/utils@<0.7.3': '>=0.7.3'
next@>=0.9.9 <13.4.20-canary.13: '>=13.4.20-canary.13'
vite@>=4.0.0 <4.5.12: '>=4.5.12'
vite@<=4.5.13: '>=4.5.14'
yaml@>=2.0.0-5 <2.2.2: '>=2.2.2'
pnpm@<7.33.4: '>=7.33.4'
graphql@>=16.3.0 <16.8.1: '>=16.8.1'
@@ -75,10 +75,12 @@ overrides:
cookie@<0.7.0: '>=0.7.0'
prismjs@<1.30.0: '>=1.30.0'
axios@<1.8.2: '>=1.8.2'
vite@>=5.0.0 <5.4.18: '>=5.4.18'
vite@>=6.2.0 <6.2.6: '>=6.2.6'
vite@>=5.0.0 <=5.4.18: '>=5.4.19'
vite@>=6.2.0 <=6.2.6: '>=6.2.6'
'@sveltejs/kit@>=2.0.0 <2.20.6': '>=2.20.6'
react-router@<7.5.2: '>=7.5.2'
undici@<5.29.0: '>=5.29.0'
tar-fs@>=3.0.0 <3.0.9: '>=3.0.9'
importers:
@@ -116,7 +118,7 @@ importers:
version: 5.62.0(eslint@8.57.0)(typescript@4.9.5)
'@vitejs/plugin-react':
specifier: ^4.3.1
version: 4.3.1(vite@5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0))
version: 4.3.1(vite@5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0))
'@vitest/coverage-v8':
specifier: ^0.32.4
version: 0.32.4(vitest@0.32.4(jsdom@22.1.0)(playwright@1.47.0)(sass@1.86.1)(terser@5.37.0))
@@ -178,14 +180,14 @@ importers:
specifier: 4.9.5
version: 4.9.5
vite:
specifier: ^5.4.18
version: 5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
specifier: ^5.4.19
version: 5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
vite-plugin-dts:
specifier: ^3.9.1
version: 3.9.1(@types/node@20.17.23)(rollup@4.28.1)(typescript@4.9.5)(vite@5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0))
version: 3.9.1(@types/node@20.17.23)(rollup@4.28.1)(typescript@4.9.5)(vite@5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0))
vite-tsconfig-paths:
specifier: ^4.3.2
version: 4.3.2(typescript@4.9.5)(vite@5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0))
version: 4.3.2(typescript@4.9.5)(vite@5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0))
vitest:
specifier: ^0.32.4
version: 0.32.4(jsdom@22.1.0)(playwright@1.47.0)(sass@1.86.1)(terser@5.37.0)
@@ -612,7 +614,7 @@ importers:
version: 6.21.0(eslint@8.57.0)(typescript@5.7.2)
'@vitejs/plugin-react':
specifier: ^4.2.1
version: 4.3.1(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))
version: 4.3.1(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))
'@vitest/coverage-v8':
specifier: ^0.32.4
version: 0.32.4(vitest@0.32.4(jsdom@22.1.0)(playwright@1.47.0)(sass@1.86.1)(terser@5.37.0))
@@ -710,11 +712,11 @@ importers:
specifier: ^4.1.0
version: 4.2.0
vite:
specifier: ^5.4.18
version: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
specifier: ^5.4.19
version: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
vite-tsconfig-paths:
specifier: ^4.3.2
version: 4.3.2(typescript@5.7.2)(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))
version: 4.3.2(typescript@5.7.2)(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))
vitest:
specifier: ^0.32.4
version: 0.32.4(jsdom@22.1.0)(playwright@1.47.0)(sass@1.86.1)(terser@5.37.0)
@@ -793,7 +795,7 @@ importers:
version: 18.3.0
'@vitejs/plugin-react':
specifier: ^3.1.0
version: 3.1.0(vite@5.4.18(@types/node@18.19.34)(sass@1.86.1)(terser@5.37.0))
version: 3.1.0(vite@5.4.19(@types/node@18.19.34)(sass@1.86.1)(terser@5.37.0))
autoprefixer:
specifier: ^10.4.19
version: 10.4.20(postcss@8.4.49)
@@ -807,8 +809,8 @@ importers:
specifier: ^4.9.5
version: 4.9.5
vite:
specifier: ^5.4.18
version: 5.4.18(@types/node@18.19.34)(sass@1.86.1)(terser@5.37.0)
specifier: ^5.4.19
version: 5.4.19(@types/node@18.19.34)(sass@1.86.1)(terser@5.37.0)
examples/codegen-react-query:
dependencies:
@@ -874,8 +876,8 @@ importers:
specifier: ^4.9.5
version: 4.9.5
vite:
specifier: ^5.4.18
version: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
specifier: ^5.4.19
version: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
examples/codegen-react-urql:
dependencies:
@@ -924,7 +926,7 @@ importers:
version: 18.3.0
'@vitejs/plugin-react':
specifier: ^3.1.0
version: 3.1.0(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))
version: 3.1.0(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))
autoprefixer:
specifier: ^10.4.19
version: 10.4.20(postcss@8.4.49)
@@ -938,8 +940,8 @@ importers:
specifier: ^4.9.5
version: 4.9.5
vite:
specifier: ^5.4.18
version: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
specifier: ^5.4.19
version: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
examples/docker-compose:
dependencies:
@@ -1161,16 +1163,16 @@ importers:
version: 1.47.0
'@sveltejs/adapter-auto':
specifier: ^3.3.1
version: 3.3.1(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))
version: 3.3.1(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))
'@sveltejs/adapter-vercel':
specifier: ^5.6.3
version: 5.6.3(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(encoding@0.1.13)(rollup@4.28.1)
version: 5.6.3(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(encoding@0.1.13)(rollup@4.28.1)
'@sveltejs/kit':
specifier: ^2.20.6
version: 2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
version: 2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
'@sveltejs/vite-plugin-svelte':
specifier: ^5.0.2
version: 5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
version: 5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
'@types/js-cookie':
specifier: ^3.0.6
version: 3.0.6
@@ -1208,8 +1210,8 @@ importers:
specifier: ^5.4.3
version: 5.7.2
vite:
specifier: ^6.2.6
version: 6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
specifier: ^6.2.7
version: 6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
vitest:
specifier: ^0.25.8
version: 0.25.8(jiti@2.4.2)(jsdom@22.1.0)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
@@ -1318,7 +1320,7 @@ importers:
version: 18.3.0
'@vitejs/plugin-react':
specifier: ^4.3.1
version: 4.3.1(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))
version: 4.3.1(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))
autoprefixer:
specifier: ^10.4.20
version: 10.4.20(postcss@8.4.49)
@@ -1359,8 +1361,8 @@ importers:
specifier: ^8.0.0
version: 8.18.0(eslint@9.9.0(jiti@2.4.2))(typescript@5.7.2)
vite:
specifier: ^5.4.18
version: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
specifier: ^5.4.19
version: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
examples/react-gqty:
dependencies:
@@ -1397,7 +1399,7 @@ importers:
version: 18.3.0
'@vitejs/plugin-react':
specifier: ^3.1.0
version: 3.1.0(vite@5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))
version: 3.1.0(vite@5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))
autoprefixer:
specifier: ^10.4.19
version: 10.4.20(postcss@8.4.49)
@@ -1411,8 +1413,8 @@ importers:
specifier: ^4.9.5
version: 4.9.5
vite:
specifier: ^5.4.18
version: 5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0)
specifier: ^5.4.19
version: 5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0)
examples/react_native:
dependencies:
@@ -1626,7 +1628,7 @@ importers:
version: 0.10.0
vite-plugin-vuetify:
specifier: ^1.0.2
version: 1.0.2(vite@5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.4))(vuetify@3.0.0-beta.10)
version: 1.0.2(vite@5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.4))(vuetify@3.0.0-beta.10)
vue:
specifier: ^3.4.21
version: 3.5.13(typescript@4.9.4)
@@ -1651,7 +1653,7 @@ importers:
version: 1.6.38
'@vitejs/plugin-vue':
specifier: ^4.6.2
version: 4.6.2(vite@5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.4))
version: 4.6.2(vite@5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.4))
'@xstate/inspect':
specifier: ^0.6.5
version: 0.6.5(@types/ws@8.5.10)(ws@8.18.1)(xstate@4.38.3)
@@ -1662,8 +1664,8 @@ importers:
specifier: 4.9.4
version: 4.9.4
vite:
specifier: ^5.4.18
version: 5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0)
specifier: ^5.4.19
version: 5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0)
vue-tsc:
specifier: ^0.38.9
version: 0.38.9(typescript@4.9.4)
@@ -1712,7 +1714,7 @@ importers:
version: 66.0.0
'@vitejs/plugin-vue':
specifier: ^4.6.2
version: 4.6.2(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))
version: 4.6.2(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))
'@vue/test-utils':
specifier: ^2.4.5
version: 2.4.5
@@ -1727,7 +1729,7 @@ importers:
version: 4.9.5
unocss:
specifier: 66.0.0
version: 66.0.0(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))
version: 66.0.0(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))
unplugin-auto-import:
specifier: ^0.17.5
version: 0.17.8(@vueuse/core@8.9.4(vue@3.5.13(typescript@4.9.5)))(rollup@4.28.1)
@@ -1735,11 +1737,11 @@ importers:
specifier: ^0.26.0
version: 0.26.0(@babel/parser@7.26.10)(rollup@4.28.1)(vue@3.5.13(typescript@4.9.5))
vite:
specifier: ^5.4.18
version: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
specifier: ^5.4.19
version: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
vite-plugin-pages:
specifier: ^0.28.0
version: 0.28.0(@vue/compiler-sfc@3.5.13)(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))
version: 0.28.0(@vue/compiler-sfc@3.5.13)(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))
vue-tsc:
specifier: ^0.38.9
version: 0.38.9(typescript@4.9.5)
@@ -2146,7 +2148,7 @@ importers:
version: link:../docgen
'@vitejs/plugin-vue':
specifier: ^4.6.2
version: 4.6.2(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
version: 4.6.2(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
'@xstate/inspect':
specifier: ^0.8.0
version: 0.8.0(@types/ws@8.5.10)(ws@8.17.1)(xstate@4.38.3)
@@ -3669,10 +3671,6 @@ packages:
resolution: {integrity: sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==}
engines: {node: '>=14.0.0', npm: '>=6.0.0'}
'@fastify/busboy@2.1.1':
resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
engines: {node: '>=14'}
'@floating-ui/core@1.6.3':
resolution: {integrity: sha512-1ZpCvYf788/ZXOhRQGFxnYQOVgeU+pi0i+d0Ow34La7qjIXETi6RNswGVKkA6KcDO8/+Ysu2E/CeUmmeEBDvTg==}
@@ -6887,7 +6885,7 @@ packages:
peerDependencies:
'@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0
svelte: ^4.0.0 || ^5.0.0-next.0
vite: '>=5.4.18'
vite: '>=5.4.19'
'@sveltejs/vite-plugin-svelte-inspector@4.0.1':
resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==}
@@ -7666,7 +7664,7 @@ packages:
'@unocss/astro@66.0.0':
resolution: {integrity: sha512-GBhXT6JPqXjDXoJZTXhySk83NgOt0UigChqrUUdG4x7Z+DVYkDBION8vZUJjw0OdIaxNQ4euGWu4GDsMF6gQQg==}
peerDependencies:
vite: '>=4.5.12'
vite: '>=4.5.14'
peerDependenciesMeta:
vite:
optional: true
@@ -7742,7 +7740,7 @@ packages:
'@unocss/vite@66.0.0':
resolution: {integrity: sha512-IVcPX8xL+2edyXKt4tp9yu5A6gcbPVCsspfcL0XgziCr01kS+4qSoZ90F3IUs3hXc/AyO5eCpRtGFMPLpOjXQg==}
peerDependencies:
vite: '>=4.5.12'
vite: '>=4.5.14'
'@urql/core@3.2.2':
resolution: {integrity: sha512-i046Cz8cZ4xIzGMTyHZrbdgzcFMcKD7+yhCAH5FwWBRjcKrc+RjEOuR9X5AMuBvr8c6IAaE92xAqa4wmlGfWTQ==}
@@ -10493,6 +10491,14 @@ packages:
picomatch:
optional: true
fdir@6.4.4:
resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==}
peerDependencies:
picomatch: ^3 || ^4
peerDependenciesMeta:
picomatch:
optional: true
fetch-blob@3.2.0:
resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==}
engines: {node: ^12.20 || >= 14.13}
@@ -15595,8 +15601,8 @@ packages:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'}
tar-fs@3.0.8:
resolution: {integrity: sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==}
tar-fs@3.0.9:
resolution: {integrity: sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==}
tar-stream@3.1.7:
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
@@ -15713,6 +15719,10 @@ packages:
resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==}
engines: {node: '>=12.0.0'}
tinyglobby@0.2.13:
resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==}
engines: {node: '>=12.0.0'}
tinypool@0.3.1:
resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==}
engines: {node: '>=14.0.0'}
@@ -16118,9 +16128,9 @@ packages:
undici-types@6.20.0:
resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
undici@5.28.5:
resolution: {integrity: sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==}
engines: {node: '>=14.0'}
undici@7.10.0:
resolution: {integrity: sha512-u5otvFBOBZvmdjWLVW+5DAc9Nkq8f24g0O9oY7qw2JVIF1VocIFoyz9JFkuVOS2j41AufeO0xnlweJ2RLT8nGw==}
engines: {node: '>=20.18.1'}
unfetch@3.1.2:
resolution: {integrity: sha512-L0qrK7ZeAudGiKYw6nzFjnJ2D5WHblUBwmHIqtPS6oKUd+Hcpk7/hKsSmcHsTlpd1TbTNsiRBUKRq3bHLNIqIw==}
@@ -16248,7 +16258,7 @@ packages:
engines: {node: '>=14'}
peerDependencies:
'@unocss/webpack': 66.0.0
vite: '>=4.5.12'
vite: '>=4.5.14'
peerDependenciesMeta:
'@unocss/webpack':
optional: true
@@ -16478,7 +16488,7 @@ packages:
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
typescript: '*'
vite: '>=4.5.12'
vite: '>=4.5.14'
peerDependenciesMeta:
vite:
optional: true
@@ -16487,7 +16497,7 @@ packages:
resolution: {integrity: sha512-yncDncFVnjUzhqJnwCgGDZoZ/wO6MEOMe93f2MQjplKXm1MpmHCrTkFCPnQyYGZTVKPAN+y7BQcIpNWPFLQ4+w==}
peerDependencies:
'@vue/compiler-sfc': ^2.7.0 || ^3.0.0
vite: '>=4.5.12'
vite: '>=4.5.14'
peerDependenciesMeta:
'@vue/compiler-sfc':
optional: true
@@ -16496,20 +16506,20 @@ packages:
resolution: {integrity: sha512-MubIcKD33O8wtgQXlbEXE7ccTEpHZ8nPpe77y9Wy3my2MWw/PgehP9VqTp92BLqr0R1dSL970Lynvisx3UxBFw==}
engines: {node: '>=12'}
peerDependencies:
vite: '>=4.5.12'
vite: '>=4.5.14'
vue: ^3.0.0
vuetify: ^3.0.0-beta.4
vite-tsconfig-paths@4.3.2:
resolution: {integrity: sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==}
peerDependencies:
vite: '>=5.4.18'
vite: '>=5.4.19'
peerDependenciesMeta:
vite:
optional: true
vite@5.4.18:
resolution: {integrity: sha512-1oDcnEp3lVyHCuQ2YFelM4Alm2o91xNoMncRm1U7S+JdYfYOvbiGZ3/CxGttrOu2M/KcGz7cRC2DoNUA6urmMA==}
vite@5.4.19:
resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
@@ -16539,8 +16549,8 @@ packages:
terser:
optional: true
vite@6.2.6:
resolution: {integrity: sha512-9xpjNl3kR4rVDZgPNdTL0/c6ao4km69a/2ihNQbcANz8RuCOK3hQBmLSJf3bRKVQjVMda+YvizNE8AwvogcPbw==}
vite@6.3.5:
resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
peerDependencies:
@@ -16582,7 +16592,7 @@ packages:
vitefu@1.0.4:
resolution: {integrity: sha512-y6zEE3PQf6uu/Mt6DTJ9ih+kyJLr4XcSgHR2zUkM8SWDhuixEJxfJ6CZGMHh1Ec3vPLoEA0IHU5oWzVqw8ulow==}
peerDependencies:
vite: '>=4.5.12'
vite: '>=4.5.14'
peerDependenciesMeta:
vite:
optional: true
@@ -19969,8 +19979,6 @@ snapshots:
'@faker-js/faker@7.6.0': {}
'@fastify/busboy@2.1.1': {}
'@floating-ui/core@1.6.3':
dependencies:
'@floating-ui/utils': 0.2.3
@@ -20026,7 +20034,7 @@ snapshots:
'@gqty/cli@3.3.0-alpha-d8cdbf6.0(graphql@16.8.1)':
dependencies:
gqty: 2.3.0(graphql@16.8.1)
undici: 5.28.5
undici: 7.10.0
optionalDependencies:
graphql: 16.8.1
@@ -22402,7 +22410,7 @@ snapshots:
progress: 2.0.3
proxy-agent: 6.5.0
semver: 7.6.3
tar-fs: 3.0.8
tar-fs: 3.0.9
unbzip2-stream: 1.4.3
yargs: 17.7.2
transitivePeerDependencies:
@@ -25030,14 +25038,14 @@ snapshots:
'@stripe/stripe-js@1.54.2': {}
'@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))':
'@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))':
dependencies:
'@sveltejs/kit': 2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
'@sveltejs/kit': 2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
import-meta-resolve: 4.1.0
'@sveltejs/adapter-vercel@5.6.3(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(encoding@0.1.13)(rollup@4.28.1)':
'@sveltejs/adapter-vercel@5.6.3(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(encoding@0.1.13)(rollup@4.28.1)':
dependencies:
'@sveltejs/kit': 2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
'@sveltejs/kit': 2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
'@vercel/nft': 0.29.2(encoding@0.1.13)(rollup@4.28.1)
esbuild: 0.25.0
transitivePeerDependencies:
@@ -25045,9 +25053,9 @@ snapshots:
- rollup
- supports-color
'@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))':
'@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))':
dependencies:
'@sveltejs/vite-plugin-svelte': 5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
'@sveltejs/vite-plugin-svelte': 5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
'@types/cookie': 0.6.0
cookie: 0.7.2
devalue: 5.1.1
@@ -25060,27 +25068,27 @@ snapshots:
set-cookie-parser: 2.7.1
sirv: 3.0.1
svelte: 5.14.0
vite: 6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
vite: 6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
'@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))':
'@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))':
dependencies:
'@sveltejs/vite-plugin-svelte': 5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
'@sveltejs/vite-plugin-svelte': 5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
debug: 4.4.0
svelte: 5.14.0
vite: 6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
vite: 6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
transitivePeerDependencies:
- supports-color
'@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))':
'@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))':
dependencies:
'@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
'@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.2(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)))(svelte@5.14.0)(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
debug: 4.4.0
deepmerge: 4.3.1
kleur: 4.1.5
magic-string: 0.30.17
svelte: 5.14.0
vite: 6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
vitefu: 1.0.4(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
vite: 6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
vitefu: 1.0.4(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))
transitivePeerDependencies:
- supports-color
@@ -26076,13 +26084,13 @@ snapshots:
'@ungap/structured-clone@1.2.0': {}
'@unocss/astro@66.0.0(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))':
'@unocss/astro@66.0.0(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))':
dependencies:
'@unocss/core': 66.0.0
'@unocss/reset': 66.0.0
'@unocss/vite': 66.0.0(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))
'@unocss/vite': 66.0.0(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))
optionalDependencies:
vite: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
transitivePeerDependencies:
- vue
@@ -26207,7 +26215,7 @@ snapshots:
dependencies:
'@unocss/core': 66.0.0
'@unocss/vite@66.0.0(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))':
'@unocss/vite@66.0.0(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))':
dependencies:
'@ampproject/remapping': 2.3.0
'@unocss/config': 66.0.0
@@ -26217,7 +26225,7 @@ snapshots:
magic-string: 0.30.17
tinyglobby: 0.2.12
unplugin-utils: 0.2.4
vite: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
transitivePeerDependencies:
- vue
@@ -26265,74 +26273,74 @@ snapshots:
- rollup
- supports-color
'@vitejs/plugin-react@3.1.0(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))':
'@vitejs/plugin-react@3.1.0(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))':
dependencies:
'@babel/core': 7.24.7
'@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7)
'@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7)
magic-string: 0.27.0
react-refresh: 0.14.2
vite: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-react@3.1.0(vite@5.4.18(@types/node@18.19.34)(sass@1.86.1)(terser@5.37.0))':
'@vitejs/plugin-react@3.1.0(vite@5.4.19(@types/node@18.19.34)(sass@1.86.1)(terser@5.37.0))':
dependencies:
'@babel/core': 7.24.7
'@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7)
'@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7)
magic-string: 0.27.0
react-refresh: 0.14.2
vite: 5.4.18(@types/node@18.19.34)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@18.19.34)(sass@1.86.1)(terser@5.37.0)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-react@3.1.0(vite@5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))':
'@vitejs/plugin-react@3.1.0(vite@5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))':
dependencies:
'@babel/core': 7.24.7
'@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7)
'@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7)
magic-string: 0.27.0
react-refresh: 0.14.2
vite: 5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-react@4.3.1(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))':
'@vitejs/plugin-react@4.3.1(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))':
dependencies:
'@babel/core': 7.24.7
'@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7)
'@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7)
'@types/babel__core': 7.20.5
react-refresh: 0.14.2
vite: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-react@4.3.1(vite@5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0))':
'@vitejs/plugin-react@4.3.1(vite@5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0))':
dependencies:
'@babel/core': 7.24.7
'@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7)
'@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.7)
'@types/babel__core': 7.20.5
react-refresh: 0.14.2
vite: 5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-vue@4.6.2(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))':
'@vitejs/plugin-vue@4.6.2(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))':
dependencies:
vite: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
vue: 3.5.13(typescript@4.9.5)
'@vitejs/plugin-vue@4.6.2(vite@5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.4))':
'@vitejs/plugin-vue@4.6.2(vite@5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.4))':
dependencies:
vite: 5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0)
vue: 3.5.13(typescript@4.9.4)
'@vitejs/plugin-vue@4.6.2(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))':
'@vitejs/plugin-vue@4.6.2(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))':
dependencies:
vite: 6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
vite: 6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
vue: 3.5.13(typescript@5.7.2)
'@vitest/coverage-v8@0.32.4(vitest@0.32.4(jsdom@22.1.0)(playwright@1.47.0)(sass@1.86.1)(terser@5.37.0))':
@@ -26658,7 +26666,7 @@ snapshots:
form-data-encoder: 1.9.0
formdata-node: 4.4.1
node-fetch: 2.6.13(encoding@0.1.13)
undici: 5.28.5
undici: 7.10.0
web-streams-polyfill: 3.3.3
transitivePeerDependencies:
- encoding
@@ -30132,6 +30140,10 @@ snapshots:
optionalDependencies:
picomatch: 4.0.2
fdir@6.4.4(picomatch@4.0.2):
optionalDependencies:
picomatch: 4.0.2
fetch-blob@3.2.0:
dependencies:
node-domexception: 1.0.0
@@ -36962,7 +36974,7 @@ snapshots:
tapable@2.2.1: {}
tar-fs@3.0.8:
tar-fs@3.0.9:
dependencies:
pump: 3.0.2
tar-stream: 3.1.7
@@ -37107,6 +37119,11 @@ snapshots:
fdir: 6.4.3(picomatch@4.0.2)
picomatch: 4.0.2
tinyglobby@0.2.13:
dependencies:
fdir: 6.4.4(picomatch@4.0.2)
picomatch: 4.0.2
tinypool@0.3.1: {}
tinypool@0.5.0: {}
@@ -37627,9 +37644,7 @@ snapshots:
undici-types@6.20.0: {}
undici@5.28.5:
dependencies:
'@fastify/busboy': 2.1.1
undici@7.10.0: {}
unfetch@3.1.2: {}
@@ -37804,9 +37819,9 @@ snapshots:
dependencies:
normalize-path: 2.1.1
unocss@66.0.0(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5)):
unocss@66.0.0(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5)):
dependencies:
'@unocss/astro': 66.0.0(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))
'@unocss/astro': 66.0.0(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))
'@unocss/cli': 66.0.0
'@unocss/core': 66.0.0
'@unocss/postcss': 66.0.0
@@ -37823,9 +37838,9 @@ snapshots:
'@unocss/transformer-compile-class': 66.0.0
'@unocss/transformer-directives': 66.0.0
'@unocss/transformer-variant-group': 66.0.0
'@unocss/vite': 66.0.0(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))
'@unocss/vite': 66.0.0(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.5))
optionalDependencies:
vite: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
transitivePeerDependencies:
- supports-color
- vue
@@ -38044,7 +38059,7 @@ snapshots:
mlly: 1.7.3
pathe: 1.1.2
picocolors: 1.1.1
vite: 5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
transitivePeerDependencies:
- '@types/node'
- less
@@ -38056,7 +38071,7 @@ snapshots:
- supports-color
- terser
vite-plugin-dts@3.9.1(@types/node@20.17.23)(rollup@4.28.1)(typescript@4.9.5)(vite@5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)):
vite-plugin-dts@3.9.1(@types/node@20.17.23)(rollup@4.28.1)(typescript@4.9.5)(vite@5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)):
dependencies:
'@microsoft/api-extractor': 7.43.0(@types/node@20.17.23)
'@rollup/pluginutils': 5.1.4(rollup@4.28.1)
@@ -38067,13 +38082,13 @@ snapshots:
typescript: 4.9.5
vue-tsc: 1.8.27(typescript@4.9.5)
optionalDependencies:
vite: 5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
transitivePeerDependencies:
- '@types/node'
- rollup
- supports-color
vite-plugin-pages@0.28.0(@vue/compiler-sfc@3.5.13)(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)):
vite-plugin-pages@0.28.0(@vue/compiler-sfc@3.5.13)(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)):
dependencies:
'@types/debug': 4.1.12
debug: 4.3.5
@@ -38083,47 +38098,47 @@ snapshots:
json5: 2.2.3
local-pkg: 0.4.3
picocolors: 1.1.1
vite: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
yaml: 2.6.1
optionalDependencies:
'@vue/compiler-sfc': 3.5.13
transitivePeerDependencies:
- supports-color
vite-plugin-vuetify@1.0.2(vite@5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.4))(vuetify@3.0.0-beta.10):
vite-plugin-vuetify@1.0.2(vite@5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.4))(vuetify@3.0.0-beta.10):
dependencies:
'@vuetify/loader-shared': 1.7.1(vue@3.5.13(typescript@4.9.4))(vuetify@3.0.0-beta.10)
debug: 4.3.5
upath: 2.0.1
vite: 5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0)
vue: 3.5.13(typescript@4.9.4)
vuetify: 3.0.0-beta.10(vite-plugin-vuetify@1.0.2)(vue@3.5.13(typescript@4.9.4))
transitivePeerDependencies:
- supports-color
vite-tsconfig-paths@4.3.2(typescript@4.9.5)(vite@5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)):
vite-tsconfig-paths@4.3.2(typescript@4.9.5)(vite@5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)):
dependencies:
debug: 4.3.5
globrex: 0.1.2
tsconfck: 3.1.4(typescript@4.9.5)
optionalDependencies:
vite: 5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
transitivePeerDependencies:
- supports-color
- typescript
vite-tsconfig-paths@4.3.2(typescript@5.7.2)(vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)):
vite-tsconfig-paths@4.3.2(typescript@5.7.2)(vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)):
dependencies:
debug: 4.3.5
globrex: 0.1.2
tsconfck: 3.1.4(typescript@5.7.2)
optionalDependencies:
vite: 5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0)
transitivePeerDependencies:
- supports-color
- typescript
vite@5.4.18(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0):
vite@5.4.19(@types/node@16.18.105)(sass@1.86.1)(terser@5.37.0):
dependencies:
esbuild: 0.25.0
postcss: 8.5.3
@@ -38134,7 +38149,7 @@ snapshots:
sass: 1.86.1
terser: 5.37.0
vite@5.4.18(@types/node@18.19.34)(sass@1.86.1)(terser@5.37.0):
vite@5.4.19(@types/node@18.19.34)(sass@1.86.1)(terser@5.37.0):
dependencies:
esbuild: 0.25.0
postcss: 8.5.3
@@ -38145,7 +38160,7 @@ snapshots:
sass: 1.86.1
terser: 5.37.0
vite@5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0):
vite@5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0):
dependencies:
esbuild: 0.25.0
postcss: 8.5.3
@@ -38156,7 +38171,7 @@ snapshots:
sass: 1.86.1
terser: 5.37.0
vite@5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0):
vite@5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0):
dependencies:
esbuild: 0.25.0
postcss: 8.5.3
@@ -38167,11 +38182,14 @@ snapshots:
sass: 1.86.1
terser: 5.37.0
vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1):
vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1):
dependencies:
esbuild: 0.25.0
fdir: 6.4.4(picomatch@4.0.2)
picomatch: 4.0.2
postcss: 8.5.3
rollup: 4.28.1
tinyglobby: 0.2.13
optionalDependencies:
'@types/node': 22.13.9
fsevents: 2.3.3
@@ -38180,9 +38198,9 @@ snapshots:
terser: 5.37.0
yaml: 2.6.1
vitefu@1.0.4(vite@6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)):
vitefu@1.0.4(vite@6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)):
optionalDependencies:
vite: 6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
vite: 6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
vitest@0.25.8(jiti@2.4.2)(jsdom@22.1.0)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1):
dependencies:
@@ -38199,7 +38217,7 @@ snapshots:
tinybench: 2.9.0
tinypool: 0.3.1
tinyspy: 1.1.1
vite: 6.2.6(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
vite: 6.3.5(@types/node@22.13.9)(jiti@2.4.2)(sass@1.86.1)(terser@5.37.0)(yaml@2.6.1)
optionalDependencies:
jsdom: 22.1.0
transitivePeerDependencies:
@@ -38238,7 +38256,7 @@ snapshots:
strip-literal: 1.3.0
tinybench: 2.9.0
tinypool: 0.5.0
vite: 5.4.18(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
vite: 5.4.19(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
vite-node: 0.32.4(@types/node@20.17.23)(sass@1.86.1)(terser@5.37.0)
why-is-node-running: 2.3.0
optionalDependencies:
@@ -38387,7 +38405,7 @@ snapshots:
dependencies:
vue: 3.5.13(typescript@4.9.4)
optionalDependencies:
vite-plugin-vuetify: 1.0.2(vite@5.4.18(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.4))(vuetify@3.0.0-beta.10)
vite-plugin-vuetify: 1.0.2(vite@5.4.19(@types/node@22.13.9)(sass@1.86.1)(terser@5.37.0))(vue@3.5.13(typescript@4.9.4))(vuetify@3.0.0-beta.10)
w3c-hr-time@1.0.2:
dependencies: