Update all dependencies - #1619
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
Contributor
Author
|
|
|
❌ Deploy Preview for solid-docs failed. Why did it fail? →
|
renovate
Bot
force-pushed
the
renovate/all-dependencies
branch
7 times, most recently
from
August 18, 2026 14:57
3ff6aca to
0762c60
Compare
renovate
Bot
force-pushed
the
renovate/all-dependencies
branch
7 times, most recently
from
August 23, 2026 17:12
0ce9d2a to
ed0751a
Compare
renovate
Bot
force-pushed
the
renovate/all-dependencies
branch
from
August 25, 2026 14:07
ed0751a to
ac284e5
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.
This PR contains the following updates:
0.13.12→0.13.132.0.0→2.0.48.65.0→8.68.08.65.0→8.68.010.7.0→10.9.1^0.14.5→^0.16.017.7.0→17.11.011.20.0→11.24.01.9.14→1.9.158.65.0→8.68.08.2.1→8.2.2Release Notes
kobaltedev/kobalte (@kobalte/core)
v0.13.13Patch Changes
cb89022: ## v0.13.13 (August 10, 2026)New features
Bug fixes
solidjs/solid-start (@solidjs/start)
v2.0.4Compare Source
Patch Changes
ac3f321: Parse stack traces in the dev toolbar's error overlay witherror-stack-parser-es/liteinstead oferror-stack-parser. The lite entry point is a much smaller, ESM-only parser that returns plain frame objects rather than class instances, and it no longer pulls in thestackframepackage. Errors that carry no stack are now handled as an empty frame list instead of throwing.ac3f321: Redesign the dev toolbar. The toolbar and its panels share a common set of design tokens, giving them a consistent dark palette, translucent surfaces, and elevation. The server function inspector is now a master-detail split with a persistent call list beside the request/response pane, and the error overlay places the stack frame list beside a code preview that fills the panel. Headers, form data, and URL search params render as aligned key-value tables, the hex viewer gains an offset gutter with the ASCII column aligned per row, and blobs are shown as file cards with their type and size. The seroval body inspector is now an expandable tree with collapsed previews, syntax-colored values, cycle detection, and live promise and stream state, replacing the previous column-based drill-down.Along with the redesign, the toolbar only starts a drag from the toolbar itself rather than from its panels, unhandled promise rejections are captured by the error overlay, the code preview shows more surrounding lines, and a stack frame whose source cannot be loaded now stays listed and reports that its source is unavailable instead of silently rendering nothing.
ac3f321: Use@jridgewell/trace-mappinginstead ofsource-map-jsto resolve original sources in the dev toolbar's error overlay. It decodes mappings lazily, so only the positions actually inspected are resolved, it is significantly smaller in the browser bundle, and it understands indexed source maps.f619c7f: Pre-bundle the dev toolbar's CommonJS dependencies so it no longer throws on every dev page loadd43ad1b: Update Solid to 1.9.15 to include the latest lazy loading and hydration fixesv2.0.3Compare Source
Patch Changes
91fc972: Prefix production entry scripts, stylesheets, modulepreloads, and serialized manifest paths with Vite's configured base URL.v2.0.2Compare Source
Patch Changes
e21fadf: fix potentially incomplete first chunk for chunk readersd78288f: Declare an explicitContent-Type: text/plain; charset=utf-8on seroval-stream server function responses (success and error paths) so intermediaries cannot content-sniff a type onto themv2.0.1Compare Source
Patch Changes
fd5e2ae: Delegatevite previewto Nitro when its preview plugin is active, including for static builds that intentionally have no server entry.typescript-eslint/typescript-eslint (@typescript-eslint/eslint-plugin)
v8.68.0Compare Source
🚀 Features
🩹 Fixes
ignoreVoid: falseresults in false negative in ArrowFunctionExpression (#12646)❤️ Thank You
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
v8.67.0Compare Source
This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
v8.66.0Compare Source
🩹 Fixes
❤️ Thank You
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
typescript-eslint/typescript-eslint (@typescript-eslint/parser)
v8.68.0Compare Source
This was a version bump only for parser to align it with other projects, there were no code changes.
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
v8.67.0Compare Source
This was a version bump only for parser to align it with other projects, there were no code changes.
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
v8.66.0Compare Source
This was a version bump only for parser to align it with other projects, there were no code changes.
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
eslint/eslint (eslint)
v10.9.1Compare Source
v10.9.0Compare Source
v10.8.1Compare Source
Bug Fixes
18eb0a7fix: prevent ASI hazard inno-unused-labelsautofix (#21173) (dongkyu lee)151ba3ffix: false positives ingetter-returnandaccessor-pairs(#21163) (Grit)6898df9fix: ignore meta-property names inid-denylist(#21166) (Pixel)4d7db66fix: ignore meta-property names inid-match(#21167) (Pixel)677214efix: handle ASI hazards in no-unused-vars removeVar suggestion (#20935) (kuldeep kumar)Documentation
7d0cbf8docs: Update README (GitHub Actions Bot)0a05812docs: add missing backticks tono-duplicate-imports.js(#21183) (Lee Daeun)678c90bdocs: Update README (GitHub Actions Bot)8a10424docs: Update README (GitHub Actions Bot)69bb948docs: Update README (GitHub Actions Bot)Chores
0a14800chore: update github/codeql-action action to v4.37.4 (#21196) (renovate[bot])05adcb1test: fix failing ecosystem test foreslint-plugin-unicorn(#21191) (Lazizbek Ergashev)5611035test: add error locations info tono-void(#21185) (Lee Daeun)ee47333ci: bump github/codeql-action from 4 to 4.37.3 (#21176) (dependabot[bot])f131c03chore: improve ecosystem test failure reporting (#20937) (crimsonjay0)1f6eddechore: update ecosystem plugins (#21182) (ESLint Bot)d3266fbchore: unpinwebpackdependency (#21172) (Francesco Trotta)65a6519chore: add allowScripts field to package.json (#21092) (GiHoon Noh)22e5256ci: addtriage:nolabel to Dependabot PRs (#21141) (lumir)55c9038ci: bump actions/labeler from 6 to 7 (#21159) (dependabot[bot])7280e78chore: update dependency prettier to v3.9.6 (#21162) (renovate[bot])eddbad6test: fix failing ecosystem test foreslint-plugin-unicorn(#21156) (Francesco Trotta)60a178dchore: update ecosystem plugins (#21150) (ESLint Bot)f9f61dctest: add error locations tono-unreachable(#21151) (JIYEON)d086293test: add error locations tono-undef(#21147) (JIYEON)cc01b67test: add error locations tono-useless-catch(#21144) (devoil)688e75echore: add missing backticks in JSDoc (#21143) (Bo Hyun Kim)7c1e175test: add error locations torequire-await(#21145) (Grit)588a26dtest: add error locations tono-extra-label(#21139) (dongkyu lee)059aa89test: add error locations tono-useless-concat(#21140) (dongkyu lee)5a452a8test: add error locations tono-const-assign(#21138) (dongkyu lee)v10.8.0Compare Source
Features
2fee9bbfeat: exportConfigObjectfromeslint/config(#21082) (sethamus)Bug Fixes
6b8d2f7fix: escape reserved characters in rule id inhtmlformatter (#21129) (Francesco Trotta)9091071fix: preventno-unreachable-loopcrash when all loop types are ignored (#21116) (Pixel)e23fafefix: prefer-object-spread add semicolon when adding parenthesis (#21081) (synthex-byte)20b5ad0fix: quadratic-time regex inprefer-template(#21096) (Milos Djermanovic)8b6f6c0fix: apply ignore configs to computed methods in class-methods-use-this (#21094) (Pixel)b2c608cfix: NewExpression with parenthesized callee inpreserve-caught-error(#21083) (Francesco Trotta)Documentation
6ddf858docs: fix broken Specify Parser Options anchor link (#21106) (Minsu)784dfbedocs: Clarifyno-eq-nulldescription (#21120) (Park Harin)7ec733adocs: Fix typos and grammar in glossary (#21095) (Marry (Subin Yang))92bb13fdocs: replace quake link (#21108) (Jung Hyeon Jun)68eb4a5docs: fix broken Specify Globals anchor links in rule pages (#21103) (Minsu)d28f697docs: replace Code Climate CLI links with Qlty CLI links (#21099) (Jung Hyeon Jun)eccc68ddocs: correct --suppressions-location option description (#21093) (Ga eun Lee)c5963f7docs: Update README (GitHub Actions Bot)Chores
4fbf46dtest: pinwebpackversion to 5.108.4 (#21137) (Francesco Trotta)2d063e2chore: update HTTP URLs to HTTPS in JSDoc and comments (#21101) (Bo Hyun Kim)eccbe7btest: add error locations tono-class-assign(#21123) (devoil)e7d1e43ci: bump actions/setup-go from 6 to 7 (#21118) (dependabot[bot])e9d66d0ci: bump actions/setup-node from 6 to 7 (#21119) (dependabot[bot])ee225b6test: Add error location details tono-eq-nullrule (#21117) (Park Harin)044a627chore: update minimatch to ^10.2.5 (#21107) (김채영)fb09aa8chore: update ecosystem plugins (#21115) (ESLint Bot)5abd878test: add error locations tono-proto(#21114) (Gihyeon Jeong / 정기현)9715887test: Add error location details tono-div-regex(#21110) (Park Harin)a746ec6test: add error locations tono-new-wrappers(#21109) (Gihyeon Jeong / 정기현)8dde645test: add error locations tono-ex-assign(#21102) (devoil)13ab0ectest: add error locations tono-label-var(#21098) (Gihyeon Jeong / 정기현)a99906ftest: Add error location details tono-delete-varrule (#21105) (Park Harin)c47e8dcchore: add missing backticks tolanguages/js/index.js(#21104) (beeen)0174428chore: add missing backticks totranslate-cli-options.js(#21097) (dongkyu lee)3d36589chore: add missing backticks toserialization.js(#21091) (이규환)dcc9312test: add error locations toeqeqeq(#21090) (Ga eun Lee)2710b18ci: Add explicit permissions to rebuild-docs-sites workflow (#21089) (Marry (Subin Yang))5d2f866chore: update dependency prettier to v3.9.5 (#21086) (renovate[bot])d584e31chore: fix failing ecosystem test foreslint-plugin-unicorn(#21084) (Francesco Trotta)bf3eda0chore: update ecosystem plugins (#21079) (ESLint Bot)solidjs-community/eslint-plugin-solid (eslint-plugin-solid)
v0.16.0Compare Source
The complete Solid 2.0 lint surface: version-aware rules, new
v2/v2-strictconfigs, and afull set of 2.0-specific rules, all vetted against the official Solid 2.0 templates (which lint
clean with zero errors and zero warnings under the
v2config).Features
settings.solid.version. Rules can now read the targeted Solid major version from ESLintsettings (
settings: { solid: { version: 2 } }). Unset means the permissive dual-versionbehavior from 0.15. The new configs preset it; any custom config can opt in with one line.
v2config (eslint-plugin-solid/configs/v2, alsosolid.configs.v2): what theofficial Solid 2.0 templates ship. Sets the version setting, switches existing rules to strict
2.0 semantics, and enables the new 2.0 rules — errors are reserved for near-certain bugs,
heuristics stay warnings.
v2-strictconfig (eslint-plugin-solid/configs/v2-strict): everything inv2plusthe plugin's strongest opinions (see below).
solid/removed-api(error inv2): flags removed/renamed 1.x APIs withautofixes where mechanical (
onMount→onSettled,batch→flush,mergeProps→merge,unwrap→snapshot,equalFn→isEqual,getListener→getObserver,classList={{...}}→class={{...}},"solid-js/web"→"@solidjs/web","solid-js/store"→"solid-js") and prescriptive migration messages otherwise(
createResource,on,Suspense→Loading,Index→<For keyed={false}>,produce, etc.).Lists verified against the Solid 2.0 RC source.
solid/no-single-arg-create-effect(error inv2): Solid 2.0 requires the splitcreateEffect(compute, effect)form. The single-argument 1.x form produces no TS compile erroron a bare statement call and only throws at runtime in dev mode; this rule is the build-time
hard stop for the most commonly reproduced AI mistake.
solid/no-accessor-as-prop(error inv2):<div title={count} />silentlyrenders a stringified function. Fires on any expression that statically resolves to a function
in a value-typed DOM attribute, with a message that states the fix (
count→count()).Event handlers,
ref,children, namespaced attributes, components, and custom elements areexempt.
solid/prefer-structured-class(warning inv2, error inv2-strict): nudgesmanually-built class strings (concatenation with conditionals, conditional template literals,
.join(" ")) toward the structured array/objectClassValueforms that Solid 2.0 acceptsnatively. Static strings and plain interpolation are untouched.
solid/no-module-scope-reactive-primitive(error inv2-strictonly): reactivestate at module scope is shared across SSR requests.
createRoot-wrapped module state is thedeliberate escape hatch and is not flagged.
solid/prefer-onSettled-for-side-effects(warning inv2-strictonly): flagsside-effectful setup (timers, global listeners, observers) in component bodies, where it also
runs during SSR; suggests
onSettled. Never flagsonCleanupitself.solid/no-restated-default-options(error inv2-strictonly, autofixable):removes restated defaults like
<For keyed={true}>and<Show keyed={false}>.settings.solid.versionis 2):solid/no-unknown-namespacesinverts its premise: namespaces are no longer reserved in 2.0,so any colon-name is a legal literal attribute — but the formerly-special prefixes
use:,attr:,bool:,on:, andoncapture:are flagged as near-certain 1.x migration bugs withper-prefix guidance.
prop:remains the only special namespace.solid/event-handlersgraduates from style to correctness: only camelCaseonClickis anevent handler in 2.0; a lowercase
onclickwith a function value is a listener that willnever fire (autofixed to camelCase for known DOM events). Lowercase names with static string
values are legitimate literal attributes and are no longer flagged.
onDoubleClick(whichlowercases to a nonexistent DOM event) is autofixed to
onDblClick.solid/importsrequires the 2.0 export locations: store exports from core"solid-js", webexports from
"@solidjs/web". The legacysolid-js/store/solid-js/websubpaths aresolid/removed-api's territory, avoiding double reports.solid/jsx-no-undefauto-imports the 2.0 control-flow components (For,Repeat,Show,Switch,Match,Errored,Loading,Reveal);Indexis no longer suggested.solid/reactivitydelegates its uncalled-signal-in-DOM-attribute case tosolid/no-accessor-as-propso a node never gets two reports.solid/no-react-depsself-gates off (a dependency array in the second argument is already atype and runtime error in 2.0).
v2config over sources copied from the officialSolid 2.0 templates in CI, and
test/lint-templates.mjssweeps a localsolidjs/templatescheckout. All eleven
solid-v2/*templates lint clean.v0.15.0Compare Source
The revival release: Solid 2.0 support and a modernized toolchain.
Breaking Changes
eslintpeer dependency range is now^9.0.0 || ^10.0.0. Support for ESLint v6–v8 has been dropped.plugin:solid/recommendedandplugin:solid/typescriptconfigs have been removed, matching ESLint v10's removal of the eslintrc system. Useeslint-plugin-solid/configs/recommended/eslint-plugin-solid/configs/typescript, or the configs on the root export (solid.configs.recommended/solid.configs.typescript). Theconfigs["flat/recommended"]andconfigs["flat/typescript"]names from 0.14.x still work as aliases.engines.nodefield is now>=22.0.0(Node 20 reached end-of-life in April 2026).Features
solid/reactivity. The rule now recognizes, alongside the 1.x APIs:createProjection,createOptimistic,createOptimisticStore,merge,omit,isPending,latest,resolve,deep,repeat,flush,action,onSettled,createTrackedEffect,createErrorBoundary,createLoadingBoundary,createRevealOrder, function-formcreateSignal(fn)/createStore(fn), split effects (createEffect(compute, effect)), async computations (e.g.createMemo(async () => ...)), and<For>'skeyedprop callback shapes. Imports from@solidjs/signalsare recognized as Solid imports. Callsites whose meaning differs between 1.x and 2.0 are resolved permissively so that neither interpretation warns.readAfterAwaitwarning insolid/reactivity. In async computations (asynccreateMemo, function-form derived primitives), reactive reads placed after the firstawaitoryieldare not tracked—in 1.x they behave like reads in an event handler, and in 2.0 they can observe unpredictable mid-transition state. The rule now reports these reads specifically and suggests reading the value before the computation suspends.solid/importsunderstands Solid 2.0 export locations.createStore,reconcile, and store types imported from coresolid-js(their 2.0 home) are no longer flagged.jsPluginswithout modification; see the README for setup.Internal
Full Changelog: solidjs-community/eslint-plugin-solid@v0.14.5...v0.15.0
sindresorhus/globals (globals)
v17.11.0Compare Source
v17.10.0Compare Source
v17.9.0Compare Source
v17.8.0Compare Source
7394811pnpm/pnpm (pnpm)
v11.24.0: pnpm 11.24Compare Source
Minor Changes
Patch Changes
Fixed pnpm v11 incorrectly reporting
confirmModulesPurgeas unrecognized when set inpnpm-workspace.yaml. The Rust CLI now identifies the unsupported option as a pnpm v11 setting instead of suggesting an unrelated setting.pnpm install --frozen-lockfileno longer fails withERR_PNPM_FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILEwhen the pinned pnpm version recorded inpnpm-lock.yamlhas to be re-resolved before it can be installed. It runs the pnpm version the lockfile pins and leaves the lockfile unchanged #14124.Under
nodeLinker: hoisted, peer-resolution variants of an injected directory dependency (afile:snapshot) are materialized as separate copies again instead of collapsing onto the first-seen variant. Each copy keeps its own peer-resolved dependency set, so a project pinning one peer version no longer resolves another project's variant — Bit root components with conflicting peers across injected copies rely on this.Fixed
pnpm install --merge-git-branch-lockfiles --frozen-lockfilefailing withERR_PNPM_OUTDATED_LOCKFILEwhen a branch lockfile predates the removal of a dependency, or its move to another dependency group #13966. A dependency that no project declares anymore is no longer reinstated by the merge, and the packages it was the only path to are dropped with it.Batch workspace publishing accepts a shared scope-specific credential, rejects mismatched credentials for a registry before publishing, and runs the
publishandpostpublishscripts after each completed registry group pnpm/pnpm#14101.The Rust CLI now honors five settings it recognized but ignored:
updateNotifier,legacyDirFiltering,initAuthorName/initAuthorEmail/initAuthorUrl,initLicense, andinitVersion.pnpm installandpnpm addcheck once a day for a newer pnpm and print how to get it (turn it off withupdateNotifier: false); a{<dir>}filter selector can go back to matching the subtree below the directory withlegacyDirFiltering: true; andpnpm initwrites the configured author, license, and version into thepackage.jsonit scaffolds.PNPM_CONFIG_INIT_VERSIONis now read as well.maxsockets, npm's spelling ofmaxSockets, is no longer ignored: both spellings are read frompnpm-workspace.yaml, the global config file, the environment, and the command line, in that increasing order of precedence — a value passed on the command line now wins even when the two sides spelled the setting differently.A
lastUpdateChecktimestamp dated in the future — after a clock change, a restored snapshot, or a hand-edited state file — no longer silences the update check until that time comes around.legacyDirFilteringno longer reaches the workspace-root selectors pnpm generates for itself: the!{<workspace-root>}exclusion a recursiverun/exec/add/testappends, and the{<workspace-root>}inclusion--workspace-rootappends. Read as subtree matches they named every project below the root, so a recursive command under the setting selected nothing at all, and--workspace-rootpulled in every project below the root instead of the root alone #14101.pnpm install --frozen-lockfileno longer fails whenpnpm-lock.yamlrecords the pinned pnpm version alongside an engine package the running pnpm does not install it from. An entry pinning another version is still refused, and a plain install rewrites the block #14124.v11.23.0: pnpm 11.23Compare Source
Minor Changes
pnpm config getandpnpm config listnow show the settings pnpm acts on under their documented names:registriesshows the registries pnpm resolves from, merged across every source (.npmrc,pnpm-workspace.yaml, the global config, CLI flags), in the shape the setting is written in: keyed by registry URL, with the default registry declared as the bare@scope. Built-in routes are included — the@jsrscope and thenpmjsandghprefixes — unless pointed elsewhere. Previouslypnpm config get registriesprintedundefined.updateandauditshow the effective sections, whichever spelling set them. The deprecated internal spellings (updateConfig,auditConfig,auditLevel) are no longer listed.catalogsshows the complete resolved catalog set — the singularcatalogblock is itsdefaultentry — whichever spelling declared it.registryand@scope:registryentries show the merged routes rather than raw.npmrcvalues, so they always agree with theregistriesview.Settings that no supported pnpm version recognizes get their own warning. A key in the global config file that this version of pnpm does not read is no longer reported with advice to move it to a project-level
pnpm-workspace.yaml(where it would be ignored too); the warning now says the setting is not recognized by this version of pnpm, names the pnpm version that does read it when there is one (for example,globalShimsis a pnpm v12 setting), and suggests the closest real setting name when the key looks like a typo. Unrecognized and non-camelCase keys in a project'spnpm-workspace.yaml, previously ignored silently, are now reported the same way.pnpm config get <key>andpnpm get <key>no longer print config-load warnings, so a script capturing the value gets the value alone.The
importPackagepnpmfile hook is deprecated. pnpm now prints a warning when a pnpmfile defines it, and the hook will be removed in the next major version. It also opts the installation out of the parallel package importer, making installation slower. If you rely on this hook, comment on #14101.node_modules/.modules.yamlno longer records the registries an install resolved from, and the recorded copy is dropped from the file on the first install that rewrites it.It dated from the lockfile format that spelled a dependency's path relative to its registry, where reading an installed tree meant knowing the registries it was installed with. Dependency paths have not carried a registry for several major versions, and the recorded copy outlived its use:
pnpm list,pnpm why, and single-project installs preferred it over the project's own configuration, so a project whose registry had changed since its last install was still read through the old one.They now use the configured registries, like every other command already did.
When
enableGlobalVirtualStoreis on, every process pnpm spawns for the project (pnpm run,pnpm exec, lifecycle scripts) now receives aNODE_PATHpointing at the project's hoistednode_modules, plus aNODE_OPTIONS--importflag that registers a resolve hook restoringNODE_PATHlookups for ESM imports. Dependencies that import undeclared ("phantom") packages keep resolving under the global virtual store — for both CommonJS and ESM — without installing the@pnpm/plugin-esm-node-pathconfig dependency pnpm/pnpm#9618. Tools run bypnpm dlxresolve such dependencies too: the JS CLI passes them the same environment, while the Rust CLI's dlx cache is self-contained, so its layout already exposes them.A registry can now declare that its abbreviated metadata carries the
timefield, soresolutionMode: time-basedreads the full metadata document only from the registries that need it:registry.npmjs.orgomitstimefrom abbreviated metadata, so a time-based resolution has to fall back to the much larger full document. That fallback used to be all-or-nothing:registrySupportsTimeFieldanswered for every registry at once, so a project resolving from both the public registry and a Verdaccio instance either paid for full metadata everywhere or claimed atimefield npmjs does not serve. The answer is now per registry, andregistrySupportsTimeFieldremains the answer for every registry that does not declare one.The declaration is also sent to a pnpr server, which applies it to the resolution it runs on the client's behalf.
A pnpr resolve request now carries the client's registries the way the
registriessetting declares them — keyed by URL, with the scopes routed to each, the bare-specifier prefix each answers to, and each one'sserverType— in place of the prefix map it used to send.The server routes them through the same inversion the config reader runs, so a pnpr-served install resolves a scoped dependency from the registry that scope is routed to, which it previously could not: only the default registry and the prefix-addressed ones reached the server. A declared
serverTypereaches it too, so the tarball URLs pnpr omits from the lockfile match the ones the client reconstructs.Built-in scope routes the project has not pointed elsewhere are not declared, so a pnpr server's allowlist is not asked about
npm.jsr.ioon requests that resolve no JSR package.A registry a request only declares is no longer refused up front for being off the server's allowlist — a client describes its whole configuration, including scopes a given resolve never reaches, so a stray
@scope:registryin a developer's~/.npmrcno longer fails every install against a pnpr server that does not serve it. The boundary moves to the fetch itself: an origin the resolve does reach is refused before the request leaves the server, with the same message.This changes the resolve and verify-lockfile request bodies. A pnpr server and its clients have to be on matching versions; the protocol is still experimental and unversioned.
The
registriessetting now declares a registry once, keyed by its URL, with everything about that registry in the entry: how it lays out tarball URLs, the scopes routed to it, and the bare-specifier prefix it answers to.serverTypetells pnpm how the registry lays out its tarball URLs, which decides whether a URL can be omitted frompnpm-lock.yaml:npm— the registry behaves likeregistry.npmjs.org, which also serves a scoped package from its percent-encoded path. Declare this for a faithful mirror or caching proxy of the public registry so its tarball URLs can be omitted too.artifactory— JFrog Artifactory repeats the scope in a scoped package's tarball filename (@acme/widget/-/@acme/widget-1.0.0.tgz) where the npm registry strips it (@acme/widget/-/widget-1.0.0.tgz). Declaring it lets pnpm rebuild that URL, so it is omitted frompnpm-lock.yamlinstead of being written out for every scoped package pnpm/get-npm-tarball-url#16.scopeslists the@-prefixed scopes that resolve from this registry. A bare'@'is the scope-less default registry, the one theregistrysetting names.prefixis the alias a dependency addresses this registry by, as in"foo": "work:^1.0.0".The layout is never inferred from the registry URL, so nothing changes unless you declare it;
registry.npmjs.orgcontinues to behave asnpmwithout being declared. Because the lockfile depends onserverType, it is read frompnpm-workspace.yamlonly — aserverTypein the globalconfig.yamlis ignored, so one developer's machine cannot shape a lockfile their collaborators read back with a different layout. Credentials are rejected in this setting, in a key as well as in a field, and still belong in.npmrc. An entry that routes nothing to itself and matches no configured registry is reported as a warning rather than silently ignored.Migrating
The older
registriesshape, a map of<scope>: <url>strings, still works and needs no change:namedRegistriesis deprecated in favor of theprefixfield, and is still read for prefixesregistriesdoes not declare.toLockfileResolutionandisCanonicalRegistryTarballUrlnow take their registry and layout as an options object rather than posiConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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.