Update Yarn to v3.8.6
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
yarn (source) | packageManager | minor | 3.1.1 -> 3.8.6 |
Release Notes
yarnpkg/berry (yarn)
v3.8.6
v3.8.5
v3.8.4
v3.8.3
v3.8.2
v3.8.1
v3.8.0
v3.7.0
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.5.1
v3.5.0
v3.4.1
- Fixes an accidental backport error in
yarn init
.
v3.4.0
Node.js parity
- PnP now supports the Node
--conditions
flag. - PnP now supports the Node
--watch
flag on Node 18 (it previously only supported it on Node 19).
Bugfixes
- The PnP API module (
pnpapi
) can now be imported from ESM modules. -
ZipFS.prototype.getBufferAndClose
will not error on empty archives resulting from an unlink after write. - Fixes various issues around postinstall script inter-dependencies.
- Removes the message prefixes (
YN0000
) fromyarn workspaces foreach
.
Compatibility
- Updates the PnP compatibility layer for TypeScript v5.0.0-beta.
v3.3.1
v3.3.0
Installs
- The node-modules linker avoids creation of circular symlinks
- The node-modules linker no longer creates duplicate copies inside of aliased packages
- The node-modules linker locates binaries correctly when the same version of the package is duplicated inside root workspace and another workspace
- Improved performance for
hardlinks-global
node-modules
linker mode by 1.5x
Compatibility
- Updates the PnP compatibility layer for TypeScript v4.9.2-rc.
v3.2.4
Compatibility
- The patched filesystem now supports fchown.
- PnP now handles private import mappings.
- Updates the PnP compatibility layer for TypeScript v4.8.4 and v4.9.1-beta.
- PnP now reports loaded modules when in watch mode.
v3.2.3
Bugfixes
- When Corepack is enabled Yarn will now use the current CLI to prepare external Yarn classic projects, matching the behaviour of when Corepack is disabled.
Compatibility
- Updates the PnP compatibility layer for TypeScript 4.8.1-rc
- The ESM loader now supports unflagged JSON modules.
v3.2.2
Compatibility
- The patched filesystem now supports
ftruncate
. - The patched filesystem now supports
fchmod
. - The patched filesystem now supports
throwIfNoEntry
. - The PnP filesystem now handles most of the FileHandle methods
- Updates the PnP compatibility layer for TypeScript 4.8 Beta
- The
npm_package_json
environment variable is now set by Yarn.
v3.2.1
Installs
- The pnpm linker no longer tries to remove
node_modules
directory, whennode-modules
linker is active - The node-modules linker does not fail anymore if portal dependency points to an external project with multiple interdependent workspaces
- The node-modules linker has received various improvements:
- applies hoisting algorithm on aliased dependencies
- reinstalls modules that have their directories removed from node_modules by the user
- improves portal hoisting
- supports
supportedArchitectures
Bugfixes
- The PnP ESM loader is now able to handle symlinked extensionless entrypoints.
v3.2.0
Various improvements have been made in the core to improve performance. Additionally:
Commands
- The
yarn workspaces foreach run
command is now able to run binaries. - The
yarn npm info
command now supports displaying information about a tagged version of a package (e.g.yarn npm info vue@next
). - A new
yarn explain
command has been added. It can be used to explain an error code, or list all available error codes.- For example, try to run
yarn explain YN0002
.
- For example, try to run
- The
yarn npm publish
command now accepts a new--otp
option, to set the One-Time Password from the CLI.- A better error message will also be shown when a query fails due to an invalid OTP.
-
yarn upgrade-interactive
now has improved paging:- Yarn will display as many suggestions as can fit in the viewport (rather than a fixed-size list).
- The suggestions that fit in the viewport will be fetched in the foreground and will load one-by-one.
- The suggestions that don't will be fetched in the background and will be loaded in batches to increase responsiveness and reduce input lag.
- Most notably, you won't have to wait for all of the suggestions to be fetched (which took a very long time before on large monorepos) before you can start navigating through the list.
Installs
- The node-modules linker now tolerates if
node_modules
is a symbolic link, and doesn't recreate it. - On top of the
cpu
andarch
fields, Yarn now support a newlibc
field which can be used in tandem withoptionalDependencies
to avoid downloading packages that have been linked against incompatible standard libraries (we currently support two values:glibc
andmusl
). - The pnpm linker has received various improvements:
- It will now remove the
node_modules/.store
andnode_modules
folders if they are empty. - It now supports running binaries of soft links.
- It will now create self-references for packages that don't depend on other versions of themselves.
- It will now remove scope folders (e.g.
node_modules/@​yarnpkg
) if they are empty or after removing a scoped dependency.
- It will now remove the
- All
.pnp.cjs
files with inlined data will now store the data in a JSON string literal instead of an object literal to improve startup performance.
Compatibility
- The shell now treats backslashes same as Bash (so it mostly ignore them).
- Could potentially be a breaking change, but the old behavior caused portability issues with a few packages, so we had to make this change (especially since the portable shell is intended to help portability).
- The shell now supports
${FOO:+}
. - The PnP filesystem now handles
read
andreadSync
using options. - The PnP filesystem now handles UNC paths using forward slashes.
- The PnP filesystem now sets the proper
path
property on streams created bycreateReadStream()
and obtained from zip archives. - The PnP runtime now throws an
ERR_REQUIRE_ESM
error when attempting to require an ES Module, matching the default Node.js behaviour. - Updates the PnP compatibility layer for TypeScript 4.6 Beta (it's possible we'll need to publish another patch update once the 4.6 enters stable).
Bugfixes
-
@yarnpkg/pnpify
now escapes paths correctly. - The ESM loader is now enabled regardless of the entrypoint module type, this fixes support for dynamic imports in commonjs modules when the entrypoint is also commonjs.
- The ESM loader is now able to resolve relative imports with search parameters.
- The
node
field inside thenpm_config_user_agent
Yarn sets will now include a leadingv
. - Yarn is now able to recover from a corrupted install state.
- Yarn is now able to migrate classic lockfiles containing unconventional tarball URLs.
- The nm linker hoists portals after hoisting their dependencies first.
- Fixed a crash caused by a bad interaction between aliased packages and peer dependencies.
- The ESBuild plugin will no longer allow access to Node.js builtins if the
platform
isn't set to Node. - SemVer ranges with build metadata can now be resolved.
- The
YARN_IGNORE_NODE
environment variable will now be parsed using the same mechanism as env variable configuration settings (i.e. both1
/0
andtrue
/false
will be accepted)
ZipFS Extension
- You can now unmount zip folders by right-clicking on their workspaces.
Miscellaneous Features
- Reporting for Git errors has been improved.
- The resolution step now has a progress indicator.
- The experimental ESM loader warning emitted by Node.js is now suppressed.
- Private registries can now be authenticated using private keys and certificates.
- A new
wrapNetworkRequest
hook now lets you wrap network requests (for example to log them).
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.
Edited by Renovate Bot