Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ui): persist logs on failure #7805

Merged
merged 4 commits into from Mar 21, 2024

Conversation

chris-olszewski
Copy link
Contributor

@chris-olszewski chris-olszewski commented Mar 21, 2024

Description

If a task fails when using the UI, it isn't easy to find the reason for the failure.

This PR makes it so that if a task fails, we'll persist the logs to the terminal so they remain after the UI exits.

Testing Instructions

Screenshot 2024-03-21 at 9 46 11 AM

Closes TURBO-2681

Copy link

vercel bot commented Mar 21, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
examples-gatsby-web 🔄 Building (Inspect) Visit Preview 💬 Add feedback Mar 21, 2024 5:02pm
examples-kitchensink-blog 🔄 Building (Inspect) Visit Preview 💬 Add feedback Mar 21, 2024 5:02pm
examples-nonmonorepo ✅ Ready (Inspect) Visit Preview 💬 Add feedback Mar 21, 2024 5:02pm
examples-tailwind-web 🔄 Building (Inspect) Visit Preview 💬 Add feedback Mar 21, 2024 5:02pm
rust-docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Mar 21, 2024 5:02pm
5 Ignored Deployments
Name Status Preview Comments Updated (UTC)
examples-basic-web ⬜️ Ignored (Inspect) Visit Preview Mar 21, 2024 5:02pm
examples-designsystem-docs ⬜️ Ignored (Inspect) Visit Preview Mar 21, 2024 5:02pm
examples-native-web ⬜️ Ignored (Inspect) Visit Preview Mar 21, 2024 5:02pm
examples-svelte-web ⬜️ Ignored (Inspect) Visit Preview Mar 21, 2024 5:02pm
examples-vite-web ⬜️ Ignored (Inspect) Visit Preview Mar 21, 2024 5:02pm

Copy link
Contributor

github-actions bot commented Mar 21, 2024

🟢 Turbopack Benchmark CI successful 🟢

Thanks

Copy link
Contributor

github-actions bot commented Mar 21, 2024

🟢 CI successful 🟢

Thanks

@chris-olszewski chris-olszewski merged commit 893dfd5 into main Mar 21, 2024
56 checks passed
@chris-olszewski chris-olszewski deleted the olszewski/fix_ui_persist_errors branch March 21, 2024 19:15
chris-olszewski added a commit that referenced this pull request Mar 25, 2024
### Description

With #7822 (and #7805 ) we're using `insert_before` to persist logs.
This can panic (ratatui-org/ratatui#999) if
the viewport fills the entire terminal.

This PR changes our viewport construction so it now takes terminal size
into account. (Previously we always would use 60, even if the terminal
didn't have 60 rows)

### Testing Instructions

Use UI with a terminal that has a height of 60 or less.


Closes TURBO-2695
kodiakhq bot added a commit to weareinreach/TransMascFutures that referenced this pull request Apr 2, 2024
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@crowdin/crowdin-api-client](https://togithub.com/crowdin/crowdin-api-client-js) | [`1.32.0` -> `1.33.0`](https://renovatebot.com/diffs/npm/@crowdin%2fcrowdin-api-client/1.32.0/1.33.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@crowdin%2fcrowdin-api-client/1.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@crowdin%2fcrowdin-api-client/1.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@crowdin%2fcrowdin-api-client/1.32.0/1.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@crowdin%2fcrowdin-api-client/1.32.0/1.33.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.11.30` -> `20.12.2`](https://renovatebot.com/diffs/npm/@types%2fnode/20.11.30/20.12.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.11.30/20.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.11.30/20.12.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`7.4.0` -> `7.5.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/7.4.0/7.5.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/7.4.0/7.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [eslint-plugin-turbo](https://togithub.com/vercel/turbo) ([source](https://togithub.com/vercel/turbo/tree/HEAD/packages/eslint-plugin-turbo)) | [`1.13.0` -> `1.13.1`](https://renovatebot.com/diffs/npm/eslint-plugin-turbo/1.13.0/1.13.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-turbo/1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-turbo/1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-turbo/1.13.0/1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-turbo/1.13.0/1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [i18next-browser-languagedetector](https://togithub.com/i18next/i18next-browser-languageDetector) | [`7.2.0` -> `7.2.1`](https://renovatebot.com/diffs/npm/i18next-browser-languagedetector/7.2.0/7.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/i18next-browser-languagedetector/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/i18next-browser-languagedetector/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/i18next-browser-languagedetector/7.2.0/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/i18next-browser-languagedetector/7.2.0/7.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [listr2](https://togithub.com/listr2/listr2) | [`8.1.1` -> `8.1.3`](https://renovatebot.com/diffs/npm/listr2/8.1.1/8.1.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/listr2/8.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/listr2/8.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/listr2/8.1.1/8.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/listr2/8.1.1/8.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [pnpm](https://pnpm.io) ([source](https://togithub.com/pnpm/pnpm)) | [`8.15.5` -> `8.15.6`](https://renovatebot.com/diffs/npm/pnpm/8.15.5/8.15.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/8.15.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/pnpm/8.15.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/pnpm/8.15.5/8.15.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/8.15.5/8.15.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [prettier-plugin-packagejson](https://togithub.com/matzkoh/prettier-plugin-packagejson) | [`2.4.13` -> `2.4.14`](https://renovatebot.com/diffs/npm/prettier-plugin-packagejson/2.4.13/2.4.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier-plugin-packagejson/2.4.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/prettier-plugin-packagejson/2.4.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/prettier-plugin-packagejson/2.4.13/2.4.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier-plugin-packagejson/2.4.13/2.4.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [turbo](https://turbo.build/repo) ([source](https://togithub.com/vercel/turbo)) | [`1.13.0` -> `1.13.1`](https://renovatebot.com/diffs/npm/turbo/1.13.0/1.13.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/turbo/1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/turbo/1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/turbo/1.13.0/1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/turbo/1.13.0/1.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>crowdin/crowdin-api-client-js (@&#8203;crowdin/crowdin-api-client)</summary>

### [`v1.33.0`](https://togithub.com/crowdin/crowdin-api-client-js/releases/tag/1.33.0)

[Compare Source](https://togithub.com/crowdin/crowdin-api-client-js/compare/1.32.0...1.33.0)

#### What's Changed

-   fix: update ai methods by [@&#8203;NazarLysyi](https://togithub.com/NazarLysyi) in [crowdin/crowdin-api-client-js#386
-   ci: upgrade actions by [@&#8203;andrii-bodnar](https://togithub.com/andrii-bodnar) in [crowdin/crowdin-api-client-js#385

#### New Contributors

-   [@&#8203;NazarLysyi](https://togithub.com/NazarLysyi) made their first contribution in [crowdin/crowdin-api-client-js#386

**Full Changelog**: crowdin/crowdin-api-client-js@1.32.0...1.33.0

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/eslint-plugin)</summary>

### [`v7.5.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#750-2024-04-01)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.4.0...v7.5.0)

##### 🩹 Fixes

-   **eslint-plugin:** \[no-floating-promises] handle TaggedTemplateExpression

-   **eslint-plugin:** \[no-unnecessary-type-assertion] handle exactOptionalPropertyTypes compiler option

##### ❤️  Thank You

-   Brad Zacher
-   Kim Sang Du
-   Mark de Dios
-   Naru
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint (@&#8203;typescript-eslint/parser)</summary>

### [`v7.5.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#750-2024-04-01)

[Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.4.0...v7.5.0)

##### 🩹 Fixes

-   **parser:** disallow `errorOnTypeScriptSyntacticAndSemanticIssues`

##### ❤️  Thank You

-   Brad Zacher
-   Kim Sang Du
-   Mark de Dios
-   Naru
-   YeonJuan

You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website.

</details>

<details>
<summary>vercel/turbo (eslint-plugin-turbo)</summary>

### [`v1.13.1`](https://togithub.com/vercel/turbo/releases/tag/v1.13.1): Turborepo v1.13.1

[Compare Source](https://togithub.com/vercel/turbo/compare/v1.13.0...v1.13.1)



##### What's Changed

##### Docs

-   docs: add missing CLI references by [@&#8203;wokcito](https://togithub.com/wokcito) in [vercel/turbo#7806
-   (docs): refer to correct Github Actions cache version as described in example by [@&#8203;KarelVerschraegen](https://togithub.com/KarelVerschraegen) in [vercel/turbo#7869
-   Docs: Fix heading by [@&#8203;Dragate](https://togithub.com/Dragate) in [vercel/turbo#7873

##### Changelog

-   feat(ui): persist logs on failure by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7805
-   feat(Turborepo): handle package manager changes by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [vercel/turbo#7770
-   feat(ui): add ability to scroll task output by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7807
-   fix(ui): avoid dupe key events on windows by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7809
-   fix(ui): avoid using prefix for replayed logs by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7810
-   chore: remove some unused imports by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7816
-   feat(ui): persist all logs by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7822
-   fix(ui): limit viewport size based on term size by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7837
-   feat(Turborepo): return invalid states from package discovery by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [vercel/turbo#7789
-   fix(Turborepo): ignore working tree state for fixed git comparisons by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [vercel/turbo#7838
-   fix(vt100): fix scrollback underflow by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7844
-   fix(ui): account for border when reserving size for logs by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7846
-   fix(yarn4): properly handle workspace protocol with path by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7817
-   feat(lockfile): support for parsing pnpm lockfile v7 by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7853
-   fix(pnpm): support new pnpm9 default link-workspace-packages by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7865
-   chore(telemetry): track dot env usage by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7876
-   chore: fix lockfile by [@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in [vercel/turbo#7877

##### New Contributors

-   [@&#8203;wokcito](https://togithub.com/wokcito) made their first contribution in [vercel/turbo#7806
-   [@&#8203;Dragate](https://togithub.com/Dragate) made their first contribution in [vercel/turbo#7873

**Full Changelog**: vercel/turbo@v1.13.0...v1.13.1

</details>

<details>
<summary>i18next/i18next-browser-languageDetector (i18next-browser-languagedetector)</summary>

### [`v7.2.1`](https://togithub.com/i18next/i18next-browser-languageDetector/blob/HEAD/CHANGELOG.md#721)

[Compare Source](https://togithub.com/i18next/i18next-browser-languageDetector/compare/v7.2.0...v7.2.1)

-   fix: align addDetector impementation to type definition [282](https://togithub.com/i18next/i18next-browser-languageDetector/issues/282)

</details>

<details>
<summary>listr2/listr2 (listr2)</summary>

### [`v8.1.3`](https://togithub.com/listr2/listr2/releases/tag/listr2%408.1.3)

[Compare Source](https://togithub.com/listr2/listr2/compare/listr2@&#8203;8.1.2...listr2@&#8203;8.1.3)

#### listr2 [8.1.3](https://togithub.com/listr2/listr2/compare/listr2@&#8203;8.1.2...listr2@&#8203;8.1.3) (2024-03-31)

##### Bug Fixes

-   remove all listeners call ([763ada8](https://togithub.com/listr2/listr2/commit/763ada8402b542139a98aa57a97e80ccb7e3e78f))

### [`v8.1.2`](https://togithub.com/listr2/listr2/compare/listr2@&#8203;8.1.1...listr2@&#8203;8.1.2)

[Compare Source](https://togithub.com/listr2/listr2/compare/listr2@&#8203;8.1.1...listr2@&#8203;8.1.2)

</details>

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v8.15.6`](https://togithub.com/pnpm/pnpm/releases/tag/v8.15.6)

[Compare Source](https://togithub.com/pnpm/pnpm/compare/v8.15.5...v8.15.6)

#### Patch Changes

-   The exit code of the child process should be preserved on `pnpm run` [#&#8203;7817](https://togithub.com/pnpm/pnpm/issues/7817).
-   When sorting packages in a workspace, take into account workspace dependencies specified as `peerDependencies` [#&#8203;7813](https://togithub.com/pnpm/pnpm/issues/7813).
-   Add `--ignore-scripts` argument to `prune` command [#&#8203;7836](https://togithub.com/pnpm/pnpm/pull/7836).

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://bit.dev/?utm_source=pnpm&utm_medium=readme" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80"></a>
      </td>
      <td align="center" valign="middle">
        <a href="https://figma.com/?utm_source=pnpm&utm_medium=readme" target="_blank"><img src="https://pnpm.io/img/users/figma.svg" width="80"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://discord.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" />
            <img src="https://pnpm.io/img/users/discord.svg" width="220" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://prisma.io/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/prisma.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/prisma_light.svg" />
            <img src="https://pnpm.io/img/users/prisma.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://uscreen.de/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/uscreen.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/uscreen_light.svg" />
            <img src="https://pnpm.io/img/users/uscreen.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://www.jetbrains.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/jetbrains.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/jetbrains.svg" />
            <img src="https://pnpm.io/img/users/jetbrains.svg" width="85" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://nx.dev/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" />
            <img src="https://pnpm.io/img/users/nx.svg" width="120" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" />
            <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

#### Silver Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://leniolabs.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <img src="https://pnpm.io/img/users/leniolabs.jpg" width="80">
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://vercel.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/vercel.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/vercel_light.svg" />
            <img src="https://pnpm.io/img/users/vercel.svg" width="180" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://depot.dev/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/depot.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/depot_light.svg" />
            <img src="https://pnpm.io/img/users/depot.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://moonrepo.dev/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/moonrepo.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/moonrepo_light.svg" />
            <img src="https://pnpm.io/img/users/moonrepo.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://devowl.io/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/devowlio.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/devowlio.svg" />
            <img src="https://pnpm.io/img/users/devowlio.svg" width="200" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://macpaw.com/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/macpaw.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/macpaw_light.svg" />
            <img src="https://pnpm.io/img/users/macpaw.svg" width="200" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://cerbos.dev/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/cerbos.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/cerbos_light.svg" />
            <img src="https://pnpm.io/img/users/cerbos.svg" width="180" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://vpsserver.com/en-us/?utm_source=pnpm&utm_medium=readme" target="_blank">
          <img src="https://pnpm.io/img/users/vpsserver.svg" width="180" />
        </a>
      </td>
    </tr>
  </tbody>
</table>

</details>

<details>
<summary>matzkoh/prettier-plugin-packagejson (prettier-plugin-packagejson)</summary>

### [`v2.4.14`](https://togithub.com/matzkoh/prettier-plugin-packagejson/releases/tag/v2.4.14)

[Compare Source](https://togithub.com/matzkoh/prettier-plugin-packagejson/compare/v2.4.13...v2.4.14)

##### Bug Fixes

-   **deps:** update dependency sort-package-json to v2.10.0 ([e2bb083](https://togithub.com/matzkoh/prettier-plugin-packagejson/commit/e2bb083b08de7b25840412f919c0f6394f919af6))

</details>

<details>
<summary>vercel/turbo (turbo)</summary>

### [`v1.13.1`](https://togithub.com/vercel/turbo/compare/v1.13.0...v1.13.1)

[Compare Source](https://togithub.com/vercel/turbo/compare/v1.13.0...v1.13.1)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday,before 4am on Thursday" (UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/weareinreach/GLAAD).



PR-URL: #377
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants