[!WARNING] We moved to @webos-tools/cli. In the future, we plan to develop and maintain a single webOS CLI to support multi webOS in @webos-tools/cli. This repository has been deprecated since March 4, 2024.
ares-cli is a command-line interface (CLI) for webOS. It provides a collection of commands used for creating, packaging, installing, and launching apps or services in the command line environment. ares-cli lets you develop and test apps or services without using any IDE.
To install ares-cli, use npm
. It is recommended to install ares-cli globally. For Linux and macOS, you might need the sudo
command.
$ npm install -g @webosose/ares-cli
Note: Node version 10.24.1 to 14.15.1 are recommended.
Our release cycle is independent of webOS OSE and Auto. We recommend using the latest CLI. The latest CLI is compatible with the latest webOS OSE and Auto"
For information about the CLI previous version and compatible with platform, see the CLI Release Notes.
The list of ares-cli commands is as follows:
ares-generate
: Creates a webOS app or service from templates.ares-package
: Packages the app or services into a package file.ares-setup-device
: Manages the target devices.ares-install
: Installs the app or service on the target device.ares-launch
: Launches or terminates the app.ares-inspect
: Enables Web Inspector or Node's Inspector for debugging web app or JS service.ares-server
: Runs the Web server for testing local app file.ares-shell
: Executes shell commands in the target device.ares-push
: Pushes file(s) from a host machine to a target device.ares-pull
: Pulls file(s) from a target device to a host machine.ares-device
: Displays the device information.ares-log
: Shows or saves logs of webOS apps and services.You can test the ares-cli commands and their options to check their validity. The test is performed by jasmine
or npm test
.
The following key-value pairs are the default configurations for the test.
Key | Value |
---|---|
device | emulator |
ip | 127.0.0.1 |
port | 6622 |
Test with default configurations.
$ jasmine
or
$ jasmine device=emulator, ip=127.0.0.1, port=6622
Test with specific configurations. (It can be omitted when using port 22.)
$ jasmine --device=webOS --ip=192.168.0.12
Test with specific port configurations.
$ jasmine --device=webOS --ip=192.168.0.12 --port=24
Test ares-generate command.
$ jasmine --device=webOS --ip=192.168.0.12 --port=24 spec/jsSpec/ares-generate.js
Test using npm command npm test
instead of jasmine
.
$ npm test --device=webOS --ip=192.168.0.12 --port=24
The step-by-step guide to contribute is as follows:
git push
the changes to the new branch.The following is an example of the commit message.
Change ares-device-info to ares-device
:Release Notes:
Expand the scope of ares-device-info command by changing its name
:Detailed Notes:
For now, the scope of the ares-device-info command seems to narrow,
so it is hard to add other options to the command (such as capture)
- Rename ares-device-info.js to ares-device.js
- Add --system-info and --session-info options
- Update ares-device TC
:Testing Performed:
1. All unit test passed
2. ESLint done
3. Check the below commands
$ ares-device
$ ares-device --system-info
$ ares-device --session-info
:Issues Addressed:
[ISSUE-1] Change ares-device-info to ares-device
jasmine
on the target device or emulator and write the result. All unit tests must be passed.eslint
on ares-cli root directory and write the result. No warning/error would be allowed.Unless otherwise specified, all content, including all source code files and documentation files in this repository are:
Copyright (c) 2020-2023 LG Electronics, Inc.
All content, including all source code files and documentation files in this repository except otherwise noted are:
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0