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

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.
@@ -139,6 +139,15 @@ class CLIDisplay {
139
139
  CLIDisplay.write(node_util.inspect(obj, false, undefined, true));
140
140
  CLIDisplay.write("\n");
141
141
  }
142
+ /**
143
+ * Display a warning.
144
+ * @param label The label for the warning.
145
+ */
146
+ static warning(label) {
147
+ CLIDisplay.write("⚠️ ");
148
+ CLIDisplay.write(chalk.hex("#FFA500").bold(label));
149
+ CLIDisplay.write("\n\n");
150
+ }
142
151
  /**
143
152
  * Display the processing is done.
144
153
  */
@@ -443,7 +452,7 @@ function handleGlobalOptions(command) {
443
452
  const resolvedEnv = loadEnv.map(e => path.resolve(e));
444
453
  CLIDisplay.task(core.I18n.formatMessage("cli.progress.loadingEnvFiles"), resolvedEnv.join(", "));
445
454
  CLIDisplay.break();
446
- dotenv__namespace.config({ path: resolvedEnv });
455
+ dotenv__namespace.config({ path: resolvedEnv, quiet: true });
447
456
  }
448
457
  }
449
458
  /**
@@ -510,6 +519,9 @@ class CLIBase {
510
519
  // eslint-disable-next-line no-restricted-syntax
511
520
  throw new Error(err.code === "commander.help" ? "0" : err.exitCode.toString());
512
521
  });
522
+ if (options.showDevToolWarning ?? false) {
523
+ program.hook("preAction", () => CLIDisplay.warning(core.I18n.formatMessage("warn.common.devOnlyTool")));
524
+ }
513
525
  this.configureRoot(program);
514
526
  addGlobalOptions(program, options.supportsLang ?? true, options.supportsEnvFiles ?? false);
515
527
  // We parse the options before building the command
@@ -649,6 +661,20 @@ class CLIParam {
649
661
  core.Guards.stringValue("commands", optionName, optionValue);
650
662
  return optionValue;
651
663
  }
664
+ /**
665
+ * Check the option to see if the value exists in the specific array.
666
+ * @param optionName The name of the option.
667
+ * @param optionValue The option value.
668
+ * @param validValues The valid values.
669
+ * @param allowEnvVar Allow the option to be read from an env var.
670
+ * @returns The final option value.
671
+ * @throws An error if the option is invalid.
672
+ */
673
+ static arrayOneOf(optionName, optionValue, validValues, allowEnvVar = true) {
674
+ optionValue = CLIParam.env(optionName, optionValue, allowEnvVar);
675
+ core.Guards.arrayOneOf("commands", optionName, optionValue, validValues);
676
+ return optionValue;
677
+ }
652
678
  /**
653
679
  * Check the option to see if it is a url.
654
680
  * @param optionName The name of the option.
@@ -118,6 +118,15 @@ class CLIDisplay {
118
118
  CLIDisplay.write(inspect(obj, false, undefined, true));
119
119
  CLIDisplay.write("\n");
120
120
  }
121
+ /**
122
+ * Display a warning.
123
+ * @param label The label for the warning.
124
+ */
125
+ static warning(label) {
126
+ CLIDisplay.write("⚠️ ");
127
+ CLIDisplay.write(chalk.hex("#FFA500").bold(label));
128
+ CLIDisplay.write("\n\n");
129
+ }
121
130
  /**
122
131
  * Display the processing is done.
123
132
  */
@@ -422,7 +431,7 @@ function handleGlobalOptions(command) {
422
431
  const resolvedEnv = loadEnv.map(e => path.resolve(e));
423
432
  CLIDisplay.task(I18n.formatMessage("cli.progress.loadingEnvFiles"), resolvedEnv.join(", "));
424
433
  CLIDisplay.break();
425
- dotenv.config({ path: resolvedEnv });
434
+ dotenv.config({ path: resolvedEnv, quiet: true });
426
435
  }
427
436
  }
428
437
  /**
@@ -489,6 +498,9 @@ class CLIBase {
489
498
  // eslint-disable-next-line no-restricted-syntax
490
499
  throw new Error(err.code === "commander.help" ? "0" : err.exitCode.toString());
491
500
  });
501
+ if (options.showDevToolWarning ?? false) {
502
+ program.hook("preAction", () => CLIDisplay.warning(I18n.formatMessage("warn.common.devOnlyTool")));
503
+ }
492
504
  this.configureRoot(program);
493
505
  addGlobalOptions(program, options.supportsLang ?? true, options.supportsEnvFiles ?? false);
494
506
  // We parse the options before building the command
@@ -628,6 +640,20 @@ class CLIParam {
628
640
  Guards.stringValue("commands", optionName, optionValue);
629
641
  return optionValue;
630
642
  }
643
+ /**
644
+ * Check the option to see if the value exists in the specific array.
645
+ * @param optionName The name of the option.
646
+ * @param optionValue The option value.
647
+ * @param validValues The valid values.
648
+ * @param allowEnvVar Allow the option to be read from an env var.
649
+ * @returns The final option value.
650
+ * @throws An error if the option is invalid.
651
+ */
652
+ static arrayOneOf(optionName, optionValue, validValues, allowEnvVar = true) {
653
+ optionValue = CLIParam.env(optionName, optionValue, allowEnvVar);
654
+ Guards.arrayOneOf("commands", optionName, optionValue, validValues);
655
+ return optionValue;
656
+ }
631
657
  /**
632
658
  * Check the option to see if it is a url.
633
659
  * @param optionName The name of the option.
@@ -56,6 +56,11 @@ export declare class CLIDisplay {
56
56
  * @param obj The object to display.
57
57
  */
58
58
  static json(obj: unknown): void;
59
+ /**
60
+ * Display a warning.
61
+ * @param label The label for the warning.
62
+ */
63
+ static warning(label: string): void;
59
64
  /**
60
65
  * Display the processing is done.
61
66
  */
@@ -20,6 +20,16 @@ export declare class CLIParam {
20
20
  * @throws An error if the option is invalid.
21
21
  */
22
22
  static stringValue(optionName: string, optionValue: string | undefined, allowEnvVar?: boolean): string;
23
+ /**
24
+ * Check the option to see if the value exists in the specific array.
25
+ * @param optionName The name of the option.
26
+ * @param optionValue The option value.
27
+ * @param validValues The valid values.
28
+ * @param allowEnvVar Allow the option to be read from an env var.
29
+ * @returns The final option value.
30
+ * @throws An error if the option is invalid.
31
+ */
32
+ static arrayOneOf<T = string>(optionName: string, optionValue: string | undefined, validValues: T[], allowEnvVar?: boolean): T;
23
33
  /**
24
34
  * Check the option to see if it is a url.
25
35
  * @param optionName The name of the option.
@@ -4,8 +4,8 @@ export * from "./cliOptions";
4
4
  export * from "./cliParam";
5
5
  export * from "./cliUtils";
6
6
  export * from "./commands/global";
7
+ export * from "./models/cliOutputOptions";
7
8
  export * from "./models/ICliOptions";
8
9
  export * from "./models/ICliOutputOptionsConsole";
9
10
  export * from "./models/ICliOutputOptionsEnv";
10
11
  export * from "./models/ICliOutputOptionsJson";
11
- export * from "./models/cliOutputOptions";
@@ -30,4 +30,8 @@ export interface ICliOptions {
30
30
  * Override the default output width.
31
31
  */
32
32
  overrideOutputWidth?: number;
33
+ /**
34
+ * Show a warning that this is a dev tool and not for production use.
35
+ */
36
+ showDevToolWarning?: boolean;
33
37
  }
package/docs/changelog.md CHANGED
@@ -1,5 +1,222 @@
1
1
  # @twin.org/cli-core - Changelog
2
2
 
3
+ ## [0.0.2-next.10](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.2-next.9...cli-core-v0.0.2-next.10) (2025-09-11)
4
+
5
+
6
+ ### Features
7
+
8
+ * add CLIParam.arrayOneOf ([18f0815](https://github.com/twinfoundation/framework/commit/18f08157e5305cddf65d09b36a51a91a0873e396))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/core bumped from 0.0.2-next.9 to 0.0.2-next.10
16
+ * @twin.org/crypto bumped from 0.0.2-next.9 to 0.0.2-next.10
17
+ * @twin.org/nameof bumped from 0.0.2-next.9 to 0.0.2-next.10
18
+ * devDependencies
19
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.9 to 0.0.2-next.10
20
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.9 to 0.0.2-next.10
21
+
22
+ ## [0.0.2-next.9](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.2-next.8...cli-core-v0.0.2-next.9) (2025-09-08)
23
+
24
+
25
+ ### Miscellaneous Chores
26
+
27
+ * **cli-core:** Synchronize repo versions
28
+
29
+
30
+ ### Dependencies
31
+
32
+ * The following workspace dependencies were updated
33
+ * dependencies
34
+ * @twin.org/core bumped from 0.0.2-next.8 to 0.0.2-next.9
35
+ * @twin.org/crypto bumped from 0.0.2-next.8 to 0.0.2-next.9
36
+ * @twin.org/nameof bumped from 0.0.2-next.8 to 0.0.2-next.9
37
+ * devDependencies
38
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.8 to 0.0.2-next.9
39
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.8 to 0.0.2-next.9
40
+
41
+ ## [0.0.2-next.8](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.2-next.7...cli-core-v0.0.2-next.8) (2025-09-05)
42
+
43
+
44
+ ### Miscellaneous Chores
45
+
46
+ * **cli-core:** Synchronize repo versions
47
+
48
+
49
+ ### Dependencies
50
+
51
+ * The following workspace dependencies were updated
52
+ * dependencies
53
+ * @twin.org/core bumped from 0.0.2-next.7 to 0.0.2-next.8
54
+ * @twin.org/crypto bumped from 0.0.2-next.7 to 0.0.2-next.8
55
+ * @twin.org/nameof bumped from 0.0.2-next.7 to 0.0.2-next.8
56
+ * devDependencies
57
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.7 to 0.0.2-next.8
58
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.7 to 0.0.2-next.8
59
+
60
+ ## [0.0.2-next.7](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.2-next.6...cli-core-v0.0.2-next.7) (2025-08-29)
61
+
62
+
63
+ ### Features
64
+
65
+ * eslint migration to flat config ([74427d7](https://github.com/twinfoundation/framework/commit/74427d78d342167f7850e49ab87269326355befe))
66
+
67
+
68
+ ### Dependencies
69
+
70
+ * The following workspace dependencies were updated
71
+ * dependencies
72
+ * @twin.org/core bumped from 0.0.2-next.6 to 0.0.2-next.7
73
+ * @twin.org/crypto bumped from 0.0.2-next.6 to 0.0.2-next.7
74
+ * @twin.org/nameof bumped from 0.0.2-next.6 to 0.0.2-next.7
75
+ * devDependencies
76
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.6 to 0.0.2-next.7
77
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.6 to 0.0.2-next.7
78
+
79
+ ## [0.0.2-next.6](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.2-next.5...cli-core-v0.0.2-next.6) (2025-08-27)
80
+
81
+
82
+ ### Miscellaneous Chores
83
+
84
+ * **cli-core:** Synchronize repo versions
85
+
86
+
87
+ ### Dependencies
88
+
89
+ * The following workspace dependencies were updated
90
+ * dependencies
91
+ * @twin.org/core bumped from 0.0.2-next.5 to 0.0.2-next.6
92
+ * @twin.org/crypto bumped from 0.0.2-next.5 to 0.0.2-next.6
93
+ * @twin.org/nameof bumped from 0.0.2-next.5 to 0.0.2-next.6
94
+ * devDependencies
95
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.5 to 0.0.2-next.6
96
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.5 to 0.0.2-next.6
97
+
98
+ ## [0.0.2-next.5](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.2-next.4...cli-core-v0.0.2-next.5) (2025-08-19)
99
+
100
+
101
+ ### Features
102
+
103
+ * use cause instead of inner for errors ([1f4acc4](https://github.com/twinfoundation/framework/commit/1f4acc4d7a6b71a134d9547da9bf40de1e1e49da))
104
+
105
+
106
+ ### Dependencies
107
+
108
+ * The following workspace dependencies were updated
109
+ * dependencies
110
+ * @twin.org/core bumped from 0.0.2-next.4 to 0.0.2-next.5
111
+ * @twin.org/crypto bumped from 0.0.2-next.4 to 0.0.2-next.5
112
+ * @twin.org/nameof bumped from 0.0.2-next.4 to 0.0.2-next.5
113
+ * devDependencies
114
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.4 to 0.0.2-next.5
115
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.4 to 0.0.2-next.5
116
+
117
+ ## [0.0.2-next.4](https://github.com/twinfoundation/framework/compare/cli-core-v0.0.2-next.3...cli-core-v0.0.2-next.4) (2025-08-15)
118
+
119
+
120
+ ### Miscellaneous Chores
121
+
122
+ * **cli-core:** Synchronize repo versions
123
+
124
+
125
+ ### Dependencies
126
+
127
+ * The following workspace dependencies were updated
128
+ * dependencies
129
+ * @twin.org/core bumped from 0.0.2-next.3 to 0.0.2-next.4
130
+ * @twin.org/crypto bumped from 0.0.2-next.3 to 0.0.2-next.4
131
+ * @twin.org/nameof bumped from 0.0.2-next.3 to 0.0.2-next.4
132
+ * devDependencies
133
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.3 to 0.0.2-next.4
134
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.3 to 0.0.2-next.4
135
+
136
+ ## [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)
137
+
138
+
139
+ ### Features
140
+
141
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
142
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
143
+ * relocate core packages from tools ([bcab8f3](https://github.com/twinfoundation/framework/commit/bcab8f3160442ea4fcaf442947462504f3d6a17d))
144
+ * update dependencies ([f3bd015](https://github.com/twinfoundation/framework/commit/f3bd015efd169196b7e0335f5cab876ba6ca1d75))
145
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
146
+
147
+
148
+ ### Bug Fixes
149
+
150
+ * framework pr naming convention ([#142](https://github.com/twinfoundation/framework/issues/142)) ([e29acee](https://github.com/twinfoundation/framework/commit/e29acee2fbec42506091956d6ba8b8ce25a90008))
151
+
152
+
153
+ ### Dependencies
154
+
155
+ * The following workspace dependencies were updated
156
+ * dependencies
157
+ * @twin.org/core bumped from 0.0.2-next.2 to 0.0.2-next.3
158
+ * @twin.org/crypto bumped from 0.0.2-next.2 to 0.0.2-next.3
159
+ * @twin.org/nameof bumped from 0.0.2-next.2 to 0.0.2-next.3
160
+ * devDependencies
161
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.2 to 0.0.2-next.3
162
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.2 to 0.0.2-next.3
163
+
164
+ ## [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)
165
+
166
+
167
+ ### Features
168
+
169
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
170
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
171
+ * relocate core packages from tools ([bcab8f3](https://github.com/twinfoundation/framework/commit/bcab8f3160442ea4fcaf442947462504f3d6a17d))
172
+ * update dependencies ([f3bd015](https://github.com/twinfoundation/framework/commit/f3bd015efd169196b7e0335f5cab876ba6ca1d75))
173
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
174
+
175
+
176
+ ### Bug Fixes
177
+
178
+ * framework pr naming convention ([#142](https://github.com/twinfoundation/framework/issues/142)) ([e29acee](https://github.com/twinfoundation/framework/commit/e29acee2fbec42506091956d6ba8b8ce25a90008))
179
+
180
+
181
+ ### Dependencies
182
+
183
+ * The following workspace dependencies were updated
184
+ * dependencies
185
+ * @twin.org/core bumped from 0.0.2-next.1 to 0.0.2-next.2
186
+ * @twin.org/crypto bumped from 0.0.2-next.1 to 0.0.2-next.2
187
+ * @twin.org/nameof bumped from 0.0.2-next.1 to 0.0.2-next.2
188
+ * devDependencies
189
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.1 to 0.0.2-next.2
190
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.1 to 0.0.2-next.2
191
+
192
+ ## [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)
193
+
194
+
195
+ ### Features
196
+
197
+ * add guards arrayEndsWith and arrayStartsWith ([95d875e](https://github.com/twinfoundation/framework/commit/95d875ec8ccb4713c145fdde941d4cfedcec2ed3))
198
+ * improve error display in CLI ([94b6ca8](https://github.com/twinfoundation/framework/commit/94b6ca8bdcfe3ca7671c4095b436ea7bddaae98e))
199
+ * relocate core packages from tools ([bcab8f3](https://github.com/twinfoundation/framework/commit/bcab8f3160442ea4fcaf442947462504f3d6a17d))
200
+ * update dependencies ([f3bd015](https://github.com/twinfoundation/framework/commit/f3bd015efd169196b7e0335f5cab876ba6ca1d75))
201
+ * use new shared store mechanism ([#131](https://github.com/twinfoundation/framework/issues/131)) ([934385b](https://github.com/twinfoundation/framework/commit/934385b2fbaf9f5c00a505ebf9d093bd5a425f55))
202
+
203
+
204
+ ### Bug Fixes
205
+
206
+ * framework pr naming convention ([#142](https://github.com/twinfoundation/framework/issues/142)) ([e29acee](https://github.com/twinfoundation/framework/commit/e29acee2fbec42506091956d6ba8b8ce25a90008))
207
+
208
+
209
+ ### Dependencies
210
+
211
+ * The following workspace dependencies were updated
212
+ * dependencies
213
+ * @twin.org/core bumped from 0.0.2-next.0 to 0.0.2-next.1
214
+ * @twin.org/crypto bumped from 0.0.2-next.0 to 0.0.2-next.1
215
+ * @twin.org/nameof bumped from 0.0.2-next.0 to 0.0.2-next.1
216
+ * devDependencies
217
+ * @twin.org/nameof-transformer bumped from 0.0.2-next.0 to 0.0.2-next.1
218
+ * @twin.org/nameof-vitest-plugin bumped from 0.0.2-next.0 to 0.0.2-next.1
219
+
3
220
  ## 0.0.1 (2025-07-03)
4
221
 
5
222
 
@@ -1,4 +1,4 @@
1
- # Class: `abstract` CLIBase
1
+ # Abstract Class: CLIBase
2
2
 
3
3
  The main entry point for the CLI.
4
4
 
@@ -234,6 +234,26 @@ The object to display.
234
234
 
235
235
  ***
236
236
 
237
+ ### warning()
238
+
239
+ > `static` **warning**(`label`): `void`
240
+
241
+ Display a warning.
242
+
243
+ #### Parameters
244
+
245
+ ##### label
246
+
247
+ `string`
248
+
249
+ The label for the warning.
250
+
251
+ #### Returns
252
+
253
+ `void`
254
+
255
+ ***
256
+
237
257
  ### done()
238
258
 
239
259
  > `static` **done**(): `void`
@@ -90,6 +90,56 @@ An error if the option is invalid.
90
90
 
91
91
  ***
92
92
 
93
+ ### arrayOneOf()
94
+
95
+ > `static` **arrayOneOf**\<`T`\>(`optionName`, `optionValue`, `validValues`, `allowEnvVar`): `T`
96
+
97
+ Check the option to see if the value exists in the specific array.
98
+
99
+ #### Type Parameters
100
+
101
+ ##### T
102
+
103
+ `T` = `string`
104
+
105
+ #### Parameters
106
+
107
+ ##### optionName
108
+
109
+ `string`
110
+
111
+ The name of the option.
112
+
113
+ ##### optionValue
114
+
115
+ The option value.
116
+
117
+ `undefined` | `string`
118
+
119
+ ##### validValues
120
+
121
+ `T`[]
122
+
123
+ The valid values.
124
+
125
+ ##### allowEnvVar
126
+
127
+ `boolean` = `true`
128
+
129
+ Allow the option to be read from an env var.
130
+
131
+ #### Returns
132
+
133
+ `T`
134
+
135
+ The final option value.
136
+
137
+ #### Throws
138
+
139
+ An error if the option is invalid.
140
+
141
+ ***
142
+
93
143
  ### url()
94
144
 
95
145
  > `static` **url**(`optionName`, `optionValue`, `allowEnvVar`): `string`
@@ -57,3 +57,11 @@ Supports the loading of env files.
57
57
  > `optional` **overrideOutputWidth**: `number`
58
58
 
59
59
  Override the default output width.
60
+
61
+ ***
62
+
63
+ ### showDevToolWarning?
64
+
65
+ > `optional` **showDevToolWarning**: `boolean`
66
+
67
+ Show a warning that this is a dev tool and not for production use.
package/locales/en.json CHANGED
@@ -12,6 +12,11 @@
12
12
  }
13
13
  }
14
14
  },
15
+ "warn": {
16
+ "common": {
17
+ "devOnlyTool": "This tool is intended to be used for development purposes, it is not recommended for use in production scenarios."
18
+ }
19
+ },
15
20
  "cli": {
16
21
  "progress": {
17
22
  "done": "Done.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/cli-core",
3
- "version": "0.0.1",
3
+ "version": "0.0.2-next.10",
4
4
  "description": "Core classes for building a CLI",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,12 +14,12 @@
14
14
  "node": ">=20.0.0"
15
15
  },
16
16
  "dependencies": {
17
- "@twin.org/core": "^0.0.1",
18
- "@twin.org/crypto": "^0.0.1",
19
- "@twin.org/nameof": "^0.0.1",
20
- "chalk": "5.4.1",
17
+ "@twin.org/core": "0.0.2-next.10",
18
+ "@twin.org/crypto": "0.0.2-next.10",
19
+ "@twin.org/nameof": "0.0.2-next.10",
20
+ "chalk": "5.6.0",
21
21
  "commander": "14.0.0",
22
- "dotenv": "16.5.0"
22
+ "dotenv": "17.2.1"
23
23
  },
24
24
  "main": "./dist/cjs/index.cjs",
25
25
  "module": "./dist/esm/index.mjs",