Skip to content

Yarn redownloads/rebuilds binaries when adding/removing unrelated packages. #5493

@karacaenes

Description

@karacaenes

Do you want to request a feature or report a bug?
Bug.

What is the current behavior?
Yarn redownloads or rebuilds binaries on each yarn add or yarn remove which can take substantial time depending on the packages.

If the current behavior is a bug, please provide the steps to reproduce.

  • Simplified steps to reproduce: start with empty directory.
  • Open cmd/git bash/powershell
  • yarn add uws
    • yarn add v1.5.1
      info No lockfile found.
      [1/4] Resolving packages...
      [2/4] Fetching packages...
      [3/4] Linking dependencies...
      [4/4] Building fresh packages...
      success Saved lockfile.
      success Saved 1 new dependency.
      info Direct dependencies
      └─ uws@9.14.0
      info All dependencies
      └─ uws@9.14.0
      Done in 9.44s.
      
  • Add an arbitrary unrelated package without no shared dependencies: yarn add split.js
    • yarn adds the package, rebuilds uws
    • yarn add v1.5.1
      warning package.json: No license field
      warning No license field
      [1/4] Resolving packages...
      [2/4] Fetching packages...
      [3/4] Linking dependencies...
      [4/4] Building fresh packages...
      [1/1] ⠂ uws
      [-/1] ⠂ waiting...
      .....
      ..... 
      ..... After yarn finishes:
      success Saved 1 new dependency.
      info Direct dependencies
      └─ split.js@1.3.5
      info All dependencies
      └─ split.js@1.3.5
      warning No license field
      Done in 10.05s.
      
      
  • yarn remove split.js builds uws again.

What is the expected behavior?

  • Not rebuild unrelated packages

Please mention your node.js, yarn and operating system version.
Node v8.9.3
Yarn 1.5.1
Windows 10 Build 16299

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions