@maz-ui/node 4.2.1-alpha.9 → 4.2.1-beta.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.d.mts +27 -4
- package/dist/index.d.ts +27 -4
- package/dist/index.mjs +54 -12
- package/package.json +5 -3
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import * as consola from 'consola';
|
|
1
2
|
import { ConsolaOptions, InputLogObject, ConsolaReporter, ConsolaInstance } from 'consola';
|
|
2
3
|
export { ConsolaOptions } from 'consola';
|
|
4
|
+
import { FigletOptions } from 'figlet/node';
|
|
3
5
|
|
|
4
6
|
declare const LogLevelMap: {
|
|
5
7
|
silent: number;
|
|
@@ -26,13 +28,15 @@ declare function createLogger(options?: LoggerOptions): {
|
|
|
26
28
|
fatal: (message: InputLogObject | any, ...args: any[]) => void;
|
|
27
29
|
ready: (message: InputLogObject | any, ...args: any[]) => void;
|
|
28
30
|
silent: (message: InputLogObject | any, ...args: any[]) => void;
|
|
29
|
-
divider: () => void;
|
|
31
|
+
divider: (character?: string) => void;
|
|
30
32
|
eot: () => void;
|
|
33
|
+
break: (count?: number) => void;
|
|
31
34
|
brand: (message: string) => void;
|
|
32
35
|
clear: () => void;
|
|
33
36
|
addReporter: (reporter: ConsolaReporter) => ConsolaInstance;
|
|
34
37
|
removeReporter: (reporter: ConsolaReporter) => ConsolaInstance | ConsolaReporter[];
|
|
35
38
|
setLevel: (level: LogLevel) => void;
|
|
39
|
+
getLevel: () => consola.LogLevel;
|
|
36
40
|
};
|
|
37
41
|
declare const logger: Logger;
|
|
38
42
|
|
|
@@ -40,16 +44,35 @@ type LoggerOptions = Partial<ConsolaOptions>;
|
|
|
40
44
|
type LogLevel = keyof typeof LogLevelMap;
|
|
41
45
|
type Logger = ReturnType<typeof createLogger>;
|
|
42
46
|
|
|
43
|
-
|
|
44
|
-
|
|
47
|
+
interface CustomLogger {
|
|
48
|
+
log: (message: string, ...args: any[]) => void;
|
|
49
|
+
error: (message: string, ...args: any[]) => void;
|
|
50
|
+
info: (message: string, ...args: any[]) => void;
|
|
51
|
+
warn: (message: string, ...args: any[]) => void;
|
|
52
|
+
debug: (message: string, ...args: any[]) => void;
|
|
53
|
+
}
|
|
54
|
+
declare function execPromise(command: string, { logger, packageName, noSuccess, noStdout, noStderr, logLevel, }?: {
|
|
55
|
+
logger?: CustomLogger;
|
|
45
56
|
packageName?: string;
|
|
46
57
|
noSuccess?: boolean;
|
|
47
58
|
noStdout?: boolean;
|
|
48
59
|
noStderr?: boolean;
|
|
60
|
+
logLevel?: LogLevel;
|
|
49
61
|
}): Promise<{
|
|
50
62
|
stdout: string;
|
|
51
63
|
stderr: string;
|
|
52
64
|
}>;
|
|
53
65
|
|
|
54
|
-
|
|
66
|
+
declare function printBanner({ name, version, options, }: {
|
|
67
|
+
name: string;
|
|
68
|
+
version?: string;
|
|
69
|
+
options?: FigletOptions & {
|
|
70
|
+
clear?: boolean;
|
|
71
|
+
divider?: boolean;
|
|
72
|
+
breakBefore?: boolean;
|
|
73
|
+
breakAfter?: boolean;
|
|
74
|
+
};
|
|
75
|
+
}): void;
|
|
76
|
+
|
|
77
|
+
export { createLogger, execPromise, logger, printBanner };
|
|
55
78
|
export type { LogLevel, Logger, LoggerOptions };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import * as consola from 'consola';
|
|
1
2
|
import { ConsolaOptions, InputLogObject, ConsolaReporter, ConsolaInstance } from 'consola';
|
|
2
3
|
export { ConsolaOptions } from 'consola';
|
|
4
|
+
import { FigletOptions } from 'figlet/node';
|
|
3
5
|
|
|
4
6
|
declare const LogLevelMap: {
|
|
5
7
|
silent: number;
|
|
@@ -26,13 +28,15 @@ declare function createLogger(options?: LoggerOptions): {
|
|
|
26
28
|
fatal: (message: InputLogObject | any, ...args: any[]) => void;
|
|
27
29
|
ready: (message: InputLogObject | any, ...args: any[]) => void;
|
|
28
30
|
silent: (message: InputLogObject | any, ...args: any[]) => void;
|
|
29
|
-
divider: () => void;
|
|
31
|
+
divider: (character?: string) => void;
|
|
30
32
|
eot: () => void;
|
|
33
|
+
break: (count?: number) => void;
|
|
31
34
|
brand: (message: string) => void;
|
|
32
35
|
clear: () => void;
|
|
33
36
|
addReporter: (reporter: ConsolaReporter) => ConsolaInstance;
|
|
34
37
|
removeReporter: (reporter: ConsolaReporter) => ConsolaInstance | ConsolaReporter[];
|
|
35
38
|
setLevel: (level: LogLevel) => void;
|
|
39
|
+
getLevel: () => consola.LogLevel;
|
|
36
40
|
};
|
|
37
41
|
declare const logger: Logger;
|
|
38
42
|
|
|
@@ -40,16 +44,35 @@ type LoggerOptions = Partial<ConsolaOptions>;
|
|
|
40
44
|
type LogLevel = keyof typeof LogLevelMap;
|
|
41
45
|
type Logger = ReturnType<typeof createLogger>;
|
|
42
46
|
|
|
43
|
-
|
|
44
|
-
|
|
47
|
+
interface CustomLogger {
|
|
48
|
+
log: (message: string, ...args: any[]) => void;
|
|
49
|
+
error: (message: string, ...args: any[]) => void;
|
|
50
|
+
info: (message: string, ...args: any[]) => void;
|
|
51
|
+
warn: (message: string, ...args: any[]) => void;
|
|
52
|
+
debug: (message: string, ...args: any[]) => void;
|
|
53
|
+
}
|
|
54
|
+
declare function execPromise(command: string, { logger, packageName, noSuccess, noStdout, noStderr, logLevel, }?: {
|
|
55
|
+
logger?: CustomLogger;
|
|
45
56
|
packageName?: string;
|
|
46
57
|
noSuccess?: boolean;
|
|
47
58
|
noStdout?: boolean;
|
|
48
59
|
noStderr?: boolean;
|
|
60
|
+
logLevel?: LogLevel;
|
|
49
61
|
}): Promise<{
|
|
50
62
|
stdout: string;
|
|
51
63
|
stderr: string;
|
|
52
64
|
}>;
|
|
53
65
|
|
|
54
|
-
|
|
66
|
+
declare function printBanner({ name, version, options, }: {
|
|
67
|
+
name: string;
|
|
68
|
+
version?: string;
|
|
69
|
+
options?: FigletOptions & {
|
|
70
|
+
clear?: boolean;
|
|
71
|
+
divider?: boolean;
|
|
72
|
+
breakBefore?: boolean;
|
|
73
|
+
breakAfter?: boolean;
|
|
74
|
+
};
|
|
75
|
+
}): void;
|
|
76
|
+
|
|
77
|
+
export { createLogger, execPromise, logger, printBanner };
|
|
55
78
|
export type { LogLevel, Logger, LoggerOptions };
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { exec } from 'node:child_process';
|
|
2
|
-
import process from 'node:process';
|
|
2
|
+
import process$1 from 'node:process';
|
|
3
3
|
import { blueBright } from 'colorette';
|
|
4
4
|
import { createConsola } from 'consola';
|
|
5
|
+
import figlet from 'figlet';
|
|
5
6
|
|
|
6
7
|
const LogLevelMap = {
|
|
7
8
|
silent: Number.NEGATIVE_INFINITY,
|
|
@@ -33,15 +34,17 @@ function createLogger(options) {
|
|
|
33
34
|
fatal: (message, ...args) => consola.fatal(message, ...args),
|
|
34
35
|
ready: (message, ...args) => consola.ready(message, ...args),
|
|
35
36
|
silent: (message, ...args) => consola.silent(message, ...args),
|
|
36
|
-
divider: () => console.log(
|
|
37
|
+
divider: (character = "=") => console.log(character.repeat(process$1.stdout.columns || 20)),
|
|
37
38
|
eot: () => console.log(),
|
|
39
|
+
break: (count = 1) => console.log("\n".repeat(count)),
|
|
38
40
|
brand: (message) => console.log(blueBright(message)),
|
|
39
41
|
clear: () => console.clear(),
|
|
40
42
|
addReporter: (reporter) => consola.addReporter(reporter),
|
|
41
43
|
removeReporter: (reporter) => consola.removeReporter(reporter),
|
|
42
44
|
setLevel: (level) => {
|
|
43
45
|
consola.level = LogLevelMap[level];
|
|
44
|
-
}
|
|
46
|
+
},
|
|
47
|
+
getLevel: () => consola.level
|
|
45
48
|
};
|
|
46
49
|
}
|
|
47
50
|
const logger = createLogger();
|
|
@@ -49,26 +52,36 @@ const logger = createLogger();
|
|
|
49
52
|
async function execPromise(command, {
|
|
50
53
|
logger: logger$1,
|
|
51
54
|
packageName,
|
|
52
|
-
noSuccess,
|
|
53
|
-
noStdout,
|
|
54
|
-
noStderr
|
|
55
|
+
noSuccess = false,
|
|
56
|
+
noStdout = false,
|
|
57
|
+
noStderr = false,
|
|
58
|
+
logLevel
|
|
55
59
|
} = {}) {
|
|
60
|
+
if (logLevel) {
|
|
61
|
+
logger.setLevel(logLevel);
|
|
62
|
+
}
|
|
56
63
|
const internalLogger = logger$1 ?? logger;
|
|
57
|
-
const packageNameStr = packageName ? `[${packageName}]` : "";
|
|
64
|
+
const packageNameStr = packageName ? `[${packageName}]: ` : "";
|
|
58
65
|
return await new Promise((resolve, reject) => {
|
|
59
66
|
exec(command, (error, stdout, stderr) => {
|
|
67
|
+
if (stdout) {
|
|
68
|
+
internalLogger.debug(`${command} - stdout output:`, stdout);
|
|
69
|
+
}
|
|
70
|
+
if (stderr) {
|
|
71
|
+
internalLogger.debug(`${command} - stderr output:`, stderr);
|
|
72
|
+
}
|
|
60
73
|
if (stdout && !noStdout) {
|
|
61
|
-
internalLogger.log(
|
|
74
|
+
internalLogger.log(`${packageNameStr}stdout -`, stdout.trim());
|
|
62
75
|
}
|
|
63
76
|
if (stderr && !noStderr) {
|
|
64
|
-
internalLogger.
|
|
77
|
+
internalLogger.log(`${packageNameStr}stderr -`, stderr.trim());
|
|
65
78
|
}
|
|
66
79
|
if (error) {
|
|
67
|
-
internalLogger.error(
|
|
80
|
+
internalLogger.error(`${packageNameStr}${command} failed`, error);
|
|
68
81
|
reject(error);
|
|
69
82
|
} else {
|
|
70
83
|
if (!noSuccess) {
|
|
71
|
-
internalLogger.
|
|
84
|
+
internalLogger.info(`${packageNameStr}${command} - Success!`);
|
|
72
85
|
}
|
|
73
86
|
resolve({ stdout, stderr });
|
|
74
87
|
}
|
|
@@ -76,4 +89,33 @@ async function execPromise(command, {
|
|
|
76
89
|
});
|
|
77
90
|
}
|
|
78
91
|
|
|
79
|
-
|
|
92
|
+
function printBanner({
|
|
93
|
+
name,
|
|
94
|
+
version,
|
|
95
|
+
options
|
|
96
|
+
}) {
|
|
97
|
+
options = {
|
|
98
|
+
horizontalLayout: "full",
|
|
99
|
+
font: "ANSI Shadow",
|
|
100
|
+
clear: true,
|
|
101
|
+
breakBefore: true,
|
|
102
|
+
breakAfter: true,
|
|
103
|
+
...options
|
|
104
|
+
};
|
|
105
|
+
if (options.clear)
|
|
106
|
+
process.stdout.write("\x1B[2J");
|
|
107
|
+
if (options.breakBefore)
|
|
108
|
+
logger.break();
|
|
109
|
+
const banner = figlet.textSync(name, options);
|
|
110
|
+
logger.brand(banner);
|
|
111
|
+
if (version) {
|
|
112
|
+
logger.brand(version);
|
|
113
|
+
logger.break();
|
|
114
|
+
}
|
|
115
|
+
if (options.divider)
|
|
116
|
+
logger.divider();
|
|
117
|
+
if (options.breakAfter)
|
|
118
|
+
logger.break();
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export { createLogger, execPromise, logger, printBanner };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maz-ui/node",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.2.1-
|
|
4
|
+
"version": "4.2.1-beta.1",
|
|
5
5
|
"description": "Node utilities for Maz-UI library",
|
|
6
6
|
"author": "Louis Mazel <me@loicmazuel.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -40,7 +40,8 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"colorette": "^2.0.20",
|
|
43
|
-
"consola": "^3.4.2"
|
|
43
|
+
"consola": "^3.4.2",
|
|
44
|
+
"figlet": "^1.9.3"
|
|
44
45
|
},
|
|
45
46
|
"devDependencies": {
|
|
46
47
|
"unbuild": "^3.6.1"
|
|
@@ -55,6 +56,7 @@
|
|
|
55
56
|
"dev": "unbuild --stub",
|
|
56
57
|
"typecheck": "tsc --noEmit --skipLibCheck",
|
|
57
58
|
"lint": "cross-env NODE_ENV=production eslint .",
|
|
58
|
-
"lint:fix": "pnpm lint --fix"
|
|
59
|
+
"lint:fix": "pnpm lint --fix",
|
|
60
|
+
"test": "tsx test.ts"
|
|
59
61
|
}
|
|
60
62
|
}
|