@elo/elo-cli 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -16
- package/dist/index.js +5 -2
- package/package.json +2 -2
- package/sbom.json +1 -1
package/README.md
CHANGED
|
@@ -87,11 +87,11 @@ Install elo-cli as a development dependency in the project:
|
|
|
87
87
|
This installs elo-cli as a devDependency so it can be used in the project context. The cli command
|
|
88
88
|
**elo** is not directly available, but can only be used via npx elo or an npm script.
|
|
89
89
|
|
|
90
|
-
For the initial setup, a global settings file must be created. This is done with the [setup](setup
|
|
90
|
+
For the initial setup, a global settings file must be created. This is done with the [setup](#setup) command.
|
|
91
91
|
|
|
92
92
|
npx elo setup
|
|
93
93
|
|
|
94
|
-
Inputs see [Setup](setup
|
|
94
|
+
Inputs see [Setup](#setup).
|
|
95
95
|
|
|
96
96
|
This creates a file `.elo-cli-settings.json` in the user directory. It stores a default developer archive access
|
|
97
97
|
and general (typically unchanging) development data (default language, namespace, etc.).
|
|
@@ -101,7 +101,7 @@ flag `--repository` and the name of the access (in this case 'dev').
|
|
|
101
101
|
|
|
102
102
|
npx elo setup --repository dev
|
|
103
103
|
|
|
104
|
-
Inputs see [Setup](setup
|
|
104
|
+
Inputs see [Setup](#setup).
|
|
105
105
|
|
|
106
106
|
Specific archives for the project are stored in the `.elo-repository` directory. This makes it possible to store separate
|
|
107
107
|
connection data for CI/CD or shared ELO servers and to check them into source control together with the app code.
|
|
@@ -117,9 +117,16 @@ library @elo/elo-base-lib.
|
|
|
117
117
|
|
|
118
118
|
npm install @elo/elo-base-lib
|
|
119
119
|
|
|
120
|
+
In order to import client types, the library @elo/ix-client-typescript is also needed.
|
|
121
|
+
|
|
122
|
+
npm install @elo/ix-client-typescript
|
|
123
|
+
|
|
124
|
+
Both libraries are available for different ELO versions. Specific version are taged e.g. "release-25-0" will point to
|
|
125
|
+
the newest ELO 25 LTS version. The "latest" tag points to the last published feature version.
|
|
126
|
+
|
|
120
127
|
Connect the app to the ELOwf; the app will be marked as 'In Development'.
|
|
121
128
|
This instructs the ELOwf to allow the app during a login attempt and redirect to the local
|
|
122
|
-
development server. Use the [init](init
|
|
129
|
+
development server. Use the [init](#init) command with the flag --repository and the name of the
|
|
123
130
|
archive access (in this case 'dev').
|
|
124
131
|
|
|
125
132
|
npx elo init --repository dev
|
|
@@ -127,7 +134,7 @@ archive access (in this case 'dev').
|
|
|
127
134
|
Inputs:
|
|
128
135
|
- **use_sordType_icons**: n Are Sord type icons needed in the app (injects a CSS file from ELOwf).
|
|
129
136
|
- **use_archive_icons**: n Are archive icons needed in the app (injects a CSS file from ELOwf).
|
|
130
|
-
- **indexHtmlPath**:
|
|
137
|
+
- **indexHtmlPath**: .
|
|
131
138
|
- **id**: my-project
|
|
132
139
|
- **build_number**: 0
|
|
133
140
|
- **useELOSession**: y
|
|
@@ -140,9 +147,9 @@ After initialization, the following files are present in the project:
|
|
|
140
147
|
- .elo-current-repository - contains the name of the currently used repository (in this case 'dev').
|
|
141
148
|
|
|
142
149
|
The following files still need to be adjusted; this is also indicated in the console:
|
|
143
|
-
|
|
144
|
-
|
|
150
|
+
**main.ts** - contains the code for loading the ELO libraries.
|
|
145
151
|
|
|
152
|
+
```
|
|
146
153
|
import { createApp } from 'vue'
|
|
147
154
|
import { initEloBaseServices, ixService, logger } from '@elo/elo-base-lib';
|
|
148
155
|
import { LockC, EditInfoC } from '@elo/ix-client-typescript';
|
|
@@ -166,7 +173,7 @@ The following files still need to be adjusted; this is also indicated in the con
|
|
|
166
173
|
} catch (error) {
|
|
167
174
|
logger.error('Failed to initialize ELO Base Lib:', error);
|
|
168
175
|
}
|
|
169
|
-
|
|
176
|
+
```
|
|
170
177
|
|
|
171
178
|
|
|
172
179
|
**vite.config.ts** - contains proxy settings for accessing the ELOwf during development; additionally, the
|
|
@@ -174,7 +181,7 @@ base path is set to ''. This links scripts relatively and ensures that the app w
|
|
|
174
181
|
ELOwf and on the local development server. The TestHelpers allow access to the
|
|
175
182
|
archive configuration of the setup command.
|
|
176
183
|
|
|
177
|
-
|
|
184
|
+
```
|
|
178
185
|
import { defineConfig, ProxyOptions } from 'vite'
|
|
179
186
|
import TestHelpers from '@elo/elo-cli'; // load global config from elo-cli
|
|
180
187
|
...
|
|
@@ -195,6 +202,7 @@ archive configuration of the setup command.
|
|
|
195
202
|
changeOrigin: true
|
|
196
203
|
};
|
|
197
204
|
export default defineConfig(config);
|
|
205
|
+
```
|
|
198
206
|
|
|
199
207
|
### Localization
|
|
200
208
|
|
|
@@ -212,7 +220,7 @@ The entries in this file should be written in the default language (see manifest
|
|
|
212
220
|
APP.FAREWELL=Goodbye!
|
|
213
221
|
|
|
214
222
|
To use the language files in the app, they must be converted into a JavaScript file. This
|
|
215
|
-
is done with the [localize](localize
|
|
223
|
+
is done with the [localize](#localize) command:
|
|
216
224
|
|
|
217
225
|
npx elo localize --src locales/ --dist src/jsLocales/
|
|
218
226
|
|
|
@@ -225,7 +233,7 @@ The entries can then be accessed via the singleton instance ``text.getText(key)`
|
|
|
225
233
|
|
|
226
234
|
import { text } from '@elo/elo-base-lib';
|
|
227
235
|
...
|
|
228
|
-
logger.info(text.getText("APP.
|
|
236
|
+
logger.info(text.getText("APP.GREETINGS"));
|
|
229
237
|
|
|
230
238
|
### Starting the App
|
|
231
239
|
|
|
@@ -236,8 +244,8 @@ To start the app on a local development server, use the command:
|
|
|
236
244
|
The server starts on the port specified in vite.config.ts (here 5173) and sets up a proxy to the ELO archive
|
|
237
245
|
as specified in dev.json.
|
|
238
246
|
|
|
239
|
-
A request to http://localhost:5173 starts the app,
|
|
240
|
-
forwarded to the ELO archive http://elo:9090/repository
|
|
247
|
+
A request to http://localhost:5173 starts the app, any request to http://localhost:5173/repository/ is
|
|
248
|
+
forwarded to the ELO archive http://elo:9090/repository/.
|
|
241
249
|
|
|
242
250
|
### Build and Deployment
|
|
243
251
|
|
|
@@ -247,13 +255,13 @@ Build the app with the command:
|
|
|
247
255
|
|
|
248
256
|
The built app is located in the *dist/* directory.
|
|
249
257
|
|
|
250
|
-
To prepare the app for deployment, use the [build](build
|
|
258
|
+
To prepare the app for deployment, use the [build](#build) command:
|
|
251
259
|
|
|
252
260
|
npx elo build
|
|
253
261
|
|
|
254
262
|
This adjusts the index.html so that devData.js is no longer loaded and the data is loaded via relative ELOwf URLs.
|
|
255
263
|
|
|
256
|
-
The app can now be packaged as a ZIP file and deployed in ELOwf. This is done via the [deploy](deploy
|
|
264
|
+
The app can now be packaged as a ZIP file and deployed in ELOwf. This is done via the [deploy](#deploy)
|
|
257
265
|
command:
|
|
258
266
|
|
|
259
267
|
npx elo deploy --repository dev
|
|
@@ -270,7 +278,7 @@ In the archive, the app can be found under Administration/ELOapps/Apps/<namespac
|
|
|
270
278
|
To further develop the app, the steps Initialization, Localization, Build, and Deployment
|
|
271
279
|
can be repeated as often as desired.
|
|
272
280
|
|
|
273
|
-
With the [init](init
|
|
281
|
+
With the [init](#init) command, the installed app is removed and the manifest with the devRedirect is re-imported.
|
|
274
282
|
The app remains in the archive and is again in the 'In Development' state. It can then either be overwritten with a new
|
|
275
283
|
version via elo-cli (deploy) or reset to the archived version (install) via AppManager.
|
|
276
284
|
|
package/dist/index.js
CHANGED
|
@@ -2138,7 +2138,10 @@ const initCommand = new Command("init").description("Init the project").option("
|
|
|
2138
2138
|
).option(
|
|
2139
2139
|
"--indexHtmlPath <string>",
|
|
2140
2140
|
"The relative path where the index.html file is located, for example in Vue2: public/ for Vue3 it is ."
|
|
2141
|
-
).option("--namespace <string>", "The app namespace, for example: my.example.namespace").option(
|
|
2141
|
+
).option("--namespace <string>", "The app namespace, for example: my.example.namespace").option(
|
|
2142
|
+
"--id <string>",
|
|
2143
|
+
"The app id, for example: exampleId (allowed characters: a-z, A-Z, 0-9, _)"
|
|
2144
|
+
).option("--default_lang <string>", "The default language, for example: de").option("--build_number <number>", "The build number of the app, for example: 0").option("--use_elo_session <y/n>", "Enable, to use elo session, for example: y").option(
|
|
2142
2145
|
"--dev_redirect <string>",
|
|
2143
2146
|
"Dev url of the app, which the login site of the ELOwf will redirect after successfull login. Necessary if elo session is enabled, for example: http://localhost:4200/"
|
|
2144
2147
|
).action(async (options, path) => {
|
|
@@ -3684,7 +3687,7 @@ async function processConfigParameter(options, path) {
|
|
|
3684
3687
|
dist: "dist",
|
|
3685
3688
|
namespace: "",
|
|
3686
3689
|
id: "",
|
|
3687
|
-
defaultLanguage: "
|
|
3690
|
+
defaultLanguage: "en"
|
|
3688
3691
|
},
|
|
3689
3692
|
ixLogin: {
|
|
3690
3693
|
adminName: props.username,
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.0.
|
|
6
|
+
"version": "1.0.4",
|
|
7
7
|
"description": "ELO Apps command line build system for Node.js.",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"@elo/elo-cli",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"create-vh": "npx elo-vh create --create-config ./elo-vh.env --no-release-date --no-release-version"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@elo/ix-client-typescript": "
|
|
50
|
+
"@elo/ix-client-typescript": "latest",
|
|
51
51
|
"archiver": "7.0.1",
|
|
52
52
|
"axios": "1.13.6",
|
|
53
53
|
"axios-cookiejar-support": "6.0.5",
|