trilium/pnpm-workspace.yaml
BeatLink 5505053c6b fix(export): read an inline tag's name up to any whitespace
The HTML export pretty-prints with the `html` package, a 2013 fork of the
js-beautifier. When its 70-column wrap falls inside an inline tag it
emits a newline there (`<code\n  spellcheck="false">`), and the tag-name
check then does `indexOf(' ')`, reads the name as `code\n`, misses the
inline-tag list and formats the tag as a block: a newline before it and
the space after `</code>` dropped. The bundled help had 150 such joins
("dateModifiedor", "localhost:8080is completed").

A pnpm patch changes the lookup to `search(/\s/)`, so the name is read up
to any whitespace and the tag keeps its inline treatment. The line break
inside the tag is left as it was; taking it out as well would move wrap
points across most of the help pages for no gain in readability.

A spec formats a paragraph whose wrap point lands inside a `<code>` and
checks the boundary survives; it fails on the unpatched package.

(cherry picked from commit 8cf4063fcd47cf1ca6a0438aa1fe626a2ebc532c)
2026-09-09 09:14:21 -05:00

144 lines
5.7 KiB
YAML

packages:
- packages/*
- apps/*
nodeLinker: hoisted
# pnpm v11 introduced a 1-day default release age; keep at 0 so Renovate-driven
# updates and regular installs aren't stalled.
minimumReleaseAge: 0
# Don't fail when corepack provides a slightly different pnpm version than packageManager declares.
pmOnFail: ignore
overrides:
# @electron/rebuild 3.7.x (via electron-forge 7) pins @electron/node-gyp to a GitHub
# tarball, which fails wherever only registry.npmjs.org is reachable and trips pnpm's
# blockExoticSubdeps default. Vanilla node-gyp >= 11.2 carries the fork's fixes, and
# rebuild's one import of it is API-compatible -- rebuild 4.0.1 made the identical
# swap (electron/rebuild#1185); electron-forge 7 still pins rebuild 3.7.x.
"@electron/node-gyp": "npm:node-gyp@^13.0.0"
# CodeMirror 6 is a swarm of packages that peer-depend on a shared runtime
# (view/state/language/...) and rely on single-instance object identity for
# facets to work. A partial bump leaves two copies in the tree, which breaks
# both typechecking (nominal type clashes) and runtime (lint markers, etc.).
# Keep every core singleton pinned here so the whole tree resolves to one copy.
"@codemirror/view": "6.43.11"
"@codemirror/state": "6.7.4"
"@codemirror/language": "6.12.4"
"@codemirror/commands": "6.11.0"
"@codemirror/autocomplete": "6.20.3"
"@codemirror/lint": "6.9.7"
"@codemirror/search": "6.7.2"
"@lezer/common": "1.5.2"
"@lezer/highlight": "1.2.3"
"@lezer/lr": "1.4.10"
# The AI SDK packages each pin @ai-sdk/provider-utils to an exact patch, and they do not move in
# step: `ai` and the OpenAI/Google providers ask for one, the Anthropic provider for another. Two
# copies in the tree mean two declarations of the `unique symbol` that marks a `Schema`, so a tool
# built by one provider stops being assignable to the ToolSet `ai` expects (TS2322 on the Anthropic
# web-search tool). Pin the version `ai` itself is built against, and raise it with the next bump.
"@ai-sdk/provider-utils": "5.0.36"
"zod": "4.5.4"
"mermaid": "11.17.2"
"preact": "10.29.8"
"roughjs": "4.6.6"
"@types/express-serve-static-core": "5.1.3"
"node-abi": "4.35.0"
"flat@<5.0.1": ">=5.0.1"
"debug@>=3.2.0 <3.2.7": ">=3.2.7"
"nanoid@<3.3.8": ">=3.3.8"
"nanoid@>=4.0.0 <5.0.9": ">=5.0.9"
"dompurify@<3.2.4": ">=3.2.4"
"esbuild@<=0.24.2": ">=0.25.0"
"cookie@<0.7.0": ">=0.7.0"
"tar-fs@>=2.0.0 <2.1.3": ">=2.1.3"
"on-headers@<1.1.0": ">=1.1.0"
"form-data@>=3.0.0 <3.0.4": ">=3.0.4"
"form-data@>=4.0.0 <4.0.4": ">=4.0.4"
"tmp@<=0.2.3": ">=0.2.4"
"glob@>=10.2.0 <10.5.0": ">=10.5.0"
"glob@>=11.0.0 <11.1.0": ">=11.1.0"
"mdast-util-to-hast@>=13.0.0 <13.2.1": ">=13.2.1"
"@smithy/config-resolver@<4.4.0": ">=4.4.0"
"diff@<4.0.4": ">=4.0.4"
"diff@>=6.0.0 <8.0.3": ">=8.0.3"
"rollup@>=4.0.0 <4.59.0": ">=4.59.0"
"basic-ftp@<5.2.0": ">=5.2.0"
"ajv@>=7.0.0-alpha.0 <8.18.0": ">=8.18.0"
"@tootallnate/once@<3.0.1": ">=3.0.1"
"svgo@>=3.0.0 <3.3.3": ">=3.3.3"
"immutable@>=4.0.0-rc.1 <4.3.8": ">=4.3.8"
"simple-git@>=3.15.0 <3.32.3": ">=3.32.3"
"undici@>=7.0.0 <7.24.0": ">=7.24.0"
"socket.io-parser@>=4.0.0 <4.2.6": ">=4.2.6"
"fast-xml-parser@>=4.0.0-beta.3 <5.5.7": ">=5.5.7"
"path-to-regexp@<0.1.13": ">=0.1.13"
"path-to-regexp@>=8.0.0 <8.4.0": ">=8.4.0"
"brace-expansion@<1.1.13": ">=1.1.13"
"brace-expansion@>=2.0.0 <2.0.3": ">=2.0.3"
"brace-expansion@>=4.0.0 <5.0.5": ">=5.0.5"
"picomatch@<2.3.2": ">=2.3.2"
"picomatch@>=4.0.0 <4.0.4": ">=4.0.4"
"yaml@>=1.0.0 <1.10.3": ">=1.10.3"
"yaml@>=2.0.0 <2.8.3": ">=2.8.3"
"@xmldom/xmldom@<0.8.12": ">=0.8.12"
"plist>@xmldom/xmldom": "^0.9.0"
"flatted@<=3.4.1": ">=3.4.2"
"defu@<=6.1.4": ">=6.1.5"
"tar@<7.5.11": ">=7.5.11"
"lodash@<4.18.0": ">=4.18.0"
"lodash-es@<4.18.0": ">=4.18.0"
"node-forge@<1.4.0": ">=1.4.0"
"handlebars@<4.7.9": ">=4.7.9"
"qs@<6.14.2": ">=6.14.2"
"minimatch@<3.1.4": "^3.1.4"
"minimatch@3>brace-expansion": "^1.1.13"
"serialize-javascript@<7.0.5": ">=7.0.5"
"webpack@<5.104.1": ">=5.104.1"
"file-type@>=13.0.0 <21.3.1": ">=21.3.1"
"vite@>=7.0.0 <=7.3.1": ">=7.3.2"
"vite@>=7.1.0 <=7.3.1": ">=7.3.2"
"hono@<4.12.12": ">=4.12.12"
"hono@>=4.0.0 <=4.12.11": ">=4.12.12"
"@hono/node-server@<1.19.13": ">=1.19.13"
"basic-ftp@=5.2.0": ">=5.2.1"
# extract-zip's yauzl@2 hangs electron-forge packaging on Node >=24.16 (electron/forge#4277,
# electron/electron#51619). yauzl@>=3.3.1 is the maintainer-recommended fix.
"extract-zip>yauzl": "3.4.0"
# Trilium's Claude Agent provider (apps/server) runs the SDK in
# "bring-your-own-binary" mode (pathToClaudeCodeExecutable), so the ~250 MB
# bundled per-platform binaries are never used and must not be downloaded into
# every server install and Docker layer. Only the tiny JS wrapper is kept.
# Declarative replacement for the former .pnpmfile.cjs readPackage hook: a
# pnpmfile pins a pnpmfileChecksum into the lockfile, which Renovate's
# --ignore-pnpmfile lockfile updates silently drop, breaking every frozen
# CI install on its PRs (ERR_PNPM_LOCKFILE_CONFIG_MISMATCH).
ignoredOptionalDependencies:
- "@anthropic-ai/claude-agent-sdk-*"
# sass wants @parcel/watcher for its --watch mode, which nothing here invokes -- Vite drives the
# compiler API. Skipping it avoids a native install script and twelve per-platform binaries.
- "@parcel/watcher"
patchedDependencies:
'@excalidraw/excalidraw@0.18.1': patches/@excalidraw__excalidraw@0.18.1.patch
html@1.0.0: patches/html@1.0.0.patch
allowBuilds:
"@parcel/watcher": false
better-sqlite3: false
core-js: false
edgedriver: false
electron: true
electron-winstaller: true
esbuild: true
fs-xattr: true
geckodriver: false
macos-alias: true
protobufjs: true
sharp: true
spawn-sync: true
sqlite3: false
tesseract.js: true