Repository navigation
Expand file tree
/
Copy pathpnpm-workspace.yaml
More file actions
81 lines (78 loc) · 4.4 KB
/
Copy pathpnpm-workspace.yaml
File metadata and controls
81 lines (78 loc) · 4.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
packages:
- packages/*
- examples/*
onlyBuiltDependencies:
- esbuild
# @lynx-js/react declares an optional `@lynx-js/types: "*"` peer, which pnpm
# auto-resolves to the newest published (4.1.0) regardless of what the catalog
# says — leaving two type lines in the graph. Force the transitive one onto the
# same 4.0.x line the catalog and the CLI templates use.
overrides:
"@lynx-js/types": ~4.0.0
# The sigx core versions this repo builds against. Every workspace package
# declares these as "catalog:" — bump here, once.
#
# The @lynx-js/* block below is the same idea for the Lynx JS toolchain: these
# were previously spread across nine manifests at four different range styles,
# which resolved eight of them to two versions at once. `^` where a minor is an
# API change we want to adopt deliberately; `>=` for build-toolchain packages
# that are also permissive peer floors on `@sigx/lynx-plugin`.
#
# NOTE: `scripts/check-catalog.mjs` only guards the `@sigx` core names, so
# these entries are not CI-enforced — keep them honest by hand.
catalog:
# The range stays a single-minor caret (`verify:catalog` requires it), so
# the LOCKFILE is what pins the patch — and it must not drift back below
# 0.15.4. Before that release `normalizeChild` gave an array child three
# different vnode shapes by length (0 → Comment, 1 → the bare item,
# 2+ → Fragment), so any `{list.map(…)}` rendered BESIDE a sibling
# remounted every item when the list crossed one entry. lynx-zero's
# overlay outlet is exactly that shape, and a nested overlay turned the
# remount into a non-terminating microtask cascade (signalxjs/core#658,
# signalxjs/lynx#1051). The guard is the nested-overlay test in
# packages/lynx-zero/__tests__/behaviors.test.tsx.
"@sigx/reactivity": ^1.0.0
"@sigx/runtime-core": ^1.0.0
# The zero contract the new design-system stack builds on (signalxjs/lynx#1029):
# anatomies, vocabularies, the class grammar, the portable behavior subset.
# Exact pin while zero is pre-1.0 — its contract moves in lockstep with
# the lynx-target emitters in @sigx/zero-kit, so a range would let the two
# sides drift. Bump deliberately, here, once.
"@sigx/zero": 0.17.0
# The daisyUI recipe source, compiled for lynx by zero-kit at ITS build —
# this repo only consumes its dist/lynx artifacts. Pinned to the same version
# as @sigx/zero: the class-grammar envelope check in lynx-zero-daisyui's
# build.mjs fails the build if the two ever disagree.
"@sigx/zero-daisyui": 0.17.0
# Tilde, not caret: @lynx-js/types tracks the engine line, and 4.1.0 already
# describes an engine (4.1) that only exists as a nightly. Keep the types on
# the 4.0.x line the CLI templates actually pin.
"@lynx-js/types": ~4.0.0
"@lynx-js/react": ^0.123.0
"@lynx-js/rspeedy": ">=0.16.3"
# Exact 0.15.0, deliberately decoupled from the full lynx-stack bump (#975):
# this is the encoder that turns CSS into the .lynx template, and 0.15.0's
# @lynx-js/tasm 0.0.49 is the first line we can carry that encodes @media /
# @supports rules (support starts at tasm 0.0.41; 0.11.x–0.13.x pin 0.0.39,
# which silently drops them — #951). The Node 20 constraint that held this
# at 0.11.0 (0.11.1+'s tasm WASM needs a newer V8) is executed away in the
# same change: #957 agreed to drop Node 20, and ci.yml now tests 22/24.
# tpwp has no peer deps and
# keeps the hook API entry.ts uses, so it bumps independently of rspeedy;
# rspeedy 0.16/rsbuild 2 stays with #975.
"@lynx-js/template-webpack-plugin": 0.15.0
# Must track the template-webpack-plugin pin above: css-extract taps that
# plugin's `beforeEmit` hook, whose payload lost `entryNames` in favour of
# `chunkGroups` at tpwp 0.14. 0.7.1 peers `^0.11.0` and still iterates
# `args.entryNames`, so against tpwp 0.15 every `sigx dev` start died with
# `args.entryNames is not iterable` — release builds were spared only because
# the tap sits behind an HMR check. `autoInstallPeers` swallowed the
# unsatisfiable peer instead of failing the install (#1015).
# Caret, not `>=`: 0.11.0 peers tpwp `^0.16.0`, so an open floor let npm
# pair it with the 0.15.0 pin above and fail with ERESOLVE (#1147).
"@lynx-js/css-extract-webpack-plugin": ^0.10.1
"@lynx-js/runtime-wrapper-webpack-plugin": ">=0.2.3"
"@lynx-js/webpack-dev-transport": ">=0.3.0"
"@lynx-js/tailwind-preset": ^0.5.0
"@lynx-js/web-core": ^0.24.0
"@lynx-js/web-elements": ">=0.12.7"