|
11 | 11 | [](https://david-dm.org/SAP/ui5-cli/master)
|
12 | 12 | [](https://david-dm.org/SAP/ui5-cli/master#info=devDependencies)
|
13 | 13 |
|
14 |
| -## General Information |
15 |
| - |
16 |
| -- General information regarding the **UI5 Tooling** project can be found **[here](https://github.com/SAP/ui5-tooling)** |
17 |
| -- Details regarding **project configuration** can be found **[here](https://github.com/SAP/ui5-project#configuration)** |
18 |
| - |
19 |
| -## Installing the UI5 CLI |
20 |
| - |
21 |
| -### Requirements |
22 |
| - |
23 |
| -- [Node.js](https://nodejs.org/) (**version 8.5 or higher** ⚠️) |
24 |
| - |
25 |
| -### Installation |
26 |
| - |
27 |
| -```sh |
28 |
| -npm install --global @ui5/cli |
29 |
| - |
30 |
| -# Verify installation |
31 |
| -ui5 --help |
32 |
| -``` |
33 |
| - |
34 |
| -## CLI Usage |
35 |
| - |
36 |
| -### Overview |
37 |
| - |
38 |
| -``` |
39 |
| -Usage: ui5 <command> [options] |
40 |
| -
|
41 |
| -Commands: |
42 |
| - build Build project in current directory |
43 |
| - serve Start a webserver for the current project |
44 |
| - tree Outputs the dependency tree of the current project to stdout. It takes all relevant parameters of ui5 build into account. |
45 |
| - init Initializes the UI5 Tooling configuration for an application or library project |
46 |
| -
|
47 |
| -Options: |
48 |
| - --help, -h Show help [boolean] |
49 |
| - --version, -v Show version number [boolean] |
50 |
| - --config Path to config file [string] |
51 |
| - --translator, --t8r Translator to use. Including optional colon separated translator parameters. [string] [default: "npm"] |
52 |
| - --verbose Enable verbose logging. [boolean] |
53 |
| - --loglevel, --log-level Set the logging level (error|warn|info|verbose|silly). [string] [default: "info"] |
54 |
| -
|
55 |
| -Examples: |
56 |
| - ui5 <command> --translator static:/path/to/projectDependencies.yaml Execute command using a "static" translator with translator parameters |
57 |
| - ui5 <command> --config /path/to/ui5.yaml Execute command using a project configuration from custom path |
58 |
| -``` |
59 |
| - |
60 |
| -The CLI automatically checks for updates using [update-notifier](https://github.com/yeoman/update-notifier). While this is skipped in CI environments, you might also opt-out manually by following the steps described [here](https://github.com/yeoman/update-notifier/blob/master/readme.md#user-settings). |
61 |
| - |
62 |
| -### Commands |
63 |
| - |
64 |
| -#### build |
65 |
| - |
66 |
| -`ui5 build [options]` builds the project in the current directory. |
67 |
| - |
68 |
| -``` |
69 |
| -Commands: |
70 |
| - dev Dev build: Skips non-essential and time-intensive tasks during build |
71 |
| - jsdoc Build JSDoc resources |
72 |
| - preload (default) Build project and create preload bundles |
73 |
| - self-contained Build project and create self-contained bundle |
74 |
| -
|
75 |
| -Options: |
76 |
| - --help, -h Show help [boolean] |
77 |
| - --version, -v Show version number [boolean] |
78 |
| - --config Path to config file [string] |
79 |
| - --translator, --t8r Translator to use. Including optional colon separated translator parameters. [string] [default: "npm"] |
80 |
| - --verbose Enable verbose logging. [boolean] |
81 |
| - --loglevel, --log-level Set the logging level (error|warn|info|verbose|silly). [string] [default: "info"] |
82 |
| - --all, -a Include all project dependencies into build process [boolean] [default: false] |
83 |
| - --dest Path of build destination [string] [default: "./dist"] |
84 |
| - --dev-exclude-project A list of specific projects to be excluded from dev mode (dev mode must be active for this to be effective) [array] |
85 |
| - --include-task A list of specific tasks to be included to the default/dev set [array] |
86 |
| - --exclude-task A list of specific tasks to be excluded from default/dev set [array] |
87 |
| -
|
88 |
| -Examples: |
89 |
| - ui5 build --all Preload build for project and dependencies to "./dist" |
90 |
| - ui5 build --all --exclude-task=* --include-task=createDebugFiles generateAppPreload Build project and dependencies but only apply the createDebugFiles- and generateAppPreload tasks |
91 |
| - ui5 build --all --include-task=createDebugFiles --exclude-task=generateAppPreload Build project and dependencies by applying all default tasks including the createDebugFiles task and excluding the generateAppPreload task |
92 |
| - ui5 build dev --all --dev-exclude-project=sap.ui.core sap.m Build project and dependencies in dev mode, except "sap.ui.core" and "sap.m" (useful in combination with --include-task) |
93 |
| - ui5 build dev Build project and dependencies in dev mode. Only a set of essential tasks is executed. |
94 |
| -``` |
95 |
| - |
96 |
| -#### serve |
97 |
| - |
98 |
| -`ui5 serve [options]` starts a web server for the current project. |
99 |
| - |
100 |
| -``` |
101 |
| -Options: |
102 |
| - --help, -h Show help [boolean] |
103 |
| - --version, -v Show version number [boolean] |
104 |
| - --config Path to config file [string] |
105 |
| - --translator, --t8r Translator to use. Including optional colon separated translator parameters. [string] [default: "npm"] |
106 |
| - --verbose Enable verbose logging. [boolean] |
107 |
| - --loglevel, --log-level Set the logging level (error|warn|info|verbose|silly). [string] [default: "info"] |
108 |
| - --port, -p Port to bind on (default for HTTP: 8080, HTTP/2: 8443) [number] |
109 |
| - --open, -o Open web server root directory in default browser. Optionally, supplied relative path will be appended to the root URL [string] |
110 |
| - --h2 Shortcut for enabling the HTTP/2 protocol for the web server [boolean] [default: false] |
111 |
| - --accept-remote-connections Accept remote connections. By default the server only accepts connections from localhost [boolean] [default: false] |
112 |
| - --key Path to the private key [string] [default: "$HOME/.ui5/server/server.key"] |
113 |
| - --cert Path to the certificate [string] [default: "$HOME/.ui5/server/server.crt"] |
114 |
| - --sap-csp-policies Always send content security policies 'sap-target-level-1' and 'sap-target-level-2' in report-only mode [boolean] [default: false] |
115 |
| -
|
116 |
| -
|
117 |
| -Examples: |
118 |
| - ui5 serve Start a web server for the current project |
119 |
| - ui5 serve --h2 Enable the HTTP/2 protocol for the web server (requires SSL certificate) |
120 |
| - ui5 serve --config /path/to/ui5.yaml Use the project configuration from a custom path |
121 |
| - ui5 serve --translator static:/path/to/projectDependencies.yaml Use a "static" translator with translator parameters. |
122 |
| - ui5 serve --port 1337 --open tests/QUnit.html Listen to port 1337 and launch default browser with http://localhost:1337/test/QUnit.html |
123 |
| -``` |
124 |
| - |
125 |
| -#### tree |
126 |
| - |
127 |
| -`ui5 tree [options]` outputs the dependency tree of the current project to _stdout_. It takes all relevant parameters of `ui5 build` into account. |
128 |
| - |
129 |
| -``` |
130 |
| -Options: |
131 |
| - --help, -h Show help [boolean] |
132 |
| - --version, -v Show version number [boolean] |
133 |
| - --config Path to configuration file [string] |
134 |
| - --translator, --t8r Translator to use. Including optional colon separated translator parameters. [string] [default: "npm"] |
135 |
| - --verbose Enable verbose logging. [boolean] |
136 |
| - --loglevel, --log-level Set the logging level (error|warn|info|verbose|silly). [string] [default: "info"] |
137 |
| - --full Include more information (currently the project configuration) [boolean] [default: false] |
138 |
| - --json Output tree as formatted JSON string [boolean] [default: false] |
139 |
| - --dedupe Remove duplicate projects from project tree [boolean] [default: false] |
140 |
| -
|
141 |
| -
|
142 |
| -Examples: |
143 |
| - ui5 tree Returns plain dependency tree as returned by the used translator |
144 |
| - ui5 tree --full Returns the dependency tree after UI5 specific configuration has been applied |
145 |
| - ui5 tree > tree.txt Pipes the dependency tree into a new file "tree.txt" |
146 |
| - ui5 tree --json --dedupe > tree.json Pipes the dependency tree, excluding duplicates into a new file "tree.json" |
147 |
| -``` |
148 |
| - |
149 |
| -#### init |
150 |
| - |
151 |
| -`ui5 init [options]` initializes the UI5 Tooling configuration for an application or library project. |
152 |
| - |
153 |
| -``` |
154 |
| -Options: |
155 |
| - --help, -h Show help [boolean] |
156 |
| - --version, -v Show version number [boolean] |
157 |
| - --config Path to config file [string] |
158 |
| - --translator, --t8r Translator to use. Including optional colon separated translator parameters. [string] [default: "npm"] |
159 |
| - --verbose Enable verbose logging. [boolean] |
160 |
| - --loglevel, --log-level Set the logging level (error|warn|info|verbose|silly). [string] [default: "info"] |
161 |
| -``` |
162 |
| - |
163 |
| -#### versions |
164 |
| - |
165 |
| -`ui5 versions [options]` shows the versions of all UI5 Tooling packages. |
166 |
| - |
167 |
| -``` |
168 |
| -Options: |
169 |
| - --help, -h Show help [boolean] |
170 |
| - --version, -v Show version number [boolean] |
171 |
| - --config Path to config file [string] |
172 |
| - --translator, --t8r Translator to use. Including optional colon separated translator parameters. [string] [default: "npm"] |
173 |
| - --verbose Enable verbose logging. [boolean] |
174 |
| - --loglevel, --log-level Set the logging level (error|warn|info|verbose|silly). [string] [default: "info"] |
175 |
| -
|
176 |
| -``` |
177 |
| - |
178 |
| -### Local vs. Global Installation |
179 |
| - |
180 |
| -In general, we recommend a global installation of the UI5 CLI (`npm install --global @ui5/cli`). |
181 |
| - |
182 |
| -However, it makes sense to add the UI5 CLI as a [devDependency](https://docs.npmjs.com/files/package.json#devdependencies) (`npm install --save-dev @ui5/cli`) for a project that is using `ui5` commands in its build or test scripts or otherwise depends on the UI5 CLI for development workflows (like continuous integration). |
183 |
| - |
184 |
| -In case you have both, a local installation in one of your projects as well as a global installation, the UI5 CLI will always try to invoke the local installation. This is in part because [npm scripts](https://docs.npmjs.com/misc/scripts) defined in your `package.json` will also always invoke the local installation. |
185 |
| - |
186 |
| -This behavior can be disabled by setting the environment variable `UI5_CLI_NO_LOCAL`. |
187 |
| - |
188 |
| -**Example** |
189 |
| -You have a project located at `/my-application`. The project has a devDependency to `@ui5/cli` and defines the start script `"ui5 serve"`. |
190 |
| - |
191 |
| -| Current Working Directory | Command | Uses globally installed UI5 CLI | Uses locally installed UI5 CLI | |
192 |
| -| ------------------------- | ------------------------------- | :-----------------------------: | :----------------------------: | |
193 |
| -| `/` | `ui5 --version` | ✔️ | |
194 |
| -| `/my-application` | `ui5 --version` | | ✔️ | |
195 |
| -| `/my-application` | `ui5 serve` | | ✔️ | |
196 |
| -| `/my-application` | `npm start` | | ✔️ | |
197 |
| -| `/my-application` | `UI5_CLI_NO_LOCAL=X ui5 serve` | ✔️ | |
198 |
| -| `/my-application` | `UI5_CLI_NO_LOCAL=X npm start` | | ✔️ | |
| 14 | +## Documentation |
| 15 | +Can be found here: [sap.github.io/ui5-tooling](https://sap.github.io/ui5-tooling/pages/CLI/) |
199 | 16 |
|
200 | 17 | ## Contributing
|
201 | 18 |
|
|
0 commit comments