Skip to content

turbopack-230720.1

@chris-olszewski chris-olszewski tagged this 20 Jul 01:03
### Description

Fixes #5441 

Adds support for [referencing workspaces through
aliases](https://pnpm.io/workspaces#referencing-workspace-packages-through-aliases)
by properly resolving them to the correct workspace. Before we would
mark a package as being an external dependency (or if the alias was a
valid workspace depend on the incorrect one).

This PR now recognizes when `workspace:` dependency references a
different package than the name that's used in the `package.json`.

Note for reviewers:
This probably isn't the cleanest solution in either Rust or Go, but
while we need to maintain two codepaths this keeps the code roughly
equivalent.

### Testing Instructions

Added unit tests on the Go side.

Tested manually with a repository where `web` specified it's dependency
on `@scope/ui` as `"ui": "workspace:@scope/ui@*" and verified that:
- `turbo run build`: `@scope/ui` finished building before building
`web`, this hits the Go impl
- `turbo prune --scope=web`: `@scope/ui` was included in the pruned
repository, this hits the Rust impl

---------

Co-authored-by: Chris Olszewski <Chris Olszewski>
Assets 2
Loading