@storm-software/config-tools 1.190.58 → 1.190.59

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,233 @@
1
+ import {
2
+ getLogLevelLabel
3
+ } from "./chunk-SXPH7ILL.js";
4
+ import {
5
+ correctPaths
6
+ } from "./chunk-V3GMJ4TX.js";
7
+
8
+ // src/env/get-env.ts
9
+ import {
10
+ COLOR_KEYS,
11
+ STORM_DEFAULT_DOCS,
12
+ STORM_DEFAULT_HOMEPAGE,
13
+ STORM_DEFAULT_LICENSING
14
+ } from "@storm-software/config";
15
+ var getExtensionEnv = (extensionName) => {
16
+ const prefix = `STORM_EXTENSION_${extensionName.toUpperCase()}_`;
17
+ return Object.keys(process.env).filter((key) => key.startsWith(prefix)).reduce((ret, key) => {
18
+ const name = key.replace(prefix, "").split("_").map(
19
+ (i) => i.length > 0 ? i.trim().charAt(0).toUpperCase() + i.trim().slice(1) : ""
20
+ ).join("");
21
+ if (name) {
22
+ ret[name] = process.env[key];
23
+ }
24
+ return ret;
25
+ }, {});
26
+ };
27
+ var getConfigEnv = () => {
28
+ const prefix = "STORM_";
29
+ let config = {
30
+ extends: process.env[`${prefix}EXTENDS`] || void 0,
31
+ name: process.env[`${prefix}NAME`] || void 0,
32
+ variant: process.env[`${prefix}VARIANT`] || void 0,
33
+ namespace: process.env[`${prefix}NAMESPACE`] || void 0,
34
+ owner: process.env[`${prefix}OWNER`] || void 0,
35
+ bot: {
36
+ name: process.env[`${prefix}BOT_NAME`] || void 0,
37
+ email: process.env[`${prefix}BOT_EMAIL`] || void 0
38
+ },
39
+ release: {
40
+ banner: {
41
+ url: process.env[`${prefix}RELEASE_BANNER_URL`] || void 0,
42
+ alt: process.env[`${prefix}RELEASE_BANNER_ALT`] || void 0
43
+ },
44
+ header: process.env[`${prefix}RELEASE_HEADER`] || void 0,
45
+ footer: process.env[`${prefix}RELEASE_FOOTER`] || void 0
46
+ },
47
+ error: {
48
+ codesFile: process.env[`${prefix}ERROR_CODES_FILE`] || void 0,
49
+ url: process.env[`${prefix}ERROR_URL`] || void 0
50
+ },
51
+ socials: {
52
+ twitter: process.env[`${prefix}SOCIAL_TWITTER`] || void 0,
53
+ discord: process.env[`${prefix}SOCIAL_DISCORD`] || void 0,
54
+ telegram: process.env[`${prefix}SOCIAL_TELEGRAM`] || void 0,
55
+ slack: process.env[`${prefix}SOCIAL_SLACK`] || void 0,
56
+ medium: process.env[`${prefix}SOCIAL_MEDIUM`] || void 0,
57
+ github: process.env[`${prefix}SOCIAL_GITHUB`] || void 0
58
+ },
59
+ organization: process.env[`${prefix}ORG`] || process.env[`${prefix}ORGANIZATION`] || process.env[`${prefix}ORG_NAME`] || process.env[`${prefix}ORGANIZATION_NAME`] ? process.env[`${prefix}ORG_DESCRIPTION`] || process.env[`${prefix}ORGANIZATION_DESCRIPTION`] || process.env[`${prefix}ORG_URL`] || process.env[`${prefix}ORGANIZATION_URL`] || process.env[`${prefix}ORG_LOGO`] || process.env[`${prefix}ORGANIZATION_LOGO`] ? {
60
+ name: process.env[`${prefix}ORG`] || process.env[`${prefix}ORGANIZATION`] || process.env[`${prefix}ORG_NAME`] || process.env[`${prefix}ORGANIZATION_NAME`],
61
+ description: process.env[`${prefix}ORG_DESCRIPTION`] || process.env[`${prefix}ORGANIZATION_DESCRIPTION`] || void 0,
62
+ url: process.env[`${prefix}ORG_URL`] || process.env[`${prefix}ORGANIZATION_URL`] || void 0,
63
+ logo: process.env[`${prefix}ORG_LOGO`] || process.env[`${prefix}ORGANIZATION_LOGO`] || void 0,
64
+ icon: process.env[`${prefix}ORG_ICON`] || process.env[`${prefix}ORGANIZATION_ICON`] || void 0
65
+ } : process.env[`${prefix}ORG`] || process.env[`${prefix}ORGANIZATION`] || process.env[`${prefix}ORG_NAME`] || process.env[`${prefix}ORGANIZATION_NAME`] : void 0,
66
+ packageManager: process.env[`${prefix}PACKAGE_MANAGER`] || void 0,
67
+ license: process.env[`${prefix}LICENSE`] || void 0,
68
+ homepage: process.env[`${prefix}HOMEPAGE`] || void 0,
69
+ docs: process.env[`${prefix}DOCS`] || void 0,
70
+ portal: process.env[`${prefix}PORTAL`] || void 0,
71
+ licensing: process.env[`${prefix}LICENSING`] || void 0,
72
+ contact: process.env[`${prefix}CONTACT`] || void 0,
73
+ support: process.env[`${prefix}SUPPORT`] || void 0,
74
+ timezone: process.env[`${prefix}TIMEZONE`] || process.env.TZ || void 0,
75
+ locale: process.env[`${prefix}LOCALE`] || process.env.LOCALE || void 0,
76
+ configFile: process.env[`${prefix}WORKSPACE_CONFIG_FILE`] ? correctPaths(process.env[`${prefix}WORKSPACE_CONFIG_FILE`]) : void 0,
77
+ workspaceRoot: process.env[`${prefix}WORKSPACE_ROOT`] ? correctPaths(process.env[`${prefix}WORKSPACE_ROOT`]) : void 0,
78
+ directories: {
79
+ cache: process.env[`${prefix}CACHE_DIR`] ? correctPaths(process.env[`${prefix}CACHE_DIR`]) : process.env[`${prefix}CACHE_DIRECTORY`] ? correctPaths(process.env[`${prefix}CACHE_DIRECTORY`]) : void 0,
80
+ data: process.env[`${prefix}DATA_DIR`] ? correctPaths(process.env[`${prefix}DATA_DIR`]) : process.env[`${prefix}DATA_DIRECTORY`] ? correctPaths(process.env[`${prefix}DATA_DIRECTORY`]) : void 0,
81
+ config: process.env[`${prefix}CONFIG_DIR`] ? correctPaths(process.env[`${prefix}CONFIG_DIR`]) : process.env[`${prefix}CONFIG_DIRECTORY`] ? correctPaths(process.env[`${prefix}CONFIG_DIRECTORY`]) : void 0,
82
+ temp: process.env[`${prefix}TEMP_DIR`] ? correctPaths(process.env[`${prefix}TEMP_DIR`]) : process.env[`${prefix}TEMP_DIRECTORY`] ? correctPaths(process.env[`${prefix}TEMP_DIRECTORY`]) : void 0,
83
+ log: process.env[`${prefix}LOG_DIR`] ? correctPaths(process.env[`${prefix}LOG_DIR`]) : process.env[`${prefix}LOG_DIRECTORY`] ? correctPaths(process.env[`${prefix}LOG_DIRECTORY`]) : void 0,
84
+ build: process.env[`${prefix}BUILD_DIR`] ? correctPaths(process.env[`${prefix}BUILD_DIR`]) : process.env[`${prefix}BUILD_DIRECTORY`] ? correctPaths(process.env[`${prefix}BUILD_DIRECTORY`]) : void 0
85
+ },
86
+ skipCache: process.env[`${prefix}SKIP_CACHE`] !== void 0 ? Boolean(process.env[`${prefix}SKIP_CACHE`]) : void 0,
87
+ mode: (process.env[`${prefix}MODE`] ?? process.env.NODE_ENV ?? process.env.ENVIRONMENT) || void 0,
88
+ // ci:
89
+ // process.env[`${prefix}CI`] !== undefined
90
+ // ? Boolean(
91
+ // process.env[`${prefix}CI`] ??
92
+ // process.env.CI ??
93
+ // process.env.CONTINUOUS_INTEGRATION
94
+ // )
95
+ // : undefined,
96
+ repository: process.env[`${prefix}REPOSITORY`] || void 0,
97
+ branch: process.env[`${prefix}BRANCH`] || void 0,
98
+ preid: process.env[`${prefix}PRE_ID`] || void 0,
99
+ registry: {
100
+ github: process.env[`${prefix}REGISTRY_GITHUB`] || void 0,
101
+ npm: process.env[`${prefix}REGISTRY_NPM`] || void 0,
102
+ cargo: process.env[`${prefix}REGISTRY_CARGO`] || void 0,
103
+ cyclone: process.env[`${prefix}REGISTRY_CYCLONE`] || void 0,
104
+ container: process.env[`${prefix}REGISTRY_CONTAINER`] || void 0
105
+ },
106
+ logLevel: process.env[`${prefix}LOG_LEVEL`] !== null && process.env[`${prefix}LOG_LEVEL`] !== void 0 ? process.env[`${prefix}LOG_LEVEL`] && Number.isSafeInteger(
107
+ Number.parseInt(process.env[`${prefix}LOG_LEVEL`])
108
+ ) ? getLogLevelLabel(
109
+ Number.parseInt(process.env[`${prefix}LOG_LEVEL`])
110
+ ) : process.env[`${prefix}LOG_LEVEL`] : void 0,
111
+ skipConfigLogging: process.env[`${prefix}SKIP_CONFIG_LOGGING`] !== void 0 ? Boolean(process.env[`${prefix}SKIP_CONFIG_LOGGING`]) : void 0
112
+ };
113
+ const themeNames = Object.keys(process.env).filter(
114
+ (envKey) => envKey.startsWith(`${prefix}COLOR_`) && COLOR_KEYS.every(
115
+ (colorKey) => !envKey.startsWith(`${prefix}COLOR_LIGHT_${colorKey}`) && !envKey.startsWith(`${prefix}COLOR_DARK_${colorKey}`)
116
+ )
117
+ );
118
+ config.colors = themeNames.length > 0 ? themeNames.reduce(
119
+ (ret, themeName) => {
120
+ ret[themeName] = getThemeColorsEnv(prefix, themeName);
121
+ return ret;
122
+ },
123
+ {}
124
+ ) : getThemeColorsEnv(prefix);
125
+ if (config.docs === STORM_DEFAULT_DOCS) {
126
+ if (config.homepage === STORM_DEFAULT_HOMEPAGE) {
127
+ config.docs = `${STORM_DEFAULT_HOMEPAGE}/projects/${config.name}/docs`;
128
+ } else {
129
+ config.docs = `${config.homepage}/docs`;
130
+ }
131
+ }
132
+ if (config.licensing === STORM_DEFAULT_LICENSING) {
133
+ if (config.homepage === STORM_DEFAULT_HOMEPAGE) {
134
+ config.licensing = `${STORM_DEFAULT_HOMEPAGE}/projects/${config.name}/licensing`;
135
+ } else {
136
+ config.licensing = `${config.homepage}/docs`;
137
+ }
138
+ }
139
+ const serializedConfig = process.env[`${prefix}WORKSPACE_CONFIG`];
140
+ if (serializedConfig) {
141
+ const parsed = JSON.parse(serializedConfig);
142
+ config = {
143
+ ...config,
144
+ ...parsed,
145
+ colors: { ...config.colors, ...parsed.colors },
146
+ extensions: { ...config.extensions, ...parsed.extensions }
147
+ };
148
+ }
149
+ return config;
150
+ };
151
+ var getThemeColorsEnv = (prefix, theme) => {
152
+ const themeName = `COLOR_${theme && theme !== "base" ? `${theme}_` : ""}`.toUpperCase();
153
+ return process.env[`${prefix}${themeName}LIGHT_BRAND`] || process.env[`${prefix}${themeName}DARK_BRAND`] ? getMultiThemeColorsEnv(prefix + themeName) : getSingleThemeColorsEnv(prefix + themeName);
154
+ };
155
+ var getSingleThemeColorsEnv = (prefix) => {
156
+ const gradient = [];
157
+ if (process.env[`${prefix}GRADIENT_START`] && process.env[`${prefix}GRADIENT_END`]) {
158
+ gradient.push(
159
+ process.env[`${prefix}GRADIENT_START`],
160
+ process.env[`${prefix}GRADIENT_END`]
161
+ );
162
+ } else if (process.env[`${prefix}GRADIENT_0`] || process.env[`${prefix}GRADIENT_1`]) {
163
+ let index = process.env[`${prefix}GRADIENT_0`] ? 0 : 1;
164
+ while (process.env[`${prefix}GRADIENT_${index}`]) {
165
+ gradient.push(process.env[`${prefix}GRADIENT_${index}`]);
166
+ index++;
167
+ }
168
+ }
169
+ return {
170
+ dark: process.env[`${prefix}DARK`],
171
+ light: process.env[`${prefix}LIGHT`],
172
+ brand: process.env[`${prefix}BRAND`],
173
+ alternate: process.env[`${prefix}ALTERNATE`],
174
+ accent: process.env[`${prefix}ACCENT`],
175
+ link: process.env[`${prefix}LINK`],
176
+ help: process.env[`${prefix}HELP`],
177
+ success: process.env[`${prefix}SUCCESS`],
178
+ info: process.env[`${prefix}INFO`],
179
+ debug: process.env[`${prefix}DEBUG`],
180
+ warning: process.env[`${prefix}WARNING`],
181
+ danger: process.env[`${prefix}DANGER`],
182
+ fatal: process.env[`${prefix}FATAL`],
183
+ performance: process.env[`${prefix}PERFORMANCE`],
184
+ positive: process.env[`${prefix}POSITIVE`],
185
+ negative: process.env[`${prefix}NEGATIVE`],
186
+ gradient
187
+ };
188
+ };
189
+ var getMultiThemeColorsEnv = (prefix) => {
190
+ return {
191
+ light: getBaseThemeColorsEnv(`${prefix}_LIGHT_`),
192
+ dark: getBaseThemeColorsEnv(`${prefix}_DARK_`)
193
+ };
194
+ };
195
+ var getBaseThemeColorsEnv = (prefix) => {
196
+ const gradient = [];
197
+ if (process.env[`${prefix}GRADIENT_START`] && process.env[`${prefix}GRADIENT_END`]) {
198
+ gradient.push(
199
+ process.env[`${prefix}GRADIENT_START`],
200
+ process.env[`${prefix}GRADIENT_END`]
201
+ );
202
+ } else if (process.env[`${prefix}GRADIENT_0`] || process.env[`${prefix}GRADIENT_1`]) {
203
+ let index = process.env[`${prefix}GRADIENT_0`] ? 0 : 1;
204
+ while (process.env[`${prefix}GRADIENT_${index}`]) {
205
+ gradient.push(process.env[`${prefix}GRADIENT_${index}`]);
206
+ index++;
207
+ }
208
+ }
209
+ return {
210
+ foreground: process.env[`${prefix}FOREGROUND`],
211
+ background: process.env[`${prefix}BACKGROUND`],
212
+ brand: process.env[`${prefix}BRAND`],
213
+ alternate: process.env[`${prefix}ALTERNATE`],
214
+ accent: process.env[`${prefix}ACCENT`],
215
+ link: process.env[`${prefix}LINK`],
216
+ help: process.env[`${prefix}HELP`],
217
+ success: process.env[`${prefix}SUCCESS`],
218
+ info: process.env[`${prefix}INFO`],
219
+ debug: process.env[`${prefix}DEBUG`],
220
+ warning: process.env[`${prefix}WARNING`],
221
+ danger: process.env[`${prefix}DANGER`],
222
+ fatal: process.env[`${prefix}FATAL`],
223
+ performance: process.env[`${prefix}PERFORMANCE`],
224
+ positive: process.env[`${prefix}POSITIVE`],
225
+ negative: process.env[`${prefix}NEGATIVE`],
226
+ gradient
227
+ };
228
+ };
229
+
230
+ export {
231
+ getExtensionEnv,
232
+ getConfigEnv
233
+ };
@@ -0,0 +1,55 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+ var _chunkMKPGN5UTcjs = require('./chunk-MKPGN5UT.cjs');
7
+
8
+ // src/utilities/process-handler.ts
9
+ var exitWithError = (config) => {
10
+ _chunkMKPGN5UTcjs.writeFatal.call(void 0, "Exiting script with an error status...", config);
11
+ process.exit(1);
12
+ };
13
+ var exitWithSuccess = (config) => {
14
+ _chunkMKPGN5UTcjs.writeSuccess.call(void 0, "Script completed successfully. Exiting...", config);
15
+ process.exit(0);
16
+ };
17
+ var handleProcess = (config) => {
18
+ _chunkMKPGN5UTcjs.writeTrace.call(void 0,
19
+ `Using the following arguments to process the script: ${process.argv.join(", ")}`,
20
+ config
21
+ );
22
+ process.on("unhandledRejection", (error) => {
23
+ _chunkMKPGN5UTcjs.writeError.call(void 0,
24
+ `An Unhandled Rejection occurred while running the program: ${error}`,
25
+ config
26
+ );
27
+ exitWithError(config);
28
+ });
29
+ process.on("uncaughtException", (error) => {
30
+ _chunkMKPGN5UTcjs.writeError.call(void 0,
31
+ `An Uncaught Exception occurred while running the program: ${error.message}
32
+ Stacktrace: ${error.stack}`,
33
+ config
34
+ );
35
+ exitWithError(config);
36
+ });
37
+ process.on("SIGTERM", (signal) => {
38
+ _chunkMKPGN5UTcjs.writeError.call(void 0, `The program terminated with signal code: ${signal}`, config);
39
+ exitWithError(config);
40
+ });
41
+ process.on("SIGINT", (signal) => {
42
+ _chunkMKPGN5UTcjs.writeError.call(void 0, `The program terminated with signal code: ${signal}`, config);
43
+ exitWithError(config);
44
+ });
45
+ process.on("SIGHUP", (signal) => {
46
+ _chunkMKPGN5UTcjs.writeError.call(void 0, `The program terminated with signal code: ${signal}`, config);
47
+ exitWithError(config);
48
+ });
49
+ };
50
+
51
+
52
+
53
+
54
+
55
+ exports.exitWithError = exitWithError; exports.exitWithSuccess = exitWithSuccess; exports.handleProcess = handleProcess;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storm-software/config-tools",
3
- "version": "1.190.58",
3
+ "version": "1.190.59",
4
4
  "private": false,
5
5
  "description": "A package containing various utilities to support custom workspace configurations and environment management for Storm Software projects, including configuration file handling, environment variable management, and logging utilities.",
6
6
  "keywords": [
@@ -212,7 +212,7 @@
212
212
  "files": ["dist/**/*"],
213
213
  "dependencies": {
214
214
  "@ltd/j-toml": "1.38.0",
215
- "@storm-software/config": "^1.137.90",
215
+ "@storm-software/config": "^1.137.91",
216
216
  "c12": "^2.0.4",
217
217
  "chalk": "^4.1.2",
218
218
  "commander": "^12.1.0",
@@ -230,5 +230,5 @@
230
230
  "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" },
231
231
  "peerDependenciesMeta": { "zod": { "optional": false } },
232
232
  "publishConfig": { "access": "public" },
233
- "gitHead": "7b6c82a242db8d401664d0f12df2337d9048e36d"
233
+ "gitHead": "ba6813f12e8952c4a767bde0f1524b2177408e3f"
234
234
  }