Ctrl K
ComunidadGuías…

pnpm-workspace.yaml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
packages:
  - packages/core/design-system
  - packages/apps/terminal
  - packages/apps/site
  - packages/apps/desktop

# This file is the ONLY place pnpm settings live. From pnpm 10 onwards .npmrc is
# read for auth and registry keys alone, so the six settings below were moved
# here out of a .npmrc that was deleted in the 9.15.0 -> 10.34.5 migration.
strictPeerDependencies: true
autoInstallPeers: false
saveExact: true
auditLevel: high
verifyStoreIntegrity: true
# fund: false — removed setting in pnpm 12; no funding behaviour is enabled here.

# pnpm self-management, disabled deliberately.
#
# pnpm 10 defaults `managePackageManagerVersions` to true. Under pnpm 9 that
# behaviour was masked by an internal `!isExecutedByCorepack()` guard, and this
# repo no longer routes pnpm through Corepack, so the guard no longer applies:
# left at its default, a pinned pnpm would silently re-exec whichever version it
# decided the checkout wanted. The bootstrap scripts and installers already
# resolve the pinned release themselves and verify `pnpm --version` against the
# pin, so pnpm managing itself on top of that can only fight them.
#
# packageManagerStrictVersion turns a version mismatch against the
# "packageManager" field in package.json into an error rather than a warning,
# which is what makes the integrity pin load-bearing instead of advisory.
# managePackageManagerVersions: false (removed since pnpm 11)
# packageManagerStrictVersion: true (removed since pnpm 11)
# Primary pnpm migration table maps strict version refusal to pmOnFail: error.
# This also prevents automatic manager download/switching on mismatch.
pmOnFail: error

# Dependency build scripts.
#
# pnpm 9 ran every dependency lifecycle script. pnpm 10 does not, unless the
# package is allowlisted here, and pnpm 11 turns an un-allowlisted build script
# into a hard ERR_PNPM_IGNORED_BUILDS failure.
#
# NOTE: this block needs pnpm >= 10.26.0. Earlier 10.x releases ignore it
# SILENTLY - the install still exits 0 while building nothing - so any pnpm 10
# pin below 10.26.0 would look green while enforcing nothing. That is the hard
# floor for the "packageManager" pin; do not lower it.
allowBuilds:
  # esbuild ships its platform binary as an optional dependency; the postinstall
  # re-validates it. Required by the terminal's vite build.
  esbuild: true
  # Copies vendor/7z-<arch>.{exe,dll} to vendor/7z.{exe,dll} for Squirrel.Windows.
  # The tarball ships only the per-arch names, so this script is the only thing
  # that produces the ones the packager opens. Required by desktop-package.
  electron-winstaller: true
  # A donation notice that already swallows its own failure. Denied explicitly
  # so pnpm 11 does not fail the install over it.
  es5-ext: false

peerDependencyRules:
  allowedVersions:
    '@glideapps/glide-data-grid>marked': '18'
    '@napi-rs/wasm-runtime>@emnapi/core': '1'
    '@napi-rs/wasm-runtime>@emnapi/runtime': '1'

# These entries are now the only copy: the duplicate "pnpm.overrides"
# block in package.json was removed in the pnpm 10 migration, so this block is
# what pnpm actually resolves against. Nothing cross-checks it any more - the
# lockfile's own `overrides:` header is the audit trail, and an entry deleted
# here disappears from that header on the next install. An earlier revision of
# this file had drifted while package.json was still authoritative - it pinned
# hono 4.12.25, js-yaml 4.2.0 and postcss 8.5.15, and omitted eight entries
# including every brace-expansion selector. Re-check the lockfile header after
# touching anything below.
#
# brace-expansion overrides. The selectors below cover EVERY vulnerable range,
# not just the ones the tree happens to resolve today, so a future transitive
# copy cannot silently reintroduce a flaw.
# Patched releases per major line: 1.1.21 (dist-tag 1.x), 2.1.7 (2.x),
# 3.0.9 (3.x), 5.0.12 (latest).
#
# GHSA-mh99-v99m-4gvg / CVE-2026-14257 was republished on 2026-07-31 with
# per-line ranges (patched at 1.1.17 / 2.1.3 / 3.0.3 / 5.0.8). Two later HIGH
# advisories, GHSA-6j4f-fj2g-mc7p and GHSA-qhr7-859c-m2p7, patched the recursion
# depth at 1.1.19 / 2.1.5 / 3.0.7 / 5.0.10 and 1.1.20 / 2.1.6 / 3.0.8 / 5.0.11.
# Do not pin back to the first round (2.1.3 / 3.0.5 / 5.0.8) or the second
# (2.1.4 / 3.0.6 / 5.0.9): the first bounded only the `combine` accumulator,
# and the second is still inside both recursion advisories. 2.1.7 keeps
# `module.exports = expandTop`, so minimatch's `require('brace-expansion')(pattern)`
# still works.
#
# 1.x is pulled onto 2.1.7 rather than onto its own 1.x backport: 2.x keeps
# the same callable CommonJS default export that minimatch 3.x/5.x/9.x require,
# and collapsing both lines onto one release keeps a single copy in the store.
# The 4.x line has no patched release of its own - npm publishes only 4.0.0 and
# 4.0.1, both inside the advisory ranges, and there is no maintenance-v4 dist-tag.
# It is therefore mapped to 3.0.9, the newest patched release that keeps 4.x's
# API: 3.x and 4.x are both ESM-only with the same `export default expandTop`
# shape (3.x additionally accepts an options argument), and the only
# 3.0.4 -> 4.0.1 change is an internal split/join -> regex refactor.
#
# Nothing on 3.x or newer can serve minimatch 3.x/5.x/9.x, which `require()` the
# package and call the result directly: 3.x and 4.x are ESM-only, and 5.x
# replaced the callable default export with a named `expand`. That is why those
# paths stay on the 2.x line. 2.1.7 is outside every current advisory range,
# so this pin is a fix, not an allowlist.
# Verify a target exists before pinning to it: npm view brace-expansion@<version> version
overrides:
  '@hono/node-server': 2.1.4
  'body-parser@>=2.0.0 <2.3.0': 2.3.0
  'brace-expansion@<2.0.0': 2.1.7
  'brace-expansion@>=2.0.0 <2.1.7': 2.1.7
  'brace-expansion@>=3.0.0 <3.0.9': 3.0.9
  'brace-expansion@>=4.0.0 <5.0.0': 3.0.9
  'brace-expansion@>=5.0.0 <5.0.12': 5.0.12
  # GHSA-c83g-rgw3-j3cx / GHSA-73wf-gq98-2v4g (CVE-2026-73089 / CVE-2026-73088):
  # unbounded query-cache growth and normalizeStats prototype writes, patched in 4.28.7.
  # Pin the latest 4.x so Babel's helper-compilation-targets cannot keep 4.28.2.
  browserslist: 4.29.3
  esbuild: 0.28.2
  # GHSA-5jgf-p345-68v8 / GHSA-f65p-4m7j-42xc / GHSA-fph4-wmhf-6fwf /
  # GHSA-jqff-g426-hqxp, plus the 4.1.5 host-normalization and mailto-header
  # fixes. Pin the latest 4.x so ajv cannot keep 4.1.4.
  fast-uri: 4.2.2
  hono: 4.13.13
  # isInSubnet family confusion, unbounded Address6 diagnostics, fe80::/10,
  # and NAT64 64:ff9b:1::/48. Latest 10.x, not the 10.7.1 floor.
  ip-address: 10.7.3
  # GHSA-2883-xcg3-v3hh / CVE-2026-84375: empty merge-source CPU bypass,
  # patched in 4.3.2 (and 3.15.2). The tree is already on the 4.x line.
  # Preserve the security pin for 4.x consumers; permit resolver-owned 5.x.
  'js-yaml@>=4.0.0 <5.0.0': 4.3.2
  # GHSA-jrc7-96c5-q579 / CVE-2026-85061: XSS sanitizer bypass, patched in
  # 6.4.1. Keep the source dependency on the latest 6.x line. The terminal
  # renders through the matching plotly.js-dist-min bundle, whose embedded
  # dependencies must be checked separately when upgrading Plotly.
  maplibre-gl: 6.13.0
  postcss: 8.5.29
  # GHSA-rgj7-g3m4-5g8c: inherited libheif RCEs, patched in 0.35.4.
  # Stay on the latest 0.35.x.
  sharp: 0.35.5
  # GHSA-rfgv-xxqx-mfg5 (unrequested WebSocket subprotocol DoS) and
  # GHSA-w293-vg96-wgc3 (BalancedPool TLS validation bypass) were patched in
  # 7.29.1. GHSA-xjj6-f33q-929c, GHSA-4w7w-5xrc-9h26, GHSA-2m5v-pch6-74hx and
  # GHSA-qrxm-fqhp-jwvm are patched in 6.29.1 and 7.30.1. @electron/get
  # requests ^7.24.4; node-gyp (via electron-builder) requests ^6.25.0.
  # 8.x is resolved from its parent range. jsdom requires ^8.11.2.
  'undici@>=6.0.0 <7.0.0': 6.29.1
  'undici@>=7.0.0 <8.0.0': 7.30.1
  # GHSA-mrwp-f3q8-3g9p: cross-realm sensitiveHeaders dropped on redirect,
  # patched in 1.16.2. http-proxy (via Perspective's http-server) still
  # resolves 1.16.1.
  'follow-redirects@<1.16.2': 1.16.2
  # GHSA-mrhx-c7xc-m3w5: oversized collection validation can exhaust memory,
  # patched in zod >=4.6.6. There is no patched 3.x release. Reticle's range
  # is ^3.25.0 || ^4.0.0, so the 3.25.76 copy moves onto the 4.6.7 line the
  # terminal and the site already depend on.
  'zod@<4.6.6': 4.6.7
  # Eight HIGH name-injection / ReDoS advisories on the 0.8 line that
  # electron-builder's plist@3.1.0 still requests. 0.8.15 is the patched
  # release for that line (0.9.12 is the 0.9 equivalent).
  '@xmldom/xmldom': 0.8.15
  # GHSA-4mjr-xmp4-gh2g / CVE-2026-82417 (attacker-controlled isBuffer DoS)
  # and GHSA-px8p / CVE-2026-82562 (arrayLimit bypass on []= comma groups):
  # both patched in 6.16.0. union@0.5.0 (via http-server) still requests 6.15.2.
  qs: 6.16.0
  # GHSA-x5fp / CVE-2026-45820: ZIP64 unzipSync infinite loop. Affected
  # 0.6.0-0.6.10; 0.6.11 is the 0.6-line backport (0.8.3 is already in the
  # tree via @types/three). three-stdlib still requests 0.6.10.
  'fflate@<0.6.11': 0.6.11
  # 4.3.0 fixes Vary matching, not the disputed GHSA-ch52-4w7c-c8xp report.
  # The local patch below enforces mandatory validation on every stale route;
  # being outside an advisory's version range is not evidence of a fix.
  http-cache-semantics: 4.3.0
  # GHSA-gjj5-9665-rwrc / CVE-2026-104861: quadratic SVG parse DoS, patched
  # in 7.4.0. plotly.js still requests 7.3.0.
  probe-image-size: 7.4.0
  # GHSA-p6vx-979v-rg4c (CVE-2026-104846) and GHSA-jp82-f5mq-hwhp
  # (CVE-2026-104845): promise thenable invocation and unbounded TypedArray
  # allocation. solid-js 1.9.15 still requests seroval 1.5.6. Stay on the
  # latest 1.6.x, not the minimum patched release.
  seroval: 1.6.9

# Keep the upstream tarball/integrity and BSD-2-Clause licence. Fail installation
# if this exact-version patch no longer applies. See patches/README.md.
patchedDependencies:
  http-cache-semantics@4.3.0: patches/http-cache-semantics@4.3.0.patch

# Next.js 16.4.5 is the November 2026 security release. It was published inside
# pnpm's built-in 24-hour release-age window, so a non-strict install records
# these exact versions here. Remove the list once the release is older than
# that window.
minimumReleaseAgeExclude:
  - '@next/env@16.4.5'
  - '@next/swc-darwin-arm64@16.4.5'
  - '@next/swc-darwin-x64@16.4.5'
  - '@next/swc-linux-arm64-gnu@16.4.5'
  - '@next/swc-linux-arm64-musl@16.4.5'
  - '@next/swc-linux-x64-gnu@16.4.5'
  - '@next/swc-linux-x64-musl@16.4.5'
  - '@next/swc-win32-arm64-msvc@16.4.5'
  - '@next/swc-win32-x64-msvc@16.4.5'
  - next@16.4.5