Repository navigation
Commit 3b480e0
docs: TypeScript legacy node10 resolution is unsupported for the 15 packages with subpath exports (#26378)
<!-- claude-projects-attribution: {"github_login":"os-steve"} -->
_Requested by **Steve** · [project
thread](https://claude.ai/code/project/chan_01FdL1XeUyvVNxLreh3F4Qi9?thread=cmsg_01FdL1XeUyvVNxLreh3F4Qi941YjangeAFXEgevqVv4bY9)_
Fixes #26208
Clause-②: no
Metadata-protocol: none
## 维护者速读
- 改了什么:插件开发指南加一段「Module resolution」,15 个带子路径 exports 的已发布包 README
各加一行:TypeScript 老的 node10 解析不支持,请用 node16、nodenext 或 bundler。
- 为什么改:按裁决 A(6422810199)落地。node10 不读 exports,用这种配置的使用方 import
子路径时类型静默找不到。
- 风险与回滚:只改文档和 README,不动 exports、不加 typesVersions、不加门禁。回滚即 revert 本 PR。
-
先看:content/docs/plugins/development.mdx(新段落),packages/spec/README.md(README
行的样子),.changeset/26208-node10-resolution-unsupported.md。
- 两分钟验证:`pnpm check:published-readme-links`,预期 0
root-relative、锚点全部解析(含新的 #module-resolution)。
- 需要你做的:无,席位落地。
## What changes
- `content/docs/plugins/development.mdx`: a `### Module resolution`
paragraph right under the Step 1 `tsconfig.json` block (the page already
shows `moduleResolution: "bundler"`). It states that the published
packages declare entry points only through `exports`, that `node10`
(`"node"`, the default under `module: commonjs`) ignores `exports` and
is unsupported, and that `bundler`, `node16` or `nodenext` is required.
Chosen over `content/docs/getting-started/**`: no page there covers
TypeScript setup, and open work holds that tree (the seat-3 hand-over
6430890935 names the collisions).
- One identical line in the README of each of the 15 packages, linking
to that anchor. Placed before the first `##` heading (after the intro),
appended at the end for the three READMEs that have no `##` heading
(platform-objects, plugin-webhooks, service-cluster), and under the
existing "TypeScript Configuration" section in
`packages/types/README.md`.
- Root changeset: one `patch` for the 15 packages, because each README
is in its package's `files[]` and ships in the tarball.
## Acceptance notes
- Premise re-read on `origin/main` 6390fe5: every one of the 15
packages still has subpath `exports` (spec 19, platform-objects 10,
metadata 5, cli 2, lint 2, plugin-auth 2, the other nine 1 each), and no
`packages/**/package.json` declares `typesVersions` (0 files). After
#26321 and #26352, metadata-core, service-cluster and cli still carry
subpaths, so none was dropped from the list.
- A scan of every non-private `packages/**/package.json` finds exactly
these 15 published packages with subpath exports, so the list is
complete on this tree.
- Evidence for the claim: the attw 0.18.5 `NoResolution@node10` reading
on PR #26198 (os-dev report 6419735271).
- Out of scope, untouched: no `exports` or `typesVersions` change, no
new check, no `ui/` path.
## Verification
At head 894bdb3.
<details><summary>Derived gate families: 92 derived, 92 run, 0
NOT-MEASURED</summary>
`node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack
--ran FILE` printed: `✓ dispatch-gates --ran: 92 derived famil(ies)
accounted for — 92 run, 0 NOT-MEASURED (a DERIVED zero — all 92 recorded
an exit code and none of them is 3).`
Two families first exited on shallow-clone prerequisites
(`check-engine-split-ratio --days 90` exit 2,
`check-plugin-teardown-shape --self-test` exit 3); after deepening the
clone both exit 0. The build-reading families (`check:dts-closure`,
`check:dual-build-cjs-loads`, `check:i18n`, spec `check:docs`,
`check:skill-examples`) ran after a locked `turbo run build
--filter='./packages/**'` (VERDICT command-exit 0) and exit 0.
</details>
<details><summary>Acceptance gates</summary>
- `pnpm check:published-readme-links` exit 0: `567 outbound link(s)
across 159 published markdown file(s): 0 root-relative, 0 non-canonical
origin(s), 62 docs-site page(s) resolved (0 via redirect), 17 anchor(s)
verified`.
- `pnpm check:published-readme-exports` exit 0 (run on the built tree;
outside the derivation, run because the card names it).
- `pnpm check:doc-anchors` exit 0: 598 internal fragment links all
resolve.
- `pnpm check:doc-authoring` exit 0.
- lychee (`check-links.yml`) not run locally; the docs paragraph adds no
outbound link. Read from this PR's check-runs.
</details>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01ADHkmRdDB2C42HgHcE5Vrt
---
_Generated by [Claude
Code](https://claude.ai/code/session_01ADHkmRdDB2C42HgHcE5Vrt)_
Co-authored-by: Claude <noreply@anthropic.com>1 parent abb9046 commit 3b480e0
17 files changed
Lines changed: 60 additions & 0 deletions
File tree
- .changeset
- content/docs/plugins
- packages
- cli
- connectors/connector-imap
- core
- create-objectstack
- lint
- metadata-core
- metadata
- objectql
- platform-objects
- plugins
- plugin-auth
- plugin-webhooks
- services
- service-cluster
- service-datasource
- spec
- types
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
56 | 60 | | |
57 | 61 | | |
58 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
| 9 | + | |
8 | 10 | | |
9 | 11 | | |
10 | 12 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
15 | 17 | | |
16 | 18 | | |
17 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
5 | 7 | | |
6 | 8 | | |
7 | 9 | | |
| |||
0 commit comments