@storm-software/config-tools 1.169.8 → 1.170.0

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.
Files changed (78) hide show
  1. package/README.md +1 -1
  2. package/bin/config.cjs +50 -11
  3. package/bin/config.js +56 -17
  4. package/dist/{chunk-WITKEKZ5.js → chunk-26BPJW3I.js} +12 -9
  5. package/dist/{chunk-J2LCTMCI.cjs → chunk-26LV7S6Z.cjs} +9 -9
  6. package/dist/{chunk-BJ2W75ZO.cjs → chunk-2CVNUZFW.cjs} +22 -19
  7. package/dist/{chunk-XBNXWUW3.cjs → chunk-2IEYYP2I.cjs} +2 -2
  8. package/dist/{chunk-JX5NLB4S.js → chunk-4KZ3BMNG.js} +44 -10
  9. package/dist/{chunk-GIXUQACB.cjs → chunk-4PAEA5KV.cjs} +44 -10
  10. package/dist/chunk-4VJPNKRP.cjs +40 -0
  11. package/dist/{chunk-H425P7G5.cjs → chunk-5XVUNKW6.cjs} +5 -2
  12. package/dist/{chunk-56NGBR4S.cjs → chunk-6LO4SCE6.cjs} +1 -0
  13. package/dist/{chunk-BAWQ37NK.js → chunk-6YK3KZIF.js} +1 -1
  14. package/dist/{chunk-FCWF3I34.cjs → chunk-7BVMJTE2.cjs} +9 -9
  15. package/dist/{chunk-QDJMKPQQ.js → chunk-7OSBTSCE.js} +1 -1
  16. package/dist/{chunk-RSKVXFI5.js → chunk-BKQBZMGO.js} +4 -3
  17. package/dist/{chunk-7HCUD67D.cjs → chunk-BMDGKEGP.cjs} +3 -3
  18. package/dist/{chunk-7SIKKF62.cjs → chunk-DX767CQS.cjs} +2 -2
  19. package/dist/chunk-E5XT5FVB.cjs +193 -0
  20. package/dist/chunk-F7MZXFL2.cjs +334 -0
  21. package/dist/{chunk-PORZT4W3.js → chunk-FRM3M54F.js} +1 -1
  22. package/dist/chunk-JRKB77S5.js +47 -0
  23. package/dist/{chunk-H2GU4JMJ.cjs → chunk-KX7CIRN3.cjs} +3 -3
  24. package/dist/chunk-MN6CU3TR.js +138 -0
  25. package/dist/chunk-MNLUPWAB.cjs +158 -0
  26. package/dist/chunk-NUOCEMFW.js +40 -0
  27. package/dist/chunk-OD7DEEL5.cjs +55 -0
  28. package/dist/{chunk-QJUAU656.js → chunk-OUYYXBZX.js} +1 -1
  29. package/dist/chunk-QWVC3UD5.cjs +40 -0
  30. package/dist/chunk-RJVVMUQK.cjs +138 -0
  31. package/dist/{chunk-ELNIDXR5.js → chunk-STYJJA3M.js} +1 -1
  32. package/dist/{chunk-XS7LVKAI.js → chunk-TCSDVRRN.js} +6 -3
  33. package/dist/chunk-TGDG6POD.cjs +47 -0
  34. package/dist/chunk-TRI5HQQN.js +334 -0
  35. package/dist/chunk-U74E4EM6.js +55 -0
  36. package/dist/chunk-UPV2R6VP.cjs +92 -0
  37. package/dist/{chunk-XO6ICAFH.js → chunk-VSPBZRTR.js} +1 -1
  38. package/dist/chunk-WT2BVWII.js +40 -0
  39. package/dist/chunk-XT2XO7TR.js +92 -0
  40. package/dist/chunk-YPBNOKK2.js +158 -0
  41. package/dist/chunk-Z3RQ7QQH.js +193 -0
  42. package/dist/config-file/get-config-file.cjs +7 -7
  43. package/dist/config-file/get-config-file.js +6 -6
  44. package/dist/config-file/index.cjs +7 -7
  45. package/dist/config-file/index.js +6 -6
  46. package/dist/create-storm-config.cjs +10 -10
  47. package/dist/create-storm-config.js +9 -9
  48. package/dist/env/get-env.cjs +2 -2
  49. package/dist/env/get-env.js +1 -1
  50. package/dist/env/index.cjs +3 -3
  51. package/dist/env/index.js +2 -2
  52. package/dist/env/set-env.cjs +2 -2
  53. package/dist/env/set-env.js +1 -1
  54. package/dist/get-config.cjs +11 -11
  55. package/dist/get-config.js +10 -10
  56. package/dist/index.cjs +13 -11
  57. package/dist/index.d.cts +1 -1
  58. package/dist/index.d.ts +1 -1
  59. package/dist/index.js +14 -12
  60. package/dist/logger/console.cjs +3 -3
  61. package/dist/logger/console.js +2 -2
  62. package/dist/logger/create-logger.cjs +4 -4
  63. package/dist/logger/create-logger.js +3 -3
  64. package/dist/logger/index.cjs +4 -4
  65. package/dist/logger/index.js +3 -3
  66. package/dist/utilities/get-default-config.cjs +4 -2
  67. package/dist/utilities/get-default-config.d.cts +9 -4
  68. package/dist/utilities/get-default-config.d.ts +9 -4
  69. package/dist/utilities/get-default-config.js +5 -3
  70. package/dist/utilities/index.cjs +8 -6
  71. package/dist/utilities/index.d.cts +1 -1
  72. package/dist/utilities/index.d.ts +1 -1
  73. package/dist/utilities/index.js +9 -7
  74. package/dist/utilities/process-handler.cjs +4 -4
  75. package/dist/utilities/process-handler.js +3 -3
  76. package/dist/utilities/toml.cjs +5 -5
  77. package/dist/utilities/toml.js +4 -4
  78. package/package.json +2 -2
@@ -0,0 +1,334 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunk4JREL2GQcjs = require('./chunk-4JREL2GQ.cjs');
4
+
5
+
6
+ var _chunk7BZWQZUVcjs = require('./chunk-7BZWQZUV.cjs');
7
+
8
+
9
+ var _chunkC5OTFOQBcjs = require('./chunk-C5OTFOQB.cjs');
10
+
11
+ // src/env/set-env.ts
12
+ var setExtensionEnv = (extensionName, extension) => {
13
+ for (const key of Object.keys(_nullishCoalesce(extension, () => ( {})))) {
14
+ if (extension[key]) {
15
+ const result = _nullishCoalesce(_optionalChain([key, 'optionalAccess', _ => _.replace, 'call', _2 => _2(
16
+ /([A-Z])+/g,
17
+ (input) => input ? _optionalChain([input, 'access', _3 => _3[0], 'optionalAccess', _4 => _4.toUpperCase, 'call', _5 => _5()]) + input.slice(1) : ""
18
+ ), 'access', _6 => _6.split, 'call', _7 => _7(/(?=[A-Z])|[.\-\s_]/), 'access', _8 => _8.map, 'call', _9 => _9((x) => x.toLowerCase())]), () => ( []));
19
+ let extensionKey;
20
+ if (result.length === 0) {
21
+ return;
22
+ }
23
+ if (result.length === 1) {
24
+ extensionKey = _nullishCoalesce(_optionalChain([result, 'access', _10 => _10[0], 'optionalAccess', _11 => _11.toUpperCase, 'call', _12 => _12()]), () => ( ""));
25
+ } else {
26
+ extensionKey = result.reduce((ret, part) => {
27
+ return `${ret}_${part.toLowerCase()}`;
28
+ });
29
+ }
30
+ process.env[`STORM_EXTENSION_${extensionName.toUpperCase()}_${extensionKey.toUpperCase()}`] = extension[key];
31
+ }
32
+ }
33
+ };
34
+ var setConfigEnv = (config) => {
35
+ const prefix = "STORM_";
36
+ if (config.extends) {
37
+ process.env[`${prefix}EXTENDS`] = Array.isArray(config.extends) ? JSON.stringify(config.extends) : config.extends;
38
+ }
39
+ if (config.name) {
40
+ process.env[`${prefix}NAME`] = config.name;
41
+ }
42
+ if (config.namespace) {
43
+ process.env[`${prefix}NAMESPACE`] = config.namespace;
44
+ }
45
+ if (config.owner) {
46
+ process.env[`${prefix}OWNER`] = config.owner;
47
+ }
48
+ if (config.bot) {
49
+ process.env[`${prefix}BOT_NAME`] = config.bot.name;
50
+ process.env[`${prefix}BOT_EMAIL`] = config.bot.email;
51
+ }
52
+ if (config.error) {
53
+ process.env[`${prefix}ERROR_CODES_FILE`] = config.error.codesFile;
54
+ process.env[`${prefix}ERROR_URL`] = config.error.url;
55
+ }
56
+ if (config.release) {
57
+ process.env[`${prefix}RELEASE_BANNER`] = config.release.banner;
58
+ process.env[`${prefix}RELEASE_HEADER`] = config.release.header;
59
+ process.env[`${prefix}RELEASE_FOOTER`] = config.release.footer;
60
+ }
61
+ if (config.account) {
62
+ if (config.account.twitter) {
63
+ process.env[`${prefix}ACCOUNT_TWITTER`] = config.account.twitter;
64
+ }
65
+ if (config.account.discord) {
66
+ process.env[`${prefix}ACCOUNT_DISCORD`] = config.account.discord;
67
+ }
68
+ if (config.account.telegram) {
69
+ process.env[`${prefix}ACCOUNT_TELEGRAM`] = config.account.telegram;
70
+ }
71
+ if (config.account.slack) {
72
+ process.env[`${prefix}ACCOUNT_SLACK`] = config.account.slack;
73
+ }
74
+ if (config.account.medium) {
75
+ process.env[`${prefix}ACCOUNT_MEDIUM`] = config.account.medium;
76
+ }
77
+ if (config.account.github) {
78
+ process.env[`${prefix}ACCOUNT_GITHUB`] = config.account.github;
79
+ }
80
+ }
81
+ if (config.organization) {
82
+ process.env[`${prefix}ORGANIZATION`] = config.organization;
83
+ }
84
+ if (config.packageManager) {
85
+ process.env[`${prefix}PACKAGE_MANAGER`] = config.packageManager;
86
+ }
87
+ if (config.license) {
88
+ process.env[`${prefix}LICENSE`] = config.license;
89
+ }
90
+ if (config.homepage) {
91
+ process.env[`${prefix}HOMEPAGE`] = config.homepage;
92
+ }
93
+ if (config.docs) {
94
+ process.env[`${prefix}DOCS`] = config.docs;
95
+ }
96
+ if (config.licensing) {
97
+ process.env[`${prefix}LICENSING`] = config.licensing;
98
+ }
99
+ if (config.contact) {
100
+ process.env[`${prefix}CONTACT`] = config.contact;
101
+ }
102
+ if (config.support) {
103
+ process.env[`${prefix}SUPPORT`] = config.support;
104
+ }
105
+ if (config.timezone) {
106
+ process.env[`${prefix}TIMEZONE`] = config.timezone;
107
+ process.env.TZ = config.timezone;
108
+ process.env.DEFAULT_TIMEZONE = config.timezone;
109
+ }
110
+ if (config.locale) {
111
+ process.env[`${prefix}LOCALE`] = config.locale;
112
+ process.env.LOCALE = config.locale;
113
+ process.env.DEFAULT_LOCALE = config.locale;
114
+ process.env.LANG = config.locale ? `${config.locale.replaceAll("-", "_")}.UTF-8` : "en_US.UTF-8";
115
+ }
116
+ if (config.configFile) {
117
+ process.env[`${prefix}CONFIG_FILE`] = _chunk4JREL2GQcjs.correctPaths.call(void 0, config.configFile);
118
+ }
119
+ if (config.workspaceRoot) {
120
+ process.env[`${prefix}WORKSPACE_ROOT`] = _chunk4JREL2GQcjs.correctPaths.call(void 0, config.workspaceRoot);
121
+ process.env.NX_WORKSPACE_ROOT = _chunk4JREL2GQcjs.correctPaths.call(void 0, config.workspaceRoot);
122
+ process.env.NX_WORKSPACE_ROOT_PATH = _chunk4JREL2GQcjs.correctPaths.call(void 0, config.workspaceRoot);
123
+ }
124
+ if (config.directories) {
125
+ if (!config.skipCache && config.directories.cache) {
126
+ process.env[`${prefix}CACHE_DIR`] = _chunk4JREL2GQcjs.correctPaths.call(void 0,
127
+ config.directories.cache
128
+ );
129
+ process.env[`${prefix}CACHE_DIRECTORY`] = process.env[`${prefix}CACHE_DIR`];
130
+ }
131
+ if (config.directories.data) {
132
+ process.env[`${prefix}DATA_DIR`] = _chunk4JREL2GQcjs.correctPaths.call(void 0, config.directories.data);
133
+ process.env[`${prefix}DATA_DIRECTORY`] = process.env[`${prefix}DATA_DIR`];
134
+ }
135
+ if (config.directories.config) {
136
+ process.env[`${prefix}CONFIG_DIR`] = _chunk4JREL2GQcjs.correctPaths.call(void 0,
137
+ config.directories.config
138
+ );
139
+ process.env[`${prefix}CONFIG_DIRECTORY`] = process.env[`${prefix}CONFIG_DIR`];
140
+ }
141
+ if (config.directories.temp) {
142
+ process.env[`${prefix}TEMP_DIR`] = _chunk4JREL2GQcjs.correctPaths.call(void 0, config.directories.temp);
143
+ process.env[`${prefix}TEMP_DIRECTORY`] = process.env[`${prefix}TEMP_DIR`];
144
+ }
145
+ if (config.directories.log) {
146
+ process.env[`${prefix}LOG_DIR`] = _chunk4JREL2GQcjs.correctPaths.call(void 0, config.directories.log);
147
+ process.env[`${prefix}LOG_DIRECTORY`] = process.env[`${prefix}LOG_DIR`];
148
+ }
149
+ if (config.directories.build) {
150
+ process.env[`${prefix}BUILD_DIR`] = _chunk4JREL2GQcjs.correctPaths.call(void 0,
151
+ config.directories.build
152
+ );
153
+ process.env[`${prefix}BUILD_DIRECTORY`] = process.env[`${prefix}BUILD_DIR`];
154
+ }
155
+ }
156
+ if (config.skipCache !== void 0) {
157
+ process.env[`${prefix}SKIP_CACHE`] = String(config.skipCache);
158
+ if (config.skipCache) {
159
+ process.env.NX_SKIP_NX_CACHE ??= String(config.skipCache);
160
+ process.env.NX_CACHE_PROJECT_GRAPH ??= String(config.skipCache);
161
+ }
162
+ }
163
+ if (config.mode) {
164
+ process.env[`${prefix}MODE`] = config.mode;
165
+ process.env.NODE_ENV = config.mode;
166
+ process.env.ENVIRONMENT = config.mode;
167
+ }
168
+ if (_optionalChain([config, 'access', _13 => _13.colors, 'optionalAccess', _14 => _14.base, 'optionalAccess', _15 => _15.light]) || _optionalChain([config, 'access', _16 => _16.colors, 'optionalAccess', _17 => _17.base, 'optionalAccess', _18 => _18.dark])) {
169
+ for (const key of Object.keys(config.colors)) {
170
+ setThemeColorConfigEnv(`${prefix}COLOR_${key}_`, config.colors[key]);
171
+ }
172
+ } else {
173
+ setThemeColorConfigEnv(
174
+ `${prefix}COLOR_`,
175
+ config.colors
176
+ );
177
+ }
178
+ if (config.repository) {
179
+ process.env[`${prefix}REPOSITORY`] = config.repository;
180
+ }
181
+ if (config.branch) {
182
+ process.env[`${prefix}BRANCH`] = config.branch;
183
+ }
184
+ if (config.preid) {
185
+ process.env[`${prefix}PRE_ID`] = String(config.preid);
186
+ }
187
+ if (config.externalPackagePatterns) {
188
+ process.env[`${prefix}EXTERNAL_PACKAGE_PATTERNS`] = JSON.stringify(
189
+ config.externalPackagePatterns
190
+ );
191
+ }
192
+ if (config.registry) {
193
+ if (config.registry.github) {
194
+ process.env[`${prefix}REGISTRY_GITHUB`] = String(config.registry.github);
195
+ }
196
+ if (config.registry.npm) {
197
+ process.env[`${prefix}REGISTRY_NPM`] = String(config.registry.npm);
198
+ }
199
+ if (config.registry.cargo) {
200
+ process.env[`${prefix}REGISTRY_CARGO`] = String(config.registry.cargo);
201
+ }
202
+ if (config.registry.cyclone) {
203
+ process.env[`${prefix}REGISTRY_CYCLONE`] = String(
204
+ config.registry.cyclone
205
+ );
206
+ }
207
+ if (config.registry.container) {
208
+ process.env[`${prefix}REGISTRY_CONTAINER`] = String(
209
+ config.registry.container
210
+ );
211
+ }
212
+ }
213
+ if (config.logLevel) {
214
+ process.env[`${prefix}LOG_LEVEL`] = String(config.logLevel);
215
+ process.env.LOG_LEVEL = String(config.logLevel);
216
+ process.env.NX_VERBOSE_LOGGING = String(
217
+ _chunk7BZWQZUVcjs.getLogLevel.call(void 0, config.logLevel) >= _chunkC5OTFOQBcjs.LogLevel.DEBUG ? true : false
218
+ );
219
+ process.env.RUST_BACKTRACE = _chunk7BZWQZUVcjs.getLogLevel.call(void 0, config.logLevel) >= _chunkC5OTFOQBcjs.LogLevel.DEBUG ? "full" : "none";
220
+ }
221
+ if (config.skipConfigLogging !== void 0) {
222
+ process.env[`${prefix}SKIP_CONFIG_LOGGING`] = String(
223
+ config.skipConfigLogging
224
+ );
225
+ }
226
+ process.env[`${prefix}CONFIG`] = JSON.stringify(config);
227
+ for (const key of Object.keys(_nullishCoalesce(config.extensions, () => ( {})))) {
228
+ if (config.extensions[key] && Object.keys(config.extensions[key])) {
229
+ setExtensionEnv(key, config.extensions[key]);
230
+ }
231
+ }
232
+ };
233
+ var setThemeColorConfigEnv = (prefix, config) => {
234
+ return _optionalChain([config, 'optionalAccess', _19 => _19.light, 'optionalAccess', _20 => _20.brand]) || _optionalChain([config, 'optionalAccess', _21 => _21.dark, 'optionalAccess', _22 => _22.brand]) ? setMultiThemeColorConfigEnv(prefix, config) : setSingleThemeColorConfigEnv(prefix, config);
235
+ };
236
+ var setSingleThemeColorConfigEnv = (prefix, config) => {
237
+ if (config.dark) {
238
+ process.env[`${prefix}DARK`] = config.dark;
239
+ }
240
+ if (config.light) {
241
+ process.env[`${prefix}LIGHT`] = config.light;
242
+ }
243
+ if (config.brand) {
244
+ process.env[`${prefix}BRAND`] = config.brand;
245
+ }
246
+ if (config.alternate) {
247
+ process.env[`${prefix}ALTERNATE`] = config.alternate;
248
+ }
249
+ if (config.accent) {
250
+ process.env[`${prefix}ACCENT`] = config.accent;
251
+ }
252
+ if (config.link) {
253
+ process.env[`${prefix}LINK`] = config.link;
254
+ }
255
+ if (config.help) {
256
+ process.env[`${prefix}HELP`] = config.help;
257
+ }
258
+ if (config.success) {
259
+ process.env[`${prefix}SUCCESS`] = config.success;
260
+ }
261
+ if (config.info) {
262
+ process.env[`${prefix}INFO`] = config.info;
263
+ }
264
+ if (config.warning) {
265
+ process.env[`${prefix}WARNING`] = config.warning;
266
+ }
267
+ if (config.danger) {
268
+ process.env[`${prefix}DANGER`] = config.danger;
269
+ }
270
+ if (config.fatal) {
271
+ process.env[`${prefix}FATAL`] = config.fatal;
272
+ }
273
+ if (config.positive) {
274
+ process.env[`${prefix}POSITIVE`] = config.positive;
275
+ }
276
+ if (config.negative) {
277
+ process.env[`${prefix}NEGATIVE`] = config.negative;
278
+ }
279
+ };
280
+ var setMultiThemeColorConfigEnv = (prefix, config) => {
281
+ return {
282
+ light: setBaseThemeColorConfigEnv(`${prefix}LIGHT_`, config.light),
283
+ dark: setBaseThemeColorConfigEnv(`${prefix}DARK_`, config.dark)
284
+ };
285
+ };
286
+ var setBaseThemeColorConfigEnv = (prefix, config) => {
287
+ if (config.foreground) {
288
+ process.env[`${prefix}FOREGROUND`] = config.foreground;
289
+ }
290
+ if (config.background) {
291
+ process.env[`${prefix}BACKGROUND`] = config.background;
292
+ }
293
+ if (config.brand) {
294
+ process.env[`${prefix}BRAND`] = config.brand;
295
+ }
296
+ if (config.alternate) {
297
+ process.env[`${prefix}ALTERNATE`] = config.alternate;
298
+ }
299
+ if (config.accent) {
300
+ process.env[`${prefix}ACCENT`] = config.accent;
301
+ }
302
+ if (config.link) {
303
+ process.env[`${prefix}LINK`] = config.link;
304
+ }
305
+ if (config.help) {
306
+ process.env[`${prefix}HELP`] = config.help;
307
+ }
308
+ if (config.success) {
309
+ process.env[`${prefix}SUCCESS`] = config.success;
310
+ }
311
+ if (config.info) {
312
+ process.env[`${prefix}INFO`] = config.info;
313
+ }
314
+ if (config.warning) {
315
+ process.env[`${prefix}WARNING`] = config.warning;
316
+ }
317
+ if (config.danger) {
318
+ process.env[`${prefix}DANGER`] = config.danger;
319
+ }
320
+ if (config.fatal) {
321
+ process.env[`${prefix}FATAL`] = config.fatal;
322
+ }
323
+ if (config.positive) {
324
+ process.env[`${prefix}POSITIVE`] = config.positive;
325
+ }
326
+ if (config.negative) {
327
+ process.env[`${prefix}NEGATIVE`] = config.negative;
328
+ }
329
+ };
330
+
331
+
332
+
333
+
334
+ exports.setExtensionEnv = setExtensionEnv; exports.setConfigEnv = setConfigEnv;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  writeError
3
- } from "./chunk-QJUAU656.js";
3
+ } from "./chunk-YPBNOKK2.js";
4
4
 
5
5
  // src/utilities/toml.ts
6
6
  import TOML from "@ltd/j-toml";
@@ -0,0 +1,47 @@
1
+ import {
2
+ writeError
3
+ } from "./chunk-OUYYXBZX.js";
4
+
5
+ // src/utilities/toml.ts
6
+ import TOML from "@ltd/j-toml";
7
+ function parseCargoTomlWithTree(tree, projectRoot, projectName) {
8
+ const cargoTomlString = tree.read(`${projectRoot}/Cargo.toml`)?.toString();
9
+ if (!cargoTomlString) {
10
+ writeError(`Cannot find a Cargo.toml file in the ${projectName}`);
11
+ throw new Error();
12
+ }
13
+ return parseCargoToml(cargoTomlString);
14
+ }
15
+ function parseCargoToml(cargoString) {
16
+ if (!cargoString) {
17
+ throw new Error("Cargo.toml is empty");
18
+ }
19
+ return TOML.parse(cargoString, {
20
+ x: { comment: true }
21
+ });
22
+ }
23
+ function stringifyCargoToml(cargoToml) {
24
+ const tomlString = TOML.stringify(cargoToml, {
25
+ newlineAround: "section"
26
+ });
27
+ if (Array.isArray(tomlString)) {
28
+ return tomlString.join("\n");
29
+ }
30
+ return tomlString;
31
+ }
32
+ function modifyCargoTable(toml, section, key, value) {
33
+ toml[section] ??= TOML.Section({});
34
+ toml[section][key] = typeof value === "object" && !Array.isArray(value) ? TOML.inline(value) : typeof value === "function" ? value() : value;
35
+ }
36
+ function modifyCargoNestedTable(toml, section, key, value) {
37
+ toml[section] ??= {};
38
+ toml[section][key] = TOML.Section(value);
39
+ }
40
+
41
+ export {
42
+ parseCargoTomlWithTree,
43
+ parseCargoToml,
44
+ stringifyCargoToml,
45
+ modifyCargoTable,
46
+ modifyCargoNestedTable
47
+ };
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkBJ2W75ZOcjs = require('./chunk-BJ2W75ZO.cjs');
4
+ var _chunkRJVVMUQKcjs = require('./chunk-RJVVMUQK.cjs');
5
5
 
6
6
 
7
7
  var _chunkAEZINHEAcjs = require('./chunk-AEZINHEA.cjs');
8
8
 
9
9
  // src/get-config.ts
10
10
  var getConfig = (workspaceRoot, skipLogs = false) => {
11
- return _chunkBJ2W75ZOcjs.loadStormWorkspaceConfig.call(void 0, workspaceRoot, skipLogs);
11
+ return _chunkRJVVMUQKcjs.loadStormWorkspaceConfig.call(void 0, workspaceRoot, skipLogs);
12
12
  };
13
13
  var getWorkspaceConfig = (skipLogs = false, options = {}) => {
14
14
  let workspaceRoot = options.workspaceRoot;
@@ -23,7 +23,7 @@ var tryGetWorkspaceConfig = async (skipLogs = false, options = {}) => {
23
23
  if (!workspaceRoot) {
24
24
  workspaceRoot = _chunkAEZINHEAcjs.findWorkspaceRoot.call(void 0, options.cwd);
25
25
  }
26
- return _chunkBJ2W75ZOcjs.tryLoadStormWorkspaceConfig.call(void 0,
26
+ return _chunkRJVVMUQKcjs.tryLoadStormWorkspaceConfig.call(void 0,
27
27
  workspaceRoot,
28
28
  skipLogs,
29
29
  options.useDefault
@@ -0,0 +1,138 @@
1
+ import {
2
+ getConfigFile
3
+ } from "./chunk-VSPBZRTR.js";
4
+ import {
5
+ formatLogMessage,
6
+ writeTrace,
7
+ writeWarning
8
+ } from "./chunk-YPBNOKK2.js";
9
+ import {
10
+ applyDefaultConfig,
11
+ getPackageJsonConfig
12
+ } from "./chunk-4KZ3BMNG.js";
13
+ import {
14
+ findWorkspaceRoot
15
+ } from "./chunk-VLWSWYG7.js";
16
+ import {
17
+ setConfigEnv
18
+ } from "./chunk-TCSDVRRN.js";
19
+ import {
20
+ getConfigEnv,
21
+ getExtensionEnv
22
+ } from "./chunk-BKQBZMGO.js";
23
+
24
+ // src/create-storm-config.ts
25
+ import { stormWorkspaceConfigSchema } from "@storm-software/config/schema";
26
+ import defu from "defu";
27
+ var _extension_cache = /* @__PURE__ */ new WeakMap();
28
+ var _static_cache = void 0;
29
+ var createStormWorkspaceConfig = async (extensionName, schema, workspaceRoot, skipLogs = false, useDefault = true) => {
30
+ let result;
31
+ if (!_static_cache?.data || !_static_cache?.timestamp || _static_cache.timestamp < Date.now() - 8e3) {
32
+ let _workspaceRoot = workspaceRoot;
33
+ if (!_workspaceRoot) {
34
+ _workspaceRoot = findWorkspaceRoot();
35
+ }
36
+ const configEnv = getConfigEnv();
37
+ const configFile = await getConfigFile(_workspaceRoot);
38
+ if (!configFile) {
39
+ if (!skipLogs) {
40
+ writeWarning(
41
+ "No Storm Workspace configuration file found in the current repository. Please ensure this is the expected behavior - you can add a `storm-workspace.json` file to the root of your workspace if it is not.\n",
42
+ { logLevel: "all" }
43
+ );
44
+ }
45
+ if (useDefault === false) {
46
+ return void 0;
47
+ }
48
+ }
49
+ const defaultConfig = await getPackageJsonConfig(_workspaceRoot);
50
+ result = applyDefaultConfig(
51
+ await stormWorkspaceConfigSchema.parseAsync(
52
+ defu(configEnv, configFile, defaultConfig)
53
+ )
54
+ );
55
+ result.workspaceRoot ??= _workspaceRoot;
56
+ } else {
57
+ result = _static_cache.data;
58
+ }
59
+ if (schema && extensionName) {
60
+ result.extensions = {
61
+ ...result.extensions,
62
+ [extensionName]: createConfigExtension(extensionName, schema)
63
+ };
64
+ }
65
+ _static_cache = {
66
+ timestamp: Date.now(),
67
+ data: result
68
+ };
69
+ return result;
70
+ };
71
+ var createConfigExtension = (extensionName, schema) => {
72
+ const extension_cache_key = { extensionName };
73
+ if (_extension_cache.has(extension_cache_key)) {
74
+ return _extension_cache.get(extension_cache_key);
75
+ }
76
+ let extension = getExtensionEnv(extensionName);
77
+ if (schema) {
78
+ extension = schema.parse(extension);
79
+ }
80
+ _extension_cache.set(extension_cache_key, extension);
81
+ return extension;
82
+ };
83
+ var loadStormWorkspaceConfig = async (workspaceRoot, skipLogs = false) => {
84
+ const config = await createStormWorkspaceConfig(
85
+ void 0,
86
+ void 0,
87
+ workspaceRoot,
88
+ skipLogs,
89
+ true
90
+ );
91
+ setConfigEnv(config);
92
+ if (!skipLogs && !config.skipConfigLogging) {
93
+ writeTrace(
94
+ `\u2699\uFE0F Using Storm Workspace configuration:
95
+ ${formatLogMessage(config)}`,
96
+ config
97
+ );
98
+ }
99
+ return config;
100
+ };
101
+ var tryLoadStormWorkspaceConfig = async (workspaceRoot, skipLogs = true, useDefault = false) => {
102
+ try {
103
+ const config = await createStormWorkspaceConfig(
104
+ void 0,
105
+ void 0,
106
+ workspaceRoot,
107
+ skipLogs,
108
+ useDefault
109
+ );
110
+ if (!config) {
111
+ return void 0;
112
+ }
113
+ setConfigEnv(config);
114
+ if (!skipLogs && !config.skipConfigLogging) {
115
+ writeTrace(
116
+ `\u2699\uFE0F Using Storm Workspace configuration:
117
+ ${formatLogMessage(config)}`,
118
+ config
119
+ );
120
+ }
121
+ return config;
122
+ } catch (error) {
123
+ if (!skipLogs) {
124
+ writeWarning(
125
+ `\u26A0\uFE0F Failed to load Storm Workspace configuration: ${error}`,
126
+ { logLevel: "all" }
127
+ );
128
+ }
129
+ return void 0;
130
+ }
131
+ };
132
+
133
+ export {
134
+ createStormWorkspaceConfig,
135
+ createConfigExtension,
136
+ loadStormWorkspaceConfig,
137
+ tryLoadStormWorkspaceConfig
138
+ };