@twin.org/cli-core 0.0.1-next.9 → 0.0.2-next.3

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.
@@ -81,7 +81,7 @@ class CLIDisplay {
81
81
  if (lineBreaks) {
82
82
  CLIDisplay.writeError("\n");
83
83
  }
84
- const formatted = core.ErrorHelper.formatErrors(error);
84
+ const formatted = core.ErrorHelper.formatErrors(error, true);
85
85
  CLIDisplay.writeError(chalk.red(formatted.map(e => `\t${e}`).join("\n")));
86
86
  if (lineBreaks) {
87
87
  CLIDisplay.writeError("\n");
@@ -298,6 +298,17 @@ class CLIUtils {
298
298
  });
299
299
  });
300
300
  }
301
+ /**
302
+ * Run a shell command.
303
+ * @param command The app to run in the shell.
304
+ * @param args The args for the app.
305
+ * @param cwd The working directory to execute the command in.
306
+ * @returns Promise to wait for command execution to complete.
307
+ */
308
+ static async runShellCmd(command, args, cwd) {
309
+ const osCommand = process.platform.startsWith("win") ? `${command}.cmd` : command;
310
+ return CLIUtils.runShellApp(osCommand, args, cwd);
311
+ }
301
312
  /**
302
313
  * Run a shell app.
303
314
  * @param app The app to run in the shell.
@@ -305,10 +316,9 @@ class CLIUtils {
305
316
  * @param cwd The working directory to execute the command in.
306
317
  * @returns Promise to wait for command execution to complete.
307
318
  */
308
- static async runShellCmd(app, args, cwd) {
319
+ static async runShellApp(app, args, cwd) {
309
320
  return new Promise((resolve, reject) => {
310
- const osCommand = process.platform.startsWith("win") ? `${app}.cmd` : app;
311
- const sp = node_child_process.spawn(osCommand, args, {
321
+ const sp = node_child_process.spawn(app, args, {
312
322
  shell: true,
313
323
  cwd
314
324
  });
@@ -346,7 +356,7 @@ class CLIUtils {
346
356
  CLIDisplay.task(core.I18n.formatMessage("cli.progress.writingJsonFile"), filename);
347
357
  CLIDisplay.break();
348
358
  await promises.mkdir(path.dirname(filename), { recursive: true });
349
- await promises.writeFile(filename, JSON.stringify(core.ObjectHelper.merge(currentJson, data), undefined, "\t"));
359
+ await promises.writeFile(filename, `${JSON.stringify(core.ObjectHelper.merge(currentJson, data), undefined, "\t")}\n`);
350
360
  }
351
361
  }
352
362
  /**
@@ -377,7 +387,7 @@ class CLIUtils {
377
387
  for (const line of data) {
378
388
  const parts = line.split("=");
379
389
  const currentIndex = outputKeys.indexOf(parts[0]);
380
- if (currentIndex >= 0) {
390
+ if (currentIndex !== -1) {
381
391
  outputKeys.splice(currentIndex, 1);
382
392
  }
383
393
  outputKeys.push(parts[0]);
@@ -627,7 +637,7 @@ class CLIParam {
627
637
  return optionValue;
628
638
  }
629
639
  /**
630
- * Check the option to see if it exists.
640
+ * Check the option to see if the String exists.
631
641
  * @param optionName The name of the option.
632
642
  * @param optionValue The option value.
633
643
  * @param allowEnvVar Allow the option to be read from an env var.
@@ -640,7 +650,7 @@ class CLIParam {
640
650
  return optionValue;
641
651
  }
642
652
  /**
643
- * Check the option to see if it a url.
653
+ * Check the option to see if it is a url.
644
654
  * @param optionName The name of the option.
645
655
  * @param optionValue The option value.
646
656
  * @param allowEnvVar Allow the option to be read from an env var.
@@ -60,7 +60,7 @@ class CLIDisplay {
60
60
  if (lineBreaks) {
61
61
  CLIDisplay.writeError("\n");
62
62
  }
63
- const formatted = ErrorHelper.formatErrors(error);
63
+ const formatted = ErrorHelper.formatErrors(error, true);
64
64
  CLIDisplay.writeError(chalk.red(formatted.map(e => `\t${e}`).join("\n")));
65
65
  if (lineBreaks) {
66
66
  CLIDisplay.writeError("\n");
@@ -277,6 +277,17 @@ class CLIUtils {
277
277
  });
278
278
  });
279
279
  }
280
+ /**
281
+ * Run a shell command.
282
+ * @param command The app to run in the shell.
283
+ * @param args The args for the app.
284
+ * @param cwd The working directory to execute the command in.
285
+ * @returns Promise to wait for command execution to complete.
286
+ */
287
+ static async runShellCmd(command, args, cwd) {
288
+ const osCommand = process.platform.startsWith("win") ? `${command}.cmd` : command;
289
+ return CLIUtils.runShellApp(osCommand, args, cwd);
290
+ }
280
291
  /**
281
292
  * Run a shell app.
282
293
  * @param app The app to run in the shell.
@@ -284,10 +295,9 @@ class CLIUtils {
284
295
  * @param cwd The working directory to execute the command in.
285
296
  * @returns Promise to wait for command execution to complete.
286
297
  */
287
- static async runShellCmd(app, args, cwd) {
298
+ static async runShellApp(app, args, cwd) {
288
299
  return new Promise((resolve, reject) => {
289
- const osCommand = process.platform.startsWith("win") ? `${app}.cmd` : app;
290
- const sp = spawn(osCommand, args, {
300
+ const sp = spawn(app, args, {
291
301
  shell: true,
292
302
  cwd
293
303
  });
@@ -325,7 +335,7 @@ class CLIUtils {
325
335
  CLIDisplay.task(I18n.formatMessage("cli.progress.writingJsonFile"), filename);
326
336
  CLIDisplay.break();
327
337
  await mkdir(path.dirname(filename), { recursive: true });
328
- await writeFile(filename, JSON.stringify(ObjectHelper.merge(currentJson, data), undefined, "\t"));
338
+ await writeFile(filename, `${JSON.stringify(ObjectHelper.merge(currentJson, data), undefined, "\t")}\n`);
329
339
  }
330
340
  }
331
341
  /**
@@ -356,7 +366,7 @@ class CLIUtils {
356
366
  for (const line of data) {
357
367
  const parts = line.split("=");
358
368
  const currentIndex = outputKeys.indexOf(parts[0]);
359
- if (currentIndex >= 0) {
369
+ if (currentIndex !== -1) {
360
370
  outputKeys.splice(currentIndex, 1);
361
371
  }
362
372
  outputKeys.push(parts[0]);
@@ -606,7 +616,7 @@ class CLIParam {
606
616
  return optionValue;
607
617
  }
608
618
  /**
609
- * Check the option to see if it exists.
619
+ * Check the option to see if the String exists.
610
620
  * @param optionName The name of the option.
611
621
  * @param optionValue The option value.
612
622
  * @param allowEnvVar Allow the option to be read from an env var.
@@ -619,7 +629,7 @@ class CLIParam {
619
629
  return optionValue;
620
630
  }
621
631
  /**
622
- * Check the option to see if it a url.
632
+ * Check the option to see if it is a url.
623
633
  * @param optionName The name of the option.
624
634
  * @param optionValue The option value.
625
635
  * @param allowEnvVar Allow the option to be read from an env var.
@@ -12,7 +12,7 @@ export declare class CLIParam {
12
12
  */
13
13
  static env(optionName: string, optionValue: string | undefined, allowEnvVar: boolean): string | undefined;
14
14
  /**
15
- * Check the option to see if it exists.
15
+ * Check the option to see if the String exists.
16
16
  * @param optionName The name of the option.
17
17
  * @param optionValue The option value.
18
18
  * @param allowEnvVar Allow the option to be read from an env var.
@@ -21,7 +21,7 @@ export declare class CLIParam {
21
21
  */
22
22
  static stringValue(optionName: string, optionValue: string | undefined, allowEnvVar?: boolean): string;
23
23
  /**
24
- * Check the option to see if it a url.
24
+ * Check the option to see if it is a url.
25
25
  * @param optionName The name of the option.
26
26
  * @param optionValue The option value.
27
27
  * @param allowEnvVar Allow the option to be read from an env var.
@@ -56,6 +56,14 @@ export declare class CLIUtils {
56
56
  * @returns The root path.
57
57
  */
58
58
  static findNpmRoot(rootFolder: string): Promise<string>;
59
+ /**
60
+ * Run a shell command.
61
+ * @param command The app to run in the shell.
62
+ * @param args The args for the app.
63
+ * @param cwd The working directory to execute the command in.
64
+ * @returns Promise to wait for command execution to complete.
65
+ */
66
+ static runShellCmd(command: string, args: string[], cwd: string): Promise<void>;
59
67
  /**
60
68
  * Run a shell app.
61
69
  * @param app The app to run in the shell.
@@ -63,7 +71,7 @@ export declare class CLIUtils {
63
71
  * @param cwd The working directory to execute the command in.
64
72
  * @returns Promise to wait for command execution to complete.
65
73
  */
66
- static runShellCmd(app: string, args: string[], cwd: string): Promise<void>;
74
+ static runShellApp(app: string, args: string[], cwd: string): Promise<void>;
67
75
  /**
68
76
  * Write a JSON file.
69
77
  * @param jsonFilename The filename to write.
package/docs/changelog.md CHANGED
@@ -1,5 +1,459 @@
1
1
  # @twin.org/cli-core - Changelog
2
2
 
3
- ## 0.0.1-next.9
3
+ ## [0.0.2-next.3](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.2-next.2...cli-core-v0.0.2-next.3) (2025-08-06)
4
+
5
+
6
+ ### Features
7
+
8
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
9
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
10
+ * relocate core packages from tools ([bcab8f3](https://github.com/twinfoundation/framework/commit/bcab8f3160442ea4fcaf442947462504f3d6a17d))
11
+ * update dependencies ([f3bd015](https://github.com/twinfoundation/framework/commit/f3bd015efd169196b7e0335f5cab876ba6ca1d75))
12
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * framework pr naming convention ([#142](https://github.com/twinfoundation/framework/issues/142)) ([e29acee](https://github.com/twinfoundation/framework/commit/e29acee2fbec42506091956d6ba8b8ce25a90008))
18
+
19
+
20
+ ### Dependencies
21
+
22
+ * The following workspace dependencies were updated
23
+ * dependencies
24
+ * @twin.org/core bumped from 0.0.2-next.2 to 0.0.2-next.3
25
+ * @twin.org/crypto bumped from 0.0.2-next.2 to 0.0.2-next.3
26
+ * @twin.org/nameof bumped from 0.0.2-next.2 to 0.0.2-next.3
27
+ * devDependencies
28
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.2 to 0.0.2-next.3
29
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.2 to 0.0.2-next.3
30
+
31
+ ## [0.0.2-next.2](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.2-next.1...cli-core-v0.0.2-next.2) (2025-08-06)
32
+
33
+
34
+ ### Features
35
+
36
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
37
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
38
+ * relocate core packages from tools ([bcab8f3](https://github.com/twinfoundation/framework/commit/bcab8f3160442ea4fcaf442947462504f3d6a17d))
39
+ * update dependencies ([f3bd015](https://github.com/twinfoundation/framework/commit/f3bd015efd169196b7e0335f5cab876ba6ca1d75))
40
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
41
+
42
+
43
+ ### Bug Fixes
44
+
45
+ * framework pr naming convention ([#142](https://github.com/twinfoundation/framework/issues/142)) ([e29acee](https://github.com/twinfoundation/framework/commit/e29acee2fbec42506091956d6ba8b8ce25a90008))
46
+
47
+
48
+ ### Dependencies
49
+
50
+ * The following workspace dependencies were updated
51
+ * dependencies
52
+ * @twin.org/core bumped from 0.0.2-next.1 to 0.0.2-next.2
53
+ * @twin.org/crypto bumped from 0.0.2-next.1 to 0.0.2-next.2
54
+ * @twin.org/nameof bumped from 0.0.2-next.1 to 0.0.2-next.2
55
+ * devDependencies
56
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.1 to 0.0.2-next.2
57
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.1 to 0.0.2-next.2
58
+
59
+ ## [0.0.2-next.1](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.2-next.0...cli-core-v0.0.2-next.1) (2025-08-06)
60
+
61
+
62
+ ### Features
63
+
64
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
65
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
66
+ * relocate core packages from tools ([bcab8f3](https://github.com/twinfoundation/framework/commit/bcab8f3160442ea4fcaf442947462504f3d6a17d))
67
+ * update dependencies ([f3bd015](https://github.com/twinfoundation/framework/commit/f3bd015efd169196b7e0335f5cab876ba6ca1d75))
68
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
69
+
70
+
71
+ ### Bug Fixes
72
+
73
+ * framework pr naming convention ([#142](https://github.com/twinfoundation/framework/issues/142)) ([e29acee](https://github.com/twinfoundation/framework/commit/e29acee2fbec42506091956d6ba8b8ce25a90008))
74
+
75
+
76
+ ### Dependencies
77
+
78
+ * The following workspace dependencies were updated
79
+ * dependencies
80
+ * @twin.org/core bumped from 0.0.2-next.0 to 0.0.2-next.1
81
+ * @twin.org/crypto bumped from 0.0.2-next.0 to 0.0.2-next.1
82
+ * @twin.org/nameof bumped from 0.0.2-next.0 to 0.0.2-next.1
83
+ * devDependencies
84
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.0 to 0.0.2-next.1
85
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.0 to 0.0.2-next.1
86
+
87
+ ## 0.0.1 (2025-07-03)
88
+
89
+
90
+ ### Features
91
+
92
+ * release to production ([829d53d](https://github.com/twinfoundation/framework/commit/829d53d3953b1e1b40b0243c04cfdfd3842aac7b))
93
+ * release to production ([5cf3a76](https://github.com/twinfoundation/framework/commit/5cf3a76a09eff2e6414d0cba846c7c37400a11d6))
94
+
95
+
96
+ ### Dependencies
97
+
98
+ * The following workspace dependencies were updated
99
+ * dependencies
100
+ * @twin.org/core bumped from ^0.0.0 to ^0.0.1
101
+ * @twin.org/crypto bumped from ^0.0.0 to ^0.0.1
102
+ * @twin.org/nameof bumped from ^0.0.0 to ^0.0.1
103
+ * devDependencies
104
+ * @twin.org/nameof-transformer bumped from ^0.0.0 to ^0.0.1
105
+ * @twin.org/nameof-vitest-plugin bumped from ^0.0.0 to ^0.0.1
106
+
107
+ ## [0.0.1-next.70](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.69...cli-core-v0.0.1-next.70) (2025-07-02)
108
+
109
+
110
+ ### Features
111
+
112
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
113
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
114
+ * relocate core packages from tools ([bcab8f3](https://github.com/twinfoundation/framework/commit/bcab8f3160442ea4fcaf442947462504f3d6a17d))
115
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
116
+
117
+
118
+ ### Bug Fixes
119
+
120
+ * framework pr naming convention ([#142](https://github.com/twinfoundation/framework/issues/142)) ([e29acee](https://github.com/twinfoundation/framework/commit/e29acee2fbec42506091956d6ba8b8ce25a90008))
121
+
122
+
123
+ ### Dependencies
124
+
125
+ * The following workspace dependencies were updated
126
+ * dependencies
127
+ * @twin.org/core bumped from 0.0.1-next.69 to 0.0.1-next.70
128
+ * @twin.org/crypto bumped from 0.0.1-next.69 to 0.0.1-next.70
129
+ * @twin.org/nameof bumped from 0.0.1-next.69 to 0.0.1-next.70
130
+ * devDependencies
131
+ * @twin.org/nameof-transformer bumped from 0.0.1-next.69 to 0.0.1-next.70
132
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.1-next.69 to 0.0.1-next.70
133
+
134
+ ## [0.0.1-next.69](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.68...cli-core-v0.0.1-next.69) (2025-07-02)
135
+
136
+
137
+ ### Features
138
+
139
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
140
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
141
+ * relocate core packages from tools ([bcab8f3](https://github.com/twinfoundation/framework/commit/bcab8f3160442ea4fcaf442947462504f3d6a17d))
142
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
143
+
144
+
145
+ ### Bug Fixes
146
+
147
+ * framework pr naming convention ([#142](https://github.com/twinfoundation/framework/issues/142)) ([e29acee](https://github.com/twinfoundation/framework/commit/e29acee2fbec42506091956d6ba8b8ce25a90008))
148
+
149
+
150
+ ### Dependencies
151
+
152
+ * The following workspace dependencies were updated
153
+ * dependencies
154
+ * @twin.org/core bumped from 0.0.1-next.68 to 0.0.1-next.69
155
+ * @twin.org/crypto bumped from 0.0.1-next.68 to 0.0.1-next.69
156
+ * @twin.org/nameof bumped from 0.0.1-next.68 to 0.0.1-next.69
157
+ * devDependencies
158
+ * @twin.org/nameof-transformer bumped from 0.0.1-next.68 to 0.0.1-next.69
159
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.1-next.68 to 0.0.1-next.69
160
+
161
+ ## [0.0.1-next.68](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.67...cli-core-v0.0.1-next.68) (2025-07-02)
162
+
163
+
164
+ ### Features
165
+
166
+ * relocate core packages from tools ([bcab8f3](https://github.com/twinfoundation/framework/commit/bcab8f3160442ea4fcaf442947462504f3d6a17d))
167
+
168
+
169
+ ### Dependencies
170
+
171
+ * The following workspace dependencies were updated
172
+ * dependencies
173
+ * @twin.org/core bumped from 0.0.1-next.67 to 0.0.1-next.68
174
+ * @twin.org/crypto bumped from 0.0.1-next.67 to 0.0.1-next.68
175
+ * @twin.org/nameof bumped from 0.0.1-next.67 to 0.0.1-next.68
176
+ * devDependencies
177
+ * @twin.org/nameof-transformer bumped from 0.0.1-next.67 to 0.0.1-next.68
178
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.1-next.67 to 0.0.1-next.68
179
+
180
+ ## [0.0.1-next.67](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.66...cli-core-v0.0.1-next.67) (2025-06-26)
181
+
182
+
183
+ ### Miscellaneous Chores
184
+
185
+ * **cli-core:** Synchronize repo versions
186
+
187
+
188
+ ### Dependencies
189
+
190
+ * The following workspace dependencies were updated
191
+ * dependencies
192
+ * @twin.org/core bumped from 0.0.1-next.66 to 0.0.1-next.67
193
+ * @twin.org/crypto bumped from 0.0.1-next.66 to 0.0.1-next.67
194
+
195
+ ## [0.0.1-next.66](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.65...cli-core-v0.0.1-next.66) (2025-06-26)
196
+
197
+
198
+ ### Miscellaneous Chores
199
+
200
+ * **cli-core:** Synchronize repo versions
201
+
202
+
203
+ ### Dependencies
204
+
205
+ * The following workspace dependencies were updated
206
+ * dependencies
207
+ * @twin.org/core bumped from 0.0.1-next.65 to 0.0.1-next.66
208
+ * @twin.org/crypto bumped from 0.0.1-next.65 to 0.0.1-next.66
209
+
210
+ ## [0.0.1-next.65](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.64...cli-core-v0.0.1-next.65) (2025-06-19)
211
+
212
+
213
+ ### Miscellaneous Chores
214
+
215
+ * **cli-core:** Synchronize repo versions
216
+
217
+
218
+ ### Dependencies
219
+
220
+ * The following workspace dependencies were updated
221
+ * dependencies
222
+ * @twin.org/core bumped from 0.0.1-next.64 to 0.0.1-next.65
223
+ * @twin.org/crypto bumped from 0.0.1-next.64 to 0.0.1-next.65
224
+
225
+ ## [0.0.1-next.64](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.63...cli-core-v0.0.1-next.64) (2025-06-19)
226
+
227
+
228
+ ### Miscellaneous Chores
229
+
230
+ * **cli-core:** Synchronize repo versions
231
+
232
+
233
+ ### Dependencies
234
+
235
+ * The following workspace dependencies were updated
236
+ * dependencies
237
+ * @twin.org/core bumped from 0.0.1-next.63 to 0.0.1-next.64
238
+ * @twin.org/crypto bumped from 0.0.1-next.63 to 0.0.1-next.64
239
+
240
+ ## [0.0.1-next.63](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.62...cli-core-v0.0.1-next.63) (2025-06-18)
241
+
242
+
243
+ ### Miscellaneous Chores
244
+
245
+ * **cli-core:** Synchronize repo versions
246
+
247
+
248
+ ### Dependencies
249
+
250
+ * The following workspace dependencies were updated
251
+ * dependencies
252
+ * @twin.org/core bumped from 0.0.1-next.62 to 0.0.1-next.63
253
+ * @twin.org/crypto bumped from 0.0.1-next.62 to 0.0.1-next.63
254
+
255
+ ## [0.0.1-next.62](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.61...cli-core-v0.0.1-next.62) (2025-06-17)
256
+
257
+
258
+ ### Features
259
+
260
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
261
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
262
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
263
+
264
+
265
+ ### Bug Fixes
266
+
267
+ * framework pr naming convention ([#142](https://github.com/twinfoundation/framework/issues/142)) ([e29acee](https://github.com/twinfoundation/framework/commit/e29acee2fbec42506091956d6ba8b8ce25a90008))
268
+
269
+
270
+ ### Dependencies
271
+
272
+ * The following workspace dependencies were updated
273
+ * dependencies
274
+ * @twin.org/core bumped from 0.0.1-next.61 to 0.0.1-next.62
275
+ * @twin.org/crypto bumped from 0.0.1-next.61 to 0.0.1-next.62
276
+
277
+ ## [0.0.1-next.61](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.60...cli-core-v0.0.1-next.61) (2025-06-17)
278
+
279
+
280
+ ### Miscellaneous Chores
281
+
282
+ * **cli-core:** Synchronize repo versions
283
+
284
+
285
+ ### Dependencies
286
+
287
+ * The following workspace dependencies were updated
288
+ * dependencies
289
+ * @twin.org/core bumped from 0.0.1-next.60 to 0.0.1-next.61
290
+ * @twin.org/crypto bumped from 0.0.1-next.60 to 0.0.1-next.61
291
+
292
+ ## [0.0.1-next.60](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.59...cli-core-v0.0.1-next.60) (2025-06-17)
293
+
294
+
295
+ ### Features
296
+
297
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
298
+
299
+
300
+ ### Dependencies
301
+
302
+ * The following workspace dependencies were updated
303
+ * dependencies
304
+ * @twin.org/core bumped from 0.0.1-next.59 to 0.0.1-next.60
305
+ * @twin.org/crypto bumped from 0.0.1-next.59 to 0.0.1-next.60
306
+
307
+ ## [0.0.1-next.59](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.58...cli-core-v0.0.1-next.59) (2025-06-17)
308
+
309
+
310
+ ### Miscellaneous Chores
311
+
312
+ * **cli-core:** Synchronize repo versions
313
+
314
+
315
+ ### Dependencies
316
+
317
+ * The following workspace dependencies were updated
318
+ * dependencies
319
+ * @twin.org/core bumped from 0.0.1-next.58 to 0.0.1-next.59
320
+ * @twin.org/crypto bumped from 0.0.1-next.58 to 0.0.1-next.59
321
+
322
+ ## [0.0.1-next.58](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.57...cli-core-v0.0.1-next.58) (2025-06-13)
323
+
324
+
325
+ ### Bug Fixes
326
+
327
+ * framework pr naming convention ([#142](https://github.com/twinfoundation/framework/issues/142)) ([e29acee](https://github.com/twinfoundation/framework/commit/e29acee2fbec42506091956d6ba8b8ce25a90008))
328
+
329
+
330
+ ### Dependencies
331
+
332
+ * The following workspace dependencies were updated
333
+ * dependencies
334
+ * @twin.org/core bumped from 0.0.1-next.57 to 0.0.1-next.58
335
+ * @twin.org/crypto bumped from 0.0.1-next.57 to 0.0.1-next.58
336
+
337
+ ## [0.0.1-next.57](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.56...cli-core-v0.0.1-next.57) (2025-06-10)
338
+
339
+
340
+ ### Features
341
+
342
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
343
+
344
+
345
+ ### Dependencies
346
+
347
+ * The following workspace dependencies were updated
348
+ * dependencies
349
+ * @twin.org/core bumped from 0.0.1-next.56 to 0.0.1-next.57
350
+ * @twin.org/crypto bumped from 0.0.1-next.56 to 0.0.1-next.57
351
+
352
+ ## [0.0.1-next.56](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.55...cli-core-v0.0.1-next.56) (2025-05-08)
353
+
354
+
355
+ ### Miscellaneous Chores
356
+
357
+ * **cli-core:** Synchronize repo versions
358
+
359
+
360
+ ### Dependencies
361
+
362
+ * The following workspace dependencies were updated
363
+ * dependencies
364
+ * @twin.org/core bumped from 0.0.1-next.55 to 0.0.1-next.56
365
+ * @twin.org/crypto bumped from 0.0.1-next.55 to 0.0.1-next.56
366
+
367
+ ## [0.0.1-next.55](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.54...cli-core-v0.0.1-next.55) (2025-05-07)
368
+
369
+
370
+ ### Miscellaneous Chores
371
+
372
+ * **cli-core:** Synchronize repo versions
373
+
374
+
375
+ ### Dependencies
376
+
377
+ * The following workspace dependencies were updated
378
+ * dependencies
379
+ * @twin.org/core bumped from 0.0.1-next.54 to 0.0.1-next.55
380
+ * @twin.org/crypto bumped from 0.0.1-next.54 to 0.0.1-next.55
381
+
382
+ ## [0.0.1-next.54](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.53...cli-core-v0.0.1-next.54) (2025-05-06)
383
+
384
+
385
+ ### Miscellaneous Chores
386
+
387
+ * **cli-core:** Synchronize repo versions
388
+
389
+
390
+ ### Dependencies
391
+
392
+ * The following workspace dependencies were updated
393
+ * dependencies
394
+ * @twin.org/core bumped from 0.0.1-next.53 to 0.0.1-next.54
395
+ * @twin.org/crypto bumped from 0.0.1-next.53 to 0.0.1-next.54
396
+
397
+ ## [0.0.1-next.53](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.52...cli-core-v0.0.1-next.53) (2025-05-01)
398
+
399
+
400
+ ### Miscellaneous Chores
401
+
402
+ * **cli-core:** Synchronize repo versions
403
+
404
+
405
+ ### Dependencies
406
+
407
+ * The following workspace dependencies were updated
408
+ * dependencies
409
+ * @twin.org/core bumped from 0.0.1-next.52 to 0.0.1-next.53
410
+ * @twin.org/crypto bumped from 0.0.1-next.52 to 0.0.1-next.53
411
+
412
+ ## [0.0.1-next.52](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.51...cli-core-v0.0.1-next.52) (2025-04-17)
413
+
414
+
415
+ ### Features
416
+
417
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
418
+
419
+
420
+ ### Dependencies
421
+
422
+ * The following workspace dependencies were updated
423
+ * dependencies
424
+ * @twin.org/core bumped from 0.0.1-next.51 to 0.0.1-next.52
425
+ * @twin.org/crypto bumped from 0.0.1-next.51 to 0.0.1-next.52
426
+
427
+ ## [0.0.1-next.51](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.50...cli-core-v0.0.1-next.51) (2025-03-27)
428
+
429
+
430
+ ### Miscellaneous Chores
431
+
432
+ * **cli-core:** Synchronize repo versions
433
+
434
+
435
+ ### Dependencies
436
+
437
+ * The following workspace dependencies were updated
438
+ * dependencies
439
+ * @twin.org/core bumped from 0.0.1-next.50 to 0.0.1-next.51
440
+ * @twin.org/crypto bumped from 0.0.1-next.50 to 0.0.1-next.51
441
+
442
+ ## [0.0.1-next.50](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.1-next.49...cli-core-v0.0.1-next.50) (2025-03-26)
443
+
444
+
445
+ ### Miscellaneous Chores
446
+
447
+ * **cli-core:** Synchronize repo versions
448
+
449
+
450
+ ### Dependencies
451
+
452
+ * The following workspace dependencies were updated
453
+ * dependencies
454
+ * @twin.org/core bumped from 0.0.1-next.49 to 0.0.1-next.50
455
+ * @twin.org/crypto bumped from 0.0.1-next.49 to 0.0.1-next.50
456
+
457
+ ## 0.0.1-next.49
4
458
 
5
459
  - Initial Release