Skip to content

docs: add Zebra DataWedge plugin docs#540

Merged
riderx merged 2 commits intomainfrom
codex/zebra-datawedge-docs
Mar 25, 2026
Merged

docs: add Zebra DataWedge plugin docs#540
riderx merged 2 commits intomainfrom
codex/zebra-datawedge-docs

Conversation

@riderx
Copy link
Copy Markdown
Member

@riderx riderx commented Mar 25, 2026

Summary

  • add docs pages for @capgo/capacitor-zebra-datawedge
  • register the plugin in the website catalog and docs sidebar/search config
  • add Zebra DataWedge to the Ionic enterprise alternatives tables

Related

Validation

  • git diff --check
  • bunx prettier --check astro.config.mjs src/config/plugins.ts src/content/docs/docs/plugins/index.mdx src/content/docs/docs/plugins/zebra-datawedge/index.mdx src/content/docs/docs/plugins/zebra-datawedge/getting-started.mdx src/content/docs/docs/plugins/zebra-datawedge/android.mdx
  • bunx --bun astro check and bun run just:build both stalled after startup warnings in this worktree, so I did not get a clean end-to-end Astro pass locally

Summary by CodeRabbit

  • Documentation
    • Added complete Zebra DataWedge plugin documentation with installation steps, profile configuration guidance, Android behavior notes, and API reference.
    • Plugin is now listed in plugin discovery pages and enterprise plugin resources.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 25, 2026

Warning

Rate limit exceeded

@riderx has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 1 minutes and 58 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e362f027-b75b-4312-99b4-af911817521f

📥 Commits

Reviewing files that changed from the base of the PR and between fe6260a and 62ec980.

📒 Files selected for processing (2)
  • src/pages/ionic-enterprise-plugins.astro
  • src/pages/solutions/ionic-enterprise-plugins.astro
📝 Walkthrough

Walkthrough

This PR adds comprehensive documentation and configuration support for the @capgo/capacitor-zebra-datawedge plugin, including Starlight documentation pages (overview, getting started, Android behavior), sidebar navigation entries, plugin registry configuration, and enterprise plugin table entries.

Changes

Cohort / File(s) Summary
Configuration & Registry
astro.config.mjs, src/config/plugins.ts
Added Starlight content set and sidebar navigation for Zebra DataWedge plugin; added new plugin entry to exported actions array with metadata (author, description, href, title, icon).
Plugin Documentation
src/content/docs/docs/plugins/index.mdx, src/content/docs/docs/plugins/zebra-datawedge/*
Added LinkCard entry in utility plugins section and created three new documentation pages: overview (introducing plugin purpose and core components), getting-started (step-by-step setup with code example), and android.mdx (DataWedge configuration, scan listeners, soft triggers, and production notes).
Enterprise Plugin Tables
src/pages/ionic-appflow.astro, src/pages/ionic-enterprise-plugins.astro, src/pages/solutions/ionic-enterprise-plugins.astro
Added new rows to three separate plugin tables for "Ionic Zebra Scanner", each linking to the Zebra DataWedge documentation with consistent localized link text.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~13 minutes

Possibly related PRs

Poem

🐰 A DataWedge hopped into our docs so fine,
With guides and tables all aligned—
Nine files now dance in zebra stripes,
Configuration, docs, and plugin hypes!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding documentation for the Zebra DataWedge plugin. It is concise, specific, and clearly communicates the primary purpose of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/zebra-datawedge-docs

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
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: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/content/docs/docs/plugins/zebra-datawedge/getting-started.mdx`:
- Around line 30-78: The docs import references a non-existent npm package
'@capgo/capacitor-zebra-datawedge' (see the import line and symbols
ZebraConfiguration, ZebraDataWedge, ZebraRuntime, DataWedgePlugin) which makes
the guide unusable; fix by either publishing that package to npm or updating the
guide to a valid installation path: remove or replace the example with the
actual published package name, or add explicit installation instructions for a
local/git dependency (e.g., how to install from repository or monorepo) and
ensure all references to ZebraConfiguration, ZebraDataWedge, ZebraRuntime, and
DataWedgePlugin match the real package API.

In `@src/pages/ionic-appflow.astro`:
- Around line 301-308: The "Guide" cell currently uses
m.appflow_plugins_link_text() and links to docs/plugins/zebra-datawedge/,
causing a mismatch with other rows that point to docs/upgrade/ migration guides;
either change the href to point to a proper migration guide (create and link to
docs/upgrade/from-ionic-zebra-scanner/) or change the displayed text to a
neutral label and keep the plugin docs link—update the anchor in
ionic-appflow.astro (the <a> using getRelativeLocaleUrl(locale,
'docs/plugins/zebra-datawedge/') and m.appflow_plugins_link_text) so the href
and the m.* text are consistent (use new upgrade path or a different i18n
key/text like "Plugin docs") and ensure locale-aware URL generation via
getRelativeLocaleUrl remains used.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8897e1fc-b9e1-4e42-af20-51b4949b226b

📥 Commits

Reviewing files that changed from the base of the PR and between 31a9cda and fe6260a.

⛔ Files ignored due to path filters (1)
  • public/icons/plugins/zebra-datawedge.svg is excluded by !**/*.svg
📒 Files selected for processing (9)
  • astro.config.mjs
  • src/config/plugins.ts
  • src/content/docs/docs/plugins/index.mdx
  • src/content/docs/docs/plugins/zebra-datawedge/android.mdx
  • src/content/docs/docs/plugins/zebra-datawedge/getting-started.mdx
  • src/content/docs/docs/plugins/zebra-datawedge/index.mdx
  • src/pages/ionic-appflow.astro
  • src/pages/ionic-enterprise-plugins.astro
  • src/pages/solutions/ionic-enterprise-plugins.astro

Comment on lines +30 to +78
```typescript
import {
DataWedgeConfigMode,
DataWedgePlugin,
ZebraConfiguration,
ZebraDataWedge,
ZebraRuntime,
} from '@capgo/capacitor-zebra-datawedge';

const intentAction = 'app.capgo.zebra.SCAN';

await ZebraConfiguration.setConfig({
profileName: 'CapgoZebraProfile',
profileEnabled: true,
configMode: DataWedgeConfigMode.CREATE_IF_NOT_EXIST,
appList: [
{
packageName: 'com.example.app',
activityList: ['*'],
},
],
pluginConfigs: [
{
pluginName: DataWedgePlugin.BARCODE,
resetConfig: true,
paramList: {
scanner_selection: 'auto',
scanner_input_enabled: 'true',
},
},
{
pluginName: DataWedgePlugin.INTENT,
resetConfig: true,
paramList: {
intent_output_enabled: 'true',
intent_action: intentAction,
intent_delivery: 2,
},
},
],
});

await ZebraDataWedge.addListener('scan', (result) => {
console.log('Scanned', result.data, result.labelType);
});

const result = await ZebraRuntime.softScanTrigger(intentAction);
console.log(result.data);
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

@capgo/capacitor-zebra-datawedge npm API documentation

💡 Result:

No official npm package named "@capgo/capacitor-zebra-datawedge" exists. Capgo (capgo.app) develops Capacitor plugins like capacitor-updater and capacitor-uploader, but none for Zebra DataWedge APIs. Their GitHub (github.com/Cap-go) lists 140+ repos with no matching package. Searches on npm, GitHub, and web returned no results for this specific scoped package. Available Capacitor plugins for Zebra DataWedge (barcode scanning on Zebra devices): - Community: capacitor-datawedge (github.com/jkbz64/capacitor-datawedge) - npm install capacitor-datawedge. Basic API: enable, disable, addListener('scan'), etc. Supports Capacitor v3-v4. - Comprehensive: capacitor-datawedge-plugin (github.com/maxilosgr/capacitor-datawedge-plugin) - npm install github:maxilosgr/capacitor-datawedge-plugin. 35+ methods including createProfile, setConfig, scanReceived listener. - Enterprise: @ionic-enterprise/zebra-scanner (ionic.io/docs/zebra-datawedge) - Official Ionic/Zebra integration, requires Ionic Enterprise. Official Zebra DataWedge APIs use Android intents (techdocs.zebra.com/datawedge/latest/guide/api/). Configure DataWedge profile: Intent delivery "Broadcast intent", enable Intent output, add app package. Example usage (jkbz64 plugin): import { DataWedge } from 'capacitor-datawedge'; DataWedge.addListener('scan', (data) => console.log(data)); await DataWedge.enable; Requires DataWedge 6.0+ on Zebra Android devices.

Citations:


🏁 Script executed:

# Search for references to the zebra-datawedge package in the repository
rg -i "zebra-datawedge" --type ts --type js --type json --type mdx

# Also check for any package configuration or mentions of this plugin
rg -i "capgo/capacitor-zebra" --type ts --type js --type json --type mdx

# Check if there's a packages directory or monorepo setup
fd -t d "packages" -o "libs" | head -20

Repository: Cap-go/website

Length of output: 241


🏁 Script executed:

# Search for zebra-datawedge references without specifying mdx type
rg "zebra-datawedge" --type ts --type js --type json

# Also search the mdx file directly to see context
rg "zebra-datawedge"

# Check for any package.json files that might reference this
fd "package.json" | xargs grep -l "zebra-datawedge" 2>/dev/null || echo "No matches in package.json files"

Repository: Cap-go/website

Length of output: 2946


🏁 Script executed:

# Check the plugin configuration file
cat -n src/config/plugins.ts | grep -A 20 "zebra-datawedge"

# Check if there's any API documentation or type definitions in the repo
fd "zebra-datawedge" -type f | head -20

# Look for any README or documentation files
find src/content/docs/docs/plugins/zebra-datawedge -type f -name "*.mdx" -o -name "*.md"

Repository: Cap-go/website

Length of output: 1468


🏁 Script executed:

# Read the android.mdx file to see what API is documented there
cat -n src/content/docs/docs/plugins/zebra-datawedge/android.mdx | head -100

# Also read the full getting-started file to see all content
cat -n src/content/docs/docs/plugins/zebra-datawedge/getting-started.mdx

Repository: Cap-go/website

Length of output: 5631


Package does not exist on npm—the entire guide is unusable as documented.

The code example is internally consistent with other documentation files in the plugin, but the @capgo/capacitor-zebra-datawedge package does not exist on npm or public repositories. Developers cannot complete step 1 of the setup guide (install the plugin). Either publish the package to npm or remove this documentation until the package is publicly available.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/content/docs/docs/plugins/zebra-datawedge/getting-started.mdx` around
lines 30 - 78, The docs import references a non-existent npm package
'@capgo/capacitor-zebra-datawedge' (see the import line and symbols
ZebraConfiguration, ZebraDataWedge, ZebraRuntime, DataWedgePlugin) which makes
the guide unusable; fix by either publishing that package to npm or updating the
guide to a valid installation path: remove or replace the example with the
actual published package name, or add explicit installation instructions for a
local/git dependency (e.g., how to install from repository or monorepo) and
ensure all references to ZebraConfiguration, ZebraDataWedge, ZebraRuntime, and
DataWedgePlugin match the real package API.

Comment on lines +301 to +308
<td class="px-6 py-4">
<a
href={getRelativeLocaleUrl(locale, 'docs/plugins/zebra-datawedge/')}
class="text-blue-300 hover:underline"
>
{m.appflow_plugins_link_text({}, { locale })}
</a>
</td>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Guide column link inconsistency with other rows.

The "Guide" column uses m.appflow_plugins_link_text() which renders as "Migration guide" in all locales, but this row links to the plugin documentation (docs/plugins/zebra-datawedge/) rather than an actual migration guide (like docs/upgrade/from-ionic-zebra-scanner/). Other rows in this table link to dedicated migration guides under docs/upgrade/.

Consider either:

  1. Creating a dedicated migration guide at docs/upgrade/from-ionic-zebra-scanner/ and linking to it, or
  2. Using different link text that doesn't imply a migration guide (e.g., "Documentation" or "Plugin docs")
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/pages/ionic-appflow.astro` around lines 301 - 308, The "Guide" cell
currently uses m.appflow_plugins_link_text() and links to
docs/plugins/zebra-datawedge/, causing a mismatch with other rows that point to
docs/upgrade/ migration guides; either change the href to point to a proper
migration guide (create and link to docs/upgrade/from-ionic-zebra-scanner/) or
change the displayed text to a neutral label and keep the plugin docs
link—update the anchor in ionic-appflow.astro (the <a> using
getRelativeLocaleUrl(locale, 'docs/plugins/zebra-datawedge/') and
m.appflow_plugins_link_text) so the href and the m.* text are consistent (use
new upgrade path or a different i18n key/text like "Plugin docs") and ensure
locale-aware URL generation via getRelativeLocaleUrl remains used.

Copy link
Copy Markdown

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

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: fe6260a541

ℹ️ 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".

<td class="px-6 py-4">
<a
href={getRelativeLocaleUrl(locale, 'docs/plugins/pay/getting-started/')}
href={getRelativeLocaleUrl(locale, 'docs/plugins/zebra-datawedge/')}
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 Point migration-guide column to an actual migration guide

The third column in this table is explicitly labeled and rendered as “Migration guide”, but this new Zebra row links to the plugin overview page instead of an upgrade doc (unlike the other rows that target /docs/upgrade/from-ionic-.../). For users migrating from Ionic Zebra Scanner, this sends them to generic product docs with no migration path, which makes this comparison table misleading and breaks the expected migration flow.

Useful? React with 👍 / 👎.

@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
100.0% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@riderx riderx merged commit 8887d78 into main Mar 25, 2026
5 of 6 checks passed
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