Repository navigation
fix(deps): update minor updates (minor) - #1265
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
Contributor
|
Thank you for following the naming conventions! 🙏 |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
renovate
Bot
force-pushed
the
renovate/minor-updates
branch
from
November 6, 2026 11:31
75a2b21 to
fabec97
Compare
browserslist-config-anolilab
@anolilab/commitlint-config
@anolilab/eslint-config
@anolilab/lint-staged-config
@anolilab/oxfmt-config
@anolilab/oxlint-config
@anolilab/prettier-config
@anolilab/stylelint-config
@anolilab/textlint-config
commit: |
renovate
Bot
force-pushed
the
renovate/minor-updates
branch
from
November 10, 2026 11:30
fabec97 to
e913a0d
Compare
Signed-off-by: Renovate Bot <bot@renovateapp.com>
renovate
Bot
force-pushed
the
renovate/minor-updates
branch
from
November 13, 2026 09:43
e913a0d to
4192144
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
5.28.8→5.30.117.13.0→17.14.00.75.0→0.78.012.16.1→12.18.0Release Notes
Rel1cx/eslint-react (@eslint-react/eslint-plugin)
v5.30.1Compare Source
🐞 Fixes
react-x/no-duplicate-key: in.map()callbacks, all statically known keys are now treated as repeating, not only bare string literals.react-jsx/no-leaked-semicolon: same-line leaked semicolons after an expression container are now detected (ex:<div>{x};</div>,<div>{cond && <span />};</div>).🏗️ Internal
Full Changelog: Rel1cx/eslint-react@v5.30.0...v5.30.1
v5.30.0Compare Source
✨ New
@eslint-react/eslint-plugin: added theall-type-checkedpreset, which extendsallwith the rules that require type information. (#2095)@eslint-react/eslint-plugin: added the experimental@eslint-react/unstable-exhaustive-depsrule, forked fromexhaustive-deps, with ahooksoption modeled on Biome'suseExhaustiveDependencies(closureIndex/dependenciesIndexfor custom Hooks, andstableResultfor stable results). The rule lives in the unified plugin's ownsrc/ruleswhile incubating and is enabled in theallpreset (and thereby inall-type-checked). (#1698, #2078, #2095) Thanks to @dgesteves!react-x/set-state-in-effect: reworked around explicit effect roots, recursive value resolution, and a synchronous call graph. Stable aliases, multi-level helpers, named setups, IIFEs, anduseCallback/useMemo/useEffectEventwrappers now share one resolution path; indirect diagnostics point at the effect-side trigger and dedupe by setter sink; async functions remain deferred. (#2075)react-x/static-components: JSX member expression tags (ex:<Namespace.Bar />) are now analyzed. (#2114)🐞 Fixes
react-x/error-boundaries: optional-chainedcreateElementcalls are recognized as JSX-like return values. (#2084)react-x/no-direct-mutation-state: state assignments in nested constructor blocks (if, loops,try, and bare blocks) are no longer reported. (#2088)react-x/no-duplicate-key: only keys that provably have a duplicate are now reported. Unique siblings in a partially duplicate group (ex:[A, B, B]) are no longer reported, and duplicates followed by a unique key (ex:[A, A, B]) are now correctly reported; keys collected throughChildren.toArray()andChildren.map()are no longer reported; only elements returned by.map()callbacks are checked; literal keys are no longer overwritten by later keys; and.map()calls on array literals with at most one element are skipped. (#2108)react-x/no-duplicate-key: the fast-path text check now matches barekeyattributes and keys separated from=by whitespace (ex:<div key />,<div key = {id} />), so such elements are no longer silently skipped.react-x/no-missing-component-display-name:memocomponents passed to generic HOCs are recognized, so anonymous ones require a display name. (#2084)react-x/no-missing-context-display-name: the autofix now applies to exported contexts and no longer produces invalid syntax for multi-declarator declarations. (#2088, #2089)react-x/no-missing-key: elements with a spread attribute are no longer reported as missingkey, and TypeScript-wrapped iterator callbacks are unwrapped before checking. (#2086, #2088)react-x/no-nested-component-definitions: array pattern element defaults andmemopropsAreEqualcomparators are no longer reported as nested components; optional-chainedcreateElementreturns are recognized. (#2084)react-x/no-unstable-context-valueandreact-x/no-unstable-default-props: shadowedBoolean(),String(), andNumber()calls are no longer reported. (#2089)react-x/no-unused-class-component-members: statically resolvable computed member reads and destructuring are counted as usages. (#2088)react-x/refs: non-null guards whose terminating branch is atrystatement, an all-terminatingswitchwith adefaultclause, or an all-terminatingwhile (true)/for (;;)/do...whileloop are now recognized, so ref writes reached only when the ref is null are no longer reported. (#2093, #2109)react-x/set-state-in-effect: TypeScript-wrapped setups are resolved; zero-argument setters called directly in the setup are reported; timer or event callbacks nested inuseCallback/useEffectEventare no longer treated as synchronous setters; every possible setter is reported when the callee may resolve to more than one; the ref-derived exemption applies to any argument position of a custom state hook's setter; ref-derived early-return guards gate the following statements insidetry/switch/bare blocks and loop bodies or update clauses; ref provenance follows IIFEs; nested and outer effect setups are analyzed independently; and setter calls reached through the same effect-side trigger are reported once per setter name. (#2075, #2082, #2083)react-x/static-components: the render-boundary check now requires that at least one declaration of the component binding lives inside a render body, instead of only checking the first declaration. (#2110)react-x/static-components: static components wrapped byuseMemooruseCallback(ex:useMemo(() => External, [])) are no longer reported; the memoized value is traced instead of the hook call itself. (#2113, closes #1762) Thanks to @itisrmk!react-x/use-state: calls in computed object property keys and JSX subtrees are now detected by the lazy-initialization check. (#2080)react-jsx/no-children-prop-with-children:childrensupplied through a statically resolvable computed key in acreateElementprops object is now detected. (#2086)react-jsx/no-children-prop:childrensupplied through a statically resolvable computed key in acreateElementprops object is now detected, and the suggestion to movechildreninto element content is no longer offered when a following spread attribute could override it. (#2086, #2102)react-jsx/no-leaked-semicolon: leaked semicolons between a JSX child and its parent's closing tag on the same line are now detected. (#2102)react-jsx/no-useless-fragment: fragments with a spread attribute are no longer reported, and lone-CR whitespace, including&#​13;, is treated as formatting padding like LF and CRLF. (#2086, #2092)react-dom/no-dangerously-set-innerhtml-with-children: empty expression containers and comment-only children no longer count as children; lone-CR whitespace, including&#​13;, no longer counts either. (#2086, #2092)react-dom/no-hydrateandreact-dom/no-render: autofixes now skip calls with extra or spread arguments and calls whose return values are used, and no longer prepend the new import at the top of the file — existing imports are reused, duplicates are skipped, and new imports are placed after file-level directives, header comments, and existing imports. (#2103, #2104)react-dom/no-script-url: namespaced attributes such asxlink:hrefare now checked forjavascript:URLs. (#2086)react-dom/no-unsafe-iframe-sandbox:sandboxpermissions are matched as whole whitespace-separated tokens, fixing false positives likesandbox="not-allow-scripts". (#2112)react-dom/no-unsafe-target-blank: the suggestion for a missingrelattribute now inserts it after the last JSX attribute, so a spread attribute cannot override the suggested value. (#2086)react-dom/no-use-form-state: autofix-added imports now reuse existing imports, avoid duplicates, and follow file-level directives, header comments, and existing imports. (#2104)react-dom/no-void-elements-with-children: comment-only/empty containers, newline-only formatting whitespace, and lone-CR whitespace, including&#​13;, no longer count as children. (#2086, #2092)react-web-api/no-leaked-event-listener: dot access and static computed access (including simple template-literal keys) now match as the same property; optional-chained listeners, event types, and receivers pair with their cleanup; string-literal and template-literal option keys are recognized; cyclicsignalalias chains no longer recurse forever; and function-parameter callees are no longer mistaken for the enclosing function. (#2085, #2092, #2093, #2100)react-web-api/no-leaked-fetch:signaloption keys written as string literals or simple template literals are recognized. (#2093)react-web-api/no-leaked-intersection-observerandreact-web-api/no-leaked-resize-observer:observe(...)andunobserve(...)now pair on optional-chained elements. (#2093)react-debug/function-component: only the first argument ofmemo/forwardRefis treated as the wrapped component;propsAreEqualcomparators returning JSX are no longer reported, and functions in that position no longer inherit the surrounding binding or wrapper flags. Array pattern element defaults are no longer reported, and optional-chainedcreateElementreturns are recognized. (#2084)🪄 Improvements
Added fast-path text checks so rules skip AST traversal when their target term is absent from the file. (#2088)
Affected rules:
react-x/no-children-countreact-x/no-children-for-eachreact-x/no-children-mapreact-x/no-children-onlyreact-x/no-children-to-arrayreact-x/no-clone-elementreact-x/no-direct-mutation-statereact-x/no-implicit-childrenreact-x/no-implicit-keyreact-x/no-implicit-refreact-x/no-nested-lazy-component-declarationsreact-x/no-unused-class-component-membersJSX and
createElementrules no longer resolve spread props, since a spread's contents are unknown; only direct attributes and properties are inspected. (#2086)Affected rules:
react-x/no-missing-keyreact-jsx/no-children-propreact-jsx/no-children-prop-with-childrenreact-jsx/no-useless-fragmentreact-dom/no-dangerously-set-innerhtmlreact-dom/no-dangerously-set-innerhtml-with-childrenreact-dom/no-missing-button-typereact-dom/no-missing-iframe-sandboxreact-dom/no-string-style-propreact-dom/no-unsafe-iframe-sandboxreact-dom/no-unsafe-target-blankreact-dom/no-void-elements-with-childrenreact-x/no-unknown-property: attribute-tag, DOM-property, and standard-name lookups are cached per React version and resolved lazily. (#2086)react-x/set-state-in-effectandreact-x/set-state-in-render: setters are recognized only as the second element of auseStatearray destructuring; tuple-index access and object-pattern numeric keys are no longer detected. (#2075)📝 Documentation
eslint-plugin-react-jsx(#2102),eslint-plugin-react-dom(#2103),eslint-plugin-react-web-api, andeslint-plugin-react-x, and removed their next-step sections.react-jsx/no-comment-textnodes,react-jsx/no-key-after-spread, andreact-jsx/no-leaked-dollar. (#2102)noExplicitSpreadPropsrecipe to state that it provides no autofix. (#2089, #2107)🏗️ Internal
@eslint-react/ast,@eslint-react/core, and@local/testkit: added tests for AST tree types, core semantic interfaces, and type utilities.@eslint-react/ast: added theCollectandAnalyzenamespaces andTraverse.simpleTraverse;Analyze.isUnconditionallyTerminatingnow handlestrystatements, terminatingswitchstatements with adefaultclause, and terminatingwhile (true)/for (;;)/do...whileloops;Compare.isEqualnow comparesChainExpression, regex literals, and membercomputed/optionalflags;Collectnow traversesforinitializers and updates; renamedCheck.isConditionaltoCheck.isConditionalOrLoop; addedCheck.isArrayPatternElementDefault,Check.isObjectPatternElementDefault,Check.isLoopStatement, andExtract.getJSXName; improved private identifier handling; removed the general-purposeExtract.getMemberChain,Extract.getPropertyName,Extract.findProperty, andExtract.getAssignmentTargetshelpers in favor ofresolveAssignmentTargetsfrom@eslint-react/varand rule-local traversal. (#2080, #2083, #2084, #2086, #2092, #2093, #2099, #2100)@eslint-react/core: moved thecreateElementhelpers to@eslint-react/jsx; component detection now checks wrapper argument positions and unwraps chain expressions; improved render-method detection and qualified type names; narrowed the accepted node types of hook/component detection helpers. (#2075, #2077, #2084, #2099)@eslint-react/var: addedresolveOriginChain,isProvenanceEqual,hasDefault, andresolveAssignmentTargets; expandedresolveObjectTypeandcreateImportLookup, which now exposesisModuleBindinginstead ofhasNamespace; madeisValueEqualidentity-only (useisProvenanceEqualfor structural provenance); and removedresolveBindingTarget/BindingTarget, with binding targets now unwrapped inline. (#2085, #2086, #2088, #2100)@local/samples: hardened the sample rules. (#2107)@local/testkit: added averifyAndFixhelper for testing rules with autofixes. (#2078)eslintto10.14.0,typescript-eslintto8.72.1,nextto16.4.5,vitestto5.1.0,tsdownto0.23.7,nxto24.0.4,oxlintto1.91.0,viteto8.3.6,effectto4.1.2, and thefumadocspackages to16.18.0.react-x/static-componentsorigins; no behavioral changes.@typescript-eslint/typescript-estreedependency from@eslint-react/ast,@eslint-react/core,@eslint-react/var, andeslint-plugin-react-x. (#2080)inlinedDependenciesfield from the monorepo package configuration.New Contributors
Full Changelog: Rel1cx/eslint-react@v5.28.8...v5.30.0
sindresorhus/globals (globals)
v17.14.0Compare Source
7abfb5doxc-project/oxc (oxfmt)
v0.78.0: oxfmt v0.78.0Compare Source
🐛 Bug Fixes
ab78621formatter_css/less: Print~escape consistently (#29089) (Yuji Sugiura)91721d2formatter_css/less: Print Less % selectors (#29088) (Yuji Sugiura)449e91foxfmt: Format ts-in-astro as TSX (#29080) (leaysgur)8d8845eformatter/jsdoc: Strip*prefixes from multiline default value (#28910) (leaysgur)cdb1501formatter/jsdoc: Handle every line terminator in multi-line JSDoc types (#28909) (leaysgur)fd51bffjsdoc: Handle every line terminators as newline (#28902) (leaysgur)2f80765formatter_toml: Format whitespace-only document to empty (#28899) (leaysgur)5e1e02cformatter_graphql: Allow empty document (#28898) (leaysgur)06e72c0formatter/tailwind: Normalize CR in Tailwind template withpreserveWhitespace(#28896) (leaysgur)⚡ Performance
934ca98formatter: UseArcfor tailwind options across embedding (#29079) (leaysgur)dde9c5cformatter_htmlish: Skip</scriptescape if possible (#29078) (leaysgur)dc4d918formatter: Format embedded expr of one name without parsing (#29077) (leaysgur)📚 Documentation
eb2eb2dformatter_htmlish: Cover block elements inDIVERGENCES.md#interpolation-element-as-text(#28901) (leaysgur)0f4ec80formatter/tailwind: Note Tailwind sorting tears escaped whitespace apart (#28900) (leaysgur)v0.77.0: oxfmt v0.77.0Compare Source
💥 BREAKING CHANGES
00d1a67oxfmt: [BREAKING] Formatparser:vuefiles byoxc_formatter_htmlish(#28848) (leaysgur)🚀 Features
9a81e58formatter_htmlish: Format Vue templates (#28847) (leaysgur)119d82fformatter: Format a template's expressions and handlers asJsRoot(#28846) (leaysgur)🐛 Bug Fixes
fa66fdeoxlint,oxfmt: Resolve Vite+ config root from the config file directory (#28801) (MK (fengmk2))4d4104dformatter_htmlish: Preservedoctypecase in embedded (#28797) (leaysgur)ebfd40aformatter: Sort Tailwind calls printed as member chains (#28800) (Yuji Sugiura)e62e5cbformatter: Decide quotes of a Tailwind key printed as one class (#28798) (Yuji Sugiura)959edc1formatter: Don't sort templates in nested non-Tailwind calls (#28794) (Yuji Sugiura)6ffbe32formatter/jsdoc: Prevent@tagfrom being moved to the line start (#28835) (leaysgur)94fbef5formatter_css: Treat comments instyleattr as fill items (#28832) (leaysgur)e4a80f7formatter_css: Normalize selectors inside:deep,:slottedand:local(#28805) (leaysgur)255c5ccformatter: Measure Tailwind class argument after collapsing whitespace (#28745) (Lee Jaeha / Adam)e6c4fefformatter: Decide template and object key layouts from collapsed Tailwind classes (#28791) (Yuji Sugiura)0b44164formatter: Decide JSX opening element layout from collapsed Tailwind class string (#28744) (Lee Jaeha / Adam)b8ba9aeformatter: Print decorators on rest parameters (#28731) (YT)⚡ Performance
2766d07oxfmt: Spawn Prettier workers on demand (#28789) (YT)07627f7oxfmt: Use worker_threads for tinypool again (#28787) (Yuji Sugiura)v0.76.0: oxfmt v0.76.0Compare Source
💥 BREAKING CHANGES
296623doxfmt: [BREAKING] Formatparser:htmlfiles byoxc_formatter_htmlish(#28273) (Yuji Sugiura)🚀 Features
336b2c1oxfmt: Support html-in-js templates closing a dynamic tag name (#28389) (Yuji Sugiura)0a42af6formatter_htmlish: Format end tags of omittedhtml,headandbody(#28388) (Yuji Sugiura)44d8c2bformatter_htmlish: Implement HTML-ish formatterHtmlvariant (#28272) (Yuji Sugiura)36e5ddboxfmt: Add debug span for reading files (#28204) (leaysgur)🐛 Bug Fixes
dbcc358formatter: Keep arrow conditional body parens before a leadingfunction/class(#28710) (Yuji Sugiura)fef809aformatter_htmlish: Handle XHTML (#28703) (leaysgur)f3dd201formatter_htmlish: Keep SVG text underxml:space="preserve"as written (#28382) (Yuji Sugiura)fb3aefaformatter: Keep source parens around html-in-js placeholders past comments (#28381) (Yuji Sugiura)e738daeformatter: Quote keys added in an HTML event handler with single quotes (#28380) (Yuji Sugiura)2e7a629oxfmt: Format HTML in a<script>body as an embedded part (#28379) (Yuji Sugiura)f00862bformatter: Keep parens around a generic function type in a type assertion (#28173) (vidigoat)9ead5c4formatter: Handlethis.bandsuper.blikefoo.b(#28200) (leaysgur)72a54cfformatter: Break parens of(a + b)[c]like(a + b).c(#28199) (leaysgur)b8f4f34formatter: Printx.bandx.#bsamely (#28193) (leaysgur)9ddccb7formatter: Keep parens for private field (#28188) (leaysgur)⚡ Performance
b6f1ac9formatter_markdown: Bump parser to 0.0.4 and skip unread work (#28713) (leaysgur)633ee96formatter_css: Useu32spans (#28708) (leaysgur)f680ee1formatter_yaml: Usemultilineflag for flow scalars (#28707) (leaysgur)ff7c203formatter_css: Avoid repeated scans and allocations in values (#28706) (leaysgur)7cd46cbformatter_htmlish: Search script end tags by<in embedded (#28704) (leaysgur)46f8efdformatter_graphql: Print block string lines borrowed from the source (#28701) (leaysgur)dce1485formatter_htmlish: Skip escaping attr values without the chosen quote (#28700) (leaysgur)e9392c8formatter_core: Search line terminators with memchr (#28699) (leaysgur)ceb26beformatter_htmlish: Usecharto escape attr quotes (#28697) (leaysgur)8239dacparser: Replace dragonbox_ecma with zmij_ecma (#28282) (Boshen)📚 Documentation
303d9e8formatter: Strengthenstart-token-no-double-parensrationale (#28711) (Yuji Sugiura)a82ce83oxfmt: Update unclassified divergence (#28685) (Yuji Sugiura)7f18c20formatter_htmlish: Noteclassandsrcsetare formatted withembeddedLanguageFormatting: off(#28465) (Yuji Sugiura)01ed68aoxfmt,formatter_htmlish,formatter: Clean up behavior comments (#28384) (Yuji Sugiura)a363c27formatter_css,formatter_yaml: Point parser citations at AGENTS.md (#28466) (Yuji Sugiura)6586050formatter_core: Document tab width in text width policy (#28393) (leaysgur)49fbffbformatter_core: Tighten FORMATTER_POLICY (#28206) (leaysgur)pnpm/pnpm (pnpm)
v12.18.0: pnpm 12.18Compare Source
pnpm 12.18.0 packs, publishes, and installs packages with platform variants on pnpr registries. It also adds per-skill approval of agent skills and
pnpm store addfor offline installs from downloaded tarballs. Repeat installs andverifyDepsBeforeRunno longer read thepackage.jsonof unchanged workspace projects. The release fixes several peer dependency resolution bugs too.Minor Changes
Agent skills
pnpm now names the link to a dependency's agent skill after the skill alone. A skill that the
@acme/kitpackage ships inskills/auth/is linked as.claude/skills/auth, not.claude/skills/pnpm-@acme+kit-auth. The next install replaces links with the old names. pnpm lists the linked skills in a# pnpmblock of each agent skill directory's.gitignore#17455.When two approved packages ship a skill of the same name, or the name is already taken in an agent skill directory, pnpm links the skill as
pnpm-<package>-<skill>. Before, the install failed.pnpm approvenow asks which agent skills to link when a package ships more than one. pnpm records the chosen skills as a list, such aspermissions.<pkg>.skills: [guide, migrate], and does not offer the other skills for approval again. The first time a project approves a skill,pnpm approvealso asks which agent directories to link skills into, and records the answer underskills.dirs.pnpm links agent skills nested in category directories, such as
skills/engineering/implement/SKILL.md, up to three levels belowskills/. Before, it linked only the skills directly underskills/.Platform variants
These features need a registry declared with
serverType: pnpr.pnpm packpacks one archive per entry ofpublishConfig.variants, each platform variant as<name>-<version>~<tag>.tgz.pnpm pack --variant <target>packs only the archive whose entry lists that target.pnpm pack --jsonprints theintegrityandsizeof every archive it writes.pnpm publishpublishes a package'spublishConfig.variants. pnpm uploads every archive before the publish request that references them. Publishing variants to any other registry is refused unless--no-variantsis given, which publishes only the archive that targetsany.pnpm publish --upload-variant <target>uploads the archive of onepublishConfig.variantsentry to the registry's staging area and prints<target>=<integrity>.pnpm publish --variant-integrity <target>=<integrity>then publishes the version from archives that other jobs uploaded. With--recursive, each value names its package as<name>~<target>=<integrity>.pnpm publish -r --batchnow uploads each package archive on its own request and skips archives the registry already holds, so the batch request no longer grows with the archives it publishes. A batch of more than 256 packages still carries every archive inline. Packages withpublishConfig.variantscan be published in a batch. A batch with variants that would reference more than 256 archives on one registry fails withERR_PNPM_BATCH_PUBLISH_TOO_MANY_ARCHIVESpnpm/tasks#244.pnpm publish --provenancesigns one statement that names every archive of a version withpublishConfig.variants. A platform variant's archive is named by the version's package URL with avariantqualifier.Rerunning
pnpm publishafter the version was already published now succeeds when the published version is the same release. pnpm compares the archives, the provenance statement when the rerun signs one, and the dist-tag. When the published version differs, the publish fails withERR_PNPM_PUBLISHED_RELEASE_DIFFERS, which names what differs.pnpm installs the platform variant of a package that fits the host, or the package's own archive when none does. The lockfile records every variant. A version published with variants only, and no archive for other hosts, installs on a host one of the variants fits. On any other host, an optional dependency is skipped, and any other dependency fails with an error that lists the platforms the version is published for.
supportedArchitecturesplatform lists accept platform tags, the same tagspublishConfig.variantsentries name. An entry can state floors and an ABI, such aslinux-x64-manylinux_2_28,darwin-arm64-macos_14_0,linux-x64-napi8orlinux-x64-node127, and any Node.js OS and CPU, such asfreebsd-x64. The spellings accepted before still work.With
supportedArchitecturesset, pnpm also fetches into the store the variants that the other listed platforms need, when it downloads a package with platform variants.pnpr registries
pnpm downloads less metadata from a registry declared with
serverType: pnpr. A large package document leaves out the manifests of rarely picked versions, and pnpm fetches one only when it picks that version. In a benchmark that resolves 787 packages, the package documents shrank from 30.3 MB to 2.5 MB gzipped. pnpm caches these documents inv12/metadata-pnpr, and thepnpm cachecommands cover them.pnpm warns when a registry that is not declared
serverType: pnprturns out to be pnpr. For a registry declaredserverType: pnpr, aminimumReleaseAgelonger than 30 days fails withERR_PNPM_UNSUPPORTED_MINIMUM_RELEASE_AGE.pnpm publishsends release notes to registries declared withserverType: pnpr. A package's notes are the section for its version inCHANGELOG.md, or the notes thatpnpm version -rcomposed from change intents.--release-notes <file>gives the notes from a file, and--no-release-notessends none.--publication-namenames a release published with--batch.In a workspace that uses pnpm's versioning,
pnpm version -r --release-notes <file>puts a summary above the composed notes of the release.pnpm view <pkg>@<version> releaseNotes,pnpm outdated --notes, andpnpm update --interactiveshow the release notes from these registries.Store and hooks
pnpm store addnow prepares the store for offline installs from package tarballs downloaded some other way. Afterpnpm store add ./tarballs/*.tgz,pnpm install --offline --frozen-lockfileinstalls each registry package whose lockfile entry pins one of those tarballs #2978.Custom pnpmfile fetchers can use
fetchers.gitHostedTarball,fetchers.git, andfetchers.binarypnpm/tasks#191.Patch Changes
Installing packages
Running
nodeorpnpm installin a project that pins a Node.js version pnpm has not downloaded yet no longer hangs when aglobalPnpmfileis configured #17530.pnpm installwithenableGlobalVirtualStoreno longer fails on Windows for a dependency from a named registry, such asgh:ornpmjs:#17665.Concurrent installs that share a global virtual store no longer fail with
ERR_PNPM_CMD_SHIM_SYMLINK_BINwhen they link the same executable at the same time #17587.pnpm installandpnpm cinow succeed when dependency skills are approved but no agent skill directory exists. The skills stay unlinked until a directory exists #17574.Commands run from a workspace package now use the same default store as the workspace root. Before,
pnpm addin a package could fail withERR_PNPM_UNEXPECTED_STOREwhen the workspace root was its own mount point and the home store was on another volume, as in a sandbox or a container.A workspace installed with the old behavior may need one
pnpm install --forcefrom the workspace root.pnpm deploynow keeps a symlink in the project whose target is missing from the source, such as a link into anode_modulesdirectory that was removed after the build. Deploy used to drop such a link silently #17571.pnpm installnow links the runtime that an earlierpnpm install --no-runtimeskipped, andpnpm install --no-runtimeremoves a runtime that an earlier install linked #17542.With
enableGlobalVirtualStore,pnpm installagain runs a dependency's build scripts in a project whose global virtual store slot another project already built, unless the side-effects cache has build output to restore for it. A build that writes only outside its own package, such as a git hook installer, now takes effect in every project #17526.Commands of a package whose
binpaths contain excess parent directory segments, such as../dist/cli.js, are no longer missing. Such paths now resolve inside the package #17586.Generated POSIX shell shims now quote their paths, so shell special characters in a path stay literal.
Lockfile and local paths
Packages from the default registry keep plain lockfile keys, even when a prefix such as
npmjspoints at the registry set asregistry. A dependency written with such a prefix shares the plain entry of the same package. The next install rewrites keys that earlier versions qualified this way #17575.`pnpm ins
Configuration
📅 Schedule: (in timezone Europe/Berlin)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, 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.