{"id":20198534,"url":"https://github.com/eclipsesource/tabris-js-cli","last_synced_at":"2025-10-17T19:43:35.781Z","repository":{"id":11400556,"uuid":"69449610","full_name":"eclipsesource/tabris-js-cli","owner":"eclipsesource","description":"Command line interface for Tabris.js","archived":false,"fork":false,"pushed_at":"2025-02-06T16:35:33.000Z","size":1244,"stargazers_count":11,"open_issues_count":11,"forks_count":4,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-09-30T13:36:57.062Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://tabrisjs.com","language":"JavaScript","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/eclipsesource.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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":"2016-09-28T09:48:00.000Z","updated_at":"2025-02-06T16:35:13.000Z","dependencies_parsed_at":"2024-11-14T04:32:12.857Z","dependency_job_id":"a52e0e55-224e-4153-971a-2b96fe92eeab","html_url":"https://github.com/eclipsesource/tabris-js-cli","commit_stats":{"total_commits":365,"total_committers":10,"mean_commits":36.5,"dds":0.4301369863013699,"last_synced_commit":"4489b7d36995994b98b20dc8fb580db233945a59"},"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"purl":"pkg:github/eclipsesource/tabris-js-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipsesource%2Ftabris-js-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipsesource%2Ftabris-js-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipsesource%2Ftabris-js-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipsesource%2Ftabris-js-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipsesource","download_url":"https://codeload.github.com/eclipsesource/tabris-js-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipsesource%2Ftabris-js-cli/sbom","scorecard":{"id":365414,"data":{"date":"2025-08-11","repo":{"name":"github.com/eclipsesource/tabris-js-cli","commit":"23a422b712eadcd5110713563d27aca584e58ca3"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"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":"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":10,"reason":"no binaries found in the repo","details":null,"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":"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":"Code-Review","score":1,"reason":"Found 3/28 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":"Pinned-Dependencies","score":3,"reason":"dependency not pinned by hash detected -- score normalized to 3","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipsesource/tabris-js-cli/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipsesource/tabris-js-cli/test.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   1 npmCommand dependencies pinned"],"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":"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":"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":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"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":"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 5 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":0,"reason":"38 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-wf5p-g6vw-rhxx","Warn: Project is vulnerable to: GHSA-jr5f-v2jv-69x6","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-ff7x-qrg7-qggm","Warn: Project is vulnerable to: GHSA-phwq-j96m-2c2q","Warn: Project is vulnerable to: GHSA-ghr5-ch3p-vcr6","Warn: Project is vulnerable to: GHSA-x3cc-x39p-42qx","Warn: Project is vulnerable to: GHSA-2j2x-2gpw-g8fm","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-ww39-953v-wcq6","Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37","Warn: Project is vulnerable to: GHSA-6c8f-qphg-qjgp","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-r683-j2x4-v87g","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-6fc8-4gx4-v693","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh","Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp"],"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-18T11:45:16.385Z","repository_id":11400556,"created_at":"2025-08-18T11:45:16.385Z","updated_at":"2025-08-18T11:45:16.385Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000955,"owners_count":26082973,"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-10-09T02:00:07.460Z","response_time":59,"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":[],"created_at":"2024-11-14T04:32:03.416Z","updated_at":"2025-10-09T07:35:33.324Z","avatar_url":"https://github.com/eclipsesource.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tabris.js CLI\n\n[![Build Status](https://travis-ci.org/eclipsesource/tabris-js-cli.svg?branch=master)](https://travis-ci.org/eclipsesource/tabris-js-cli)\n\nA command line tool to create, build and serve Tabris.js apps.\n\n## Installation\n\n`npm install -g tabris-cli`\n\n## Commands\n\n### `tabris init`\n\nCreates a new Tabris.js app in the current directory.\n\n*See: [Quick Start Guide - Tabris.js Documentation](https://docs.tabris.com/latest/getting-started.html)*\n\n### `tabris serve [options]`\n\nStarts a server the [Tabris.js developer app](https://docs.tabris.com/latest/developer-app) can be pointed to. If a build script is present in package.json, it is executed beforehand. When serving a Tabris.js 3.x app the log output of the app will be displayed in the terminal.\n\n#### options\n\n##### `-p [path], --project [path]`\n\nThe directory to serve the Tabris.js app from. Needs to contain a package.json and installed \"tabris\" module. When omitted, the current working directory is served.\n\n##### `-m [module], --main [module]`\n\nOverride the \"main\" field of package.json. The argument must be a valid module id relative to the project root, e.g. \"dist/main.js\".\n\n##### `-a, --auto-reload`\n\nAuto reload the application when a source file is modified.\n\n##### `-i, --interactive`\n\nEnable interactive console for JavaScript input.\n\n##### `-l, --log-requests`\n\nLog requests made by the app.\n\n##### `-w, --watch`\n\nExecute the _watch_ instead of the _build_ script given in the package.json of the app. The _watch_ script can be a long-running task. A _prewatch_ script will be executed before _watch_ and before the server is started.\n\n##### `--no-intro`\n\nDo not print the available external URLs or QR code to the console, only the port. They can still be viewed by opening the given port in a browser.\n\n##### `--qrcode-renderer`\n\nChoose a renderer for the printed QR code.\n\n* `utf8` (default): based on UTF-8 characters.\n* `terminal`: based on background color customization of the cursor color.\n\nUse \"terminal\" if the QR code presentation breaks due to the font used in the terminal.\n\n##### `--external [url]`\n\nUses the given string as the advertised public URL, to the exclusion of all other. Must include protocol and port. Should be used with `--port` to ensure the actual port matches this one.\n\n##### `--port [port]`\n\nChanges the port the HTTP server listens to. Causes an error if the port is not available.\n\n#### Keyboard Shortcuts\n\nWhile serving a Tabris.js 3.x App there a various shortcuts available that to help with the development process.\n\n##### CTRL + K\n\nPrints an overview of available keys combinations. This message is also printed the first time an app connects to the CLI.\n\n##### CTRL + C\n\nTerminates the server and exits the CLI.\n\n##### CTRL + R\n\nReloads the currently served app.\n\n##### CTRL + P\n\nChoose to print:\n  * **u**: an XML summary of the current UI state using `console.dirxml()`.\n  * **s**: the contents of `localStorage`/`secureStorage`.\n\n##### CTRL + T\n\nToggles the visibility of the developer toolbar. Tabris.js 3.4 and later only.\n\n##### CTRL + X\n\nRemoves all content from the app's `localStorage` and (on iOS) `secureStorage`.\n\n##### CTRL + S\n\nSaves a `.json` file containing all current content of the app's `localStorage` and (on iOS) `secureStorage` on the developer machine. You will be prompted for the file name/path of the target file. The path is relative to the current working directory and autocompletion via the tab key is supported.\n\n##### CTRL + L\n\nLoads a `.json` file (as created by CTRL + S) and writes its content in to the app's `localStorage`/`secureStorage`. All previous content will be removed. You will be prompted for the file name/path of the source file. The path is relative to the current working directory and autocompletion via the tab key is supported.\n\nNote that you can not load storage data created on an Android device to an iOS device, or vice versa. This is because `secureStorage` only exists on iOS.\n\n##### Environment variable TABRIS_CLI_SERVER_LOG\n\nSet TABRIS_CLI_SERVER_LOG=true to log requests to the internal HTTP server of the CLI. Useful for debugging connection issues during app sideloading.\n\n### `tabris build [options] \u003cplatform\u003e [cordova-platform-opts]`\n\nBuilds a Tabris.js app for the given platform.\n\nTo speed up the build, pre-compiled build artifacts are kept in a build cache and are reused in subsequent builds. To clean up the build cache, e.g. after updating Cordova plug-ins, run `tabris clean`.\n\n*See: [Building a Tabris.js app - Tabris.js Documentation](https://docs.tabris.com/latest/build.html)*\n\n*See: [Common `tabris run` and `tabris build` parameters](#common-tabris-run-and-tabris-build-parameters)*\n\n### `tabris run [options] \u003cplatform\u003e [cordova-platform-opts]`\n\nBuilds a Tabris.js app and runs it on a connected device or emulator.\n\n*See: [Building a Tabris.js app - Tabris.js Documentation](https://docs.tabris.com/latest/build.html)*\n\n*See: [Common `tabris run` and `tabris build` parameters](#common-tabris-run-and-tabris-build-parameters)*\n\n#### options\n\n##### `--target \u003cid\u003e`\n\nThe ID of the target device to deploy the app to. See `--list-targets`.\n\n##### `--list-targets`\n\nShow a list of available targets to use with `--target \u003cid\u003e`.\n\n### `tabris clean`\n\nRemoves build artifacts.\n\n### Common `tabris run` and `tabris build` parameters\n\n#### platform\n\n`ios` or `android`.\n\n#### options\n\n*Default options*:\n\n  * `--debug`\n  * `--cordova-build-config=./build.json`\n\n_Note: when neither `--emulator` nor `--device` is specified and a device is connected, the app will be built for a device. If no device is connected, the app will be built for an emulator._\n\n##### `--variables \u003creplacements\u003e`\n\nComma-separated list of variable replacements in config.xml. `--variables FOO=bar,BAK=baz` will replace all occurrences of `$FOO` and `$BAK` in config.xml with respectively `bar` and `baz`.\n\n*Note: per default all environment variables are replaced in config.xml. To prevent that, use the `--no-replace-env-vars` option.*\n\n##### `--cordova-build-config \u003cpath\u003e`\n\nPath to a build configuration file passed to Cordova. Relative to the `cordova/` directory.\n\nSee Cordova platform documentation ([iOS](https://cordova.apache.org/docs/en/latest/guide/platforms/ios/index.html#using-buildjson), [Android](https://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html#using-buildjson)) for more information about the file format.\n\nYou may want to include this file in `.gitignore` since it may contain sensitive information.\n\n##### `--debug`\n\nPerform a debug build. Used for development.\n\n##### `--release`\n\nPerform a release build. Used when building apps for the marketplace of their platform.\n\n##### `--emulator`\n\nBuild the app for an emulator.\n\n##### `--device`\n\nBuild the app for a device.\n\n##### `--no-replace-env-vars`\n\nDo not replace environment variables in config.xml.\n\n*See `--variables` documentation for more information about variable replacement in config.xml.*\n\n##### `--verbose`\n\nPrint more verbose output.\n\n#### cordova-platform-opts\n\nPlatform-specific options passed to Cordova.\n\n*See: [Platform-specific options - Cordova CLI Reference](https://cordova.apache.org/docs/en/latest/reference/cordova-cli/#platform-specific-options)*\n\n## License\n\nPublished under the terms of the [BSD 3-Clause License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipsesource%2Ftabris-js-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipsesource%2Ftabris-js-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipsesource%2Ftabris-js-cli/lists"}