Skip to content

Commit 2779911

Browse files
os-zhuangclaude
andauthored
chore(vscode): 退役 packages/vscode-objectstack,移出工作区 (#5825) (#5834)
维护者 2026-08-06 拍板退役:该扩展没有 vsce/vsix 发布链路(`.github/workflows/` 零命中),因此 VS Code Marketplace / Open VSX 上不存在可安装副本;#5028 的幽灵 `jsonValidation` 指向从未存在的 `./schemas/objectstack.schema.json`(本次删除前 复核:包内无 `schemas/` 目录,`files` 白名单也不含它),整个生命周期静默失效且零 用户报告;产品主航道是 AI agent + `os` CLI。git 历史保底,未来若有真实需求按当时 schema 重建。 删除面:`packages/vscode-objectstack/**`(12 个文件)。`pnpm-workspace.yaml` 用 `packages/*` glob,无需改成员列表;lockfile 随 `pnpm install` 收缩 1102 行、 125 个包(`@vscode/vsce` 整棵子树)。 ## 两个 issue 正文未预见的硬约束 **一、changesets 会重读已消费的 changeset,只删目录会打断整条发布链。** RC 模式下 `changeset version` 保留每个已消费的 .md,而 `assemble-release-plan` 对目录里 **全部** changeset 做包名解析,命中不在工作区的包即抛错。只删包之后 `changeset status` 直接红: Error: Found changeset changelog-ships-in-tarball for package objectstack-vscode which is not in the workspace 两个 changeset 的 frontmatter 点名该包,逐个按性质处置: - `.changeset/vscode-snippets-parse-gate.md`(**待发布**,frontmatter 只有该包一项) —— #4917 的 changeset,始终未随任何版本发布。宿主已退役,它永远无法 release, 整文件删除。 - `.changeset/changelog-ships-in-tarball.md`(**已消费**,frontmatter 含 60+ 包) —— 仅移除 `"objectstack-vscode": patch` 一行。其余 60+ 包的 patch 条目与正文不动, 它们的 CHANGELOG 早已落地,不受影响。 处置后 `changeset status` 退出码 0,发布计划中零 vscode 命中。 **二、该包在 npm 上是真实发布面。** issue 正文的「从未发布 / 无 npm 面」只对 VS Code Marketplace 成立:`changeset publish` 发布每个非 private 包,该包因此在 npm 上有 40+ 个版本,`latest` = 16.1.0(2026-07-22),`rc` = 17.0.0-rc.3 (2026-08-03,即三天前)。本 PR 不改变已发布版本(npm 不会 unpublish),但退役后 它将静默停更。是否补 `npm deprecate objectstack-vscode` 需要 npm 发布凭据,属维护者 动作,已在 #5825 提出待裁决,不阻塞本 PR 合并。 ## 提及清扫 `README.md` 包表、`AGENTS.md` 目录树、`content/docs/plugins/packages.mdx` (删小节 + 计数 73→72、Client/DX 5→4)、`.claude/skills/pm-dispatch/SKILL.md` 的 `domain:devx` 归属、`scripts/publish-smoke-pack.mjs` 的 EXCLUDE 条目及其注释、 `.changeset/config.json` 的 fixed 锁步组(`check-changeset-fixed.mjs` 对组内不存在 的包名会红,必须同步)。 保留(历史记录类,改动即污染记录):`RELEASE_NOTES.md`(文件自述 「This file is historical.」,v4.0.4 那张表是当时 42 包清单的快照)、 `docs/DX_ROADMAP.md`(2026-02-13 审计快照,自述基线为「14 packages」,早已与今天 无关)、`.changeset/pm-dispatch-domain-table-full-coverage.md`(已发布的 changeset 历史)、`.changeset/pre.json` 的 `initialVersions`(changesets 自管状态文件; `assemble-release-plan` 只对工作区内的包写入/读取该表,残留键永不被查,手改状态 文件是 RC 窗口出事的典型原因)。 ## 安全 overrides:保留选择器,只更正注释 `form-data` 与 `undici` 两条 OSV pin 的唯一传递来源是 `@vscode/vsce`。删除后 `form-data` 从依赖树彻底消失,`undici` 仅剩 `@ai-sdk/provider-utils` 的 7.29.0 与 jsdom 的 8.9.0 —— 两者都在 `>=7.23.0 <7.29.0` 选择器之外。即两条 pin 现在都不再 匹配任何东西。 选择器保留不动:在退役 PR 里顺手摘掉安全 pin 是降低安全姿态,应当是独立决定; 留着则未来若有传递依赖重新引入,仍会落在已修补版本上。但注释不能继续指向一个已 不存在的包,故就地记录「CONSUMER GONE (#5825)」与保留理由。`brace-expansion` 注释的 minimatch 消费者清单同理去掉 `@vscode/vsce`(`ts-morph`/eslint/ `@typescript-eslint`/glob/archiver 仍在,该 pin 依旧生效)。 ## 门禁计数对账(删除前后各跑一轮全套) | 门禁 | before | after | 差值 | | :--- | :--- | :--- | :--- | | check:published-files | 70 publishable / 78 members | 69 / 77 | -1 / -1 | | check:type-check-coverage | 63/78 covered | 62/77 | -1 / -1 | | check-changeset-fixed | 70 public packages | 69 | -1 | | check:nul-bytes | 5687 tracked text files | 5674 | -13 | | check:engine-double-contract | 37 pinned / 165 DEBT / 2 exempt | 同 | 0(该包无台账条目) | | check-override-consistency | 2 covered declarations | 2 | 0 | nul-bytes 的 -13 与本 PR 删除的文件数精确相等(12 个包内文件 + 1 个待发布 changeset)。计数全部由 glob 实时计算,无写死断言需要改。 changeset 路线:走 `skip-changeset` 标签。存活包零行为改动,而已删除的包无法在 changeset 里点名(changesets 对未知包名直接抛错),故本 PR 不 release 任何东西。 `pr-automation.yml` 的门禁文案在 #5292 明确修正过处置顺序 —— 标签是首选, 空 frontmatter changeset 是 last resort,因为它是 changesets/action 的真实输入, 全空集会让 Release 静默绿着空跑(#4898,曾卡住 17.0.0-rc.2)。 Claude-Session: https://claude.ai/code/session_01GX3sL71LFq8m2usg6VqTSE Co-authored-by: Claude <noreply@anthropic.com>
1 parent d93080d commit 2779911

22 files changed

Lines changed: 19 additions & 2789 deletions

.changeset/changelog-ships-in-tarball.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@
6666
"@objectstack/types": patch
6767
"@objectstack/verify": patch
6868
"create-objectstack": patch
69-
"objectstack-vscode": patch
7069
---
7170

7271
chore(packaging): CHANGELOG.md ships in every npm tarball (#4261)

.changeset/config.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@
7575
"@objectstack/embedder-openai",
7676
"@objectstack/account",
7777
"create-objectstack",
78-
"objectstack-vscode",
7978
"@objectstack/connector-openapi",
8079
"@objectstack/verify"
8180
]

.changeset/vscode-snippets-parse-gate.md

Lines changed: 0 additions & 42 deletions
This file was deleted.

.claude/skills/pm-dispatch/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ file the fix touches, you have not triaged it yet, and it is not labelable.
424424
| `domain:drivers` | `packages/drivers/driver-*`(`driver-memory` / `driver-mongodb` / `driver-sql` / `driver-sqlite-wasm`) |
425425
| `domain:services` | `packages/services/*``packages/connectors/*``packages/triggers/*`(flow 触发器)、`packages/plugins/plugin-approvals``plugin-webhooks``plugin-email``plugin-reports``embedder-openai``knowledge-memory``knowledge-ragflow` |
426426
| `domain:identity` | `packages/plugins/plugin-auth``plugin-security``plugin-sharing``plugin-audit` |
427-
| `domain:devx` | `packages/lint``packages/sdui-parser`(仅 lint 消费)、`packages/vscode-objectstack``skills/**``content/docs/**``apps/docs``scripts/`(门禁类) |
427+
| `domain:devx` | `packages/lint``packages/sdui-parser`(仅 lint 消费)、`skills/**``content/docs/**``apps/docs``scripts/`(门禁类) |
428428
| `domain:spec` | `packages/spec` 及其生成物(现 spec 车道不变) |
429429
| `domain:cli` | `packages/cli``runtime``verify``qa``types``packages/rest``packages/mcp``packages/observability``packages/client``packages/client-react`(REST 线协议 SDK)、`packages/cloud-connection``packages/create-objectstack``packages/adapters/*``packages/plugins/plugin-hono-server``plugin-dev` |
430430
| (无固定归属,按落点分诊) | `packages/apps/*`(`setup` / `studio` / `account`)、`packages/console``examples/*` —— 见下,**这一行是显式点名,不是遗漏** |

AGENTS.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,6 @@ packages/
302302
client-react/ # ⚛️ React hooks
303303
cli/ # 🖥️ CLI
304304
create-objectstack/ # 🚀 Scaffolding
305-
vscode-objectstack/ # 🧩 VS Code extension
306305
adapters/ # 🔌 express/fastify/hono/nestjs/nextjs/nuxt/sveltekit
307306
plugins/ # 🧱 Official plugins & drivers
308307
services/ # 🔧 Kernel-managed services

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,6 @@ For the browser, the typed client SDK and React hooks (`useQuery` / `useMutation
342342
| :--- | :--- |
343343
| [`@objectstack/cli`](packages/cli) | CLI binary (`os` / `objectstack`) — `init`, `dev`, `start`, `serve`, `compile`, `publish`, `validate`, `generate`, `lint`, `doctor` |
344344
| [`create-objectstack`](packages/create-objectstack) | Project scaffolder (`npx create-objectstack`) |
345-
| [`objectstack-vscode`](packages/vscode-objectstack) | VS Code extension — autocomplete, validation, diagnostics |
346345
| [`@object-ui/console`](https://github.com/objectstack-ai/objectui/tree/main/apps/console) | Fork-ready runtime console SPA (lives in objectstack-ai/objectui, served via `@object-ui/console` on npm) |
347346
| [`@objectstack/account`](apps/account) | Account & identity portal — sign in, organizations, connected apps |
348347
| [`@objectstack/docs`](apps/docs) | Documentation site (Fumadocs + Next.js) |

content/docs/plugins/packages.mdx

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ description: Complete guide to all ObjectStack packages, services, drivers, plug
55

66
# Package Overview
77

8-
ObjectStack is organized into **73 package manifests** across multiple categories. This guide provides an overview of the framework packages, services, drivers, plugins, and adapters in the [framework repository](https://github.com/objectstack-ai/objectstack/tree/main/packages).
8+
ObjectStack is organized into **72 package manifests** across multiple categories. This guide provides an overview of the framework packages, services, drivers, plugins, and adapters in the [framework repository](https://github.com/objectstack-ai/objectstack/tree/main/packages).
99

1010
### Package categories at a glance
1111

1212
| Category | Count | Packages |
1313
|:---|:---:|:---|
1414
| **Core runtime** | 9 | `spec`, `core`, `runtime`, `types`, `metadata`, `objectql`, `rest`, `formula`, `platform-objects` |
15-
| **Client / DX** | 5 | `client`, `client-react`, `cli`, `create-objectstack`, `vscode-objectstack` |
15+
| **Client / DX** | 4 | `client`, `client-react`, `cli`, `create-objectstack` |
1616
| **Framework adapters** | 1 | `hono` (other frameworks: build a thin adapter on `HttpDispatcher` — see below) |
1717
| **Drivers** | 5 | `driver-memory`, `driver-sql`, `driver-sqlite-wasm`, `driver-mongodb`, `driver-turso` |
1818
| **Plugins** | 18 | `plugin-auth`, `plugin-security`, `plugin-audit`, `plugin-approvals`, `plugin-sharing`, `plugin-email`, `plugin-webhooks`, `plugin-reports`, `plugin-hono-server`, `plugin-dev`, `plugin-pinyin-search`, `mcp`, trigger plugins (`trigger-api`, `trigger-record-change`, `trigger-schedule`), and knowledge/embedder plugins (`knowledge-memory`, `knowledge-ragflow`, `embedder-openai`) |
@@ -442,14 +442,6 @@ npx os serve --dev
442442
npx create-objectstack my-app
443443
```
444444

445-
### objectstack-vscode
446-
447-
**VS Code Extension** — IDE support for ObjectStack.
448-
449-
- **Features**: Syntax highlighting, autocomplete, validation for metadata files
450-
- **When to use**: Enhanced development experience in VS Code
451-
- **README**: [View README](https://github.com/objectstack-ai/objectstack/blob/main/packages/vscode-objectstack/README.md)
452-
453445
---
454446

455447
## Utility Packages

packages/vscode-objectstack/CHANGELOG.md

Lines changed: 0 additions & 265 deletions
This file was deleted.

0 commit comments

Comments
 (0)