Skip to content

Conversation

@dwgray
Copy link
Member

@dwgray dwgray commented Aug 23, 2025

Describe the PR

I think it's worthwhile to be explicit about deprecations - I don't use individual plugins myself generally, but I think this would trip someone up who is upgrading - hopefully this clarifies.

Small replication

A small replication or video walkthrough can help demonstrate the changes made. This is optional, but can help observe the intended changes. A mentioned issue that contains a replication also works.

PR checklist

What kind of change does this PR introduce? (check at least one)

  • Bugfix 🐛 - fix(...)
  • Feature - feat(...)
  • ARIA accessibility - fix(...)
  • Documentation update - docs(...)
  • Other (please describe)

The PR fulfills these requirements:

  • Pull request title and all commits follow the Conventional Commits convention or has an override in this pull request body This is very important, as the CHANGELOG is generated from these messages, and determines the next version type. Pull requests that do not follow conventional commits or do not have an override will be denied

Summary by CodeRabbit

  • Documentation
    • Added warning admonitions for backward-compatibility and plugin deprecations; cross-referenced BApp docs.
    • Expanded Automatic Registering of Components with guidance on using an automatic component plugin, installation snippets, config example, and aliasing note.
    • Added a "Tree-shaking with BApp" subsection explaining component vs plugin approaches, size guidance (~20kb gzipped) and migration tips.
    • No code or public API changes.

@bolt-new-by-stackblitz
Copy link

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 23, 2025

Walkthrough

Documentation updates: replaced HighlightCard elements with warning admonitions, adjusted headings, added cross-references to backward-compatibility docs, and explicitly deprecated modalControllerPlugin, toastControllerPlugin, and popoverControllerPlugin in favor of orchestratorPlugin. No code or public API changes.

Changes

Cohort / File(s) Summary of Changes
Docs — Admonitions, headings, and deprecation guidance
apps/docs/src/docs.md, apps/docs/src/docs/components/app.md
Replaced HighlightCard with warning admonitions; promoted and adjusted the "Automatic Registering of Components" heading; added unplugin-vue-components installation and vite config examples; added tree-shaking guidance and notes about createBootstrap/orchestrator size; added/backlinked backward-compatibility guidance; explicitly deprecated modalControllerPlugin, toastControllerPlugin, and popoverControllerPlugin and instruct replacement with orchestratorPlugin; removed a redundant "Component Reference" header; purely documentation changes, no API edits.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10–15 minutes

Possibly related PRs

Suggested reviewers

  • VividLemon

Poem

I thump my paws in tidy rows,
Swap cards for warnings, clarity grows.
Old plugins hop off, new ones align,
Orchestrator leads the conga line.
Docs now point the backward way—hop on, and stay. 🥕

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
apps/docs/src/docs.md (1)

133-138: Good addition: prominent pointer for legacy plugin users; consider clarifying what “individual plugins” refers to and pre-empting deprecation.

The admonition helps reduce upgrade confusion. To make it fully self‑contained for readers who won’t click through, briefly name the deprecated “controller” plugins and the replacement, and use the phrase “legacy (individual) plugins” for consistency with the other page.

Proposed tweak within this block:

 ::: warning
-If you are using individual plugins, please see the [`BApp` documentation](/docs/components/app#backward-compatibility) for additional details.
+If you are using legacy (individual) plugins, please see the [`BApp` documentation](/docs/components/app#backward-compatibility) for additional details.
+The individual controller plugins `modalControllerPlugin`, `toastControllerPlugin`, and `popoverControllerPlugin` are deprecated — use `orchestratorPlugin` instead.
 :::

Please verify in a local docs preview that the anchor /docs/components/app#backward-compatibility resolves correctly from this page and that the site’s build (sidebar/TOC generation) still behaves as expected after introducing the admonition.

apps/docs/src/docs/components/app.md (1)

354-361: Strengthen the migration note with a concrete mapping and scannable formatting; optionally include timing/version.

Great to explicitly call out deprecated controller plugins and the replacement. Two small improvements:

  • Make the list a bullet list for scanability.
  • Provide a one‑line code sample that demonstrates replacing an existing controller plugin registration with orchestratorPlugin.
  • If you have a target removal version or timeframe, add it to set expectations.

Suggested content tweak inside the admonition:

-::: warning Migration Note
-The plugins will show deprecation warnings but continue to work until removed in a future version.
-
-However, the individual plugins `modalControllerPlugin`, `toastControllerPlugin`, and `popoverControllerPlugin`
-are deprecated. Please replace references to these with a reference to `orchestratorPlugin`.
-:::
+::: warning Migration Note
+The legacy plugins will show deprecation warnings but continue to work until removal in a future version.
+
+Deprecated individual controller plugins:
+
+- `modalControllerPlugin`
+- `toastControllerPlugin`
+- `popoverControllerPlugin`
+
+Use `orchestratorPlugin` instead. Example:
+
+```ts
+// Before
+// app.use(modalControllerPlugin)
+
+// After
+// app.use(orchestratorPlugin)
+```
+
+For reference on prior plugin APIs, see the BootstrapVue v4 docs (historical): https://bootstrap-vue.github.io/bootstrap-vue/
+:::

If you know the planned removal version/date, append a final line like “Removal planned for vX.Y (Month YYYY)” to reduce user uncertainty.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between ba90f59 and 460030a.

📒 Files selected for processing (2)
  • apps/docs/src/docs.md (1 hunks)
  • apps/docs/src/docs/components/app.md (2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
🔇 Additional comments (1)
apps/docs/src/docs/components/app.md (1)

15-15: LGTM: cross‑reference improves discoverability.

The inline link to the Backward Compatibility section makes the “plugin compatibility” claim actionable.

@pkg-pr-new
Copy link

pkg-pr-new bot commented Aug 23, 2025

bsvn-vite-ts

npm i https://pkg.pr.new/bootstrap-vue-next/bootstrap-vue-next@2820
npm i https://pkg.pr.new/bootstrap-vue-next/bootstrap-vue-next/@bootstrap-vue-next/nuxt@2820

commit: 7e6a1b4

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
apps/docs/src/docs.md (1)

195-207: Incorrect import for unplugin-vue-components (Vite).

The example imports a named export from the package root, which will break. For Vite, import the default from 'unplugin-vue-components/vite' (as shown earlier in this page).

-```ts
-import {Components} from 'unplugin-vue-components'
+```ts
+import Components from 'unplugin-vue-components/vite'
 import {BootstrapVueNextResolver} from 'bootstrap-vue-next/resolvers'
 
 Components({
   resolvers: [
     BootstrapVueNextResolver({
       aliases: {
         BInput: 'BFormInput',
       },
     }),
   ],
 })

</blockquote></details>

</blockquote></details>
♻️ Duplicate comments (1)
apps/docs/src/docs/components/app.md (1)

354-366: Confirm removals and tighten the migration wording; add an explicit “how to replace” note.

Two asks:

  • Please verify the exact removal version and plugin list (modalControllerPlugin, toastControllerPlugin, popoverControllerPlugin) and that orchestratorPlugin is the intended replacement in all cases.
  • Minor grammar/flow tweak and an explicit action sentence will reduce confusion.

Apply this doc-only diff to streamline the admonition and clarify the action:

-::: warning Migration Note
-
-Plugins will show deprecation warnings but continue to work until removed in a future version, with
-the following exceptions:
-
-- `modalControllerPlugin`
-- `toastControllerPlugin`
-- `popoverControllerPlugin`
-
-These plugins have been removed as of **version 0.40.0**.
-Please replace references to these with a reference to `orchestratorPlugin`.
-
-:::
+::: warning Migration note
+The following controller plugins were removed in **v0.40.0**:
+
+- `modalControllerPlugin`
+- `toastControllerPlugin`
+- `popoverControllerPlugin`
+
+Replace any usage with `orchestratorPlugin`.
+
+All other legacy plugins will continue to emit deprecation warnings until they are removed in a future version.
+:::

Optionally, add a one-line pointer after the admonition to the legacy-plugin example in this page or to the migration guide.

I can scan the codebase and surface any remaining references to the removed plugins (docs and code) and propose a follow-up PR that replaces or removes them.

🧹 Nitpick comments (3)
apps/docs/src/docs.md (3)

133-139: Good call-out for legacy controller plugins; consider titling the admonition.

Adding a short title improves scan-ability.

-::: warning
+::: warning Legacy controller plugins
@@
 :::

140-140: Grammar: “Automatic Registration of Components”

Use the noun “Registration” instead of the gerund “Registering”.

-### Automatic Registering of Components
+### Automatic Registration of Components

360-368: Solid guidance; consider softening the footprint number or linking to measurement.

“~20kb gzipped” can drift over time. Either say “roughly 20kb gzipped (subject to change)” or link to a perf/bundle report page in the docs.

If you’d like, I can add a tiny script that generates a fresh bundle size snapshot using vite-bundle-visualizer and a minimal sample app to keep this number honest in future releases.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 460030a and 7e6a1b4.

📒 Files selected for processing (2)
  • apps/docs/src/docs.md (2 hunks)
  • apps/docs/src/docs/components/app.md (2 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2701
File: apps/docs/src/docs/migration-guide.md:622-626
Timestamp: 2025-06-05T11:43:10.793Z
Learning: In migration guides, links to the old/previous version's documentation (like bootstrap-vue.org) are appropriate and helpful when explaining deprecated features, as they provide users with reference points for what they're migrating from.
📚 Learning: 2025-08-19T14:23:46.746Z
Learnt from: xvaara
PR: bootstrap-vue-next/bootstrap-vue-next#2732
File: packages/bootstrap-vue-next/CHANGELOG.md:35-41
Timestamp: 2025-08-19T14:23:46.746Z
Learning: In the bootstrap-vue-next repository, CHANGELOG.md files (e.g., packages/bootstrap-vue-next/CHANGELOG.md) are autogenerated and should be ignored in reviews; do not propose edits for them.

Applied to files:

  • apps/docs/src/docs.md
🪛 LanguageTool
apps/docs/src/docs.md

[grammar] ~135-~135: There might be a mistake here.
Context: ...llerPlugin, toastControllerPlugin, or popoverControllerPlugin`, please see th...

(QB_NEW_EN)

apps/docs/src/docs/components/app.md

[grammar] ~356-~356: There might be a mistake here.
Context: ... until removed in a future version, with the following exceptions: - `modalContr...

(QB_NEW_EN)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build
🔇 Additional comments (2)
apps/docs/src/docs/components/app.md (2)

15-15: Nice: clear cross-reference to migration details.

Pointing readers to the Backward Compatibility section from the feature bullets improves discoverability.


354-366: Deprecation removals and replacement usage verified; no action required

The verification script confirms that:

  • modalControllerPlugin, toastControllerPlugin, and popoverControllerPlugin only appear in the documentation (apps/docs/src/docs…) and are not exported or used in the codebase.
  • orchestratorPlugin is defined and exported in packages/bootstrap-vue-next/src/plugins/orchestrator/index.ts and correctly consumed (e.g., in createBootstrap/index.ts).

No further changes are needed.

@VividLemon VividLemon merged commit cde7534 into bootstrap-vue-next:main Aug 26, 2025
5 checks passed
xvaara added a commit to xvaara/bootstrap-vue-next that referenced this pull request Sep 11, 2025
* upstream/main: (32 commits)
  chore: release main (bootstrap-vue-next#2838)
  feat(BButtonToolbar): Add keyboard navigation support (bootstrap-vue-next#2837)
  fix(BFormSelect): modelValue not being applied during SSR (bootstrap-vue-next#2835)
  feat(BTable): Implement keyboard navigation (bootstrap-vue-next#2834)
  fix: BOffcanvas responsive SSR compatibility - defer breakpoint evaluation to client-side (bootstrap-vue-next#2833)
  chore: release main (bootstrap-vue-next#2831)
  fix(BDropdown): transition broken by inline display styles (bootstrap-vue-next#2832)
  feat: change useColorMode selector from 'body' to 'html' (bootstrap-vue-next#2830)
  chore: release main (bootstrap-vue-next#2817)
  feat: Add headerAttrs prop to BOffcanvas and BModal components
  docs: Add useScrollspy documentation
  fix: Remove lazy-modifier warning on FormInput docs (bootstrap-vue-next#2825)
  feat(BSort)!: Implement initial-sort-direction and move compare from sort-by to fields (bootstrap-vue-next#2777)
  docs(table): fix incorrect list item (bootstrap-vue-next#2823)
  docs: Fix grammar in documentation data files (bootstrap-vue-next#2816)
  doc(BTooltip): Parity pass (bootstrap-vue-next#2762)
  docs(BOverlay): Parity pass (bootstrap-vue-next#2767)
  feat: implement BFormRating disabled state (bootstrap-vue-next#2753) (bootstrap-vue-next#2793)
  docs: fix otp for index and reference pages (bootstrap-vue-next#2819)
  docs(BApp): add some additional details around legacy plugin use (bootstrap-vue-next#2820)
  ...
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.

2 participants