Skip to content

Migrate UI tooling to Vite and Vitest - #95

Open
ruibaby wants to merge 2 commits into
mainfrom
chore/migrate-ui-tooling-to-vite
Open

Migrate UI tooling to Vite and Vitest#95
ruibaby wants to merge 2 commits into
mainfrom
chore/migrate-ui-tooling-to-vite

Conversation

@ruibaby

@ruibaby ruibaby commented Aug 8, 2026

Copy link
Copy Markdown
Member

What does this PR do?

  • Migrates the plugin UI build from Rsbuild to Vite and emits an ESM UI plugin manifest for Halo 2.26.
  • Migrates the UI and SDK unit tests from Rstest to Vitest while retaining the existing happy-dom environment.
  • Updates dynamic imports, UnoCSS integration, icon generation, and the VueUse integration import for Vite compatibility.
  • Removes the direct Rsbuild and Rstest dependencies and regenerates the pnpm lockfile.
  • Raises the minimum supported Halo version to 2.26.

Testing

  • cd ui && pnpm test:unit — 29 test files, 185 tests
  • cd ui && pnpm -C packages/sdk test — 5 test files, 84 tests
  • cd ui && pnpm type-check
  • cd ui && pnpm -C packages/sdk typecheck
  • cd ui && pnpm build-only
  • git diff --check
  • ./gradlew clean build

Notes

  • The UI bundler kit currently uses the temporary pkg.pr.new build for @halo-dev/ui-plugin-bundler-kit@815292f.
  • This PR should remain in draft until the corresponding bundler-kit changes are available from a stable dependency source.

@pkg-pr-new

pkg-pr-new Bot commented Aug 8, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@halo-dev/ai-foundation-sdk@95

commit: 0ca088b

Update the UI plugin dependencies and lockfile to the Halo 2.26.0 toolchain, replacing the temporary PR-based bundler package and aligning the workspace configuration. This keeps the plugin on the stable released packages and refreshes the transitive dependency graph.
@ruibaby
ruibaby marked this pull request as ready for review August 14, 2026 10:37

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0ca088bc03

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread ui/vite.config.mjs
? []
: [
UnoCSS({
mode: 'vue-scoped',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve UnoCSS output for TypeScript-defined classes

When the custom FormKit model selector is rendered, vue-scoped generates styles only from Vue SFCs, but ui/src/formkit/ai-model-selector-input.ts defines :uno: w-full and :uno: !py-0 outside an SFC. Since this change also removes the global uno.css import, those utilities no longer produce CSS, causing the selector wrapper and input padding styles to regress. Move these utilities into the SFC or retain a global/per-module UnoCSS output for non-Vue sources.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant