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

Turborepo 2.0 #8294

Merged
merged 50 commits into from
Jun 4, 2024
Merged

Turborepo 2.0 #8294

merged 50 commits into from
Jun 4, 2024

Conversation

chris-olszewski
Copy link
Contributor

Description

TSIA

Testing Instructions

CI

chris-olszewski and others added 30 commits June 4, 2024 09:52
Remove legacy filter flags now that they've been deprecated for quite
awhile.

Existing test suite passes. Updated tests that are still applicable and
removed those that aren't.
### Description

I messed up a resolving a merge conflict and didn't migrate some args
that moved from `ExecutionArgs` to `RunArgs` in #7613

### Testing Instructions

Tests on CI pass

Closes TURBO-2872
### Description

With 2.0 we will now be requiring a `packageManager` field in
`package.json` as this is a best practice and it helps us behave in a
deterministic manner.

The actual code change is very straightforward as we remove our package
manager inference code and return an error if reading package manager
from `package.json` fails.

Most of the PR is updating tests.

### Testing Instructions

Updated unit tests
### Description

Previously we would infer scope for name filters if there was exactly
one matching package.
e.g. `turbo build --filter=ui` would run `@a/ui#build` if there was a
`@a/ui` package in the workspace

This is confusing and can result in accidentally breaking filters when a
conflicting package is added e.g. adding `@b/ui` would cause *no* tasks
to be run along with a zero exit code.

### Testing Instructions

Updated unit test to verify inference no longer works and using the
explicit package name still works.
### Description

We replaced this with an option instead of an arg, but cleaning up here!

### Testing Instructions

<!--
  Give a quick description of steps to test your changes.
-->
### Description

We now will error if we encounter a package with a missing or empty
package name.

This is done in the graph validation step as opposed to construction
since we don't want to impose this restriction on `@turbo/repository`
users.

### Testing Instructions

Added integration test
### Description

This PR changes `--filter` so it now will error on certain malformed
filters:
- Name filters with no globs that don't match any packages e.g.
`--filter=fo` instead of `--filter=foo`
- Directory filters that reference a directory that doesn't exist: e.g.
`--filter='./pakcages/*'`

Each commit of the PR can be reviewed on it's own.

### Testing Instructions

Updated existing unit tests. Added additional ones along with an
integration test.
### Description

Moves the file system cache to `.turbo` as discussed in #842.

### Testing Instructions

Find your favorite Turborepo of choice and run a `turbo` command twice.
You should miss cache on the first run and hit cache on the second.

CLOSES TURBO-3130

---------

Co-authored-by: Chris Olszewski <chris.olszewski@vercel.com>
…on` (#8149)

### Description

Changed `outputMode` to `outputLogs` in `turbo.json` to match the flag
name. Also wrote a code mod to migrate `turbo.json` config
automatically.

### Testing Instructions

Existing tests are migrated. Also wrote tests for code mod
### Description

Change `--only` so it behaves in a more sensible way. It still shouldn't
be widely used, but now it at least does what it says it does.

Previously `--only` would still follow package dependencies resulting
additional tasks getting run that weren't expected.
e.g. for task definition `"test": {"dependsOn": ["build", "^test"]}` and
package `a` depending on `b`, then `turbo test --filter=a --only` would
result in both `a#test` and `b#test` being run. With this PR now only
`a#test` will be run.

I changed the `--only` logic so now it will limit tasks in the graph to
exactly those that are in the product of the packages implied by
`--filter` and the tasks specified in the run args. This should make
`--only` a far more sensible flag.


### Testing Instructions

Added unit tests for testing the trimming of package dependencies and
task id style dependencies e.g. `"dependsOn": ["a#test"]`
### Description

Renaming the `pipeline` key to `tasks` in turbo.json.

We went this key to better express what Turborepo does with the
configuration that is provided in this key. We've seen with users that
the term "pipeline" can be confusing for how `turbo` _really_ executes
the task graph.

In reality, the keys in the `pipeline` object are really the list of
_tasks_ registered to `turbo` - so let's call it that.

### Non-goals

This PR does not include update:
-  The examples in the repo
- JS packages
- `eslint-plugin-turbo`

These updates will be needed in subsequent PRs.

### Testing Instructions

Hopefully CI will do its job here - but, of course, would appreciate a
review of my changes to make sure I'm not missing anything my untrained
eye may be missing.

CLOSES TURBO-3225
### Description

If a user provides a glob that points to a directory e.g. `dist` or
`dist/` then we will add a trailing double star so that the directory
contents get captured instead of just the directory entry itself.

### Testing Instructions

Added unit tests for adding doublestar
Added integration test for verifying that `src/` and `dist` for task
inputs/outputs get treated as `src/**` and `dist/**` respectively.
### Description

#8180 and #8157 ended up landing in a way where `globs.t` will fail due
to using a test fixture that uses the now removed `pipeline` field.

### Testing Instructions

CI
This PR removes `globalDotEnv`/`dotEnv` in favor of `globalDependencies`
and `inputs` which is now fairly ergonomic to use with the addition of
`$TURBO_DEFAULTS$`.

This PR does *not* update the corresponding JS types.

Updated existing integration tests
### Description

Commandeered from #8151

Changes default env mode to strict and remove the "infer" option

### Testing Instructions

Existing test suite

(Currently some Windows integration tests are failing due to a missing
env var, opening for review while I work on this)

---------

Co-authored-by: nicholaslyang <nicholas.yang@vercel.com>
### Description

Handle exclusions in `globalDeps` 

### Testing Instructions

Updated `global-deps.t` to test negative globs.
### Description

TSIA

This does not change Turbopack licensing

### Testing Instructions

👀
### Description

Codemod to add missing name (or fix duplicates)
### Description

Removes the `--ignore` flag as it's interaction with other `--filter`
flags is hard to explain.

If we want to bring it back, then it should be put it into a
configuration file.

I removed the command line flag and how it feeds into the package
filtering, but left the underlying implementation of change detector
as-is. This should make it easy to bring back this behavior via a
configuration file.

### Testing Instructions

Existing tests
### Description

With this PR we will now factor in all root dependency changes. Not just
external packages.

Internal packages are handled by hashing all of the files contained in
the package directory that aren't gitignore'd.

This does have performance implications as we can end up globwalking
these directories multiple times and hashing the files multiple times if
they end up as task inputs. This will be addressed in a future PR.

### Testing Instructions

Added integration test that displays new behavior
Co-authored-by: Turbobot <turbobot@vercel.com>
### Description

Handshake logic works, we just need to bump the daemon version since
it's independent(?) of the client version.

Future work is to keep this constant in lockstep with our client version
to help us avoid forgetting to bump this.

### Testing Instructions

Verify that running binary in a repo with a running 1.x daemon will
result in the daemon getting shut down and a new one being started:
```
2024-05-28T10:17:35.750-0700 [DEBUG] turborepo_lib::daemon::connector: found pid: 6563                                                      
2024-05-28T10:17:35.750-0700 [DEBUG] turborepo_lib::daemon::connector: got daemon with pid: 6563                                                                                                                 
2024-05-28T10:17:35.766-0700 [DEBUG] turborepo_lib::daemon::connector: no pid found, starting daemon                                        
2024-05-28T10:17:35.767-0700 [DEBUG] turborepo_lib::daemon::connector: got daemon with pid: 8593
```
### Description

In #8150 we removed the deprecated
package manager argument in favor of the option, but we didn't remove
the corresponding parameter from the actual main function. This lead to
the options object getting passed as the package manager argument and
then the options object being undefined.

### Testing Instructions

Before
<img width="939" alt="Screenshot 2024-05-28 at 8 43 23 AM"
src="https://github.com/vercel/turbo/assets/4131117/6dcaa4a7-b0e0-4142-9854-95ed597d4eb5">

After
<img width="1171" alt="Screenshot 2024-05-28 at 8 43 01 AM"
src="https://github.com/vercel/turbo/assets/4131117/7ef11479-5895-4cd4-838c-a26dcaa0529a">

---------

Co-authored-by: Mehul Kar <mehul.kar@vercel.com>
Co-authored-by: Thomas Knickman <tom.knickman@vercel.com>
Co-authored-by: Anthony Shew <anthony.shew@vercel.com>
Co-authored-by: Nicholas Yang <nicholas.yang@vercel.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Turbobot <turbobot@vercel.com>
### Description

Made a nicer error message for having a `pipeline` key instead of
`tasks`.

### Testing Instructions

<!--
  Give a quick description of steps to test your changes.
-->

---------

Co-authored-by: Anthony Shew <anthony.shew@vercel.com>
### Description

TSIA

### Testing Instructions

~~Unit test update shows that default is now true~~ I forgot that these
tests don't run in a TTY so they still won't have the UI enabled.

Manual test that a fresh repo with no `experimentalUI` key in
`turbo.json` will use the UI.
### Description

Changing the `engines` field in the root `package.json` can affect the
execution of tasks so it should affect the global cache.

This PR adds the `engines` struct to the global cache key.

### Testing Instructions

Added new integration test verifying that changing `engines` results in
a cache miss.
### Description

Updates various JS packages with the new `turbo.json` schema without
breaking existing functionality.

We introduce `SchemaV1` which has the old `pipeline` key. This is the
type that the existing codemods target while future codemods will target
`Schema`. `LegacySchema` is a compatibility type for codemods that
support both.

### Testing Instructions

Existing test suite passes.

Added tests for `pipeline` -> `tasks` codemod
Co-authored-by: Turbobot <turbobot@vercel.com>
Copy link

vercel bot commented Jun 4, 2024

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

Name Status Preview Comments Updated (UTC)
examples-basic-web ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 4, 2024 5:08pm
examples-designsystem-docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 4, 2024 5:08pm
examples-gatsby-web ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 4, 2024 5:08pm
examples-kitchensink-blog ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 4, 2024 5:08pm
examples-native-web ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 4, 2024 5:08pm
examples-nonmonorepo ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 4, 2024 5:08pm
examples-svelte-web ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 4, 2024 5:08pm
examples-tailwind-web ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 4, 2024 5:08pm
examples-vite-web ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 4, 2024 5:08pm
1 Ignored Deployment
Name Status Preview Comments Updated (UTC)
rust-docs ⬜️ Ignored (Inspect) Jun 4, 2024 5:08pm

Copy link
Contributor

github-actions bot commented Jun 4, 2024

🟢 Turbopack Benchmark CI successful 🟢

Thanks

Copy link
Contributor

github-actions bot commented Jun 4, 2024

✅ This change can build next-swc

@anthonyshew anthonyshew changed the title Turborepo 2 Turborepo 2.0 Jun 4, 2024
Copy link
Contributor

@anthonyshew anthonyshew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🥳

@chris-olszewski chris-olszewski enabled auto-merge (squash) June 4, 2024 17:25
Copy link
Contributor

@Zertsov Zertsov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🥳

@chris-olszewski chris-olszewski merged commit 12acb89 into main Jun 4, 2024
58 of 60 checks passed
Copy link
Contributor

github-actions bot commented Jun 4, 2024

⚠️ CI failed ⚠️

The following steps have failed in CI:

  • Turbopack Rust tests (linux)
  • Turbopack Rust tests (mac/win, non-blocking)

See workflow summary for details

kodiakhq bot pushed a commit to weareinreach/InReach that referenced this pull request Jun 14, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@turbo/gen](https://turbo.build/repo)
([source](https://togithub.com/vercel/turbo/tree/HEAD/packages/turbo-gen))
| devDependencies | major | [`1.13.4` ->
`2.0.3`](https://renovatebot.com/diffs/npm/@turbo%2fgen/1.13.4/2.0.3) |
[![OpenSSF
Scorecard](https://api.securityscorecards.dev/projects/github.com/vercel/turbo/badge)](https://securityscorecards.dev/viewer/?uri=github.com/vercel/turbo)
|
| [eslint-plugin-turbo](https://togithub.com/vercel/turbo)
([source](https://togithub.com/vercel/turbo/tree/HEAD/packages/eslint-plugin-turbo))
| devDependencies | major | [`1.13.4` ->
`2.0.3`](https://renovatebot.com/diffs/npm/eslint-plugin-turbo/1.13.4/2.0.3)
| [![OpenSSF
Scorecard](https://api.securityscorecards.dev/projects/github.com/vercel/turbo/badge)](https://securityscorecards.dev/viewer/?uri=github.com/vercel/turbo)
|
| [turbo](https://turbo.build/repo)
([source](https://togithub.com/vercel/turbo)) | devDependencies | major
| [`1.13.4` ->
`2.0.3`](https://renovatebot.com/diffs/npm/turbo/1.13.4/2.0.3) |
[![OpenSSF
Scorecard](https://api.securityscorecards.dev/projects/github.com/vercel/turbo/badge)](https://securityscorecards.dev/viewer/?uri=github.com/vercel/turbo)
|

---

### Release Notes

<details>
<summary>vercel/turbo (@&#8203;turbo/gen)</summary>

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

[Compare
Source](https://togithub.com/vercel/turbo/compare/v2.0.2...v2.0.3)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v2.0.3 -->

#### What's Changed

##### turbo-ignore

- fix(turbo-ignore): infer correct version of turbo for project by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8363

##### Changelog

- feat: warn when no local turbo found by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8356

**Full Changelog**:
vercel/turbo@v2.0.2...v2.0.3

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

[Compare
Source](https://togithub.com/vercel/turbo/compare/v2.0.1...v2.0.2)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v2.0.2 -->

#### What's Changed

##### [@&#8203;turbo/codemod](https://togithub.com/turbo/codemod)

- fix(turborepo): factor in negated globs for workspace detection in
codemods by [@&#8203;NicholasLYang](https://togithub.com/NicholasLYang)
in
[vercel/turbo#8331

##### Examples

- Bump examples to 2.0.0. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[vercel/turbo#8284

##### Changelog

- feat(ui): respect CI and NO_COLOR as overrides for TUI by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8335
- fix(ui): no longer attempt to read from stdin if non-tty by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8333
- fix: correctly serialize ui values by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8338
- fix: add NODE_OPTIONS to default pass through env vars by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8353
- chore: add additional env vars to default pass through by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8359
- fix(ui): disable TUI if log order is specified by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8343

#### New Contributors

- [@&#8203;dvoytenko](https://togithub.com/dvoytenko) made their first
contribution in
[vercel/turbo#8334

**Full Changelog**:
vercel/turbo@v2.0.1...v2.0.2

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

[Compare
Source](https://togithub.com/vercel/turbo/compare/v2.0.0...v2.0.1)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v2.0.1 -->

**Full Changelog**:
vercel/turbo@v2.0.0...v2.0.1

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

[Compare
Source](https://togithub.com/vercel/turbo/compare/v1.13.4...v2.0.0)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v2.0.0 -->

#### What's Changed

Upgrade guide:
https://turbo.build/repo/docs/crafting-your-repository/upgrading

##### [@&#8203;turbo/codemod](https://togithub.com/turbo/codemod)

- feat(codemod): add logic for major version bump by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8260
- feat(codemod): place tasks last in turbo.json rewrites by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8268
- fix(codemod): support jsonc when parsing root turbo.json by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8279
- fix(codemod): respect --dry flag by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8280
- feat: change values of "ui" in turbo.json by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8289
- fix(codemod): support jsonc when parsing root turbo.json by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8279
- feat(codemod): place tasks last in turbo.json rewrites by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8268
- feat(codemod): add logic for major version bump by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8260
- feat(codemod): add missing package names by
[@&#8203;tknickman](https://togithub.com/tknickman) in
[vercel/turbo#8186

##### Changelog

##### Breaking

- chore: remove legacy filter flags by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8294
- chore(turborepo): adjust error message for pipeline by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8264
- chore(turbo)!: remove check for legacy turbo config in package.json by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#8023
- chore(turbo)! hard error on env vars in task and global dependencies
by [@&#8203;mehulkar](https://togithub.com/mehulkar) in
[#&#8203;8026](https://togithub.com/vercel/turbo/issues/8026)
- feat: require packageManager in package.json by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8017](https://togithub.com/vercel/turbo/issues/8017)
- feat(filter): no longer infer scope in filters by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8137](https://togithub.com/vercel/turbo/issues/8137)
- chore!(create-turbo): remove old pm arg by
[@&#8203;tknickman](https://togithub.com/tknickman) in
[#&#8203;8150](https://togithub.com/vercel/turbo/issues/8150)
- feat: error on empty package name by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski)
[#&#8203;8152](https://togithub.com/vercel/turbo/issues/8152)
- feat(filter): error on invalid filters by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski)
[#&#8203;8142](https://togithub.com/vercel/turbo/issues/8142)
- Move fs cache location. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[#&#8203;8126](https://togithub.com/vercel/turbo/issues/8126)
- refactor(turborepo): Rename outputMode to outputLogs in turbo.json by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[#&#8203;8149](https://togithub.com/vercel/turbo/issues/8149)
- feat: --only now applies to package dependencies by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8163](https://togithub.com/vercel/turbo/issues/8163)
- Rename pipeline to tasks. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[#&#8203;8157](https://togithub.com/vercel/turbo/issues/8157)
- feat: add doublestar to exact dir paths by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8180](https://togithub.com/vercel/turbo/issues/8180)
- chore: remove globalDotEnv and dotEnv fields by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8181](https://togithub.com/vercel/turbo/issues/8181)
- chore: make env mode strict by default by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8182](https://togithub.com/vercel/turbo/issues/8182)

##### Other

- feat: allow for negative globs in globalDeps by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8190](https://togithub.com/vercel/turbo/issues/8190)
- chore: change turborepo licenses to MIT by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8197](https://togithub.com/vercel/turbo/issues/8197)
- feat: all dependencies of root package contribute to global hash by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8202](https://togithub.com/vercel/turbo/issues/8202)
- fix(turborepo): non-determinism with root internal deps hash. by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8277
- fix: update integration test to expect correct output by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8285
- chore: remove cpuprofile flag by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8282
- fix(ui): disable UI on all dry runs by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8269
- fix(turborepo): stderr log by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8267
- chore(turborepo): adjust error message for pipeline by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8264
- fix(ui): ensure prelude gets printed before ui starts by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8265
-
chore([@&#8203;turbo/benchmark](https://togithub.com/turbo/benchmark)):
fix lint warnings by [@&#8203;mehulkar](https://togithub.com/mehulkar)
in
[vercel/turbo#8233
- chore(turborepo): Feature flagged off file hashing by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8229
- chore: downgrade curl to fix Windows rust tests by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8242
- fix(turborepo): Remove optional git locks by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8244
- fix(turborepo): Optional lock with env var by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8247
- add two retry strategies to allow requests to timeout gracefully by
[@&#8203;arlyon](https://togithub.com/arlyon) in
[vercel/turbo#8080
- add support for upload speed / remaining in the cache upload step by
[@&#8203;arlyon](https://togithub.com/arlyon) in
[vercel/turbo#8081
- chore: remove --ignore flag by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8201
- feat: factor engines into global cache key by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8173](https://togithub.com/vercel/turbo/issues/8173)

**Full Changelog**:
vercel/turbo@v1.13.4...v2.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->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/InReach).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoiZGV2IiwibGFiZWxzIjpbImF1dG9tZXJnZSIsImRlcGVuZGVuY2llcyIsImtvZGlhazogbWVyZ2UubWV0aG9kID0gJ3NxdWFzaCciXX0=-->

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Joe Karow <58997957+JoeKarow@users.noreply.github.com>
fwouts added a commit to fwouts/previewjs that referenced this pull request Jun 21, 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 |
|---|---|---|---|---|---|
| [turbo](https://turbo.build/repo)
([source](https://togithub.com/vercel/turbo)) | [`^1.13.4` ->
`^2.0.4`](https://renovatebot.com/diffs/npm/turbo/1.13.4/2.0.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/turbo/2.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/turbo/2.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/turbo/1.13.4/2.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/turbo/1.13.4/2.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://togithub.com/vercel/turbo/compare/v2.0.3...v2.0.4)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v2.0.4 -->

#### What's Changed

##### create-turbo

- Update `create-turbo` to use carat versions. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[vercel/turbo#8448

##### [@&#8203;turbo/codemod](https://togithub.com/turbo/codemod)

- chore: bump timeout for migration by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8463
- fix([@&#8203;turbo/codemode](https://togithub.com/turbo/codemode)):
no-op when turbo.json already contains tasks key by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#8471

##### Examples

- Give examples carat versions. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[vercel/turbo#8382
- Fix apk order in example. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[vercel/turbo#8392
- Fix `eslint-config-turbo` configuration in examples. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[vercel/turbo#8405
- Remove root eslintrc from basic example. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[vercel/turbo#8423
- Consistent Node.js version in Changesets action. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[vercel/turbo#8441
- Remove global dep from basic example. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[vercel/turbo#8442

##### Changelog

- fix(filter): account for root internal dependencies in git based
filter by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8364
- Warn instead of print when no locally installed version. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[vercel/turbo#8384
- Add CI to default passthroughs. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[vercel/turbo#8393
- feat(shim): invoke local turbo version via npx if not installed by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8385
- docs: update links to logs in turbo types by
[@&#8203;boyum](https://togithub.com/boyum) in
[vercel/turbo#8403
- fix: added `LD_LIBRARY_PATH` to default forwarded env vars by
[@&#8203;GauBen](https://togithub.com/GauBen) in
[vercel/turbo#8412
- chore(turborepo): remove unused code by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8428
- fix: disable panic handler in ci by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8436
- fix: remove inferring turbo version from package.json or turbo.json by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8437
- fix(turborepo): avoid starting ui on too small terminals by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8457
- chore(shim): make dynamic downloads opt in by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8458
- fix(shim): avoid panic if user has malformed lockfile by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8461
- fix(ui): pass through terminal env vars to appease chalk by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8468

#### New Contributors

- [@&#8203;boyum](https://togithub.com/boyum) made their first
contribution in
[vercel/turbo#8403
- [@&#8203;GauBen](https://togithub.com/GauBen) made their first
contribution in
[vercel/turbo#8412
- [@&#8203;sethidden](https://togithub.com/sethidden) made their first
contribution in
[vercel/turbo#8450

**Full Changelog**:
vercel/turbo@v2.0.3...v2.0.4

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

[Compare
Source](https://togithub.com/vercel/turbo/compare/v2.0.2...v2.0.3)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v2.0.3 -->

#### What's Changed

##### turbo-ignore

- fix(turbo-ignore): infer correct version of turbo for project by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8363

##### Changelog

- feat: warn when no local turbo found by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8356

**Full Changelog**:
vercel/turbo@v2.0.2...v2.0.3

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

[Compare
Source](https://togithub.com/vercel/turbo/compare/v2.0.1...v2.0.2)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v2.0.2 -->

#### What's Changed

##### [@&#8203;turbo/codemod](https://togithub.com/turbo/codemod)

- fix(turborepo): factor in negated globs for workspace detection in
codemods by [@&#8203;NicholasLYang](https://togithub.com/NicholasLYang)
in
[vercel/turbo#8331

##### Examples

- Bump examples to 2.0.0. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[vercel/turbo#8284

##### Changelog

- feat(ui): respect CI and NO_COLOR as overrides for TUI by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8335
- fix(ui): no longer attempt to read from stdin if non-tty by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8333
- fix: correctly serialize ui values by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8338
- fix: add NODE_OPTIONS to default pass through env vars by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8353
- chore: add additional env vars to default pass through by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8359
- fix(ui): disable TUI if log order is specified by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8343

#### New Contributors

- [@&#8203;dvoytenko](https://togithub.com/dvoytenko) made their first
contribution in
[vercel/turbo#8334

**Full Changelog**:
vercel/turbo@v2.0.1...v2.0.2

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

[Compare
Source](https://togithub.com/vercel/turbo/compare/v2.0.0...v2.0.1)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v2.0.1 -->

**Full Changelog**:
vercel/turbo@v2.0.0...v2.0.1

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

[Compare
Source](https://togithub.com/vercel/turbo/compare/v1.13.4...v2.0.0)

<!-- Release notes generated using configuration in
.github/turborepo-release.yml at v2.0.0 -->

#### What's Changed

Upgrade guide:
https://turbo.build/repo/docs/crafting-your-repository/upgrading

##### [@&#8203;turbo/codemod](https://togithub.com/turbo/codemod)

- feat(codemod): add logic for major version bump by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8260
- feat(codemod): place tasks last in turbo.json rewrites by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8268
- fix(codemod): support jsonc when parsing root turbo.json by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8279
- fix(codemod): respect --dry flag by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8280
- feat: change values of "ui" in turbo.json by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8289
- fix(codemod): support jsonc when parsing root turbo.json by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8279
- feat(codemod): place tasks last in turbo.json rewrites by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8268
- feat(codemod): add logic for major version bump by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8260
- feat(codemod): add missing package names by
[@&#8203;tknickman](https://togithub.com/tknickman) in
[vercel/turbo#8186

##### Changelog

##### Breaking

- chore: remove legacy filter flags by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8294
- chore(turborepo): adjust error message for pipeline by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8264
- chore(turbo)!: remove check for legacy turbo config in package.json by
[@&#8203;mehulkar](https://togithub.com/mehulkar) in
[vercel/turbo#8023
- chore(turbo)! hard error on env vars in task and global dependencies
by [@&#8203;mehulkar](https://togithub.com/mehulkar) in
[#&#8203;8026](https://togithub.com/vercel/turbo/issues/8026)
- feat: require packageManager in package.json by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8017](https://togithub.com/vercel/turbo/issues/8017)
- feat(filter): no longer infer scope in filters by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8137](https://togithub.com/vercel/turbo/issues/8137)
- chore!(create-turbo): remove old pm arg by
[@&#8203;tknickman](https://togithub.com/tknickman) in
[#&#8203;8150](https://togithub.com/vercel/turbo/issues/8150)
- feat: error on empty package name by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski)
[#&#8203;8152](https://togithub.com/vercel/turbo/issues/8152)
- feat(filter): error on invalid filters by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski)
[#&#8203;8142](https://togithub.com/vercel/turbo/issues/8142)
- Move fs cache location. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[#&#8203;8126](https://togithub.com/vercel/turbo/issues/8126)
- refactor(turborepo): Rename outputMode to outputLogs in turbo.json by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[#&#8203;8149](https://togithub.com/vercel/turbo/issues/8149)
- feat: --only now applies to package dependencies by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8163](https://togithub.com/vercel/turbo/issues/8163)
- Rename pipeline to tasks. by
[@&#8203;anthonyshew](https://togithub.com/anthonyshew) in
[#&#8203;8157](https://togithub.com/vercel/turbo/issues/8157)
- feat: add doublestar to exact dir paths by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8180](https://togithub.com/vercel/turbo/issues/8180)
- chore: remove globalDotEnv and dotEnv fields by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8181](https://togithub.com/vercel/turbo/issues/8181)
- chore: make env mode strict by default by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8182](https://togithub.com/vercel/turbo/issues/8182)

##### Other

- feat: allow for negative globs in globalDeps by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8190](https://togithub.com/vercel/turbo/issues/8190)
- chore: change turborepo licenses to MIT by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8197](https://togithub.com/vercel/turbo/issues/8197)
- feat: all dependencies of root package contribute to global hash by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8202](https://togithub.com/vercel/turbo/issues/8202)
- fix(turborepo): non-determinism with root internal deps hash. by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8277
- fix: update integration test to expect correct output by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8285
- chore: remove cpuprofile flag by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8282
- fix(ui): disable UI on all dry runs by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8269
- fix(turborepo): stderr log by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8267
- chore(turborepo): adjust error message for pipeline by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8264
- fix(ui): ensure prelude gets printed before ui starts by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8265
-
chore([@&#8203;turbo/benchmark](https://togithub.com/turbo/benchmark)):
fix lint warnings by [@&#8203;mehulkar](https://togithub.com/mehulkar)
in
[vercel/turbo#8233
- chore(turborepo): Feature flagged off file hashing by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8229
- chore: downgrade curl to fix Windows rust tests by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8242
- fix(turborepo): Remove optional git locks by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8244
- fix(turborepo): Optional lock with env var by
[@&#8203;NicholasLYang](https://togithub.com/NicholasLYang) in
[vercel/turbo#8247
- add two retry strategies to allow requests to timeout gracefully by
[@&#8203;arlyon](https://togithub.com/arlyon) in
[vercel/turbo#8080
- add support for upload speed / remaining in the cache upload step by
[@&#8203;arlyon](https://togithub.com/arlyon) in
[vercel/turbo#8081
- chore: remove --ignore flag by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[vercel/turbo#8201
- feat: factor engines into global cache key by
[@&#8203;chris-olszewski](https://togithub.com/chris-olszewski) in
[#&#8203;8173](https://togithub.com/vercel/turbo/issues/8173)

**Full Changelog**:
vercel/turbo@v1.13.4...v2.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->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/fwouts/previewjs).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: François Wouts <f@zenc.io>
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

6 participants