{"id":30538465,"url":"https://github.com/jkbz64/capacitor-datawedge","last_synced_at":"2025-10-28T12:23:16.981Z","repository":{"id":43360394,"uuid":"386055066","full_name":"jkbz64/capacitor-datawedge","owner":"jkbz64","description":"Capacitor plugin for DataWedge API","archived":false,"fork":false,"pushed_at":"2025-02-24T22:26:24.000Z","size":491,"stargazers_count":12,"open_issues_count":2,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-26T04:46:06.063Z","etag":null,"topics":["android","capacitor","capacitor-plugin","datawedge","typescript","zebra"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jkbz64.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-14T19:31:38.000Z","updated_at":"2025-05-11T15:29:26.000Z","dependencies_parsed_at":"2024-06-27T07:43:16.882Z","dependency_job_id":"bb74f815-83c0-487e-8f12-b4dc4f576201","html_url":"https://github.com/jkbz64/capacitor-datawedge","commit_stats":{"total_commits":51,"total_committers":7,"mean_commits":7.285714285714286,"dds":0.4509803921568627,"last_synced_commit":"91ea091d8cb15a516fcba468b94347891a7f0a6e"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/jkbz64/capacitor-datawedge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkbz64%2Fcapacitor-datawedge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkbz64%2Fcapacitor-datawedge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkbz64%2Fcapacitor-datawedge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkbz64%2Fcapacitor-datawedge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jkbz64","download_url":"https://codeload.github.com/jkbz64/capacitor-datawedge/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jkbz64%2Fcapacitor-datawedge/sbom","scorecard":{"id":522392,"data":{"date":"2025-08-11","repo":{"name":"github.com/jkbz64/capacitor-datawedge","commit":"52b2d3b73952a233ca158e09de152f6a62088ed9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":1,"reason":"Found 4/29 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: android/gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 6 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T03:23:23.153Z","repository_id":43360394,"created_at":"2025-08-20T03:23:23.153Z","updated_at":"2025-08-20T03:23:23.153Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272376169,"owners_count":24923709,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","capacitor","capacitor-plugin","datawedge","typescript","zebra"],"created_at":"2025-08-27T20:33:15.764Z","updated_at":"2025-10-28T12:23:16.916Z","avatar_url":"https://github.com/jkbz64.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Capacitor DataWedge - community maintained plugin\n\n![capacitor-version](https://img.shields.io/badge/Capacitor-v7-lightgreen)\n![capacitor-version](https://img.shields.io/badge/Capacitor-v3--v6-orange)\n![version](https://img.shields.io/npm/v/capacitor-datawedge)\n![downloads](https://img.shields.io/npm/dm/capacitor-datawedge)\n![contributors](https://img.shields.io/github/contributors/jkbz64/capacitor-datawedge)\n![license](https://img.shields.io/npm/l/capacitor-datawedge)\n\nThis plugin allows you to simply gain access to receiving barcode data and use some api methods from the DataWedge API designed for Capacitor with Zebra devices.\n\n`capacitor-datawedge` project is ***unofficial*** and completely community maintained, do not mistake this plugin with the official [Zebra Scanner](https://ionic.io/docs/zebra-datawedge) plugin.\n\nIt is advised to use official plugin for full compatibility and guaranteed support, this project was created before the official plugin existed and is maintained by people who use it - ***it does not aim for full compatibility***, features are added when someone cares enough to share the changes with other people in the true open source nature.\n\n## Install\n\n```bash\nnpm install capacitor-datawedge\nnpx cap sync\n```\n\nThe last supported version for Capacitor v3 is `capacitor-datawedge@0.1.3`\n\nThe last supported version for Capacitor v4 is `capacitor-datawedge@0.2.1`\n\nThe last supported version for Capacitor v5 is `capacitor-datawedge@0.3.1`\n\nThe last supported version for Capacitor v6 is `capacitor-datawedge@0.3.4`\n\n## Usage\n\nEnable intent output in your DataWedge profile, set `Intent delivery` to `Broadcast intent` and set `Intent action` to `com.capacitor.datawedge.RESULT_ACTION`\n\n```js\nimport { DataWedge } from 'capacitor-datawedge';\n\n// Optional: in case you want to use your custom intent action instead\n// DataWedge.__registerReceiver({ intent: \"my.custom.action\" });\n\n// Register scan listener to receive barcode data\nDataWedge.addListener('scan', event =\u003e {\n  console.log(event.data);\n});\n\n// Scanning the barcode using physical trigger should fire up your scan callback!\n// Check API for more methods\n```\n\n## API\n\n\u003cdocgen-index\u003e\n\n* [`enable()`](#enable)\n* [`disable()`](#disable)\n* [`enableScanner()`](#enablescanner)\n* [`disableScanner()`](#disablescanner)\n* [`startScanning()`](#startscanning)\n* [`stopScanning()`](#stopscanning)\n* [`addListener('scan', ...)`](#addlistenerscan-)\n* [`__registerReceiver(...)`](#__registerreceiver)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\n\n\u003c/docgen-index\u003e\n\nEvery broadcasted intent assumes `com.symbol.datawedge.api` package as default.\n\nPackage name can be changed by modyfing `DATAWEDGE_PACKAGE` variable [here](android/src/main/java/com/jkbz/capacitor/datawedge/DataWedge.java)\n\n\u003cdocgen-api\u003e\n\u003c!--Update the source file JSDoc comments and rerun docgen to update the docs below--\u003e\n\n### enable()\n\n```typescript\nenable() =\u003e Promise\u003cvoid\u003e\n```\n\nEnables DataWedge\n\nBroadcasts intent action with `.ENABLE_DATAWEDGE` extra set to `true`\n\n**Since:** 0.0.3\n\n--------------------\n\n\n### disable()\n\n```typescript\ndisable() =\u003e Promise\u003cvoid\u003e\n```\n\nDisables DataWedge\n\nBroadcasts intent action with `.ENABLE_DATAWEDGE` extra set to `false`\n\n**Since:** 0.0.3\n\n--------------------\n\n\n### enableScanner()\n\n```typescript\nenableScanner() =\u003e Promise\u003cvoid\u003e\n```\n\nEnables physical scanner\n\nBroadcasts intent action with `.SCANNER_INPUT_PLUGIN` extra set to `ENABLE_PLUGIN`\n\n**Since:** 0.0.3\n\n--------------------\n\n\n### disableScanner()\n\n```typescript\ndisableScanner() =\u003e Promise\u003cvoid\u003e\n```\n\nDisables physical scanner\n\nBroadcasts intent action with `.SCANNER_INPUT_PLUGIN` extra set to `DISABLE_PLUGIN`\n\n**Since:** 0.0.3\n\n--------------------\n\n\n### startScanning()\n\n```typescript\nstartScanning() =\u003e Promise\u003cvoid\u003e\n```\n\nStarts software scanning trigger\n\nBroadcasts intent action with `.SOFT_SCAN_TRIGGER` extra set to `START_SCANNING`\n\n**Since:** 0.1.2\n\n--------------------\n\n\n### stopScanning()\n\n```typescript\nstopScanning() =\u003e Promise\u003cvoid\u003e\n```\n\nStops software scanning trigger\n\nBroadcasts intent action with `.SOFT_SCAN_TRIGGER` extra set to `STOP_SCANNING`\n\n**Since:** 0.1.2\n\n--------------------\n\n\n### addListener('scan', ...)\n\n```typescript\naddListener(eventName: 'scan', listenerFunc: ScanListener) =\u003e Promise\u003cPluginListenerHandle\u003e\n```\n\nListen for successful barcode readings\n\n***Notice:*** Requires intent action to be set to `com.capacitor.datawedge.RESULT_ACTION` in current DataWedge profile (it may change in the future)\n\n| Param              | Type                                                  |\n| ------------------ | ----------------------------------------------------- |\n| **`eventName`**    | \u003ccode\u003e'scan'\u003c/code\u003e                                   |\n| **`listenerFunc`** | \u003ccode\u003e\u003ca href=\"#scanlistener\"\u003eScanListener\u003c/a\u003e\u003c/code\u003e |\n\n**Returns:** \u003ccode\u003ePromise\u0026lt;\u003ca href=\"#pluginlistenerhandle\"\u003ePluginListenerHandle\u003c/a\u003e\u0026gt;\u003c/code\u003e\n\n**Since:** 0.1.0\n\n--------------------\n\n\n### __registerReceiver(...)\n\n```typescript\n__registerReceiver(options?: RegisterOptions | undefined) =\u003e Promise\u003cvoid\u003e\n```\n\nInternal method to register intent broadcast receiver\n\nTHIS METHOD IS FOR INTERNAL USE ONLY\n\n| Param         | Type                                                        |\n| ------------- | ----------------------------------------------------------- |\n| **`options`** | \u003ccode\u003e\u003ca href=\"#registeroptions\"\u003eRegisterOptions\u003c/a\u003e\u003c/code\u003e |\n\n**Since:** 0.1.3\n\n--------------------\n\n\n### Interfaces\n\n\n#### PluginListenerHandle\n\n| Prop         | Type                                      |\n| ------------ | ----------------------------------------- |\n| **`remove`** | \u003ccode\u003e() =\u0026gt; Promise\u0026lt;void\u0026gt;\u003c/code\u003e |\n\n\n#### ScanListenerEvent\n\n| Prop       | Type                        | Description     | Since |\n| ---------- | --------------------------- | --------------- | ----- |\n| **`data`** | \u003ccode\u003estring\u003c/code\u003e         | Data of barcode | 0.1.0 |\n| **`type`** | \u003ccode\u003estring \\| null\u003c/code\u003e | Type of barcode | 0.2.1 |\n\n\n### Type Aliases\n\n\n#### ScanListener\n\n\u003ccode\u003e(state: \u003ca href=\"#scanlistenerevent\"\u003eScanListenerEvent\u003c/a\u003e): void\u003c/code\u003e\n\n\n#### RegisterOptions\n\n\u003ccode\u003e{ /** * Intent action name to listen for * * @since 0.3.1 */ intent?: string; }\u003c/code\u003e\n\n\u003c/docgen-api\u003e\n\n## License\n\n**BSD-3-Clause**\n\n```\nCopyright (c) 2021-2023, jkbz64 and contributors\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright notice, this\n  list of conditions and the following disclaimer.\n\n* Redistributions in binary form must reproduce the above copyright notice,\n  this list of conditions and the following disclaimer in the documentation\n  and/or other materials provided with the distribution.\n\n* Neither the name of the copyright holder nor the names of its\n  contributors may be used to endorse or promote products derived from\n  this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\nAND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\nIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\nFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\nDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\nSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\nCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\nOR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\nOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjkbz64%2Fcapacitor-datawedge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjkbz64%2Fcapacitor-datawedge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjkbz64%2Fcapacitor-datawedge/lists"}