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
--conditionsflag. - PnP now supports the Node
--watchflag 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.getBufferAndClosewill 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-globalnode-moduleslinker 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_jsonenvironment variable is now set by Yarn.
v3.2.1
Installs
- The pnpm linker no longer tries to remove
node_modulesdirectory, whennode-moduleslinker 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 runcommand is now able to run binaries. - The
yarn npm infocommand now supports displaying information about a tagged version of a package (e.g.yarn npm info vue@next). - A new
yarn explaincommand 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 publishcommand now accepts a new--otpoption, 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-interactivenow 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_modulesis a symbolic link, and doesn't recreate it. - On top of the
cpuandarchfields, Yarn now support a newlibcfield which can be used in tandem withoptionalDependenciesto avoid downloading packages that have been linked against incompatible standard libraries (we currently support two values:glibcandmusl). - The pnpm linker has received various improvements:
- It will now remove the
node_modules/.storeandnode_modulesfolders 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.cjsfiles 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
readandreadSyncusing options. - The PnP filesystem now handles UNC paths using forward slashes.
- The PnP filesystem now sets the proper
pathproperty on streams created bycreateReadStream()and obtained from zip archives. - The PnP runtime now throws an
ERR_REQUIRE_ESMerror 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/pnpifynow 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
nodefield inside thenpm_config_user_agentYarn 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
platformisn't set to Node. - SemVer ranges with build metadata can now be resolved.
- The
YARN_IGNORE_NODEenvironment variable will now be parsed using the same mechanism as env variable configuration settings (i.e. both1/0andtrue/falsewill 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
wrapNetworkRequesthook 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