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

Rebase 2.0 branch #7974

Closed
wants to merge 43 commits into from
Closed

Rebase 2.0 branch #7974

wants to merge 43 commits into from

Conversation

chris-olszewski
Copy link
Contributor

@chris-olszewski chris-olszewski commented Apr 15, 2024

Description

Testing Instructions

Closes TURBO-2811

chris-olszewski and others added 30 commits April 2, 2024 18:03
### Description

Fixes bug from port where `...` filter would only select immediate
dependencies.

In Go we used
[`graph.Ancestors`](https://github.com/vercel/turbo/blob/v1.10.3/cli/internal/scope/filter/filter.go#L182)
which performs a full DFS, not just immediate ancestors. This PR updates
so we do the same in Rust.

### Testing Instructions

Added unit test that uses `...` filter on a project with transitive
dependencies.


We already have test cases for the reverse case of [including reverse
dependants](https://github.com/vercel/turbo/blob/main/crates/turborepo-lib/src/run/scope/filter.rs#L806)

For good measure did a manual check in repo with following dep chain:
`docs -> @repo/ui -> foo`

```
[0 olszewski@chriss-mbp] /tmp/dingus $ turbo_dev --skip-infer build --filter=docs... --output-logs=errors-only --no-daemon     
• Packages in scope: @repo/eslint-config, @repo/typescript-config, @repo/ui, docs, foo
• Running build in 5 packages
• Remote caching disabled

 Tasks:    2 successful, 2 total
Cached:    2 cached, 2 total
  Time:    149ms >>> FULL TURBO

[0 olszewski@chriss-mbp] /tmp/dingus $ turbo_dev --skip-infer build --filter=...foo --output-logs=errors-only --no-daemon  
• Packages in scope: @repo/ui, docs, foo, web
• Running build in 4 packages
• Remote caching disabled

 Tasks:    3 successful, 3 total
Cached:    2 cached, 3 total
  Time:    9.829s 
```

Closes TURBO-2749
Co-authored-by: Turbobot <turbobot@vercel.com>
### Description

 - sets `COREPACK_ENABLE_DOWNLOAD_PROMPT=0` for the integration tests

Newer versions of `corepack` have extra text output when downloading a
version, but the environment variable can disable it

### Testing Instructions

Observe GH Actions integration tests passing.

Closes TURBO-2753

Co-authored-by: Greg Soltis <Greg Soltis>
### Description

Added a watcher in `FileWatching` to watch for file changes and map them
to packages. Currently you can run this via `turbo daemon watch` but
eventually this will be used for watch mode.

### Testing Instructions
Run the daemon and use `turbo daemon watch` to see the changed package
events as you change files.


Closes TURBO-2499
### Description

We need to bump the Rust version to use the latest biome crates.

### Testing Instructions

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


Closes TURBO-2739

---------

Co-authored-by: Will Binns-Smith <wbinnssmith@gmail.com>
### Description

Ultra-defensive config loading
### Description

Anonymous usage metrics for turbo-ignore. Will help inform future
roadmap for the tool.
### Description

provide correct conditions for edge
### Testing Instructions

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


Closes PACK-2915
### Description

Fixed the problem of @repo/logger not watching for changes. I think a
part of this issue would also be fixed
#7871.

### Testing Instructions

After running the dev script of the monorepo, making changes in logger
package and saving it should result in building the logger package once
more.
### Description

Closes PACK-1006

I added `fragment` to variants of `Request`

### Testing Instructions

I'm not sure about the way to test

---------

Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
### Description

Removes the `gatsby-plugin-pnpm` dependency because:
1) It doesn't look like it is needed. `turbo build` and `turbo dev`
still work.
2) It makes `npm` installation crash.

### Reviewer guide

Note that the only substantive changes are `web/package.json` and
`web/gatsby-config.ts`. The rest are from npm re-ordering the dependency
lists, package manager cleanup, and the lockfile updating.


Closes TURBO-2769
…7914)

### Description

Some libraries unfortunately use the "deprecated" babel way to import
cjs dependencies.

`a.js`
```js
module.exports = () => {};
```

`b.js`
```js
import * as ns from "./a.cjs";

ns();
```
…#7409)

### Description

Should improve compile times marginally, also added the new parallel
frontend.

Also includes some clippy fixes (`cargo-groups` seems to be broken).

`turbopack-cli`: 761 -> 719 compilation units
`turbo`: 574 -> 564 compilation units

Closes PACK-2525
### Description

That's useless

### Testing Instructions

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


Closes PACK-2922
### Description

This is not fully correct. Removing it.

<!--
  ✍️ Write a short summary of your work.
  If necessary, include relevant screenshots.
-->

### Testing Instructions

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

While this is still true for some cases it's not the case all the time.
Removing for correctness.

<!--
  ✍️ Write a short summary of your work.
  If necessary, include relevant screenshots.
-->

### Testing Instructions

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

Updates the Turbopack CSS documentation to reflect reality.

<!--
  ✍️ Write a short summary of your work.
  If necessary, include relevant screenshots.
-->

### Testing Instructions

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

Make sure name is consistent.

<!--
  ✍️ Write a short summary of your work.
  If necessary, include relevant screenshots.
-->

### Testing Instructions

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

---------

Co-authored-by: Maia Teegarden <dev@padmaia.rocks>
### Description

Update SWC crates.


1. To keep in sync
2. Prepare usage of source map range mappings.
getsentry/rust-sourcemap#77


### Testing Instructions

See next.js counterpart.

vercel/next.js#63790

Closes PACK-2861
### Description

<!--
  ✍️ Write a short summary of your work.
  If necessary, include relevant screenshots.
-->

### Testing Instructions

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


Closes PACK-2938
### Description

<!--
  ✍️ Write a short summary of your work.
  If necessary, include relevant screenshots.
-->

### Testing Instructions

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


Closes PACK-2939
### Description

This should prevent issues when an external module is removed from the
require cache leading to 2 version used from the bundle.
…getting started" and starter repo (#7911)

### Description

This commit uses the `@repo/` pattern in `math-helpers` example,
consistent with the `@repo/` pattern used in the [getting
started](https://turbo.build/repo/docs/getting-started/create-new) page
and the starter repos.

### Testing Instructions

n/a, documentation change

Please verify that

- I have prefixed the package names correctly with `@repo/` 
- I did not prefix any folder names by accident!
### Description

- remove PassthroughModule
- remove GlobalCssAsset
- just return the inner asset directly without indirection

that fixes `import("global.css")`

### Testing Instructions

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

fixes PACK-961

Closes PACK-2864
ForsakenHarmony and others added 3 commits April 15, 2024 21:38
### Description

With watch mode, we want to be able to re-use a `Run` instance between
the different executions. We couldn't do this before since `Run::run`
would move the struct, but now we have it take a ref.

This does require putting the package inputs hashing into `Run::run`
instead of in the builder, but I think that's a better fit anyways. This
also pulls out analytics from the `Run` struct but that will also be
useful for watch mode, since we want to re-use the same analytics
handle.

### Testing Instructions

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


Closes TURBO-2779
### Description

eslint 9.0.0 has some breaking changes that our current fixture isn't
set up to support. This is [preventing us from
releasing](https://github.com/vercel/turbo/actions/runs/8693806507/job/23842782558#step:5:256)
new versions of `turbo`.

Future work is to update the fixture to work with eslint 9

### Testing Instructions

`turbo test --filter=eslint-plugin-turbo` now passes


Closes TURBO-2808
Copy link

vercel bot commented Apr 15, 2024

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

Name Status Preview Updated (UTC)
examples-nonmonorepo ✅ Ready (Inspect) Visit Preview Apr 15, 2024 9:19pm
9 Ignored Deployments
Name Status Preview Updated (UTC)
examples-basic-web ⬜️ Ignored (Inspect) Apr 15, 2024 9:19pm
examples-designsystem-docs ⬜️ Ignored (Inspect) Apr 15, 2024 9:19pm
examples-gatsby-web ⬜️ Ignored (Inspect) Apr 15, 2024 9:19pm
examples-kitchensink-blog ⬜️ Ignored (Inspect) Apr 15, 2024 9:19pm
examples-native-web ⬜️ Ignored (Inspect) Apr 15, 2024 9:19pm
examples-svelte-web ⬜️ Ignored (Inspect) Apr 15, 2024 9:19pm
examples-tailwind-web ⬜️ Ignored (Inspect) Apr 15, 2024 9:19pm
examples-vite-web ⬜️ Ignored (Inspect) Apr 15, 2024 9:19pm
rust-docs ⬜️ Ignored (Inspect) Apr 15, 2024 9:19pm

@chris-olszewski chris-olszewski marked this pull request as ready for review April 15, 2024 21:19
Copy link
Contributor

✅ This change can build next-swc

Copy link
Contributor

github-actions bot commented Apr 15, 2024

⚠️ CI failed ⚠️

The following steps have failed in CI:

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

See workflow summary for details

Copy link
Contributor

🟢 Turbopack Benchmark CI successful 🟢

Thanks

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