Update yarn monorepo - autoclosed #22
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^3.0.0-rc.42->^3.2.03.5.0->3.8.7Release Notes
yarnpkg/berry (@yarnpkg/sdks)
v3.2.0Compare Source
Various improvements have been made in the core to improve performance. Additionally:
Commands
yarn workspaces foreach runcommand is now able to run binaries.yarn npm infocommand now supports displaying information about a tagged version of a package (e.g.yarn npm info vue@next).yarn explaincommand has been added. It can be used to explain an error code, or list all available error codes.yarn explain YN0002.yarn npm publishcommand now accepts a new--otpoption, to set the One-Time Password from the CLI.yarn upgrade-interactivenow has improved paging:Installs
node_modulesis a symbolic link, and doesn't recreate it.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).node_modules/.storeandnode_modulesfolders if they are empty.node_modules/@​yarnpkg) if they are empty or after removing a scoped dependency..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
${FOO:+}.readandreadSyncusing options.pathproperty on streams created bycreateReadStream()and obtained from zip archives.ERR_REQUIRE_ESMerror when attempting to require an ES Module, matching the default Node.js behaviour.Bugfixes
@yarnpkg/pnpifynow escapes paths correctly.nodefield inside thenpm_config_user_agentYarn sets will now include a leadingv.platformisn't set to Node.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
Miscellaneous Features
wrapNetworkRequesthook now lets you wrap network requests (for example to log them).v3.1.3Compare Source
v3.1.2Compare Source
v3.1.1Compare Source
v3.1.0Compare Source
Commands
yarn workspaces listandyarn workspaces foreachcommands now both support a new--sinceoption that lets you filter the workspace list by changes (only workspaces that changed since the specified commit will be iterated on). This feature is still a little experimental, especially when used with-R,--recursive.yarn workspaces foreachcommand now handles the fact that a script containing:only becomes global if it exists in exactly one workspace.yarn workspaces foreachcommand now supports--jobs 1and--jobs unlimited.yarn init -2command will now add thepackageManagerfield to your project manifest.Settings
patternmatcher fromlogFilterswill now match any part of the log entry.Installs
nodeLinker: pnpmmode will let you install packages using the pnpm install strategy, where packages are stored flat and referenced by each others through symlinks. This mode is still a little experimental, so please send our way bugs you might find.supportedArchitecturesfield to manually enforce the presence of specific architectures.nmMode: hardlinks-globalsetting will now be automatically downgraded tonmMode: hardlinks-localwhen global caches and install folders are kept on different devices, thus letting the install continue normally. A warning will still be produced explaining this behaviour.node_moduleslinker maximizes chances to end-up with only one top-level node_modules in the case of using workspacesnmSelfReferencessetting has been added to the nm linker to control whether workspaces are allowed to require themselves - results in creation of self-referencing symlinks.yarn workspaces focuswill not create self-referencing symlinks for excluded workspaces anymore.node_modulesinstalls.Miscellaneous Features
workspace:^andworkspace:~. When published, those markers will turn into the actual version (just like what used to happen withworkspace:*), except that they'll be prefixed with the relevant semver prefix (respectively^and~).npmAuditRegistrysetting will let you define which registry to use when running audits. If unset, we'll fallback to the currently configured publish registry (we'll likely change this behavior in Yarn 4 to rather use the fetch registry).Bugfixes
node_modulesinstalls will now be given priority during hoisting, preventing cases when indirect regular dependencies would block the way for direct portal dependencies.pnpifybinary can now be used from inside directories containing spaces.--versionstring.node-moduleslinker.node-moduleslinker, since they cannot be used from the code anyway.fsmodule, allowing users to patch it.require.resolve('pnpapi')will be handled correctly even when usingexports.yarn runimmediately after adding or removing dependencies inside large monorepos.@typesversion. This matches the behaviour for peer dependencies.Compatibility
pnpEnableEsmLoader.resolvewill no longer resolve missing modules to a file with the same name that would happen to be located next to the issuer.v3.0.0Compare Source
Breaking Changes
yupanymore (we migrated to Typanion as part of Clipanion v3).workspace-tools, remove it from your.yarnrc.yml, upgrade, then import it back.enableImmutableInstallswill now default totrueon CI (we still recommend to explicitly use--immutableon the CLI).YARN_ENABLE_IMMUTABLE_INSTALLS=falsein your environment variables.initVersionandinitLicenseconfiguration options have been removed.initFieldsshould be used instead..pnp.cjsfiles (instead of.pnp.js) when using PnP, regardless of what thetypefield inside the manifest is set to.$$virtualinto__virtual__.-aalias flag ofyarn workspaces foreachgot removed; use-A,--allinstead, which is strictly the same..vscode/pnpify) won't be cleaned up anymore.--skip-buildsflag fromyarn installgot renamed into--mode=skip-build.bstatePathconfiguration option has been removed. The build state (.yarn/build-state.yml) has been moved into the install state (.yarn/install-state.gz)@yarnpkg/pnpifyhas been refactored into 3 packages:@yarnpkg/sdksnow contains the Editor SDKs@yarnpkg/pnpifynow contains the PnPify CLI compatibility tool that creates in-memorynode_modules@yarnpkg/nmnow contains thenode_modulestree builder and hoister@yarnpkg/plugin-node-moduleshas been renamed to@yarnpkg/plugin-nm--clipanion=definitionscommands supported by our CLIs will now expose the definitions on the entry point (rather than on.command)API
structUtils.requirableIdentgot removed; usestructUtils.stringifyIdentinstead, which is strictly the same.configuration.formatgot removed; useformatUtils.prettyinstead, which is strictly the same, but type-safe.httpUtils.Options['json']got removed; usehttpUtils.Options['jsonResponse']instead, which is strictly the same.PackageExtension['description']got removed, useformatUtils.json(packageExtension, formatUtils.Type.PACKAGE_EXTENSION)instead, which is strictly the same.Project.generateBuildStateFilehas been removed, the build state is now inProject.storedBuildState.Project.tryWorkspaceByDescriptorandProject.getWorkspaceByDescriptornow match on virtual descriptors.Installs
Workspaces now get self-references even when under the
node-moduleslinker (just like how it already worked with thepnplinker). This means that a workspace calledfoocan now safely assume that calls torequire('foo/package.json')will always work, removing the need for absolute aliases in the majority of cases.The node-modules linker now does its best to support the
portal:protocol. This support comes with two important limitations:--preserve-symlinksNode option if they wish to access their dependencies.portal:must be hoisted outside of the portal. Failing that (for example if the portal package depends on something incompatible with the version hoisted via another package), the linker will produce an error and abandon the install.The node-modules linker can now utilize hardlinks. The new setting
nmMode: classic | hardlinks-local | hardlinks-globalspecifies whichnode_modulesstrategy should be used:classic- standardnode_moduleslayout, without hardlinkshardlinks-local- standardnode_moduleslayout with hardlinks inside the project onlyhardlinks-global- standardnode_moduleslayout with hardlinks pointing to global content storage across all the projects using this optionBugfixes
node-moduleslinker will now ensure that the generated install layouts are terminal, by doing several rounds when needed.node-moduleslinker will no longer print warnings about postinstall scripts when a workspace depends on another workspace listing install scripts.${ENV_VAR}syntax.preinstall,install,postinstallfail, the remaining scripts will be skipped.git:protocol will now default to fetchingHEAD(rather than the hardcodedmaster).SIGTERMsignal will now be propagated to child processes.yarn config unsetwill now correctly unset non-nested propertiesSettings
initFieldsedge cases have been fixed.preferAggregateCacheInfoflag will now also aggregate cleanup reports.enableMessageNamesflag can be set tofalseto exclude theYNxxxxfrom the output.Commands
yarn initcan now be run even from within existing projects (will create missing files).yarn initandyarn set versionwill set thepackageManagerfield.yarn set versionnow downloads binaries from the official Yarn website (rather than GitHub).yarn set version from sourceswill now upgrade the builtin plugins as well unless--skip-pluginsis set.yarn version applynow supports a new--prereleaseflag which replaces how prereleases were previously handled.yarn runshould be significantly faster to boot on large projects.yarn workspaces foreach --verbosewill now print when processes start and end, even if they don't have an output.yarn workspaces foreachnow supports a--from <glob>flag, which when combined with-Rwill target workspaces reachable from the 'from' glob.yarn patch-commitcan now be used as many times as you want on the same patch folder.yarn patch-commitnow supports a new-s,--saveflag which will save the patch instead of just printing it.yarn upnow supports a new-R,--recursiveflag which will upgrade the specified package, regardless where it is.yarn config unsetis a new command that will remove a setting from the local configuration (or home if-His set).yarn execgot support for running shell scripts using Yarn's portable shell.yarn plugin importcan now install specific versions of the official plugins.yarn plugin importwill now download plugins compatible with the current CLI by default.yarn unlinkhas been added which removes resolutions previously set byyarn link.Builtin Shell
Compatibility
yarn installinside a Yarn v1 project will now automatically enable thenode-moduleslinker. This should solve most of the problems people have had in their migrations. We still recommend to keep the default PnP for new projects, but the choice is yours.bigint, andfstat.@yarnpkg/esbuild-plugin-pnp. We use it to bundle Yarn itself!exportsfield - regardless of the Node version.node:protocol (new in Node 16)pluginsconfiguration property.Miscellaneous
v3.0.0-rc.53Compare Source
v3.0.0-rc.52Compare Source
v3.0.0-rc.51Compare Source
v3.0.0-rc.50Compare Source
v3.0.0-rc.49Compare Source
v3.0.0-rc.48Compare Source
v3.0.0-rc.47Compare Source
v3.0.0-rc.46Compare Source
v3.0.0-rc.45Compare Source
v3.0.0-rc.44Compare Source
v3.0.0-rc.43Compare Source
yarnpkg/berry (yarn)
v3.8.7Compare Source
v3.8.6Compare Source
v3.8.5Compare Source
v3.8.4Compare Source
v3.8.3Compare Source
v3.8.2Compare Source
v3.8.1Compare Source
v3.8.0Compare Source
v3.7.0Compare Source
v3.6.4Compare Source
v3.6.3Compare Source
v3.6.2Compare Source
v3.6.1Compare Source
v3.6.0Compare Source
v3.5.1Compare Source
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.