@digital-alchemy/core 24.9.3 → 24.9.4
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.
- package/README.md +14 -27
- package/dist/helpers/config-file-loader.helper.d.ts +5 -3
- package/dist/helpers/config-file-loader.helper.js +20 -20
- package/dist/helpers/config-file-loader.helper.js.map +1 -1
- package/dist/helpers/config.helper.d.ts +1 -1
- package/dist/helpers/config.helper.js +7 -4
- package/dist/helpers/config.helper.js.map +1 -1
- package/dist/helpers/extend.helper.d.ts +2 -0
- package/dist/helpers/extend.helper.js +9 -9
- package/dist/helpers/extend.helper.js.map +1 -1
- package/dist/helpers/utilities.helper.d.ts +2 -14
- package/dist/helpers/utilities.helper.js +1 -22
- package/dist/helpers/utilities.helper.js.map +1 -1
- package/dist/services/configuration.extension.js +2 -2
- package/dist/services/logger.extension.js +37 -36
- package/dist/services/logger.extension.js.map +1 -1
- package/package.json +10 -11
package/README.md
CHANGED
|
@@ -3,49 +3,36 @@
|
|
|
3
3
|
|
|
4
4
|
[](https://codecov.io/github/Digital-Alchemy-TS/core)
|
|
5
5
|
[](https://www.npmjs.com/package/@digital-alchemy/core)
|
|
6
|
+
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# 🚀 Project Overview - Digital Alchemy TypeScript Libraries
|
|
9
10
|
|
|
10
|
-
Welcome to `@digital-alchemy/core
|
|
11
|
-
This repository contains the boilerplate code for building applications and wiring logic.
|
|
12
|
-
|
|
13
|
-
- [Extended docs](https://docs.digital-alchemy.app/docs/core/)
|
|
14
|
-
- [Discord](https://discord.gg/JkZ35Gv97Y)
|
|
15
|
-
|
|
16
|
-
## 🌐 Core Library Overview
|
|
11
|
+
Welcome to `@digital-alchemy/core`
|
|
17
12
|
|
|
18
|
-
|
|
13
|
+
The core library is a minimal dependency framework for building Typescript based applications and libraries.
|
|
14
|
+
It aims to provide some basic workflows and tools that can be used to create a variety of different types of projects.
|
|
19
15
|
|
|
20
|
-
|
|
16
|
+
> 📚 [Extended docs](https://docs.digital-alchemy.app/docs/core/)
|
|
21
17
|
|
|
22
|
-
|
|
18
|
+
## 🌐 Tools Overview
|
|
23
19
|
|
|
24
|
-
|
|
20
|
+
### ⚙️ [Configuration](https://docs.digital-alchemy.app/docs/core/configuration)
|
|
25
21
|
|
|
26
|
-
|
|
22
|
+
Define and load structured configuration data from files, merge data from environment variables, and more.
|
|
27
23
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
### 📝 Logger
|
|
24
|
+
### 📝 [Logger](https://docs.digital-alchemy.app/docs/core/logger/api)
|
|
31
25
|
|
|
32
26
|
Advanced logging interface for detailed and customizable output, compatible with external libraries for specialized logging needs.
|
|
33
27
|
|
|
34
|
-
### ⏲️ Scheduler
|
|
28
|
+
### ⏲️ [Scheduler](https://docs.digital-alchemy.app/docs/core/scheduler)
|
|
35
29
|
|
|
36
30
|
Lifecycle-aware task scheduling, featuring flexible timing functions and robust error handling.
|
|
37
31
|
|
|
38
|
-
### 🔄
|
|
39
|
-
|
|
40
|
-
Comprehensive support for managing the application's lifecycle, from initialization to shutdown.
|
|
32
|
+
### 🔄 [Lifecycle Hooks](https://docs.digital-alchemy.app/docs/core/lifecycle)
|
|
41
33
|
|
|
42
|
-
|
|
34
|
+
Run commands at a variety of predetermined times during your application's boot or shutdown sequence.
|
|
43
35
|
|
|
44
|
-
|
|
45
|
-
Each is designed to extend the capabilities the core library, offering specialized functionalities for a wide range of use cases.
|
|
36
|
+
### ⁉️ [Testing Utilities](https://docs.digital-alchemy.app/docs/testing/)
|
|
46
37
|
|
|
47
|
-
|
|
48
|
-
| ------------------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------- |
|
|
49
|
-
| `hass` | Home Assistant integration for smart home automation. | [GitHub](https://github.com/Digital-Alchemy-TS/hass) | [npm](https://www.npmjs.com/package/@digital-alchemy/hass) |
|
|
50
|
-
| `synapse` | Tools for generating entities within home assistant | [GitHub](https://github.com/Digital-Alchemy-TS/synapse) | [npm](https://www.npmjs.com/package/@digital-alchemy/synapse) |
|
|
51
|
-
| `automation` | Advanced automation tools for creating dynamic workflows. | [GitHub](https://github.com/Digital-Alchemy-TS/automation) | [npm](https://www.npmjs.com/package/@digital-alchemy/automation) |
|
|
38
|
+
Convert your application into a testing module - append extra libraries and reconfigure modules to get the coverage you're looking for.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { ServiceMap } from "..";
|
|
1
|
+
import { PartialConfiguration, ServiceMap } from "..";
|
|
2
2
|
import { ConfigLoaderParams, ConfigLoaderReturn, ModuleConfiguration } from "./config.helper";
|
|
3
3
|
export declare const SUPPORTED_CONFIG_EXTENSIONS: string[];
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
4
|
+
export declare function withExtensions(path: string): string[];
|
|
5
|
+
export declare function configFilePaths(name: string): string[];
|
|
6
|
+
export declare function configLoaderFile<S extends ServiceMap = ServiceMap, C extends ModuleConfiguration = ModuleConfiguration>({ application, logger }: ConfigLoaderParams<S, C>): ConfigLoaderReturn;
|
|
7
|
+
export declare function loadConfigFromFile(out: PartialConfiguration, filePath: string): void;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import ini from "ini";
|
|
3
|
+
import yaml from "js-yaml";
|
|
4
4
|
import minimist from "minimist";
|
|
5
5
|
import { homedir } from "os";
|
|
6
6
|
import { join } from "path";
|
|
7
|
-
import { cwd,
|
|
7
|
+
import { cwd, platform } from "process";
|
|
8
8
|
import { deepExtend, INVERT_VALUE, is, START } from "..";
|
|
9
9
|
const isWindows = platform === "win32";
|
|
10
10
|
export const SUPPORTED_CONFIG_EXTENSIONS = ["json", "ini", "yaml", "yml"];
|
|
11
|
-
function withExtensions(path) {
|
|
11
|
+
export function withExtensions(path) {
|
|
12
12
|
return [path, join(path, "config")].flatMap(path => [
|
|
13
13
|
path,
|
|
14
14
|
...SUPPORTED_CONFIG_EXTENSIONS.map(i => `${path}.${i}`),
|
|
15
15
|
]);
|
|
16
16
|
}
|
|
17
|
-
export function configFilePaths(name
|
|
17
|
+
export function configFilePaths(name) {
|
|
18
18
|
const out = [];
|
|
19
19
|
if (!isWindows) {
|
|
20
20
|
out.push(...withExtensions(join(`/etc`, `${name}`)));
|
|
@@ -30,43 +30,43 @@ export function configFilePaths(name = "digital-alchemy") {
|
|
|
30
30
|
current = next;
|
|
31
31
|
}
|
|
32
32
|
out.push(...withExtensions(join(homedir(), ".config", name)));
|
|
33
|
-
return out.filter(filePath => existsSync(filePath) && statSync(filePath).isFile());
|
|
33
|
+
return out.filter(filePath => fs.existsSync(filePath) && fs.statSync(filePath).isFile());
|
|
34
34
|
}
|
|
35
|
-
export async function
|
|
35
|
+
export async function configLoaderFile({ application, logger }) {
|
|
36
36
|
const CLI_SWITCHES = minimist(process.argv);
|
|
37
37
|
const configFile = CLI_SWITCHES.config;
|
|
38
38
|
let files;
|
|
39
39
|
if (is.empty(configFile)) {
|
|
40
40
|
files = configFilePaths(application.name);
|
|
41
|
-
logger.trace({ files, name:
|
|
41
|
+
logger.trace({ files, name: configLoaderFile }, `identified config files`);
|
|
42
42
|
}
|
|
43
43
|
else {
|
|
44
|
-
if (!existsSync(configFile)) {
|
|
45
|
-
logger.fatal({ configFile, name:
|
|
46
|
-
exit();
|
|
44
|
+
if (!fs.existsSync(configFile)) {
|
|
45
|
+
logger.fatal({ configFile, name: configLoaderFile }, `used {--config} to specify path that does not exist`);
|
|
46
|
+
process.exit();
|
|
47
47
|
}
|
|
48
48
|
files = [configFile];
|
|
49
|
-
logger.debug({ configFile, name:
|
|
49
|
+
logger.debug({ configFile, name: configLoaderFile }, `used {--config}, loading from target file`);
|
|
50
50
|
}
|
|
51
51
|
if (is.empty(files)) {
|
|
52
52
|
return {};
|
|
53
53
|
}
|
|
54
54
|
const out = {};
|
|
55
|
-
logger.trace({ files, name:
|
|
55
|
+
logger.trace({ files, name: configLoaderFile }, `loading configuration files`);
|
|
56
56
|
files.forEach(file => loadConfigFromFile(out, file));
|
|
57
57
|
return out;
|
|
58
58
|
}
|
|
59
|
-
function loadConfigFromFile(out, filePath) {
|
|
60
|
-
const fileContent = readFileSync(filePath, "utf8").trim();
|
|
59
|
+
export function loadConfigFromFile(out, filePath) {
|
|
60
|
+
const fileContent = fs.readFileSync(filePath, "utf8").trim();
|
|
61
61
|
const hasExtension = SUPPORTED_CONFIG_EXTENSIONS.some(extension => {
|
|
62
62
|
if (filePath.slice(extension.length * INVERT_VALUE).toLowerCase() === extension) {
|
|
63
63
|
switch (extension) {
|
|
64
64
|
case "ini":
|
|
65
|
-
deepExtend(out, decode(fileContent));
|
|
65
|
+
deepExtend(out, ini.decode(fileContent));
|
|
66
66
|
return true;
|
|
67
67
|
case "yaml":
|
|
68
68
|
case "yml":
|
|
69
|
-
deepExtend(out, load(fileContent));
|
|
69
|
+
deepExtend(out, yaml.load(fileContent));
|
|
70
70
|
return true;
|
|
71
71
|
case "json":
|
|
72
72
|
deepExtend(out, JSON.parse(fileContent));
|
|
@@ -85,7 +85,7 @@ function loadConfigFromFile(out, filePath) {
|
|
|
85
85
|
}
|
|
86
86
|
// Guessing yaml
|
|
87
87
|
try {
|
|
88
|
-
const content = load(fileContent);
|
|
88
|
+
const content = yaml.load(fileContent);
|
|
89
89
|
if (is.object(content)) {
|
|
90
90
|
deepExtend(out, content);
|
|
91
91
|
return;
|
|
@@ -95,6 +95,6 @@ function loadConfigFromFile(out, filePath) {
|
|
|
95
95
|
// Is not a yaml file
|
|
96
96
|
}
|
|
97
97
|
// Final fallback: INI
|
|
98
|
-
deepExtend(out, decode(fileContent));
|
|
98
|
+
deepExtend(out, ini.decode(fileContent));
|
|
99
99
|
}
|
|
100
100
|
//# sourceMappingURL=config-file-loader.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-file-loader.helper.js","sourceRoot":"","sources":["../../src/helpers/config-file-loader.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config-file-loader.helper.js","sourceRoot":"","sources":["../../src/helpers/config-file-loader.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,7 +98,7 @@ export type ConfigLoaderParams<S extends ServiceMap = ServiceMap, C extends Opti
|
|
|
98
98
|
logger: ILogger;
|
|
99
99
|
};
|
|
100
100
|
export type ConfigLoader = <S extends ServiceMap, C extends OptionalModuleConfiguration>(params: ConfigLoaderParams<S, C>) => ConfigLoaderReturn;
|
|
101
|
-
export declare function cast<T = unknown>(data: string | string[], type: string): T;
|
|
101
|
+
export declare function cast<T = unknown>(data: boolean | number[] | string | string[], type: string): T;
|
|
102
102
|
export type ModuleConfiguration = {
|
|
103
103
|
[key: string]: AnyConfig;
|
|
104
104
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import dotenv from "dotenv";
|
|
2
2
|
import fs from "fs";
|
|
3
|
-
import
|
|
3
|
+
import path from "path";
|
|
4
4
|
import { cwd } from "process";
|
|
5
5
|
import { INITIALIZE, INJECTED_DEFINITIONS, is, LOAD_PROJECT, } from "..";
|
|
6
6
|
export function cast(data, type) {
|
|
@@ -48,7 +48,8 @@ export function iSearchKey(target, source) {
|
|
|
48
48
|
* - cwd/.env (default file)
|
|
49
49
|
*/
|
|
50
50
|
export function loadDotenv(internal, CLI_SWITCHES, logger) {
|
|
51
|
-
|
|
51
|
+
internal.boot.options ??= {};
|
|
52
|
+
let { envFile } = internal.boot.options;
|
|
52
53
|
const switchKeys = Object.keys(CLI_SWITCHES);
|
|
53
54
|
const searched = iSearchKey("env-file", switchKeys);
|
|
54
55
|
// --env-file > bootstrap
|
|
@@ -58,7 +59,9 @@ export function loadDotenv(internal, CLI_SWITCHES, logger) {
|
|
|
58
59
|
let file;
|
|
59
60
|
// * was provided an --env-file or something via boot
|
|
60
61
|
if (!is.empty(envFile)) {
|
|
61
|
-
const checkFile = isAbsolute(envFile)
|
|
62
|
+
const checkFile = path.isAbsolute(envFile)
|
|
63
|
+
? path.normalize(envFile)
|
|
64
|
+
: path.join(cwd(), envFile);
|
|
62
65
|
if (fs.existsSync(checkFile)) {
|
|
63
66
|
file = checkFile;
|
|
64
67
|
}
|
|
@@ -68,7 +71,7 @@ export function loadDotenv(internal, CLI_SWITCHES, logger) {
|
|
|
68
71
|
}
|
|
69
72
|
// * attempt default file
|
|
70
73
|
if (is.empty(file)) {
|
|
71
|
-
const defaultFile = join(cwd(), ".env");
|
|
74
|
+
const defaultFile = path.join(cwd(), ".env");
|
|
72
75
|
if (fs.existsSync(defaultFile)) {
|
|
73
76
|
file = defaultFile;
|
|
74
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.helper.js","sourceRoot":"","sources":["../../src/helpers/config.helper.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,
|
|
1
|
+
{"version":3,"file":"config.helper.js","sourceRoot":"","sources":["../../src/helpers/config.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
+
export declare function cloneSpecificValue(value: unknown): RegExp | Date;
|
|
1
2
|
export declare function deepCloneArray<TYPE = unknown>(array: Array<TYPE>): Array<TYPE>;
|
|
3
|
+
export declare function safeGetProperty(object: unknown, key: string): unknown;
|
|
2
4
|
export declare function deepExtend<A, B>(target: A, object: B): A & B;
|
|
@@ -2,7 +2,7 @@ import { is } from "../services/is.extension";
|
|
|
2
2
|
function isSpecificValue(value) {
|
|
3
3
|
return value instanceof Date || value instanceof RegExp;
|
|
4
4
|
}
|
|
5
|
-
function cloneSpecificValue(value) {
|
|
5
|
+
export function cloneSpecificValue(value) {
|
|
6
6
|
if (value instanceof Date) {
|
|
7
7
|
return new Date(value.getTime());
|
|
8
8
|
}
|
|
@@ -14,23 +14,23 @@ function cloneSpecificValue(value) {
|
|
|
14
14
|
export function deepCloneArray(array) {
|
|
15
15
|
// eslint-disable-next-line sonarjs/function-return-type
|
|
16
16
|
return array.map(item => {
|
|
17
|
+
if (is.array(item)) {
|
|
18
|
+
return deepCloneArray(item);
|
|
19
|
+
}
|
|
20
|
+
if (isSpecificValue(item)) {
|
|
21
|
+
return cloneSpecificValue(item);
|
|
22
|
+
}
|
|
17
23
|
if (is.object(item)) {
|
|
18
|
-
if (is.array(item)) {
|
|
19
|
-
return deepCloneArray(item);
|
|
20
|
-
}
|
|
21
|
-
if (isSpecificValue(item)) {
|
|
22
|
-
return cloneSpecificValue(item);
|
|
23
|
-
}
|
|
24
24
|
return deepExtend({}, item);
|
|
25
25
|
}
|
|
26
26
|
return item;
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
|
-
function safeGetProperty(object, key) {
|
|
29
|
+
export function safeGetProperty(object, key) {
|
|
30
30
|
return key === "__proto__" ? undefined : object[key];
|
|
31
31
|
}
|
|
32
32
|
export function deepExtend(target, object) {
|
|
33
|
-
if (
|
|
33
|
+
if (!is.object(object)) {
|
|
34
34
|
return target;
|
|
35
35
|
}
|
|
36
36
|
Object.keys(object).forEach(key => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extend.helper.js","sourceRoot":"","sources":["../../src/helpers/extend.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,YAAY,IAAI,IAAI,KAAK,YAAY,MAAM,CAAC;AAC1D,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"extend.helper.js","sourceRoot":"","sources":["../../src/helpers/extend.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,11 +32,9 @@ export declare const PERCENT = 100;
|
|
|
32
32
|
export declare const YEAR: number;
|
|
33
33
|
export declare const ACTIVE_SLEEPS: Set<SleepReturn>;
|
|
34
34
|
type SleepReturn = Promise<void> & {
|
|
35
|
-
kill: (execute
|
|
35
|
+
kill: (execute?: "stop" | "continue") => void;
|
|
36
36
|
};
|
|
37
37
|
/**
|
|
38
|
-
* Defaults to 1000 (1 second).
|
|
39
|
-
*
|
|
40
38
|
* #MARK: Simple usage
|
|
41
39
|
*
|
|
42
40
|
* ```typescript
|
|
@@ -54,25 +52,15 @@ type SleepReturn = Promise<void> & {
|
|
|
54
52
|
* console.log(end - start); // 1000, because we stopped it early and executed
|
|
55
53
|
* ```
|
|
56
54
|
*/
|
|
57
|
-
export declare function sleep(target
|
|
55
|
+
export declare function sleep(target: number | Date): SleepReturn;
|
|
58
56
|
export declare const ACTIVE_THROTTLE: Set<string>;
|
|
59
57
|
export declare const ACTIVE_DEBOUNCE: Map<string, SleepReturn>;
|
|
60
|
-
/**
|
|
61
|
-
* allow initial call, then block for a period
|
|
62
|
-
*/
|
|
63
|
-
export declare function throttle(identifier: string, timeout: number): Promise<void>;
|
|
64
58
|
/**
|
|
65
59
|
* wait for duration after call before allowing next, extends for calls inside window
|
|
66
60
|
*/
|
|
67
61
|
export declare function debounce(identifier: string, timeout: number): Promise<void>;
|
|
68
62
|
export declare const asyncNoop: () => Promise<void>;
|
|
69
63
|
export declare const noop: () => void;
|
|
70
|
-
/**
|
|
71
|
-
* #MARK: (re)peat
|
|
72
|
-
*
|
|
73
|
-
* Create an array of length, where the values are filled with a provided fill value, or (index + 1) as default value
|
|
74
|
-
*/
|
|
75
|
-
export declare function PEAT<T = number>(length: number, fill?: T): T[];
|
|
76
64
|
export type TBlackHole = unknown | void | Promise<void>;
|
|
77
65
|
export type TAnyFunction = (...data: unknown[]) => TBlackHole;
|
|
78
66
|
export {};
|
|
@@ -43,8 +43,6 @@ export const PERCENT = 100;
|
|
|
43
43
|
export const YEAR = 365 * DAY;
|
|
44
44
|
export const ACTIVE_SLEEPS = new Set();
|
|
45
45
|
/**
|
|
46
|
-
* Defaults to 1000 (1 second).
|
|
47
|
-
*
|
|
48
46
|
* #MARK: Simple usage
|
|
49
47
|
*
|
|
50
48
|
* ```typescript
|
|
@@ -62,7 +60,7 @@ export const ACTIVE_SLEEPS = new Set();
|
|
|
62
60
|
* console.log(end - start); // 1000, because we stopped it early and executed
|
|
63
61
|
* ```
|
|
64
62
|
*/
|
|
65
|
-
export function sleep(target
|
|
63
|
+
export function sleep(target) {
|
|
66
64
|
// done function from promise
|
|
67
65
|
let done;
|
|
68
66
|
const timeout = setTimeout(() => {
|
|
@@ -87,17 +85,6 @@ export function sleep(target = SECOND) {
|
|
|
87
85
|
}
|
|
88
86
|
export const ACTIVE_THROTTLE = new Set();
|
|
89
87
|
export const ACTIVE_DEBOUNCE = new Map();
|
|
90
|
-
/**
|
|
91
|
-
* allow initial call, then block for a period
|
|
92
|
-
*/
|
|
93
|
-
export async function throttle(identifier, timeout) {
|
|
94
|
-
if (ACTIVE_THROTTLE.has(identifier)) {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
ACTIVE_THROTTLE.add(identifier);
|
|
98
|
-
await sleep(timeout);
|
|
99
|
-
ACTIVE_THROTTLE.delete(identifier);
|
|
100
|
-
}
|
|
101
88
|
/**
|
|
102
89
|
* wait for duration after call before allowing next, extends for calls inside window
|
|
103
90
|
*/
|
|
@@ -113,12 +100,4 @@ export async function debounce(identifier, timeout) {
|
|
|
113
100
|
}
|
|
114
101
|
export const asyncNoop = async () => await sleep(NONE);
|
|
115
102
|
export const noop = () => { };
|
|
116
|
-
/**
|
|
117
|
-
* #MARK: (re)peat
|
|
118
|
-
*
|
|
119
|
-
* Create an array of length, where the values are filled with a provided fill value, or (index + 1) as default value
|
|
120
|
-
*/
|
|
121
|
-
export function PEAT(length, fill) {
|
|
122
|
-
return Array.from({ length }).map((_, index) => fill ?? (index + ARRAY_OFFSET));
|
|
123
|
-
}
|
|
124
103
|
//# sourceMappingURL=utilities.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.helper.js","sourceRoot":"","sources":["../../src/helpers/utilities.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,wDAAwD;AACxD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AACtB,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AACtB,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC;AACxB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;AAChC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC;AAC/B,OAAO;AACP,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACpB,gBAAgB;AAChB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AACvB,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,6BAA6B;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC;AAC3B,mBAAmB;AACnB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAC;AACxB,UAAU;AACV,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AACtB,gBAAgB;AAChB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AACvB,6BAA6B;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AACvB,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AACtB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AACvB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC;AAE3B,qBAAqB;AACrB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC;AAC5B,UAAU;AACV,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;AACvB,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC;AAC7B,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAC9B,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,CAAC;AAC9B,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;AAC5B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;AAE9B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAe,CAAC;AAKpD
|
|
1
|
+
{"version":3,"file":"utilities.helper.js","sourceRoot":"","sources":["../../src/helpers/utilities.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,wDAAwD;AACxD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AACtB,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AACtB,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC;AACxB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC;AAChC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC;AAC/B,OAAO;AACP,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACpB,gBAAgB;AAChB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AACvB,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,6BAA6B;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC;AAC3B,mBAAmB;AACnB,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAC;AACxB,UAAU;AACV,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AACtB,gBAAgB;AAChB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AACvB,6BAA6B;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AACvB,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;AACtB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC;AACvB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC;AAE3B,qBAAqB;AACrB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC;AAC5B,UAAU;AACV,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;AACvB,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC;AAC7B,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;AAC9B,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,CAAC;AAC9B,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;AAC5B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;AAE9B,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAe,CAAC;AAKpD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,KAAK,CAAC,MAAqB;IACzC,6BAA6B;IAC7B,IAAI,IAA8B,CAAC;IAEnC,MAAM,OAAO,GAAG,UAAU,CACxB,GAAG,EAAE;QACH,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;QACT,CAAC;QACD,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC,EACD,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CACzD,CAAC;IAEF,6CAA6C;IAC7C,gDAAgD;IAChD,MAAM,GAAG,GAAG,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAgB,CAAC;IAC9D,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,EAAE;QAC9B,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,OAAO,KAAK,UAAU,IAAI,IAAI,EAAE,CAAC;YACnC,IAAI,EAAE,CAAC;QACT,CAAC;QACD,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,GAAG,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAAkB,EAAE,OAAe;IAChE,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,KAAK,CAAC;IACZ,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BootstrapException, ConfigLoaderEnvironment,
|
|
1
|
+
import { BootstrapException, ConfigLoaderEnvironment, configLoaderFile, deepExtend, eachSeries, } from "..";
|
|
2
2
|
import { is } from ".";
|
|
3
3
|
export const INITIALIZE = Symbol.for("initialize");
|
|
4
4
|
export const LOAD_PROJECT = Symbol.for("load-project");
|
|
@@ -53,7 +53,7 @@ logger, }) {
|
|
|
53
53
|
// #MARK: Initialize
|
|
54
54
|
async function initialize(application) {
|
|
55
55
|
const configLoaders = internal.boot.application.configurationLoaders ??
|
|
56
|
-
[ConfigLoaderEnvironment,
|
|
56
|
+
[ConfigLoaderEnvironment, configLoaderFile];
|
|
57
57
|
const start = performance.now();
|
|
58
58
|
// * were configs disabled?
|
|
59
59
|
if (is.empty(configLoaders)) {
|
|
@@ -24,7 +24,8 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
24
24
|
let lastMessage = performance.now();
|
|
25
25
|
let logCounter = START;
|
|
26
26
|
let httpLogTarget;
|
|
27
|
-
|
|
27
|
+
internal.boot.options ??= {};
|
|
28
|
+
const { loggerOptions = {} } = internal.boot.options;
|
|
28
29
|
const timestampFormat = loggerOptions.timestampFormat ?? "ddd HH:mm:ss.SSS";
|
|
29
30
|
loggerOptions.mergeData ??= {};
|
|
30
31
|
const YELLOW_DASH = chalk.yellowBright(frontDash);
|
|
@@ -36,7 +37,7 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
36
37
|
}
|
|
37
38
|
// validated with datadog, probably is fine elsewhere too
|
|
38
39
|
// https://http-intake.logs.datadoghq.com/v1/input/{API_KEY}
|
|
39
|
-
fetch(httpLogTarget, {
|
|
40
|
+
global.fetch(httpLogTarget, {
|
|
40
41
|
body: JSON.stringify(data),
|
|
41
42
|
headers: { "Content-Type": "application/json" },
|
|
42
43
|
method: "POST",
|
|
@@ -45,7 +46,7 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
45
46
|
function mergeData(data) {
|
|
46
47
|
let out = { ...data, ...loggerOptions.mergeData };
|
|
47
48
|
if (loggerOptions.counter) {
|
|
48
|
-
const counter =
|
|
49
|
+
const counter = out;
|
|
49
50
|
counter.logIdx = logCounter++;
|
|
50
51
|
}
|
|
51
52
|
if (loggerOptions.als) {
|
|
@@ -60,15 +61,14 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
60
61
|
if (!prettyFormat || message.length > MAX_CUTOFF) {
|
|
61
62
|
return message;
|
|
62
63
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
.replaceAll(new RegExp(String.raw `(\{[^\]}]+\})`, "g"), i => chalk.bold.gray(i.slice(SYMBOL_START, SYMBOL_END)));
|
|
64
|
+
// ? partA#partB - highlight it all in yellow
|
|
65
|
+
message = message.replaceAll(new RegExp("([^ ]+#[^ ]+)", "g"), i => chalk.yellow(i));
|
|
66
|
+
// ? [A] > [B] > [C] - highlight the >'s in blue
|
|
67
|
+
message = message.replaceAll("] > [", `] ${BLUE_TICK} [`);
|
|
68
|
+
// ? [Text] - strip brackets, highlight magenta
|
|
69
|
+
message = message.replaceAll(new RegExp(String.raw `(\[[^\]\[]+\])`, "g"), i => chalk.bold.magenta(i.slice(SYMBOL_START, SYMBOL_END)));
|
|
70
|
+
// ? {Text} - strip braces, highlight gray
|
|
71
|
+
message = message.replaceAll(new RegExp(String.raw `(\{[^\]}]+\})`, "g"), i => chalk.bold.gray(i.slice(SYMBOL_START, SYMBOL_END)));
|
|
72
72
|
// ? " - Text" (line prefix with dash) - highlight dash
|
|
73
73
|
if (message.slice(START, frontDash.length) === frontDash) {
|
|
74
74
|
message = `${YELLOW_DASH}${message.slice(frontDash.length)}`;
|
|
@@ -76,7 +76,7 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
76
76
|
return message;
|
|
77
77
|
};
|
|
78
78
|
if (is.empty(internal.boot.options?.customLogger)) {
|
|
79
|
-
// #
|
|
79
|
+
// #MARK: formatter
|
|
80
80
|
[...METHOD_COLORS.keys()].forEach(key => {
|
|
81
81
|
const level = `[${key.toUpperCase()}]`.padStart(LEVEL_MAX, " ");
|
|
82
82
|
logger[key] = (context, ...parameters) => {
|
|
@@ -99,16 +99,16 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
99
99
|
rawData.msg = format(text, ...parameters);
|
|
100
100
|
prettyMessage = format(prettyFormatMessage(text), ...parameters);
|
|
101
101
|
}
|
|
102
|
-
let
|
|
103
|
-
if (!is.empty(name)) {
|
|
104
|
-
message += chalk.blue(` (${name})`);
|
|
105
|
-
}
|
|
102
|
+
let ms = "";
|
|
106
103
|
if (loggerOptions.ms) {
|
|
107
104
|
const now = performance.now();
|
|
108
|
-
|
|
105
|
+
ms = "+" + (now - lastMessage).toFixed(DECIMALS) + `ms`;
|
|
109
106
|
lastMessage = now;
|
|
110
|
-
rawData.ms =
|
|
111
|
-
|
|
107
|
+
rawData.ms = ms;
|
|
108
|
+
}
|
|
109
|
+
let message = `${ms}${timestamp} ${level}${highlighted}`;
|
|
110
|
+
if (!is.empty(name)) {
|
|
111
|
+
message += chalk.blue(` (${name})`);
|
|
112
112
|
}
|
|
113
113
|
emitHttpLogs(rawData);
|
|
114
114
|
if (!is.empty(prettyMessage)) {
|
|
@@ -135,12 +135,11 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
135
135
|
global.console.log(message);
|
|
136
136
|
};
|
|
137
137
|
});
|
|
138
|
-
// #endregion
|
|
139
138
|
}
|
|
140
139
|
else {
|
|
141
140
|
logger = internal.boot.options.customLogger;
|
|
142
141
|
}
|
|
143
|
-
// #
|
|
142
|
+
// #MARK: instances
|
|
144
143
|
// if bootstrap hard coded something specific, then start there
|
|
145
144
|
// otherwise, be noisy until config loads a user preference
|
|
146
145
|
//
|
|
@@ -150,20 +149,22 @@ export async function Logger({ lifecycle, config, event, internal, als, }) {
|
|
|
150
149
|
function context(context) {
|
|
151
150
|
const name = context;
|
|
152
151
|
const shouldILog = {};
|
|
153
|
-
const [prefix] = context.split("
|
|
154
|
-
const update = () =>
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
152
|
+
const [prefix] = context.split(":");
|
|
153
|
+
const update = () => {
|
|
154
|
+
LOG_LEVELS.forEach((key) => {
|
|
155
|
+
// global level
|
|
156
|
+
let target = LOG_LEVEL_PRIORITY[CURRENT_LOG_LEVEL];
|
|
157
|
+
// override directly
|
|
158
|
+
if (loggerOptions?.levelOverrides?.[name]) {
|
|
159
|
+
target = LOG_LEVEL_PRIORITY[loggerOptions?.levelOverrides?.[name]];
|
|
160
|
+
// module level override
|
|
161
|
+
}
|
|
162
|
+
else if (loggerOptions?.levelOverrides?.[prefix]) {
|
|
163
|
+
target = LOG_LEVEL_PRIORITY[loggerOptions?.levelOverrides?.[prefix]];
|
|
164
|
+
}
|
|
165
|
+
shouldILog[key] = LOG_LEVEL_PRIORITY[key] >= target;
|
|
166
|
+
});
|
|
167
|
+
};
|
|
167
168
|
event.on(EVENT_UPDATE_LOG_LEVELS, update);
|
|
168
169
|
update();
|
|
169
170
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.extension.js","sourceRoot":"","sources":["../../src/services/logger.extension.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,EAEL,uBAAuB,EACvB,KAAK,EAEL,EAAE,EAEF,aAAa,EAEb,KAAK,GAKN,MAAM,IAAI,CAAC;AAEZ,MAAM,kBAAkB,GAAG;IACzB,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;IACR,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,EAAE;CACT,CAAC;AACF,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAsB,CAAC;AAExE,IAAI,MAAM,GAAG,EAGZ,CAAC;AAEF,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,SAAS,GAAG,KAAK,CAAC;AACxB,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC;AACtB,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EAC3B,SAAS,EACT,MAAM,EACN,KAAK,EACL,QAAQ,EACR,GAAG,GACY;IACf,IAAI,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,aAAqB,CAAC;IAE1B,MAAM,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"logger.extension.js","sourceRoot":"","sources":["../../src/services/logger.extension.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "git+https://github.com/Digital-Alchemy-TS/core"
|
|
7
7
|
},
|
|
8
|
-
"version": "24.9.
|
|
8
|
+
"version": "24.9.4",
|
|
9
9
|
"author": {
|
|
10
10
|
"url": "https://github.com/zoe-codez",
|
|
11
11
|
"name": "Zoe Codez"
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"engines": {
|
|
47
47
|
"node": ">=20"
|
|
48
48
|
},
|
|
49
|
-
"
|
|
49
|
+
"dependencies": {
|
|
50
50
|
"chalk": "^5",
|
|
51
51
|
"dayjs": "^1",
|
|
52
52
|
"dotenv": "^16",
|
|
@@ -54,35 +54,34 @@
|
|
|
54
54
|
"js-yaml": "^4",
|
|
55
55
|
"minimist": "^1",
|
|
56
56
|
"node-cron": "^3",
|
|
57
|
-
"uuid": "
|
|
57
|
+
"uuid": "^9 || ^10"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@cspell/eslint-plugin": "^8.14.4",
|
|
61
61
|
"@eslint/compat": "^1.1.1",
|
|
62
62
|
"@eslint/eslintrc": "^3.1.0",
|
|
63
|
-
"@eslint/js": "^9.
|
|
64
|
-
"@faker-js/faker": "^9.0.
|
|
63
|
+
"@eslint/js": "^9.11.1",
|
|
64
|
+
"@faker-js/faker": "^9.0.3",
|
|
65
65
|
"@jest/globals": "^29.7.0",
|
|
66
66
|
"@types/dotenv": "^8.2.0",
|
|
67
67
|
"@types/ini": "^4.1.1",
|
|
68
68
|
"@types/jest": "^29.5.13",
|
|
69
69
|
"@types/js-yaml": "^4.0.9",
|
|
70
70
|
"@types/minimist": "^1.2.5",
|
|
71
|
-
"@types/node": "^22.
|
|
71
|
+
"@types/node": "^22.7.3",
|
|
72
72
|
"@types/node-cron": "^3.0.11",
|
|
73
|
-
"@types/semver": "^7.5.8",
|
|
74
73
|
"@types/sinonjs__fake-timers": "^8.1.5",
|
|
75
74
|
"@types/uuid": "^10.0.0",
|
|
76
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
77
|
-
"@typescript-eslint/parser": "8.
|
|
75
|
+
"@typescript-eslint/eslint-plugin": "8.7.0",
|
|
76
|
+
"@typescript-eslint/parser": "8.7.0",
|
|
78
77
|
"chalk": "^5.3.0",
|
|
79
78
|
"dayjs": "^1.11.13",
|
|
80
79
|
"dotenv": "^16.4.5",
|
|
81
|
-
"eslint": "9.
|
|
80
|
+
"eslint": "9.11.1",
|
|
82
81
|
"eslint-config-prettier": "9.1.0",
|
|
83
82
|
"eslint-plugin-import": "^2.30.0",
|
|
84
83
|
"eslint-plugin-jsonc": "^2.16.0",
|
|
85
|
-
"eslint-plugin-no-unsanitized": "^4.1.
|
|
84
|
+
"eslint-plugin-no-unsanitized": "^4.1.1",
|
|
86
85
|
"eslint-plugin-prettier": "^5.2.1",
|
|
87
86
|
"eslint-plugin-security": "^3.0.1",
|
|
88
87
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|