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

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,326 @@ 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
+ - [`typecheck`](#typecheck)
40
+ - [`lint`](#lint)
41
+ - [`format`](#format)
39
42
 
40
43
  ## `dev`
41
44
 
42
- Runs the local development server for _Tamaro Core_ or a particular customer configuration.
45
+ Run the local Vite dev server for the current customer configuration.
43
46
 
44
47
  ### Options
45
48
 
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)
49
+ - `--local-core` - Load Tamaro Core from `https://localhost:1234/src/index.ts` rather than from CDN
50
50
 
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).
51
+ ### Example
55
52
 
56
53
  ```bash
57
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
58
- npx -y @raisenow/tamaro-cli dev
54
+ cd /path/to/tamaro-configurations/configs/epms-demo
55
+ pnpx @raisenow/tamaro-cli dev
59
56
  ```
60
57
 
61
- ### Run local server using a locally running Tamaro Core
58
+ ### Use a locally running Tamaro Core
62
59
 
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).
60
+ 1. Start Tamaro Core locally.
61
+ 2. Run the configuration with `--local-core`.
65
62
 
66
- ```bash
67
- cd /path/to/tamaro-core
68
- npx -y @raisenow/tamaro-cli dev
69
- ```
63
+ ```bash
64
+ cd /path/to/tamaro-configurations/configs/epms-demo
65
+ pnpx @raisenow/tamaro-cli dev --local-core
66
+ ```
70
67
 
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).
68
+ ## `build`
74
69
 
75
- ```bash
76
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
77
- npx -y @raisenow/tamaro-cli dev --local-core
78
- ```
70
+ Build an optimised bundle for the current customer configuration. The command always runs `validate` before building.
79
71
 
80
- ### Use Transport Level Security (HTTPS)
72
+ ### Options
81
73
 
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):
74
+ - `--preview` - Run a local web server for the built bundle after the build finishes
75
+ - `--babel` - Use Babel for transpilation
76
+ - `--no-babel` - Do not use Babel for transpilation
77
+ - `--minify` - Minify the bundle
78
+ - `--no-minify` - Do not minify the bundle
79
+ - `--profile <profile>` - AWS profile
80
+ - `--ci` - Run in CI mode
81
+ - `--deploy` - Deploy the bundle to AWS S3 after building
82
+ - `--force-skip-epms-sync` - Skip the EPMS sync entirely. Only use this in emergencies.
83
+ - `--tag <tag>` - Tag to use for deployment, default: `latest`
86
84
 
87
- Install `mkcert`:
85
+ ### Build locally
88
86
 
89
87
  ```bash
90
- brew install mkcert
88
+ cd /path/to/tamaro-configurations/configs/epms-demo
89
+ pnpx @raisenow/tamaro-cli build
91
90
  ```
92
91
 
93
- Generate certificate:
92
+ ### Build and preview
94
93
 
95
94
  ```bash
96
- mkcert -install -cert-file localhost.crt -key-file localhost.key localhost 127.0.0.1 0.0.0.0 ::1
95
+ cd /path/to/tamaro-configurations/configs/epms-demo
96
+ pnpx @raisenow/tamaro-cli build --preview
97
97
  ```
98
98
 
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.
99
+ ### Build and deploy
104
100
 
105
- ## `build`
106
-
107
- Build an optimised (minified) bundle of _Tamaro Core_ or a customer configuration.
101
+ ```bash
102
+ cd /path/to/tamaro-configurations/configs/epms-demo
103
+ pnpx @raisenow/tamaro-cli build --deploy --tag WEB-123
104
+ ```
108
105
 
109
- ### Options
106
+ ## `preview`
110
107
 
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.
108
+ Serve a pre-built bundle locally over HTTPS.
120
109
 
121
- ### Build and deploy a customer configuration
110
+ 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.
122
111
 
123
- Build and deploy an optimised (minified) bundle of the _example-02-typical-customisations_ customer configuration.
112
+ ### Example
124
113
 
125
114
  ```bash
126
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
127
- npx -y @raisenow/tamaro-cli build --deploy
115
+ cd /path/to/tamaro-configurations/configs/epms-demo
116
+ pnpx @raisenow/tamaro-cli preview
128
117
  ```
129
118
 
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
119
+ ### Create local certificates
133
120
 
134
- Build and deploy an optimised (minified) bundle of the _example-02-typical-customisations_ customer configuration with
135
- the tag _WEB-123_.
121
+ Install `mkcert`:
136
122
 
137
123
  ```bash
138
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
139
- npx -y @raisenow/tamaro-cli build --deploy --tag WEB-123
124
+ brew install mkcert
140
125
  ```
141
126
 
142
- As a result, the bundle should be deployed to: <https://tamaro.raisenow.com/example-02-typical-customisations/WEB-123/>
127
+ Generate the certificate and key in the configurations repository root:
143
128
 
144
- ### Build and serve a customer configuration
129
+ ```bash
130
+ mkcert -install -cert-file localhost.crt -key-file localhost.key localhost 127.0.0.1 0.0.0.0 ::1
131
+ ```
145
132
 
146
- Build and serve an optimised (minified) bundle of the _example-02-typical-customisations_ customer configuration.
133
+ ## `deploy`
147
134
 
148
- After running this command, a local web server should be running on <http://localhost:1234> (port may differ, see
149
- console output).
135
+ Deploy a pre-built customer configuration bundle to AWS S3. The command always runs `validate` before deploying.
136
+
137
+ ### Options
150
138
 
151
- ### Build and test locally with a Tamaro configuration
139
+ - `--profile <profile>` - AWS profile
140
+ - `--ci` - Run in CI mode
141
+ - `--tag <tag>` - Tag to deploy, default: `latest`
142
+ - `--dryrun` - Show the operations without executing them
143
+ - `--force-skip-epms-sync` - Skip the EPMS sync entirely. Only use this in emergencies.
152
144
 
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`
145
+ ### Example
156
146
 
157
147
  ```bash
158
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
159
- npx -y @raisenow/tamaro-cli build --serve
148
+ cd /path/to/tamaro-configurations/configs/epms-demo
149
+ pnpx @raisenow/tamaro-cli deploy --tag WEB-123
160
150
  ```
161
151
 
162
- ## `serve`
152
+ ## `list-deployed`
163
153
 
164
- Run a local web server for pre-built bundle.
154
+ List the deployed tags for the current customer configuration.
165
155
 
166
- ### Example
167
-
168
- 1. Build an optimised (minified) bundle of the _example-02-typical-customisations_ customer configuration
156
+ ### Options
169
157
 
170
- ```bash
171
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
172
- npx -y @raisenow/tamaro-cli build
173
- ```
158
+ - `--profile <profile>` - AWS profile
159
+ - `--ci` - Run in CI mode
174
160
 
175
- 2. Serve it. After running this command, web-server should be running on <http://localhost:1234> (port may differ, see
176
- console output).
161
+ ### Example
177
162
 
178
- ```bash
179
- npx -y @raisenow/tamaro-cli serve
180
- ```
163
+ ```bash
164
+ cd /path/to/tamaro-configurations/configs/epms-demo
165
+ pnpx @raisenow/tamaro-cli list-deployed
166
+ ```
181
167
 
182
- ## `deploy`
168
+ ## `deploy-email-config`
183
169
 
184
- Deploy a pre-built _Tamaro Core_ or customer configuration bundle to AWS S3.
170
+ Deploy the current configuration's `email-config` folder to AWS S3. The command always runs `validate` before deploying.
185
171
 
186
172
  ### Options
187
173
 
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.
174
+ - `--profile <profile>` - AWS profile
175
+ - `--ci` - Run in CI mode
176
+ - `--bucket <bucket>` - AWS bucket for email configs
177
+ - `--dryrun` - Show the operations without executing them
191
178
 
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.
179
+ If `--bucket` is omitted outside CI, the CLI prompts for the target environment.
194
180
 
195
181
  ### Example
196
182
 
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
- ```
183
+ ```bash
184
+ cd /path/to/tamaro-configurations/configs/epms-demo
185
+ pnpx @raisenow/tamaro-cli deploy-email-config
186
+ ```
215
187
 
216
- ## `list-deployed`
188
+ ## `undeploy`
217
189
 
218
- List deployments of _Tamaro Core_ or a particular customer configuration.
190
+ Remove a previously deployed bundle from AWS S3 and invalidate the CloudFront cache.
219
191
 
220
192
  ### Options
221
193
 
222
- - `--config <config>` Configuration name (default: current customer configuration)
194
+ - `--profile <profile>` - AWS profile
195
+ - `--ci` - Run in CI mode
196
+ - `--tag <tag>` - Tag to undeploy, default: `latest`
197
+ - `--all` - Undeploy all tags for the current configuration
198
+ - `--dryrun` - Show the operations without executing them
199
+
200
+ `--all` and `--tag` cannot be used together.
223
201
 
224
202
  ### Example
225
203
 
226
204
  ```bash
227
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
228
- npx -y @raisenow/tamaro-cli list-deployed
205
+ cd /path/to/tamaro-configurations/configs/epms-demo
206
+ pnpx @raisenow/tamaro-cli undeploy --tag WEB-123
229
207
  ```
230
208
 
231
- ## `deploy-email-config`
209
+ ## `undeploy-email-config`
210
+
211
+ Remove the current configuration's email configuration from AWS S3.
212
+
213
+ ### Options
232
214
 
233
- Deploy a widget’s email configuration to AWS S3.
215
+ - `--profile <profile>` - AWS profile
216
+ - `--ci` - Run in CI mode
217
+ - `--bucket <bucket>` - AWS bucket for email configs
218
+ - `--stage` - Use the stage email-config bucket
219
+ - `--prod` - Use the prod email-config bucket
220
+ - `--dryrun` - Show the operations without executing them
234
221
 
235
222
  ### Example
236
223
 
237
224
  ```bash
238
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
239
- npx -y @raisenow/tamaro-cli deploy-email-config
225
+ cd /path/to/tamaro-configurations/configs/epms-demo
226
+ pnpx @raisenow/tamaro-cli undeploy-email-config --stage
240
227
  ```
241
228
 
242
- ## `undeploy`
243
-
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.
229
+ ## `archive`
246
230
 
247
- **NOTE**: _Tamaro Core_ cannot be undeployed with the `latest` or no tag.
231
+ Archive the current configuration by moving it into the `_archived` directory. Unless disabled, the command also archives the related EPMS entries.
248
232
 
249
233
  ### Options
250
234
 
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
235
+ - `--profile <profile>` - AWS profile
236
+ - `--ci` - Run in CI mode
237
+ - `--dryrun` - Show the operations without executing them
238
+ - `--force-skip-epms-sync` - Skip EPMS archive sync. Emergency use only.
254
239
 
255
- ### Undeploy the "latest" tag
240
+ ### Example
256
241
 
257
242
  ```bash
258
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
259
- npx -y @raisenow/tamaro-cli undeploy
243
+ cd /path/to/tamaro-configurations/configs/epms-demo
244
+ pnpx @raisenow/tamaro-cli archive
260
245
  ```
261
246
 
262
- ### Undeploy a specific tag
247
+ ## `unarchive`
263
248
 
264
- ```bash
265
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
266
- npx -y @raisenow/tamaro-cli undeploy --tag WEB-123
267
- ```
249
+ Restore an archived configuration from `_archived` back into the main `configs` directory. Unless disabled, the command also unarchives the related EPMS entries.
250
+
251
+ ### Options
268
252
 
269
- ### Undeploy all tags
253
+ - `--profile <profile>` - AWS profile
254
+ - `--ci` - Run in CI mode
255
+ - `--dryrun` - Show the operations without executing them
256
+ - `--force-skip-epms-sync` - Skip EPMS unarchive sync. Emergency use only.
257
+
258
+ ### Example
270
259
 
271
260
  ```bash
272
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
273
- npx -y @raisenow/tamaro-cli undeploy --all
261
+ cd /path/to/tamaro-configurations/configs/_archived/epms-demo
262
+ pnpx @raisenow/tamaro-cli unarchive
274
263
  ```
275
264
 
276
- ## `undeploy-email-config`
265
+ ## `update-epms`
277
266
 
278
- Undeploy a widget's email configuration from AWS S3.
267
+ Update EPMS with the currently deployed widget tag for the current configuration without uploading a new build.
279
268
 
280
269
  ### Options
281
270
 
282
- - `--bucket <bucket>` AWS bucket for email configs
283
- - `--dryrun` Displays the operations that would be performed without actually running them
271
+ - `--profile <profile>` - AWS profile
272
+ - `--ci` - Run in CI mode
273
+ - `--dryrun` - Show the operations without executing them
274
+ - `--tag <tag>` - Tag to set in EPMS, default: `latest`
284
275
 
285
276
  ### Example
286
277
 
287
278
  ```bash
288
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
289
- npx -y @raisenow/tamaro-cli undeploy-email-config
279
+ cd /path/to/tamaro-configurations/configs/epms-demo
280
+ pnpx @raisenow/tamaro-cli update-epms --tag WEB-123
290
281
  ```
291
282
 
292
- ## `update-epms`
293
-
294
- Sync the Tamaro configuration with EPMS (without deploying it).
295
-
296
- ## Options
283
+ ## `validate`
297
284
 
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")
285
+ Validate the current configuration and fail on known issues such as invalid email templates.
300
286
 
301
- ## `archive`
287
+ ### Example
302
288
 
303
- Archive a customer configuration. This moves the configuration folder into the `_archived` folder.
289
+ ```bash
290
+ cd /path/to/tamaro-configurations/configs/epms-demo
291
+ pnpx @raisenow/tamaro-cli validate
292
+ ```
304
293
 
305
- ### Options
294
+ ## `typecheck`
306
295
 
307
- - `--dryrun` – Displays the operations that would be performed without actually running them
296
+ Typecheck the current Tamaro configuration.
308
297
 
309
298
  ### Example
310
299
 
311
300
  ```bash
312
- cd /path/to/tamaro-configurations/configs/example-02-typical-customisations
313
- npx -y @raisenow/tamaro-cli archive
301
+ cd /path/to/tamaro-configurations/configs/epms-demo
302
+ pnpx @raisenow/tamaro-cli typecheck
314
303
  ```
315
304
 
316
- ## `unarchive`
305
+ ## `lint`
317
306
 
318
- Unarchive a previously archived customer configuration. This moves the configuration out of the `_archived` folder.
307
+ Lint the current Tamaro configuration with ESLint.
319
308
 
320
- ### Options
309
+ ### Example
310
+
311
+ ```bash
312
+ cd /path/to/tamaro-configurations/configs/epms-demo
313
+ pnpx @raisenow/tamaro-cli lint
314
+ ```
315
+
316
+ ## `format`
321
317
 
322
- - `--dryrun` – Displays the operations that would be performed without actually running them
318
+ Format the current Tamaro configuration with Prettier.
323
319
 
324
320
  ### Example
325
321
 
326
322
  ```bash
327
- cd /path/to/tamaro-configurations/configs/_archived/example-02-typical-customisations
328
- npx -y @raisenow/tamaro-cli unarchive
323
+ cd /path/to/tamaro-configurations/configs/epms-demo
324
+ pnpx @raisenow/tamaro-cli format
329
325
  ```
330
326
 
331
327
  # Development
332
328
 
333
- Make sure you have installed and activated the proper `node` and `npm` versions.
329
+ Use the versions declared in `package.json`:
334
330
 
335
- - `node: ">= 16"`
336
- - `npm: ">= 8"`
331
+ - `node >= 24.16.0`
332
+ - `pnpm >= 11.7.0`
337
333
 
338
- Clone the repository and install its dependencies:
334
+ Clone the repository and install dependencies:
339
335
 
340
336
  ```bash
341
337
  git clone git@bitbucket.org:raisenow/tamaro-cli.git
342
338
  cd tamaro-cli
343
- npm ci
339
+ pnpm install
344
340
  ```
345
341
 
346
- Link package source to be able to run its local version:
342
+ Build the CLI:
347
343
 
348
344
  ```bash
349
- npm link .
345
+ pnpm build
350
346
  ```
351
347
 
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.
348
+ Run the watch build during CLI development:
354
349
 
355
350
  ```bash
356
- npm run build:watch
351
+ pnpm dev
357
352
  ```
358
353
 
359
- To use the locally linked version of _Tamaro CLI_, use it without `@raisenow/` scope, `-y` flag is also not needed:
354
+ Use the local build directly from a configuration directory:
360
355
 
361
356
  ```bash
362
- npx tamaro-cli dev
357
+ cd /path/to/tamaro-configurations/configs/epms-demo
358
+ node ../../tools/tamaro-cli/dist/cli.js dev
363
359
  ```