Skip to content

Commit ebfadb0

Browse files
chore(ui): remove the vscode-extension package from the monorepo (#27275)
domain:devx#2 · os-justin · session_01QSeKYmTYfaPbLQD4BJfomW Fixes #25910 Clause-②: no Metadata-protocol: none Ruling-ref: 6386223367 ## 维护者速读 - 改了什么:按裁决 B(移出)从单仓删除 `ui/packages/vscode-extension/`(25 个文件),并清掉所有引用它的读者:文档页与导航、CONTRIBUTING 两行、changeset 固定组成员、各门禁的豁免条目与钉住它的测试;`pnpm-lock.yaml` 用 `pnpm install` 重新生成。 - 为什么改:这个扩展号称「official」,却没有构建、没有发布、没有门禁,坏了也没人知道;维护者裁定移出,历史保留在 git 里。 - 风险与回滚:只删一个 private、无人依赖的包,不改任何已发布包的行为;回滚就是 revert 本 PR。改动行数超过 3,000(主要是删除的文件和锁文件),按规则须经授权批准或维护者亲手合并。 - 先看:`.changeset/config.json` 与 `scripts/check-changeset-fixed.mjs`(固定组成员删除与 `PRIVATE_FIXED_MEMBERS` 清空);`ui/scripts/__tests__/check-doc-links.test.ts`(三个下限按实测下调,各自写明原因);`ui/scripts/check-unused-dependencies.mjs`(删掉扩展的两条豁免)。 - 两分钟验证:`node scripts/check-changeset-fixed.mjs`,预期输出 `✓ .changeset/config.json "fixed" group is in sync with 109 public workspace packages.` - 需要你做的:批准或亲手合并(改动行数超过 3,000 的 PR 不能由席位自动落地)。 ## What changes - **Deleted** `ui/packages/vscode-extension/` (25 files) and its docs page `ui/content/docs/utilities/vscode-extension.mdx`. The page also comes out of `utilities/meta.json`, three spots in `utilities/index.md`, and `guide/architecture.md`. - **Root:** two `CONTRIBUTING.md` rows; the `object-ui` member of the `.changeset/config.json` `fixed` group; and `PRIVATE_FIXED_MEMBERS` in `scripts/check-changeset-fixed.mjs`, now empty with a rewritten comment. The mechanism stays and is still fixture-tested. - **`pnpm-lock.yaml`:** regenerated with `pnpm install` on the tree, then again verified with `--frozen-lockfile` after merging `origin/main`. - **ui gates and their tests:** - `check-unused-dependencies.mjs`: the extension's two bundler-inlined allowances go, together with the now-unused `bundlerInlinedAllowance` helper. The gate's own rule 3 reds a row with no subject. - `markdown-test-inputs.mjs`: the extension test's ledger entry goes. - `body-dialect-census.test.ts`: the three deleted reader/producer paths leave their lists, following the runner precedent beside them. The `CompletionProvider` by-name pin is replaced with a note. The population zero and both of its lit controls stay. - `check-changeset-fixed.test.ts`: the "still keeps the private VS Code extension inside the fixed group" pin becomes "puts no private package inside the fixed group", the shape that is true now. - `check-doc-snippet-emitted-census.test.ts`: the per-package split test moves to a neutral fixture. The repository test keeps its remaining named member and its `>= 2` floor. - `check-doc-component-types.test.ts`: the deleted page leaves the `heading` list. - **Measured floors and counts,** each with its reason in the comment: - `check-doc-links.test.ts`: `packages/*` docs 11 → 8 and combined 14 → 11 (the package's `DESIGN.md`, `ICON.md` and `PUBLISHING.md`); README decidable hrefs 135 → 126 and site-absolute 40 → 39 (this card's extension README, plus #27042's plugin-ai README on the merge with main); `content/docs` site-absolute 6 → 5 (the deleted page); package-dir decidable 2 → 1 (`DESIGN.md`). - `ui/tsconfig.json` / `ui/tsconfig.tier-base.json`: the `extends` graph re-measured with `ts.readConfigFile` at 87 tracked files, 73 of them extending the root (37/38 package `tsconfig.json` and all 35 `tsconfig.test.json`). `packages/runner` is now the only one that extends nothing. - **Comments only:** present-tense claims about the extension in `@object-ui/core` (`dataset-format.ts`, `number-display.ts`), `@object-ui/types` (`form.zod.ts`, `package-exports-manifest.test.ts`) and eight `ui/scripts` files are past-tensed. Historical notes, released `CHANGELOG.md` entries and dated `ui/docs/audits/*` are untouched. ## Tests Read on the merged head `383f0f0a` (merge of `origin/main` `1c5fe3cb`). - `pnpm --dir ui exec vitest run --maxWorkers=2 scripts/` (lock VERDICT command-exit 1): Test Files 16 failed / 158 passed, Tests 57 failed / 4659 passed. **That failing set is identical to the untouched baseline at `4d3a077f` (57 failed). This diff adds 0 failures.** All 57 are pre-existing environment failures: the unbuilt `@objectstack/spec` `dist` that ratchets and ledgers import (`spec-symbol-ledger-*`, `check-doc-expression-carriage`, `date-only-zone-pins` …). - Before the reader fixes, the deletion alone added 10 failures to that baseline. All 10 are green now. ## Acceptance notes - Changed lines are 8,704 (+170 / −8,534), almost all deleted files and the lockfile. That is over the 3,000-line threshold, so this PR lands by an authorized approval or the maintainer's own merge. - Lowered floors: every one moves down by exactly the content this ruling deletes, with the measured value and its reason in the comment beside it. None is loosened beyond that. - The `vscode` row in `HOST_PROVIDED` (`ui/scripts/check-phantom-dependencies.mjs`) stays. It is fixture-tested and generic, and only its comment changed. - Left alone on purpose: - `ui/packages/plugin-ai/tsconfig.test.json` L42: open PR #27042 retires that package. - `skills/objectui/README.md` L59: `skills/**` is out of scope here and is forwarded by the seat. - Synthetic fixture paths in `body-dialect-producer-scan.test.ts`. - The ruling's "`ci.yml` comment" has 0 hits on `main`, so there was nothing to edit under `.github/workflows/**`. ## Verification <details><summary>Derived gates (dispatch-gates --commands, 75 commands at 383f0f0)</summary> - 73 non-suite commands run, each exit captured before any pipe: - 69 exit 0. - 4 exit 3 (PREREQUISITE NOT MET: `pnpm build` not run, so nothing was measured): `check:dts-closure`, `check:dual-build-cjs-loads`, `check:lean-entry-closure`, `check:sourcemap-no-sources-content`. All four read built `@objectstack/*` dists this diff does not touch. NOT MEASURED locally; CI's Build Core / Lint run them. - `pnpm --dir ui exec vitest run scripts/`: see Tests. - `pnpm check:pm-dispatch-gates`: see the report. - Also run: - `node scripts/check-changeset-fixed.mjs --self-test`: 12 cases pass. - `node scripts/check-changeset-fixed.mjs`: in sync with 109 public packages. - `ui`'s `check-changeset-fixed`, `check-doc-links` (13 scan roots), `check-doc-component-types`, `check-unused-dependencies` and `check-phantom-dependencies`: all exit 0. - `pnpm install --frozen-lockfile`: exit 0. </details> --- _Generated by [Claude Code](https://claude.ai/code/session_01QSeKYm29SiQaonK2q8F7CS)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 0dd93f2 commit ebfadb0

58 files changed

Lines changed: 173 additions & 8535 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.changeset/config.json‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,7 @@
115115
"@object-ui/providers",
116116
"@object-ui/react",
117117
"@object-ui/react-runtime",
118-
"@object-ui/types",
119-
"object-ui"
118+
"@object-ui/types"
120119
]
121120
],
122121
"linked": [],

‎CONTRIBUTING.md‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ use as a few-shot corpus. Neither declares a `dev` script.
288288

289289
| Path | Purpose |
290290
| --- | --- |
291-
| `ui/packages/*` | The published `@object-ui/*` packages, plus the private `vscode-extension`, `test-support` (test-only, never released), `runner` (workspace demo app, never released) and `app-shell` (the Console's shell and views, no longer published after 18.2.0) |
291+
| `ui/packages/*` | The published `@object-ui/*` packages, plus the private `test-support` (test-only, never released), `runner` (workspace demo app, never released) and `app-shell` (the Console's shell and views, no longer published after 18.2.0) |
292292
| `ui/apps/console` | The Console app (Vite + React), which `pnpm console:build` builds into the `@objectstack/console` package |
293293
| `ui/apps/site` | The public docs site at <https://www.objectui.org> (fumadocs) |
294294
| `ui/examples/*` | The snippet and the schema catalog, see [UI examples](#ui-examples) |
@@ -513,7 +513,6 @@ Atoms and fields stay light; heavy widgets live in lazy-loaded plugins.
513513
| [`@object-ui/create-plugin`](ui/packages/create-plugin) | Scaffold a new Object UI plugin |
514514
| [`@object-ui/runner`](ui/packages/runner) | Universal application runner for testing schemas (private workspace app, not published) |
515515
| [`@object-ui/react-runtime`](ui/packages/react-runtime) | Trusted runtime execution for `kind: 'react'` pages |
516-
| [`vscode-extension`](ui/packages/vscode-extension) | IntelliSense and live preview for schema files |
517516

518517
</details>
519518

‎pnpm-lock.yaml‎

Lines changed: 18 additions & 1098 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎scripts/check-changeset-fixed.mjs‎

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,14 @@ const repoRoot = resolve(__dirname, '..');
3535
* Private workspace packages that belong in the `fixed` group anyway, each with
3636
* the reason it is there. Every other name in the group must be public.
3737
*
38-
* `object-ui` is the VS Code extension (`ui/packages/vscode-extension`). It is
39-
* never published to npm, but it ships at the release's version: Tesla's ruling
40-
* of 2026-10-25 (decision 17b, ruling B, objectstack#25711) keeps it in the one
41-
* version group 「同一个版本号组」 the objectui merge created, as objectui's own
42-
* group had. A private package outside this list is still refused in the group,
43-
* so a package marked private by mistake cannot hide in it.
38+
* Empty today: its one row, the VS Code extension, left the workspace under
39+
* objectstack#25910's ruling. A private package outside this list is refused in
40+
* the group, so a package marked private by mistake cannot hide in it; a new
41+
* row needs its reason and the ruling that put it there.
4442
*
4543
* @type {Readonly<Record<string, string>>}
4644
*/
47-
export const PRIVATE_FIXED_MEMBERS = Object.freeze({
48-
'object-ui': 'the VS Code extension: never on npm, versioned with the release (decision 17b, objectstack#25711)',
49-
});
45+
export const PRIVATE_FIXED_MEMBERS = Object.freeze({});
5046

5147
/**
5248
* Names of all non-private workspace packages.

‎ui/content/docs/guide/architecture.md‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ Development tools and integration utilities:
107107
- `@object-ui/create-plugin` - Interactive plugin scaffolder
108108
- `@object-ui/runner` - Universal runtime for testing and demos
109109
- `@object-ui/data-objectstack` - ObjectStack data backend adapter
110-
- `vscode-extension` - VS Code extension for schema development
111110

112111
[Learn more about utilities →](/docs/utilities)
113112

‎ui/content/docs/utilities/index.md‎

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@ Browse available utilities:
2121

2222
- **[ObjectStack Adapter](/docs/utilities/data-objectstack)** - Connect to ObjectStack backend
2323

24-
### Editor Extensions
25-
26-
- **[VS Code Extension](/docs/utilities/vscode-extension)** - Schema editor and IntelliSense
27-
2824
## Official Utilities
2925

3026
### CLI
@@ -98,26 +94,6 @@ npm install @object-ui/data-objectstack @objectstack/client
9894

9995
---
10096

101-
### VS Code Extension
102-
103-
**[object-ui](/docs/utilities/vscode-extension)** - Visual Studio Code extension for ObjectUI schema development.
104-
105-
- Schema preview
106-
- JSON validation
107-
- IntelliSense and auto-completion
108-
- Syntax highlighting
109-
- Export to React components
110-
- Schema formatting
111-
112-
```bash
113-
# Install from VS Code Marketplace
114-
code --install-extension objectui.object-ui
115-
```
116-
117-
[Read full documentation →](/docs/utilities/vscode-extension)
118-
119-
---
120-
12197
## How Utilities Work
12298

12399
### CLI Workflow
@@ -212,7 +188,6 @@ All ObjectUI utilities share these characteristics:
212188

213189
- **[CLI Documentation](/docs/utilities/cli)** - Learn how to use the ObjectUI CLI
214190
- **[Create Plugin Guide](/docs/utilities/create-plugin)** - Build your first plugin
215-
- **[VS Code Extension](/docs/utilities/vscode-extension)** - Set up your development environment
216191
- **[Plugin Concepts](/docs/guide/plugins)** - Learn how plugins work in detail
217192

218193
## Need Help?

‎ui/content/docs/utilities/meta.json‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
"cli",
44
"create-plugin",
55
"runner",
6-
"data-objectstack",
7-
"vscode-extension"
6+
"data-objectstack"
87
]
98
}

0 commit comments

Comments
 (0)