|
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