@raisenow/tamaro-cli 2.0.0 → 3.0.0-dev.1

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.
@@ -0,0 +1,6 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
5
+ </profile>
6
+ </component>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/tamaro-cli.iml" filepath="$PROJECT_DIR$/.idea/tamaro-cli.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="WEB_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$">
5
+ <excludeFolder url="file://$MODULE_DIR$/temp" />
6
+ <excludeFolder url="file://$MODULE_DIR$/.tmp" />
7
+ <excludeFolder url="file://$MODULE_DIR$/tmp" />
8
+ </content>
9
+ <orderEntry type="inheritedJdk" />
10
+ <orderEntry type="sourceFolder" forTests="false" />
11
+ </component>
12
+ </module>
package/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,58 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ChangeListManager">
4
+ <list default="true" id="03cc3f97-55ca-4737-9fe2-779ac8457ab2" name="Changes" comment="" />
5
+ <option name="SHOW_DIALOG" value="false" />
6
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
7
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
8
+ <option name="LAST_RESOLUTION" value="IGNORE" />
9
+ </component>
10
+ <component name="Git.Settings">
11
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
12
+ </component>
13
+ <component name="MarkdownSettingsMigration">
14
+ <option name="stateVersion" value="1" />
15
+ </component>
16
+ <component name="ProjectId" id="3BwvHZOW2N4A0f0JXo7q8qDzYwY" />
17
+ <component name="ProjectViewState">
18
+ <option name="autoscrollFromSource" value="true" />
19
+ <option name="autoscrollToSource" value="true" />
20
+ <option name="hideEmptyMiddlePackages" value="true" />
21
+ <option name="showLibraryContents" value="true" />
22
+ <option name="showMembers" value="true" />
23
+ </component>
24
+ <component name="PropertiesComponent">{
25
+ &quot;keyToString&quot;: {
26
+ &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
27
+ &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
28
+ &quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
29
+ &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
30
+ &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
31
+ &quot;nodejs_package_manager_path&quot;: &quot;pnpm&quot;,
32
+ &quot;prettierjs.PrettierConfiguration.Package&quot;: &quot;/Users/sigerello/dev/_raisenow/tools/tamaro-cli/node_modules/prettier&quot;,
33
+ &quot;ts.external.directory.path&quot;: &quot;/Users/sigerello/dev/_raisenow/tools/tamaro-cli/node_modules/typescript/lib&quot;,
34
+ &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
35
+ }
36
+ }</component>
37
+ <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
38
+ <component name="TaskManager">
39
+ <task active="true" id="Default" summary="Default task">
40
+ <changelist id="03cc3f97-55ca-4737-9fe2-779ac8457ab2" name="Changes" comment="" />
41
+ <created>1775412859839</created>
42
+ <option name="number" value="Default" />
43
+ <option name="presentableId" value="Default" />
44
+ <updated>1775412859839</updated>
45
+ <workItem from="1775412861312" duration="2060000" />
46
+ <workItem from="1776174639969" duration="1525000" />
47
+ <workItem from="1776736351878" duration="598000" />
48
+ <workItem from="1777934504965" duration="82000" />
49
+ <workItem from="1777936008103" duration="88000" />
50
+ <workItem from="1778477038620" duration="2530000" />
51
+ <workItem from="1780398242165" duration="1962000" />
52
+ </task>
53
+ <servers />
54
+ </component>
55
+ <component name="TypeScriptGeneratedFilesManager">
56
+ <option name="version" value="3" />
57
+ </component>
58
+ </project>
package/README.md CHANGED
@@ -1,26 +1,24 @@
1
1
  # Getting started
2
2
 
3
- It’s a command-line interface for all operations with Tamaro customer configurations and _Tamaro Core_.
3
+ Tamaro CLI is the command-line interface for working with Tamaro customer configurations.
4
4
 
5
- You don’t need to install it manually. The recommended way to run it is by using the `npx` command, which comes along
6
- with NPM.
5
+ The package is intended to be run on demand. Use `pnpx` instead of installing it globally.
7
6
 
8
7
  # Usage
9
8
 
10
- To see an overview of all possible commands just run the following command without any arguments.
9
+ Show the available commands:
11
10
 
12
11
  ```bash
13
- npx -y @raisenow/tamaro-cli
12
+ pnpx @raisenow/tamaro-cli --help
14
13
  ```
15
14
 
16
- To see the information about some particular command (for example `dev` command), prepend `help` before the command
17
- name:
15
+ Show help for a specific command:
18
16
 
19
17
  ```bash
20
- npx -y @raisenow/tamaro-cli help dev
18
+ pnpx @raisenow/tamaro-cli build --help
21
19
  ```
22
20
 
23
- Substitute `dev` with the command you want to get information about.
21
+ Most commands are meant to be run from a configuration directory such as `configs/epms-demo` in `@raisenow/tamaro-configurations`.
24
22
 
25
23
  # Commands
26
24
 
@@ -28,7 +26,7 @@ Available commands:
28
26
 
29
27
  - [`dev`](#dev)
30
28
  - [`build`](#build)
31
- - [`serve`](#serve)
29
+ - [`preview`](#preview)
32
30
  - [`deploy`](#deploy)
33
31
  - [`list-deployed`](#list-deployed)
34
32
  - [`deploy-email-config`](#deploy-email-config)
@@ -36,328 +34,290 @@ Available commands:
36
34
  - [`undeploy-email-config`](#undeploy-email-config)
37
35
  - [`archive`](#archive)
38
36
  - [`unarchive`](#unarchive)
37
+ - [`update-epms`](#update-epms)
38
+ - [`validate`](#validate)
39
39
 
40
40
  ## `dev`
41
41
 
42
- Runs the local development server for _Tamaro Core_ or a particular customer configuration.
42
+ Run the local Vite dev server for the current customer configuration.
43
43
 
44
44
  ### Options
45
45
 
46
- - `--local-core` Load _Tamaro Core_ from localhost:1234 instead of the CDN
47
- - `--https` – Let local web server serve Tamaro with SSL encryption
48
- - `--port <port>` – Web server port (default: 1234)
49
- - `--env <env>` – Environment (dev, stage, prod)
46
+ - `--local-core` - Load Tamaro Core from `https://localhost:1234/src/index.ts` rather than from CDN
50
47
 
51
- ### Run local server using Tamaro Core from CDN
52
-
53
- Run the local development server for the _example-02-typical-customisations_ customer configuration. You will be able to
54
- access Tamaro on <http://localhost:1234> (port may differ, see console output).
48
+ ### Example
55
49
 
56
50
  ```bash
57
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
58
- npx -y @raisenow/tamaro-cli dev
51
+ cd /path/to/tamaro-configurations/configs/epms-demo
52
+ pnpx @raisenow/tamaro-cli dev
59
53
  ```
60
54
 
61
- ### Run local server using a locally running Tamaro Core
62
-
63
- 1. Run the local development web server for _Tamaro Core_ in the first terminal tab. You will be able to access a
64
- default configuration of Tamaro on <http://localhost:1234> (port may differ, see console output).
65
-
66
- ```bash
67
- cd /path/to/tamaro-core
68
- npx -y @raisenow/tamaro-cli dev
69
- ```
70
-
71
- 2. Run the local development web server for the _example-02-typical-customisations_ customer configuration in the second
72
- terminal tab. After running this command, you will able to access the configuration on <http://localhost:1235> (port
73
- may differ, see console output).
74
-
75
- ```bash
76
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
77
- npx -y @raisenow/tamaro-cli dev --local-core
78
- ```
79
-
80
- ### Use Transport Level Security (HTTPS)
81
-
82
- You might want to the local web server to serve Tamaro over HTTPS, for example for testing wallet payments over Google
83
- Pay. For that, you have to install [mkcert](https://mkcert.org/), then generate a local certificate and key file and
84
- install it into your local trust stores using this command in the root directory of the Tamaro configuration
85
- repository (or Tamaro Core):
86
-
87
- Install `mkcert`:
88
-
89
- ```bash
90
- brew install mkcert
91
- ```
55
+ ### Use a locally running Tamaro Core
92
56
 
93
- Generate certificate:
57
+ 1. Start Tamaro Core locally.
58
+ 2. Run the configuration with `--local-core`.
94
59
 
95
60
  ```bash
96
- mkcert -install -cert-file localhost.crt -key-file localhost.key localhost 127.0.0.1 0.0.0.0 ::1
61
+ cd /path/to/tamaro-configurations/configs/epms-demo
62
+ pnpx @raisenow/tamaro-cli dev --local-core
97
63
  ```
98
64
 
99
- You will see that the certificate and key files are created. Keep them for yourself. Do not share them or commit them. (
100
- They should be ignored by Git.)
101
-
102
- You can then use the flag `--https` with the CLI. If you are using the local Tamaro Core, you also have to serve that
103
- over HTTPS. Certificate and key files must be copied to Tamaro Core folder as well.
104
-
105
65
  ## `build`
106
66
 
107
- Build an optimised (minified) bundle of _Tamaro Core_ or a customer configuration.
67
+ Build an optimised bundle for the current customer configuration. The command always runs `validate` before building.
108
68
 
109
69
  ### Options
110
70
 
111
- - `--local-core` Load _Tamaro Core_ from localhost:1234 instead of the CDN
112
- - `--analyze` Generate bundle statistics to `reports` folder
113
- - `--serve` Run the generated bundle with a local web server
114
- - `--https` Let local web server serve Tamaro with SSL encryption
115
- - `--port <port>` Web server port (default: 1234)
116
- - `--env <env>` Environment (dev, stage, prod)
117
- - `--deploy` Deploy _Tamaro Core_ or a customer configuration bundle to AWS S3
118
- - `--tag <tag>` Tag which should be used for the deployment of the bundle (default: "latest")
119
- - `--dryrun` Displays the operations that would be performed using the specified command without actually running them.
120
-
121
- ### Build and deploy a customer configuration
71
+ - `--preview` - Run a local web server for the built bundle after the build finishes
72
+ - `--babel` - Use Babel for transpilation
73
+ - `--no-babel` - Do not use Babel for transpilation
74
+ - `--minify` - Minify the bundle
75
+ - `--no-minify` - Do not minify the bundle
76
+ - `--profile <profile>` - AWS profile
77
+ - `--ci` - Run in CI mode
78
+ - `--deploy` - Deploy the bundle to AWS S3 after building
79
+ - `--force-skip-epms-sync` - Skip the EPMS sync entirely. Only use this in emergencies.
80
+ - `--tag <tag>` - Tag to use for deployment, default: `latest`
122
81
 
123
- Build and deploy an optimised (minified) bundle of the _example-02-typical-customisations_ customer configuration.
82
+ ### Build locally
124
83
 
125
84
  ```bash
126
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
127
- npx -y @raisenow/tamaro-cli build --deploy
85
+ cd /path/to/tamaro-configurations/configs/epms-demo
86
+ pnpx @raisenow/tamaro-cli build
128
87
  ```
129
88
 
130
- As a result, the bundle should be deployed to: <https://tamaro.raisenow.com/example-02-typical-customisations/latest/>
131
-
132
- ### Build and deploy a customer configuration with a specific tag
133
-
134
- Build and deploy an optimised (minified) bundle of the _example-02-typical-customisations_ customer configuration with
135
- the tag _WEB-123_.
89
+ ### Build and preview
136
90
 
137
91
  ```bash
138
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
139
- npx -y @raisenow/tamaro-cli build --deploy --tag WEB-123
92
+ cd /path/to/tamaro-configurations/configs/epms-demo
93
+ pnpx @raisenow/tamaro-cli build --preview
140
94
  ```
141
95
 
142
- As a result, the bundle should be deployed to: <https://tamaro.raisenow.com/example-02-typical-customisations/WEB-123/>
96
+ ### Build and deploy
143
97
 
144
- ### Build and serve a customer configuration
98
+ ```bash
99
+ cd /path/to/tamaro-configurations/configs/epms-demo
100
+ pnpx @raisenow/tamaro-cli build --deploy --tag WEB-123
101
+ ```
145
102
 
146
- Build and serve an optimised (minified) bundle of the _example-02-typical-customisations_ customer configuration.
103
+ ## `preview`
147
104
 
148
- After running this command, a local web server should be running on <http://localhost:1234> (port may differ, see
149
- console output).
105
+ Serve a pre-built bundle locally over HTTPS.
150
106
 
151
- ### Build and test locally with a Tamaro configuration
107
+ This command expects a successful build in `dist/<config-name>` and local TLS files named `localhost.crt` and `localhost.key` in the configurations package root.
152
108
 
153
- 1. Build with `pnpm build` (or `pnpm build:watch` for convince).
154
- 2. Navigate to the Tamaro configuration directory you want to use.
155
- 3. Run by specifying the relative path, e.g. `../../tools/tamaro-cli/dist/cli.js dev --https`
109
+ ### Example
156
110
 
157
111
  ```bash
158
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
159
- npx -y @raisenow/tamaro-cli build --serve
112
+ cd /path/to/tamaro-configurations/configs/epms-demo
113
+ pnpx @raisenow/tamaro-cli preview
160
114
  ```
161
115
 
162
- ## `serve`
116
+ ### Create local certificates
163
117
 
164
- Run a local web server for pre-built bundle.
165
-
166
- ### Example
167
-
168
- 1. Build an optimised (minified) bundle of the _example-02-typical-customisations_ customer configuration
118
+ Install `mkcert`:
169
119
 
170
- ```bash
171
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
172
- npx -y @raisenow/tamaro-cli build
173
- ```
120
+ ```bash
121
+ brew install mkcert
122
+ ```
174
123
 
175
- 2. Serve it. After running this command, web-server should be running on <http://localhost:1234> (port may differ, see
176
- console output).
124
+ Generate the certificate and key in the configurations repository root:
177
125
 
178
- ```bash
179
- npx -y @raisenow/tamaro-cli serve
180
- ```
126
+ ```bash
127
+ mkcert -install -cert-file localhost.crt -key-file localhost.key localhost 127.0.0.1 0.0.0.0 ::1
128
+ ```
181
129
 
182
130
  ## `deploy`
183
131
 
184
- Deploy a pre-built _Tamaro Core_ or customer configuration bundle to AWS S3.
132
+ Deploy a pre-built customer configuration bundle to AWS S3. The command always runs `validate` before deploying.
185
133
 
186
134
  ### Options
187
135
 
188
- - `--dryrun` Displays the operations that would be performed without actually running them
189
- - `--tag <tag>` Tag which should be used for the deployment of the bundle (default: "latest")
190
- - `--force-skip-epms-sync` Skip the EPMS sync entirely. Only use this in emergencies.
191
-
192
- Make sure you have built the bundle before deploying it with this command, otherwise you may mistakenly deploy the
193
- bundle from a previous build.
136
+ - `--profile <profile>` - AWS profile
137
+ - `--ci` - Run in CI mode
138
+ - `--tag <tag>` - Tag to deploy, default: `latest`
139
+ - `--dryrun` - Show the operations without executing them
140
+ - `--force-skip-epms-sync` - Skip the EPMS sync entirely. Only use this in emergencies.
194
141
 
195
142
  ### Example
196
143
 
197
- 1. Build an optimised (minified) bundle of the _example-02-typical-customisations_ customer configuration
198
-
199
- ```bash
200
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
201
- npx -y @raisenow/tamaro-cli build
202
- ```
203
-
204
- 2. Deploy it
205
-
206
- ```bash
207
- npx -y @raisenow/tamaro-cli deploy
208
- ```
209
-
210
- 3. Optionally, deploy it with the _WEB-123_ tag
211
-
212
- ```bash
213
- npx -y @raisenow/tamaro-cli deploy --tag WEB-123
214
- ```
144
+ ```bash
145
+ cd /path/to/tamaro-configurations/configs/epms-demo
146
+ pnpx @raisenow/tamaro-cli deploy --tag WEB-123
147
+ ```
215
148
 
216
149
  ## `list-deployed`
217
150
 
218
- List deployments of _Tamaro Core_ or a particular customer configuration.
151
+ List the deployed tags for the current customer configuration.
219
152
 
220
153
  ### Options
221
154
 
222
- - `--config <config>` Configuration name (default: current customer configuration)
155
+ - `--profile <profile>` - AWS profile
156
+ - `--ci` - Run in CI mode
223
157
 
224
158
  ### Example
225
159
 
226
160
  ```bash
227
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
228
- npx -y @raisenow/tamaro-cli list-deployed
161
+ cd /path/to/tamaro-configurations/configs/epms-demo
162
+ pnpx @raisenow/tamaro-cli list-deployed
229
163
  ```
230
164
 
231
165
  ## `deploy-email-config`
232
166
 
233
- Deploy a widget’s email configuration to AWS S3.
167
+ Deploy the current configuration's `email-config` folder to AWS S3. The command always runs `validate` before deploying.
168
+
169
+ ### Options
170
+
171
+ - `--profile <profile>` - AWS profile
172
+ - `--ci` - Run in CI mode
173
+ - `--bucket <bucket>` - AWS bucket for email configs
174
+ - `--dryrun` - Show the operations without executing them
175
+
176
+ If `--bucket` is omitted outside CI, the CLI prompts for the target environment.
234
177
 
235
178
  ### Example
236
179
 
237
180
  ```bash
238
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
239
- npx -y @raisenow/tamaro-cli deploy-email-config
181
+ cd /path/to/tamaro-configurations/configs/epms-demo
182
+ pnpx @raisenow/tamaro-cli deploy-email-config
240
183
  ```
241
184
 
242
185
  ## `undeploy`
243
186
 
244
- Undeploy a _Tamaro Core_ or customer configuration bundle from AWS S3. Removes the specified tag from S3 and invalidates
245
- the CloudFront cache. Always asks for confirmation unless `-y` is passed.
246
-
247
- **NOTE**: _Tamaro Core_ cannot be undeployed with the `latest` or no tag.
187
+ Remove a previously deployed bundle from AWS S3 and invalidate the CloudFront cache.
248
188
 
249
189
  ### Options
250
190
 
251
- - `--tag <tag>` Tag which should be undeployed (default: "latest")
252
- - `--all` Undeploy all tags
253
- - `--dryrun` Displays the operations that would be performed without actually running them
191
+ - `--profile <profile>` - AWS profile
192
+ - `--ci` - Run in CI mode
193
+ - `--tag <tag>` - Tag to undeploy, default: `latest`
194
+ - `--all` - Undeploy all tags for the current configuration
195
+ - `--dryrun` - Show the operations without executing them
196
+
197
+ `--all` and `--tag` cannot be used together.
254
198
 
255
- ### Undeploy the "latest" tag
199
+ ### Example
256
200
 
257
201
  ```bash
258
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
259
- npx -y @raisenow/tamaro-cli undeploy
202
+ cd /path/to/tamaro-configurations/configs/epms-demo
203
+ pnpx @raisenow/tamaro-cli undeploy --tag WEB-123
260
204
  ```
261
205
 
262
- ### Undeploy a specific tag
206
+ ## `undeploy-email-config`
263
207
 
264
- ```bash
265
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
266
- npx -y @raisenow/tamaro-cli undeploy --tag WEB-123
267
- ```
208
+ Remove the current configuration's email configuration from AWS S3.
209
+
210
+ ### Options
268
211
 
269
- ### Undeploy all tags
212
+ - `--profile <profile>` - AWS profile
213
+ - `--ci` - Run in CI mode
214
+ - `--bucket <bucket>` - AWS bucket for email configs
215
+ - `--stage` - Use the stage email-config bucket
216
+ - `--prod` - Use the prod email-config bucket
217
+ - `--dryrun` - Show the operations without executing them
218
+
219
+ ### Example
270
220
 
271
221
  ```bash
272
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
273
- npx -y @raisenow/tamaro-cli undeploy --all
222
+ cd /path/to/tamaro-configurations/configs/epms-demo
223
+ pnpx @raisenow/tamaro-cli undeploy-email-config --stage
274
224
  ```
275
225
 
276
- ## `undeploy-email-config`
226
+ ## `archive`
277
227
 
278
- Undeploy a widget's email configuration from AWS S3.
228
+ Archive the current configuration by moving it into the `_archived` directory. Unless disabled, the command also archives the related EPMS entries.
279
229
 
280
230
  ### Options
281
231
 
282
- - `--bucket <bucket>` AWS bucket for email configs
283
- - `--dryrun` Displays the operations that would be performed without actually running them
232
+ - `--profile <profile>` - AWS profile
233
+ - `--ci` - Run in CI mode
234
+ - `--dryrun` - Show the operations without executing them
235
+ - `--force-skip-epms-sync` - Skip EPMS archive sync. Emergency use only.
284
236
 
285
237
  ### Example
286
238
 
287
239
  ```bash
288
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
289
- npx -y @raisenow/tamaro-cli undeploy-email-config
240
+ cd /path/to/tamaro-configurations/configs/epms-demo
241
+ pnpx @raisenow/tamaro-cli archive
290
242
  ```
291
243
 
292
- ## `update-epms`
244
+ ## `unarchive`
293
245
 
294
- Sync the Tamaro configuration with EPMS (without deploying it).
246
+ Restore an archived configuration from `_archived` back into the main `configs` directory. Unless disabled, the command also unarchives the related EPMS entries.
295
247
 
296
- ## Options
248
+ ### Options
297
249
 
298
- - `--dryrun` Displays the operations that would be performed without actually running them
299
- - `--tag <tag>` Tag which should be used for the deployment of the bundle (default: "latest")
250
+ - `--profile <profile>` - AWS profile
251
+ - `--ci` - Run in CI mode
252
+ - `--dryrun` - Show the operations without executing them
253
+ - `--force-skip-epms-sync` - Skip EPMS unarchive sync. Emergency use only.
300
254
 
301
- ## `archive`
255
+ ### Example
302
256
 
303
- Archive a customer configuration. This moves the configuration folder into the `_archived` folder.
257
+ ```bash
258
+ cd /path/to/tamaro-configurations/configs/_archived/epms-demo
259
+ pnpx @raisenow/tamaro-cli unarchive
260
+ ```
261
+
262
+ ## `update-epms`
263
+
264
+ Update EPMS with the currently deployed widget tag for the current configuration without uploading a new build.
304
265
 
305
266
  ### Options
306
267
 
307
- - `--dryrun` Displays the operations that would be performed without actually running them
268
+ - `--profile <profile>` - AWS profile
269
+ - `--ci` - Run in CI mode
270
+ - `--dryrun` - Show the operations without executing them
271
+ - `--tag <tag>` - Tag to set in EPMS, default: `latest`
308
272
 
309
273
  ### Example
310
274
 
311
275
  ```bash
312
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
313
- npx -y @raisenow/tamaro-cli archive
276
+ cd /path/to/tamaro-configurations/configs/epms-demo
277
+ pnpx @raisenow/tamaro-cli update-epms --tag WEB-123
314
278
  ```
315
279
 
316
- ## `unarchive`
317
-
318
- Unarchive a previously archived customer configuration. This moves the configuration out of the `_archived` folder.
319
-
320
- ### Options
280
+ ## `validate`
321
281
 
322
- - `--dryrun` Displays the operations that would be performed without actually running them
282
+ Validate the current configuration and fail on known issues such as invalid email templates.
323
283
 
324
284
  ### Example
325
285
 
326
286
  ```bash
327
- cd /path/to/tamaro-configurations/configs/_archived/example-02-typical-customisations
328
- npx -y @raisenow/tamaro-cli unarchive
287
+ cd /path/to/tamaro-configurations/configs/epms-demo
288
+ pnpx @raisenow/tamaro-cli validate
329
289
  ```
330
290
 
331
291
  # Development
332
292
 
333
- Make sure you have installed and activated the proper `node` and `npm` versions.
293
+ Use the versions declared in `package.json`:
334
294
 
335
- - `node: ">= 16"`
336
- - `npm: ">= 8"`
295
+ - `node >= 24.16.0`
296
+ - `pnpm >= 11.7.0`
337
297
 
338
- Clone the repository and install its dependencies:
298
+ Clone the repository and install dependencies:
339
299
 
340
300
  ```bash
341
301
  git clone git@bitbucket.org:raisenow/tamaro-cli.git
342
302
  cd tamaro-cli
343
- npm ci
303
+ pnpm install
344
304
  ```
345
305
 
346
- Link package source to be able to run its local version:
306
+ Build the CLI:
347
307
 
348
308
  ```bash
349
- npm link .
309
+ pnpm build
350
310
  ```
351
311
 
352
- Run the `build:watch` script to watch source files and automatically rebuild on changes. It must be running during the
353
- _Tamaro CLI_ development process.
312
+ Run the watch build during CLI development:
354
313
 
355
314
  ```bash
356
- npm run build:watch
315
+ pnpm dev
357
316
  ```
358
317
 
359
- To use the locally linked version of _Tamaro CLI_, use it without `@raisenow/` scope, `-y` flag is also not needed:
318
+ Use the local build directly from a configuration directory:
360
319
 
361
320
  ```bash
362
- npx tamaro-cli dev
321
+ cd /path/to/tamaro-configurations/configs/epms-demo
322
+ node ../../tools/tamaro-cli/dist/cli.js dev
363
323
  ```