Skip to content

ui:build installs production-only deps and breaks Control UI asset generation #53027

Description

@apoapostolov

[email protected] ui:build /home/apoapostolov/git-ext/openclaw
node scripts/ui.js build

openclaw-control-ui@ build /home/apoapostolov/git-ext/openclaw/ui
vite build

vite v8.0.1 building client environment for production...
�[2K
transforming...✓ 208 modules transformed.
rendering chunks...
computing gzip size...
../dist/control-ui/index.html 2.73 kB │ gzip: 1.03 kB
../dist/control-ui/assets/index-BK0yXA_h.css 181.00 kB │ gzip: 29.47 kB
../dist/control-ui/assets/channel-config-extras-UBRJa-vU.js 0.50 kB │ gzip: 0.32 kB │ map: 2.16 kB
../dist/control-ui/assets/skills-shared-CPLqvR1x.js 1.56 kB │ gzip: 0.70 kB │ map: 4.63 kB
../dist/control-ui/assets/instances-QVUbeONf.js 2.86 kB │ gzip: 1.08 kB │ map: 5.71 kB
../dist/control-ui/assets/logs-BbHV8FOx.js 3.12 kB │ gzip: 1.15 kB │ map: 6.55 kB
../dist/control-ui/assets/format-DeRVtGzv.js 3.71 kB │ gzip: 1.60 kB │ map: 19.61 kB
../dist/control-ui/assets/debug-hN0w3Uzd.js 4.23 kB │ gzip: 1.28 kB │ map: 7.43 kB
../dist/control-ui/assets/de-DaHzXuN7.js 4.32 kB │ gzip: 2.11 kB │ map: 6.89 kB
../dist/control-ui/assets/skills-BaxA3XRt.js 4.68 kB │ gzip: 1.63 kB │ map: 9.13 kB
../dist/control-ui/assets/zh-TW-CM-C0Ey2.js 4.69 kB │ gzip: 2.67 kB │ map: 8.08 kB
../dist/control-ui/assets/pt-BR-CUPpmFmM.js 5.15 kB │ gzip: 2.41 kB │ map: 8.62 kB
../dist/control-ui/assets/zh-CN-DYuK7yBr.js 10.95 kB │ gzip: 5.25 kB │ map: 18.70 kB
../dist/control-ui/assets/sessions-DPZqw74P.js 11.66 kB │ gzip: 3.19 kB │ map: 27.87 kB
../dist/control-ui/assets/es-CSJZiMH1.js 11.93 kB │ gzip: 4.83 kB │ map: 19.08 kB
../dist/control-ui/assets/lit-BZwq2xLD.js 15.03 kB │ gzip: 5.87 kB │ map: 34.52 kB
../dist/control-ui/assets/nodes-BXlsFQVB.js 22.67 kB │ gzip: 5.06 kB │ map: 54.44 kB
../dist/control-ui/assets/channels-l3ZU8ltn.js 25.43 kB │ gzip: 4.63 kB │ map: 57.90 kB
../dist/control-ui/assets/agents-DQiopkVo.js 34.75 kB │ gzip: 7.62 kB │ map: 78.71 kB
../dist/control-ui/assets/cron-CcFCC6Kj.js 49.78 kB │ gzip: 8.45 kB │ map: 97.38 kB
../dist/control-ui/assets/index-khmCNvxp.js 579.17 kB │ gzip: 154.87 kB │ map: 1,657.12 kB

✓ built in 394ms currently auto-runs Scope: all 78 workspace projects
 ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY  Aborted removal of modules directory due to no TTY

If you are running pnpm in CI, set the CI environment variable to "true". when UI dependencies are missing. That strips , so is unavailable and the build fails before is generated.

Repro:

  1. Remove or start from a fresh checkout.
  2. Run

[email protected] ui:build /home/apoapostolov/git-ext/openclaw
node scripts/ui.js build

openclaw-control-ui@ build /home/apoapostolov/git-ext/openclaw/ui
vite build

vite v8.0.1 building client environment for production...
�[2K
transforming...✓ 208 modules transformed.
rendering chunks...
computing gzip size...
../dist/control-ui/index.html 2.73 kB │ gzip: 1.03 kB
../dist/control-ui/assets/index-BK0yXA_h.css 181.00 kB │ gzip: 29.47 kB
../dist/control-ui/assets/channel-config-extras-UBRJa-vU.js 0.50 kB │ gzip: 0.32 kB │ map: 2.16 kB
../dist/control-ui/assets/skills-shared-CPLqvR1x.js 1.56 kB │ gzip: 0.70 kB │ map: 4.63 kB
../dist/control-ui/assets/instances-QVUbeONf.js 2.86 kB │ gzip: 1.08 kB │ map: 5.71 kB
../dist/control-ui/assets/logs-BbHV8FOx.js 3.12 kB │ gzip: 1.15 kB │ map: 6.55 kB
../dist/control-ui/assets/format-DeRVtGzv.js 3.71 kB │ gzip: 1.60 kB │ map: 19.61 kB
../dist/control-ui/assets/debug-hN0w3Uzd.js 4.23 kB │ gzip: 1.28 kB │ map: 7.43 kB
../dist/control-ui/assets/de-DaHzXuN7.js 4.32 kB │ gzip: 2.11 kB │ map: 6.89 kB
../dist/control-ui/assets/skills-BaxA3XRt.js 4.68 kB │ gzip: 1.63 kB │ map: 9.13 kB
../dist/control-ui/assets/zh-TW-CM-C0Ey2.js 4.69 kB │ gzip: 2.67 kB │ map: 8.08 kB
../dist/control-ui/assets/pt-BR-CUPpmFmM.js 5.15 kB │ gzip: 2.41 kB │ map: 8.62 kB
../dist/control-ui/assets/zh-CN-DYuK7yBr.js 10.95 kB │ gzip: 5.25 kB │ map: 18.70 kB
../dist/control-ui/assets/sessions-DPZqw74P.js 11.66 kB │ gzip: 3.19 kB │ map: 27.87 kB
../dist/control-ui/assets/es-CSJZiMH1.js 11.93 kB │ gzip: 4.83 kB │ map: 19.08 kB
../dist/control-ui/assets/lit-BZwq2xLD.js 15.03 kB │ gzip: 5.87 kB │ map: 34.52 kB
../dist/control-ui/assets/nodes-BXlsFQVB.js 22.67 kB │ gzip: 5.06 kB │ map: 54.44 kB
../dist/control-ui/assets/channels-l3ZU8ltn.js 25.43 kB │ gzip: 4.63 kB │ map: 57.90 kB
../dist/control-ui/assets/agents-DQiopkVo.js 34.75 kB │ gzip: 7.62 kB │ map: 78.71 kB
../dist/control-ui/assets/cron-CcFCC6Kj.js 49.78 kB │ gzip: 8.45 kB │ map: 97.38 kB
../dist/control-ui/assets/index-khmCNvxp.js 579.17 kB │ gzip: 154.87 kB │ map: 1,657.12 kB

✓ built in 353ms.
3. The script installs production-only deps and then fails with .

Impact:

  • The gateway later reports:
  • Fresh installs cannot generate the Control UI assets until the dependency set is repaired manually.

Expected:

  • The build bootstrap should install the UI dev dependencies required by Vite, or otherwise ensure the UI build toolchain is present before running the build.

I verified locally that changing the bootstrap install step to a normal Scope: all 78 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 0, reused 1, downloaded 0, added 0
Packages: -192

Progress: resolved 0, reused 85, downloaded 0, added 0, done

. prepare$ command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0
. prepare: Done
Done in 1.6s using pnpm v10.23.0 allows

[email protected] ui:build /home/apoapostolov/git-ext/openclaw
node scripts/ui.js build

openclaw-control-ui@ build /home/apoapostolov/git-ext/openclaw/ui
vite build

vite v8.0.1 building client environment for production...
�[2K
transforming...✓ 208 modules transformed.
rendering chunks...
computing gzip size...
../dist/control-ui/index.html 2.73 kB │ gzip: 1.03 kB
../dist/control-ui/assets/index-BK0yXA_h.css 181.00 kB │ gzip: 29.47 kB
../dist/control-ui/assets/channel-config-extras-UBRJa-vU.js 0.50 kB │ gzip: 0.32 kB │ map: 2.16 kB
../dist/control-ui/assets/skills-shared-CPLqvR1x.js 1.56 kB │ gzip: 0.70 kB │ map: 4.63 kB
../dist/control-ui/assets/instances-QVUbeONf.js 2.86 kB │ gzip: 1.08 kB │ map: 5.71 kB
../dist/control-ui/assets/logs-BbHV8FOx.js 3.12 kB │ gzip: 1.15 kB │ map: 6.55 kB
../dist/control-ui/assets/format-DeRVtGzv.js 3.71 kB │ gzip: 1.60 kB │ map: 19.61 kB
../dist/control-ui/assets/debug-hN0w3Uzd.js 4.23 kB │ gzip: 1.28 kB │ map: 7.43 kB
../dist/control-ui/assets/de-DaHzXuN7.js 4.32 kB │ gzip: 2.11 kB │ map: 6.89 kB
../dist/control-ui/assets/skills-BaxA3XRt.js 4.68 kB │ gzip: 1.63 kB │ map: 9.13 kB
../dist/control-ui/assets/zh-TW-CM-C0Ey2.js 4.69 kB │ gzip: 2.67 kB │ map: 8.08 kB
../dist/control-ui/assets/pt-BR-CUPpmFmM.js 5.15 kB │ gzip: 2.41 kB │ map: 8.62 kB
../dist/control-ui/assets/zh-CN-DYuK7yBr.js 10.95 kB │ gzip: 5.25 kB │ map: 18.70 kB
../dist/control-ui/assets/sessions-DPZqw74P.js 11.66 kB │ gzip: 3.19 kB │ map: 27.87 kB
../dist/control-ui/assets/es-CSJZiMH1.js 11.93 kB │ gzip: 4.83 kB │ map: 19.08 kB
../dist/control-ui/assets/lit-BZwq2xLD.js 15.03 kB │ gzip: 5.87 kB │ map: 34.52 kB
../dist/control-ui/assets/nodes-BXlsFQVB.js 22.67 kB │ gzip: 5.06 kB │ map: 54.44 kB
../dist/control-ui/assets/channels-l3ZU8ltn.js 25.43 kB │ gzip: 4.63 kB │ map: 57.90 kB
../dist/control-ui/assets/agents-DQiopkVo.js 34.75 kB │ gzip: 7.62 kB │ map: 78.71 kB
../dist/control-ui/assets/cron-CcFCC6Kj.js 49.78 kB │ gzip: 8.45 kB │ map: 97.38 kB
../dist/control-ui/assets/index-khmCNvxp.js 579.17 kB │ gzip: 154.87 kB │ map: 1,657.12 kB

✓ built in 418ms to complete and generate .

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions