Skip to content

fix(core): align Vue bundleless externals with plugin-vue#1579

Merged
Timeless0911 merged 3 commits intomainfrom
fix/core-vue-plugin-vue
Apr 8, 2026
Merged

fix(core): align Vue bundleless externals with plugin-vue#1579
Timeless0911 merged 3 commits intomainfrom
fix/core-vue-plugin-vue

Conversation

@Timeless0911
Copy link
Copy Markdown
Contributor

Summary

Replace the Vue examples and templates with @rsbuild/plugin-vue, and align Rslib's bundleless externals handling with Vue loader virtual requests.

This keeps Vue bundleless outputs on stable .js and .css paths while preserving the scoped-style helper output needed by @rsbuild/plugin-vue.

Related Links

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).

Copilot AI review requested due to automatic review settings April 7, 2026 09:35
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 7, 2026

Deploying rslib with  Cloudflare Pages  Cloudflare Pages

Latest commit: 020a529
Status: ✅  Deploy successful!
Preview URL: https://59701278.rslib.pages.dev
Branch Preview URL: https://fix-core-vue-plugin-vue.rslib.pages.dev

View logs

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR migrates the repo’s Vue templates/examples/tests to @rsbuild/plugin-vue and updates Rslib’s bundleless externals behavior so Vue SFC loader internals don’t destabilize bundleless output paths, with added e2e coverage to validate runtime behavior.

Changes:

  • Replace rsbuild-plugin-unplugin-vue usage with @rsbuild/plugin-vue across docs, templates, examples, and integration fixtures.
  • Adjust bundleless externals handling to keep rspack-vue-loader helper/virtual requests bundled.
  • Add Playwright e2e coverage for Vue component examples (bundle + bundleless).

Reviewed changes

Copilot reviewed 29 out of 31 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
website/docs/zh/guide/solution/vue.mdx Update Vue guide to use @rsbuild/plugin-vue.
website/docs/zh/config/rsbuild/plugins.mdx Remove old Vue plugin references; keep @rsbuild/plugin-vue.
website/docs/en/guide/solution/vue.mdx Update Vue guide to use @rsbuild/plugin-vue.
website/docs/en/config/rsbuild/plugins.mdx Remove old Vue plugin references; keep @rsbuild/plugin-vue.
tests/package.json Add @rsbuild/plugin-vue to test workspace deps.
tests/integration/vue/src/Button/Button.vue Enable scoped styles for Vue integration coverage.
tests/integration/vue/rslib.config.ts Switch integration fixture to pluginVue().
tests/integration/vue/package.json Swap Vue plugin dependency to @rsbuild/plugin-vue.
tests/integration/vue/index.test.ts Update snapshots for @rsbuild/plugin-vue outputs (incl. scoped CSS + runtime).
tests/e2e/vue-component/tsconfig.json Add TS config for Vue e2e fixture.
tests/e2e/vue-component/src/env.d.ts Add .vue module typing for TS in e2e fixture.
tests/e2e/vue-component/src/BundleFalseApp.vue Add bundleless consumer app entry component.
tests/e2e/vue-component/src/bundleFalse.ts Add bundleless consumer app bootstrap.
tests/e2e/vue-component/src/BundleApp.vue Add bundled consumer app entry component (incl. CSS import).
tests/e2e/vue-component/src/bundle.ts Add bundled consumer app bootstrap.
tests/e2e/vue-component/rsbuild.config.ts Add Rsbuild config using pluginVue() with two environments.
tests/e2e/vue-component/package.json Add e2e workspace package for Vue example consumers.
tests/e2e/vue-component/index.pw.test.ts Add Playwright assertions for Vue example rendering + styling.
tests/e2e/vue-component/.gitignore Ignore generated public/ output for e2e fixture.
pnpm-lock.yaml Update lockfile for plugin migration and dependency graph changes.
packages/create-rslib/template-vue-ts/rslib.config.ts Switch template to pluginVue().
packages/create-rslib/template-vue-ts/package.json Replace old Vue plugin dependency with @rsbuild/plugin-vue.
packages/create-rslib/template-vue-js/rslib.config.ts Switch template to pluginVue().
packages/create-rslib/template-vue-js/package.json Replace old Vue plugin dependency with @rsbuild/plugin-vue.
packages/core/src/config.ts Keep rspack-vue-loader helper/virtual requests bundled in bundleless externals handling.
examples/vue-component-bundleless/src/CounterButton.vue Add button class to support scoped styling assertions.
examples/vue-component-bundleless/rslib.config.ts Switch example to pluginVue().
examples/vue-component-bundleless/package.json Replace old Vue plugin dependency with @rsbuild/plugin-vue.
examples/vue-component-bundle/src/CounterButton.vue Add button class to support scoped styling assertions.
examples/vue-component-bundle/rslib.config.ts Switch example to pluginVue().
examples/vue-component-bundle/package.json Replace old Vue plugin dependency with @rsbuild/plugin-vue.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Comment thread tests/e2e/vue-component/index.pw.test.ts
Comment thread tests/e2e/vue-component/index.pw.test.ts
@Timeless0911 Timeless0911 merged commit 8be8876 into main Apr 8, 2026
10 checks passed
@Timeless0911 Timeless0911 deleted the fix/core-vue-plugin-vue branch April 8, 2026 03:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants