conduithub 0.0.1
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/dist/index.cjs +10 -0
- package/dist/index.d.cts +1 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.mjs +1 -0
- package/dist/utils/index.cjs +58 -0
- package/dist/utils/index.d.cts +15 -0
- package/dist/utils/index.d.mts +15 -0
- package/dist/utils/index.d.ts +15 -0
- package/dist/utils/index.mjs +53 -0
- package/package.json +73 -0
package/dist/index.cjs
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
const utils_index = require('./utils/index.cjs');
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
exports.createLogger = utils_index.createLogger;
|
8
|
+
exports.levels = utils_index.levels;
|
9
|
+
exports.logger = utils_index.logger;
|
10
|
+
exports.shouldPublishLog = utils_index.shouldPublishLog;
|
package/dist/index.d.cts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export { LogHandlerParams, LogLevel, Logger, createLogger, levels, logger, shouldPublishLog } from './utils/index.cjs';
|
package/dist/index.d.mts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export { LogHandlerParams, LogLevel, Logger, createLogger, levels, logger, shouldPublishLog } from './utils/index.mjs';
|
package/dist/index.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export { LogHandlerParams, LogLevel, Logger, createLogger, levels, logger, shouldPublishLog } from './utils/index.js';
|
package/dist/index.mjs
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export { createLogger, levels, logger, shouldPublishLog } from './utils/index.mjs';
|
@@ -0,0 +1,58 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
const levels = ["info", "success", "warn", "error", "debug"];
|
4
|
+
function shouldPublishLog(currentLogLevel, logLevel) {
|
5
|
+
return levels.indexOf(logLevel) <= levels.indexOf(currentLogLevel);
|
6
|
+
}
|
7
|
+
const colors = {
|
8
|
+
reset: "\x1B[0m",
|
9
|
+
bright: "\x1B[1m",
|
10
|
+
dim: "\x1B[2m",
|
11
|
+
fg: {
|
12
|
+
red: "\x1B[31m",
|
13
|
+
green: "\x1B[32m",
|
14
|
+
yellow: "\x1B[33m",
|
15
|
+
blue: "\x1B[34m",
|
16
|
+
magenta: "\x1B[35m"}};
|
17
|
+
const levelColors = {
|
18
|
+
info: colors.fg.blue,
|
19
|
+
success: colors.fg.green,
|
20
|
+
warn: colors.fg.yellow,
|
21
|
+
error: colors.fg.red,
|
22
|
+
debug: colors.fg.magenta
|
23
|
+
};
|
24
|
+
const formatMessage = (level, message, name) => {
|
25
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
26
|
+
return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[${name ?? "ConduiHub"}]:${colors.reset} ${message}`;
|
27
|
+
};
|
28
|
+
const createLogger = (options) => {
|
29
|
+
const enabled = options?.disabled !== true;
|
30
|
+
const logLevel = options?.level ?? "error";
|
31
|
+
const name = options?.name ?? "ConduiHub";
|
32
|
+
const LogFunc = (level, message, args = []) => {
|
33
|
+
if (!enabled || !shouldPublishLog(logLevel, level)) {
|
34
|
+
return;
|
35
|
+
}
|
36
|
+
const formattedMessage = formatMessage(level, message, name);
|
37
|
+
if (!options || typeof options.log !== "function") {
|
38
|
+
if (level === "error") {
|
39
|
+
console.error(formattedMessage, ...args);
|
40
|
+
} else if (level === "warn") {
|
41
|
+
console.warn(formattedMessage, ...args);
|
42
|
+
} else {
|
43
|
+
console.log(formattedMessage, ...args);
|
44
|
+
}
|
45
|
+
return;
|
46
|
+
}
|
47
|
+
options.log(level === "success" ? "info" : level, message, ...args);
|
48
|
+
};
|
49
|
+
return Object.fromEntries(
|
50
|
+
levels.map((level) => [level, (...[message, ...args]) => LogFunc(level, message, args)])
|
51
|
+
);
|
52
|
+
};
|
53
|
+
const logger = createLogger();
|
54
|
+
|
55
|
+
exports.createLogger = createLogger;
|
56
|
+
exports.levels = levels;
|
57
|
+
exports.logger = logger;
|
58
|
+
exports.shouldPublishLog = shouldPublishLog;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
type LogLevel = "info" | "success" | "warn" | "error" | "debug";
|
2
|
+
declare const levels: readonly ["info", "success", "warn", "error", "debug"];
|
3
|
+
declare function shouldPublishLog(currentLogLevel: LogLevel, logLevel: LogLevel): boolean;
|
4
|
+
interface Logger {
|
5
|
+
disabled?: boolean;
|
6
|
+
level?: Exclude<LogLevel, "success">;
|
7
|
+
name?: string;
|
8
|
+
log?: (level: Exclude<LogLevel, "success">, message: string, ...args: unknown[]) => void;
|
9
|
+
}
|
10
|
+
type LogHandlerParams = Parameters<NonNullable<Logger["log"]>> extends [LogLevel, ...infer Rest] ? Rest : never;
|
11
|
+
declare const createLogger: (options?: Logger) => Record<LogLevel, (...params: LogHandlerParams) => void>;
|
12
|
+
declare const logger: Record<LogLevel, (message: string, ...args: unknown[]) => void>;
|
13
|
+
|
14
|
+
export { createLogger, levels, logger, shouldPublishLog };
|
15
|
+
export type { LogHandlerParams, LogLevel, Logger };
|
@@ -0,0 +1,15 @@
|
|
1
|
+
type LogLevel = "info" | "success" | "warn" | "error" | "debug";
|
2
|
+
declare const levels: readonly ["info", "success", "warn", "error", "debug"];
|
3
|
+
declare function shouldPublishLog(currentLogLevel: LogLevel, logLevel: LogLevel): boolean;
|
4
|
+
interface Logger {
|
5
|
+
disabled?: boolean;
|
6
|
+
level?: Exclude<LogLevel, "success">;
|
7
|
+
name?: string;
|
8
|
+
log?: (level: Exclude<LogLevel, "success">, message: string, ...args: unknown[]) => void;
|
9
|
+
}
|
10
|
+
type LogHandlerParams = Parameters<NonNullable<Logger["log"]>> extends [LogLevel, ...infer Rest] ? Rest : never;
|
11
|
+
declare const createLogger: (options?: Logger) => Record<LogLevel, (...params: LogHandlerParams) => void>;
|
12
|
+
declare const logger: Record<LogLevel, (message: string, ...args: unknown[]) => void>;
|
13
|
+
|
14
|
+
export { createLogger, levels, logger, shouldPublishLog };
|
15
|
+
export type { LogHandlerParams, LogLevel, Logger };
|
@@ -0,0 +1,15 @@
|
|
1
|
+
type LogLevel = "info" | "success" | "warn" | "error" | "debug";
|
2
|
+
declare const levels: readonly ["info", "success", "warn", "error", "debug"];
|
3
|
+
declare function shouldPublishLog(currentLogLevel: LogLevel, logLevel: LogLevel): boolean;
|
4
|
+
interface Logger {
|
5
|
+
disabled?: boolean;
|
6
|
+
level?: Exclude<LogLevel, "success">;
|
7
|
+
name?: string;
|
8
|
+
log?: (level: Exclude<LogLevel, "success">, message: string, ...args: unknown[]) => void;
|
9
|
+
}
|
10
|
+
type LogHandlerParams = Parameters<NonNullable<Logger["log"]>> extends [LogLevel, ...infer Rest] ? Rest : never;
|
11
|
+
declare const createLogger: (options?: Logger) => Record<LogLevel, (...params: LogHandlerParams) => void>;
|
12
|
+
declare const logger: Record<LogLevel, (message: string, ...args: unknown[]) => void>;
|
13
|
+
|
14
|
+
export { createLogger, levels, logger, shouldPublishLog };
|
15
|
+
export type { LogHandlerParams, LogLevel, Logger };
|
@@ -0,0 +1,53 @@
|
|
1
|
+
const levels = ["info", "success", "warn", "error", "debug"];
|
2
|
+
function shouldPublishLog(currentLogLevel, logLevel) {
|
3
|
+
return levels.indexOf(logLevel) <= levels.indexOf(currentLogLevel);
|
4
|
+
}
|
5
|
+
const colors = {
|
6
|
+
reset: "\x1B[0m",
|
7
|
+
bright: "\x1B[1m",
|
8
|
+
dim: "\x1B[2m",
|
9
|
+
fg: {
|
10
|
+
red: "\x1B[31m",
|
11
|
+
green: "\x1B[32m",
|
12
|
+
yellow: "\x1B[33m",
|
13
|
+
blue: "\x1B[34m",
|
14
|
+
magenta: "\x1B[35m"}};
|
15
|
+
const levelColors = {
|
16
|
+
info: colors.fg.blue,
|
17
|
+
success: colors.fg.green,
|
18
|
+
warn: colors.fg.yellow,
|
19
|
+
error: colors.fg.red,
|
20
|
+
debug: colors.fg.magenta
|
21
|
+
};
|
22
|
+
const formatMessage = (level, message, name) => {
|
23
|
+
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
24
|
+
return `${colors.dim}${timestamp}${colors.reset} ${levelColors[level]}${level.toUpperCase()}${colors.reset} ${colors.bright}[${name ?? "ConduiHub"}]:${colors.reset} ${message}`;
|
25
|
+
};
|
26
|
+
const createLogger = (options) => {
|
27
|
+
const enabled = options?.disabled !== true;
|
28
|
+
const logLevel = options?.level ?? "error";
|
29
|
+
const name = options?.name ?? "ConduiHub";
|
30
|
+
const LogFunc = (level, message, args = []) => {
|
31
|
+
if (!enabled || !shouldPublishLog(logLevel, level)) {
|
32
|
+
return;
|
33
|
+
}
|
34
|
+
const formattedMessage = formatMessage(level, message, name);
|
35
|
+
if (!options || typeof options.log !== "function") {
|
36
|
+
if (level === "error") {
|
37
|
+
console.error(formattedMessage, ...args);
|
38
|
+
} else if (level === "warn") {
|
39
|
+
console.warn(formattedMessage, ...args);
|
40
|
+
} else {
|
41
|
+
console.log(formattedMessage, ...args);
|
42
|
+
}
|
43
|
+
return;
|
44
|
+
}
|
45
|
+
options.log(level === "success" ? "info" : level, message, ...args);
|
46
|
+
};
|
47
|
+
return Object.fromEntries(
|
48
|
+
levels.map((level) => [level, (...[message, ...args]) => LogFunc(level, message, args)])
|
49
|
+
);
|
50
|
+
};
|
51
|
+
const logger = createLogger();
|
52
|
+
|
53
|
+
export { createLogger, levels, logger, shouldPublishLog };
|
package/package.json
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
{
|
2
|
+
"name": "conduithub",
|
3
|
+
"version": "0.0.1",
|
4
|
+
"description": "",
|
5
|
+
"type": "module",
|
6
|
+
"license": "MIT",
|
7
|
+
"author": "Samson Tesfaye(aka @haxurn)",
|
8
|
+
"repository": {
|
9
|
+
"type": "git",
|
10
|
+
"url": "https://github.com/haxurn/axova",
|
11
|
+
"directory": "packages/conduithub"
|
12
|
+
},
|
13
|
+
"keywords": [
|
14
|
+
"kafka",
|
15
|
+
"elasticsearch",
|
16
|
+
"redis",
|
17
|
+
"typescript",
|
18
|
+
"all-in-one"
|
19
|
+
],
|
20
|
+
"publishConfig": {
|
21
|
+
"access": "public"
|
22
|
+
},
|
23
|
+
"main": "./dist/index.cjs",
|
24
|
+
"module": "./dist/index.mjs",
|
25
|
+
"exports": {
|
26
|
+
".": {
|
27
|
+
"import": {
|
28
|
+
"types": "./dist/index.d.ts",
|
29
|
+
"default": "./dist/index.mjs"
|
30
|
+
},
|
31
|
+
"require": {
|
32
|
+
"types": "./dist/index.d.cts",
|
33
|
+
"default": "./dist/index.cjs"
|
34
|
+
}
|
35
|
+
},
|
36
|
+
"./utils": {
|
37
|
+
"import": {
|
38
|
+
"types": "./dist/utils/index.d.ts",
|
39
|
+
"default": "./dist/utils/index.mjs"
|
40
|
+
},
|
41
|
+
"require": {
|
42
|
+
"types": "./dist/utils/index.d.cts",
|
43
|
+
"default": "./dist/utils/index.cjs"
|
44
|
+
}
|
45
|
+
}
|
46
|
+
},
|
47
|
+
"typeVersion": {
|
48
|
+
"*": {
|
49
|
+
"*": [
|
50
|
+
"./dist/index.d.ts"
|
51
|
+
],
|
52
|
+
"utils": [
|
53
|
+
"./dist/utils/index.d.ts"
|
54
|
+
]
|
55
|
+
}
|
56
|
+
},
|
57
|
+
"files": [
|
58
|
+
"dist"
|
59
|
+
],
|
60
|
+
"devDependencies": {
|
61
|
+
"concurrently": "^9.2.0",
|
62
|
+
"unbuild": "^3.6.0",
|
63
|
+
"vitest": "^3.2.4"
|
64
|
+
},
|
65
|
+
"scripts": {
|
66
|
+
"build": "unbuild --clean",
|
67
|
+
"dev": "concurrently \"unbuild --watch\" \"npm run dev:types\"",
|
68
|
+
"dev:types": "tsc --project tsconfig.declarations.json --watch",
|
69
|
+
"build:types": "tsc --project tsconfig.declarations.json",
|
70
|
+
"stub": "unbuild --stub",
|
71
|
+
"test": "vitest"
|
72
|
+
}
|
73
|
+
}
|