Skip to content

objectui init 脚手架的清单在锚定表之外:@object-ui/* ^2.0.0(平台包实际 17.3.0)、vite ^7.3.1 / ts ^5.9.3 落后仓内,外加一份 v4 读不到的 tailwind.config.js #3892

Description

@yinlianghui

越界发现,记录于 #3852(生成的临时 app 迁 Tailwind 4)实施期间。#3852#3827 的文件面都是 utils/app-generator.ts 的两个生成器;commands/init.ts第三个生成器,写的是用户项目脚手架,不在那两单的面里,也不在 app-generator.test.tsDEPENDENCY_ANCHORS 覆盖范围内。

事实(核于 origin/main = 56ff0916e)

packages/cli/src/commands/init.ts:463-479 写给新项目的清单:

init.ts 写的 仓内实际
@object-ui/components ^2.0.0 17.3.0 15 个 major
@object-ui/react ^2.0.0 17.3.0 15 个 major
@vitejs/plugin-react ^5.1.3 ^6.0.5 1
vite ^7.3.1 ^8.2.0 1
typescript ^5.9.3 ^6.0.3 1
react / react-dom ^19.2.0 19.2.8(仓根精确钉) 范围形状不同
tailwindcss / @tailwindcss/postcss ^4.1.18 ^4.3.3 同 major,minor 落后
autoprefixer ^10.4.23 ^10.5.4 minor
postcss ^8.5.6 ^8.5.26 patch

@object-ui/* ^2.0.0#3827 修掉的那一类的同形缺陷(那边是 ^0.1.0 对 17.x):objectui init 生成的项目 npm install 会去解析一个与当前 CLI 完全脱节的 major。#3827app-generator.ts 的解法是从 CLI 自身版本推导(platformPackageRange(),因为 .changeset/config.json 把 CLI 与平台包放在同一个 fixed 组),这里可以直接复用同一个函数 —— 它已经导出在同一个包里。

另外两条同族但独立:

影响

objectui init 是外部用户的第一条命令。^2.0.0 这一格是具体缺陷(装出来的项目与 CLI 不同代);其余区间落后是化石;tailwind.config.js 那份属于 dormant 的死文件。严重度不预设,留给 triage 定级。

不预判修法

要判的一格:init 的清单是逐条锚回仓内(复用 DEPENDENCY_ANCHORS 的判据,把 init.ts 也纳入那张表)还是只把 @object-ui/* 改成派生、其余按需 bump。前者一次修掉整类且有门禁,代价是要把锚定表从 app 生成器泛化到第三个生成器;后者小,但化石会再长回来。

已搜重

本仓开放 issue 搜过 objectui init doctor scaffoldtailwind、标题含 cli 三组:init.ts 无任何命中。#3827(已合)与 #3852(在实施)的文件面都只有 app-generator.tscommands/dev.ts

Metadata

Metadata

Assignees

No one assigned

    Labels

    pm:queuetarget:v17v17 发布窗口工作集(GA 前排查 2026-08-04)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions