@storm-software/config-tools 1.170.0 → 1.171.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.
@@ -1,334 +0,0 @@
1
- import {
2
- getLogLevel
3
- } from "./chunk-4XRV4CVP.js";
4
- import {
5
- correctPaths
6
- } from "./chunk-FRR2ZRWD.js";
7
- import {
8
- LogLevel
9
- } from "./chunk-3QAWRU2B.js";
10
-
11
- // src/env/set-env.ts
12
- var setExtensionEnv = (extensionName, extension) => {
13
- for (const key of Object.keys(extension ?? {})) {
14
- if (extension[key]) {
15
- const result = key?.replace(
16
- /([A-Z])+/g,
17
- (input) => input ? input[0]?.toUpperCase() + input.slice(1) : ""
18
- ).split(/(?=[A-Z])|[.\-\s_]/).map((x) => x.toLowerCase()) ?? [];
19
- let extensionKey;
20
- if (result.length === 0) {
21
- return;
22
- }
23
- if (result.length === 1) {
24
- extensionKey = result[0]?.toUpperCase() ?? "";
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`] = correctPaths(config.configFile);
118
- }
119
- if (config.workspaceRoot) {
120
- process.env[`${prefix}WORKSPACE_ROOT`] = correctPaths(config.workspaceRoot);
121
- process.env.NX_WORKSPACE_ROOT = correctPaths(config.workspaceRoot);
122
- process.env.NX_WORKSPACE_ROOT_PATH = correctPaths(config.workspaceRoot);
123
- }
124
- if (config.directories) {
125
- if (!config.skipCache && config.directories.cache) {
126
- process.env[`${prefix}CACHE_DIR`] = correctPaths(
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`] = correctPaths(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`] = correctPaths(
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`] = correctPaths(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`] = correctPaths(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`] = correctPaths(
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 (config.colors?.base?.light || config.colors?.base?.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
- getLogLevel(config.logLevel) >= LogLevel.DEBUG ? true : false
218
- );
219
- process.env.RUST_BACKTRACE = getLogLevel(config.logLevel) >= 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(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 config?.light?.brand || config?.dark?.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
- export {
332
- setExtensionEnv,
333
- setConfigEnv
334
- };
@@ -1,92 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 _chunkMNLUPWABcjs = require('./chunk-MNLUPWAB.cjs');
4
-
5
-
6
- var _chunkAEZINHEAcjs = require('./chunk-AEZINHEA.cjs');
7
-
8
-
9
- var _chunk4JREL2GQcjs = require('./chunk-4JREL2GQ.cjs');
10
-
11
- // src/config-file/get-config-file.ts
12
- var _c12 = require('c12');
13
- var _defu = require('defu'); var _defu2 = _interopRequireDefault(_defu);
14
- var getConfigFileByName = async (fileName, filePath, options = {}) => {
15
- const workspacePath = filePath || _chunkAEZINHEAcjs.findWorkspaceRoot.call(void 0, filePath);
16
- const configs = await Promise.all([
17
- _c12.loadConfig.call(void 0, {
18
- cwd: workspacePath,
19
- packageJson: true,
20
- name: fileName,
21
- envName: _optionalChain([fileName, 'optionalAccess', _ => _.toUpperCase, 'call', _2 => _2()]),
22
- jitiOptions: {
23
- debug: false,
24
- fsCache: process.env.STORM_SKIP_CACHE === "true" ? false : _chunk4JREL2GQcjs.joinPaths.call(void 0,
25
- process.env.STORM_CACHE_DIR || "node_modules/.cache/storm",
26
- "jiti"
27
- )
28
- },
29
- ...options
30
- }),
31
- _c12.loadConfig.call(void 0, {
32
- cwd: workspacePath,
33
- packageJson: true,
34
- name: fileName,
35
- envName: _optionalChain([fileName, 'optionalAccess', _3 => _3.toUpperCase, 'call', _4 => _4()]),
36
- jitiOptions: {
37
- debug: false,
38
- fsCache: process.env.STORM_SKIP_CACHE === "true" ? false : _chunk4JREL2GQcjs.joinPaths.call(void 0,
39
- process.env.STORM_CACHE_DIR || "node_modules/.cache/storm",
40
- "jiti"
41
- )
42
- },
43
- configFile: fileName,
44
- ...options
45
- })
46
- ]);
47
- return _defu2.default.call(void 0, _nullishCoalesce(configs[0], () => ( {})), _nullishCoalesce(configs[1], () => ( {})));
48
- };
49
- var getConfigFile = async (filePath, additionalFileNames = []) => {
50
- const workspacePath = filePath ? filePath : _chunkAEZINHEAcjs.findWorkspaceRoot.call(void 0, filePath);
51
- const result = await getConfigFileByName("storm-workspace", workspacePath);
52
- let config = result.config;
53
- const configFile = result.configFile;
54
- if (config && configFile && Object.keys(config).length > 0 && !config.skipConfigLogging) {
55
- _chunkMNLUPWABcjs.writeTrace.call(void 0,
56
- `Found Storm configuration file "${configFile.includes(`${workspacePath}/`) ? configFile.replace(`${workspacePath}/`, "") : configFile}" at "${workspacePath}"`,
57
- {
58
- logLevel: "all"
59
- }
60
- );
61
- }
62
- if (additionalFileNames && additionalFileNames.length > 0) {
63
- const results = await Promise.all(
64
- additionalFileNames.map(
65
- (fileName) => getConfigFileByName(fileName, workspacePath)
66
- )
67
- );
68
- for (const result2 of results) {
69
- if (_optionalChain([result2, 'optionalAccess', _5 => _5.config]) && _optionalChain([result2, 'optionalAccess', _6 => _6.configFile]) && Object.keys(result2.config).length > 0) {
70
- if (!config.skipConfigLogging && !result2.config.skipConfigLogging) {
71
- _chunkMNLUPWABcjs.writeTrace.call(void 0,
72
- `Found alternative configuration file "${result2.configFile.includes(`${workspacePath}/`) ? result2.configFile.replace(`${workspacePath}/`, "") : result2.configFile}" at "${workspacePath}"`,
73
- {
74
- logLevel: "all"
75
- }
76
- );
77
- }
78
- config = _defu2.default.call(void 0, _nullishCoalesce(result2.config, () => ( {})), _nullishCoalesce(config, () => ( {})));
79
- }
80
- }
81
- }
82
- if (!config || Object.keys(config).length === 0) {
83
- return void 0;
84
- }
85
- config.configFile = configFile;
86
- return config;
87
- };
88
-
89
-
90
-
91
-
92
- exports.getConfigFileByName = getConfigFileByName; exports.getConfigFile = getConfigFile;
@@ -1,92 +0,0 @@
1
- import {
2
- writeTrace
3
- } from "./chunk-YPBNOKK2.js";
4
- import {
5
- findWorkspaceRoot
6
- } from "./chunk-VLWSWYG7.js";
7
- import {
8
- joinPaths
9
- } from "./chunk-FRR2ZRWD.js";
10
-
11
- // src/config-file/get-config-file.ts
12
- import { loadConfig } from "c12";
13
- import defu from "defu";
14
- var getConfigFileByName = async (fileName, filePath, options = {}) => {
15
- const workspacePath = filePath || findWorkspaceRoot(filePath);
16
- const configs = await Promise.all([
17
- loadConfig({
18
- cwd: workspacePath,
19
- packageJson: true,
20
- name: fileName,
21
- envName: fileName?.toUpperCase(),
22
- jitiOptions: {
23
- debug: false,
24
- fsCache: process.env.STORM_SKIP_CACHE === "true" ? false : joinPaths(
25
- process.env.STORM_CACHE_DIR || "node_modules/.cache/storm",
26
- "jiti"
27
- )
28
- },
29
- ...options
30
- }),
31
- loadConfig({
32
- cwd: workspacePath,
33
- packageJson: true,
34
- name: fileName,
35
- envName: fileName?.toUpperCase(),
36
- jitiOptions: {
37
- debug: false,
38
- fsCache: process.env.STORM_SKIP_CACHE === "true" ? false : joinPaths(
39
- process.env.STORM_CACHE_DIR || "node_modules/.cache/storm",
40
- "jiti"
41
- )
42
- },
43
- configFile: fileName,
44
- ...options
45
- })
46
- ]);
47
- return defu(configs[0] ?? {}, configs[1] ?? {});
48
- };
49
- var getConfigFile = async (filePath, additionalFileNames = []) => {
50
- const workspacePath = filePath ? filePath : findWorkspaceRoot(filePath);
51
- const result = await getConfigFileByName("storm-workspace", workspacePath);
52
- let config = result.config;
53
- const configFile = result.configFile;
54
- if (config && configFile && Object.keys(config).length > 0 && !config.skipConfigLogging) {
55
- writeTrace(
56
- `Found Storm configuration file "${configFile.includes(`${workspacePath}/`) ? configFile.replace(`${workspacePath}/`, "") : configFile}" at "${workspacePath}"`,
57
- {
58
- logLevel: "all"
59
- }
60
- );
61
- }
62
- if (additionalFileNames && additionalFileNames.length > 0) {
63
- const results = await Promise.all(
64
- additionalFileNames.map(
65
- (fileName) => getConfigFileByName(fileName, workspacePath)
66
- )
67
- );
68
- for (const result2 of results) {
69
- if (result2?.config && result2?.configFile && Object.keys(result2.config).length > 0) {
70
- if (!config.skipConfigLogging && !result2.config.skipConfigLogging) {
71
- writeTrace(
72
- `Found alternative configuration file "${result2.configFile.includes(`${workspacePath}/`) ? result2.configFile.replace(`${workspacePath}/`, "") : result2.configFile}" at "${workspacePath}"`,
73
- {
74
- logLevel: "all"
75
- }
76
- );
77
- }
78
- config = defu(result2.config ?? {}, config ?? {});
79
- }
80
- }
81
- }
82
- if (!config || Object.keys(config).length === 0) {
83
- return void 0;
84
- }
85
- config.configFile = configFile;
86
- return config;
87
- };
88
-
89
- export {
90
- getConfigFileByName,
91
- getConfigFile
92
- };
@@ -1,158 +0,0 @@
1
- import {
2
- getChalk
3
- } from "./chunk-T3MUE32G.js";
4
- import {
5
- CONSOLE_ICONS
6
- } from "./chunk-OJP4XIBV.js";
7
- import {
8
- formatTimestamp
9
- } from "./chunk-XEZGYUS2.js";
10
- import {
11
- DEFAULT_COLOR_CONFIG
12
- } from "./chunk-4KZ3BMNG.js";
13
- import {
14
- getLogLevel
15
- } from "./chunk-4XRV4CVP.js";
16
- import {
17
- LogLevel,
18
- LogLevelLabel
19
- } from "./chunk-3QAWRU2B.js";
20
-
21
- // src/logger/console.ts
22
- var getLogFn = (logLevel = LogLevel.INFO, config = {}, _chalk = getChalk()) => {
23
- const colors = !config.colors?.dark && !config.colors?.["base"] && !config.colors?.["base"]?.dark ? DEFAULT_COLOR_CONFIG : config.colors?.dark && typeof config.colors.dark === "string" ? config.colors : config.colors?.["base"]?.dark && typeof config.colors["base"].dark === "string" ? config.colors["base"].dark : config.colors?.["base"] ? config.colors?.["base"] : DEFAULT_COLOR_CONFIG;
24
- const configLogLevel = config.logLevel || process.env.STORM_LOG_LEVEL || LogLevelLabel.INFO;
25
- if (logLevel > getLogLevel(configLogLevel) || logLevel <= LogLevel.SILENT || getLogLevel(configLogLevel) <= LogLevel.SILENT) {
26
- return (_) => {
27
- };
28
- }
29
- if (typeof logLevel === "number" && LogLevel.FATAL >= logLevel) {
30
- return (message) => {
31
- console.error(
32
- `
33
- ${_chalk.gray(formatTimestamp())} ${_chalk.hex(colors.fatal ?? "#7d1a1a")(`[${CONSOLE_ICONS[LogLevelLabel.FATAL]} Fatal] `)}${_chalk.bold.whiteBright(formatLogMessage(message))}
34
- `
35
- );
36
- };
37
- }
38
- if (typeof logLevel === "number" && LogLevel.ERROR >= logLevel) {
39
- return (message) => {
40
- console.error(
41
- `
42
- ${_chalk.gray(formatTimestamp())} ${_chalk.hex(colors.danger ?? "#f85149")(`[${CONSOLE_ICONS[LogLevelLabel.ERROR]} Error] `)}${_chalk.bold.whiteBright(formatLogMessage(message))}
43
- `
44
- );
45
- };
46
- }
47
- if (typeof logLevel === "number" && LogLevel.WARN >= logLevel) {
48
- return (message) => {
49
- console.warn(
50
- `
51
- ${_chalk.gray(formatTimestamp())} ${_chalk.hex(colors.warning ?? "#e3b341")(`[${CONSOLE_ICONS[LogLevelLabel.WARN]} Warn] `)}${_chalk.bold.whiteBright(formatLogMessage(message))}
52
- `
53
- );
54
- };
55
- }
56
- if (typeof logLevel === "number" && LogLevel.SUCCESS >= logLevel) {
57
- return (message) => {
58
- console.info(
59
- `
60
- ${_chalk.gray(formatTimestamp())} ${_chalk.hex(colors.success ?? "#56d364")(`[${CONSOLE_ICONS[LogLevelLabel.SUCCESS]} Success] `)}${_chalk.bold.whiteBright(formatLogMessage(message))}
61
- `
62
- );
63
- };
64
- }
65
- if (typeof logLevel === "number" && LogLevel.INFO >= logLevel) {
66
- return (message) => {
67
- console.info(
68
- `
69
- ${_chalk.gray(formatTimestamp())} ${_chalk.hex(colors.info ?? "#58a6ff")(`[${CONSOLE_ICONS[LogLevelLabel.INFO]} Info] `)}${_chalk.bold.whiteBright(formatLogMessage(message))}
70
- `
71
- );
72
- };
73
- }
74
- if (typeof logLevel === "number" && LogLevel.DEBUG >= logLevel) {
75
- return (message) => {
76
- console.debug(
77
- `
78
- ${_chalk.gray(formatTimestamp())} ${_chalk.hex(colors.brand ?? "#1fb2a6")(`[${CONSOLE_ICONS[LogLevelLabel.DEBUG]} Debug] `)}${_chalk.bold.whiteBright(formatLogMessage(message))}
79
- `
80
- );
81
- };
82
- }
83
- if (typeof logLevel === "number" && LogLevel.TRACE >= logLevel) {
84
- return (message) => {
85
- console.debug(
86
- `
87
- ${_chalk.gray(formatTimestamp())} ${_chalk.hex(colors.brand ?? "#1fb2a6")(`[${CONSOLE_ICONS[LogLevelLabel.TRACE]} Trace] `)}${_chalk.bold.whiteBright(formatLogMessage(message))}
88
- `
89
- );
90
- };
91
- }
92
- return (message) => {
93
- console.log(
94
- `
95
- ${_chalk.gray(formatTimestamp())} ${_chalk.hex(colors.brand ?? "#1fb2a6")(`[${CONSOLE_ICONS[LogLevelLabel.ALL]} System] `)}${_chalk.bold.whiteBright(formatLogMessage(message))}
96
- `
97
- );
98
- };
99
- };
100
- var writeFatal = (message, config) => getLogFn(LogLevel.FATAL, config)(message);
101
- var writeError = (message, config) => getLogFn(LogLevel.ERROR, config)(message);
102
- var writeWarning = (message, config) => getLogFn(LogLevel.WARN, config)(message);
103
- var writeInfo = (message, config) => getLogFn(LogLevel.INFO, config)(message);
104
- var writeSuccess = (message, config) => getLogFn(LogLevel.SUCCESS, config)(message);
105
- var writeDebug = (message, config) => getLogFn(LogLevel.DEBUG, config)(message);
106
- var writeTrace = (message, config) => getLogFn(LogLevel.TRACE, config)(message);
107
- var writeSystem = (message, config) => getLogFn(LogLevel.ALL, config)(message);
108
- var getStopwatch = (name) => {
109
- const start = process.hrtime();
110
- return () => {
111
- const end = process.hrtime(start);
112
- console.info(
113
- `
114
- > \u23F1\uFE0F The${name ? ` ${name}` : ""} process took ${Math.round(
115
- end[0] * 1e3 + end[1] / 1e6
116
- )}ms to complete
117
- `
118
- );
119
- };
120
- };
121
- var MAX_DEPTH = 4;
122
- var formatLogMessage = (message, options = {}, depth = 0) => {
123
- if (depth > MAX_DEPTH) {
124
- return "<max depth>";
125
- }
126
- const prefix = options.prefix ?? "-";
127
- const skip = options.skip ?? [];
128
- return typeof message === "undefined" || message === null || !message && typeof message !== "boolean" ? "<none>" : typeof message === "string" ? message : Array.isArray(message) ? `
129
- ${message.map((item, index) => ` ${prefix}> #${index} = ${formatLogMessage(item, { prefix: `${prefix}-`, skip }, depth + 1)}`).join("\n")}` : typeof message === "object" ? `
130
- ${Object.keys(message).filter((key) => !skip.includes(key)).map(
131
- (key) => ` ${prefix}> ${key} = ${_isFunction(message[key]) ? "<function>" : typeof message[key] === "object" ? formatLogMessage(
132
- message[key],
133
- { prefix: `${prefix}-`, skip },
134
- depth + 1
135
- ) : message[key]}`
136
- ).join("\n")}` : message;
137
- };
138
- var _isFunction = (value) => {
139
- try {
140
- return value instanceof Function || typeof value === "function" || !!(value?.constructor && value?.call && value?.apply);
141
- } catch (e) {
142
- return false;
143
- }
144
- };
145
-
146
- export {
147
- getLogFn,
148
- writeFatal,
149
- writeError,
150
- writeWarning,
151
- writeInfo,
152
- writeSuccess,
153
- writeDebug,
154
- writeTrace,
155
- writeSystem,
156
- getStopwatch,
157
- formatLogMessage
158
- };