@delofarag/base-utils 1.0.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.
package/README.md ADDED
@@ -0,0 +1,27 @@
1
+ # @my/base-utils
2
+
3
+ Utility functions for Node.js projects.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @my/base-utils
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ```typescript
14
+ import { input } from "@my/base-utils"
15
+
16
+ // CLI input
17
+ const answer = await input("Enter your name: ")
18
+ console.log(`Hello, ${answer}!`)
19
+ ```
20
+
21
+ ## Exports
22
+
23
+ - `input()` - Read user input from CLI
24
+ - File utilities
25
+ - Pino logger utilities
26
+ - Stack log utilities
27
+
package/dist/cli.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export declare function input(prompt?: string): Promise<string>;
2
+ export declare const terminal: {
3
+ exec: (command: string) => Promise<string>;
4
+ run: (command: string) => Promise<number>;
5
+ exists: (command: string) => Promise<boolean>;
6
+ };
7
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAGA,wBAAgB,KAAK,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1D;AAED,eAAO,MAAM,QAAQ;oBAEY,MAAM,KAAE,OAAO,CAAC,MAAM,CAAC;mBAYxB,MAAM,KAAE,OAAO,CAAC,MAAM,CAAC;sBAYpB,MAAM,KAAE,OAAO,CAAC,OAAO,CAAC;CAQ1D,CAAA"}
package/dist/cli.js ADDED
@@ -0,0 +1,47 @@
1
+ import * as readline from 'readline';
2
+ import { exec, spawn } from 'child_process';
3
+ export function input(prompt = '') {
4
+ const rl = readline.createInterface({
5
+ input: process.stdin,
6
+ output: process.stdout
7
+ });
8
+ return new Promise((resolve) => {
9
+ rl.question(prompt, (answer) => {
10
+ rl.close();
11
+ resolve(answer);
12
+ });
13
+ });
14
+ }
15
+ export const terminal = {
16
+ exec: async function (command) {
17
+ return new Promise((resolve, reject) => {
18
+ exec(command, (error, stdout, stderr) => {
19
+ if (error) {
20
+ reject(stderr || error);
21
+ return;
22
+ }
23
+ resolve(stdout);
24
+ });
25
+ });
26
+ },
27
+ run: async function (command) {
28
+ return new Promise((resolve, reject) => {
29
+ const proc = spawn(command, {
30
+ shell: true,
31
+ stdio: "inherit", // live output
32
+ });
33
+ proc.on("close", code => resolve(code ?? 0));
34
+ proc.on("error", err => reject(err));
35
+ });
36
+ },
37
+ exists: async function (command) {
38
+ try {
39
+ await this.exec(`command -v ${command}`);
40
+ return true;
41
+ }
42
+ catch {
43
+ return false;
44
+ }
45
+ }
46
+ };
47
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,UAAU,KAAK,CAAC,SAAiB,EAAE;IACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACzB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IAEpB,IAAI,EAAE,KAAK,WAAU,OAAc;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBACtC,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IAED,GAAG,EAAE,KAAK,WAAU,OAAc;QAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE;gBAC1B,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,SAAS,EAAE,cAAc;aACjC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,MAAM,EAAE,KAAK,WAAU,OAAc;QACjC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACP,CAAC;CACJ,CAAA"}
@@ -0,0 +1,13 @@
1
+ export declare function create_file(file: string, content: string): Promise<boolean>;
2
+ export declare function create_sub_file(pathStr: string, content: string): Promise<boolean>;
3
+ export declare function read_file(file: string): Promise<string>;
4
+ export declare function read_all_files_in_dir(dir: string): Promise<string[]>;
5
+ export declare function read_file_lines(file: string): Promise<string[]>;
6
+ export declare function add_to_file(file: string, content: string): Promise<boolean>;
7
+ export declare function does_file_exist(file: string): Promise<boolean>;
8
+ export declare function write_n_run(file: string, content: string, interpreter: string, is_subfile?: boolean, aus_führen?: boolean): Promise<string>;
9
+ export declare function write_n_run_py(file: string, content: string, is_subfile?: boolean, aus_führen?: boolean): Promise<string>;
10
+ export declare function write_n_run_js(file: string, content: string, is_subfile?: boolean, aus_führen?: boolean): Promise<string>;
11
+ export declare function remove_file(file: string): Promise<boolean>;
12
+ export declare function remove_empty_dir(dir: string): Promise<boolean>;
13
+ //# sourceMappingURL=file-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-utils.d.ts","sourceRoot":"","sources":["../src/file-utils.ts"],"names":[],"mappings":"AAYA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASjF;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWxF;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuB7D;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuB1E;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAKrE;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASjF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASpE;AAGD,wBAAsB,WAAW,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,OAAe,EAC3B,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAsB,cAAc,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,OAAe,EAC3B,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAsB,cAAc,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,OAAe,EAC3B,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAGD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASpE"}
@@ -0,0 +1,150 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as path from 'path';
3
+ import { exec } from 'child_process';
4
+ import { promisify } from 'util';
5
+ const execAsync = promisify(exec);
6
+ function getProjectRoot() {
7
+ return path.resolve(__dirname, '../../../..');
8
+ }
9
+ // creating and reading
10
+ export async function create_file(file, content) {
11
+ try {
12
+ await fs.writeFile(file, content, 'utf-8');
13
+ console.log(`die Datei: '${file}' wurde erstellt`);
14
+ return true;
15
+ }
16
+ catch (e) {
17
+ console.error(`Fehler beim Erstellen der Datei: '${file}': ${e}`);
18
+ return false;
19
+ }
20
+ }
21
+ export async function create_sub_file(pathStr, content) {
22
+ const dir = path.dirname(pathStr);
23
+ try {
24
+ await fs.mkdir(dir, { recursive: true });
25
+ await fs.writeFile(pathStr, content, 'utf-8');
26
+ console.log(`der Tree: '${pathStr}' wurde erstellt`);
27
+ return true;
28
+ }
29
+ catch (e) {
30
+ console.error(`Fehler beim Erstellen der Datei: '${pathStr}': ${e}`);
31
+ return false;
32
+ }
33
+ }
34
+ export async function read_file(file) {
35
+ let filePath = path.resolve(file);
36
+ if (!path.isAbsolute(file)) {
37
+ const projectRoot = getProjectRoot();
38
+ filePath = path.join(projectRoot, file);
39
+ try {
40
+ await fs.access(filePath);
41
+ }
42
+ catch {
43
+ filePath = path.resolve(file);
44
+ }
45
+ }
46
+ try {
47
+ await fs.access(filePath);
48
+ }
49
+ catch {
50
+ throw new Error(`Datei nicht gefunden: ${file}`);
51
+ }
52
+ const content = await fs.readFile(filePath, 'utf-8');
53
+ console.log(`die Datei: '${filePath}' wurde ausgelesen`);
54
+ return content;
55
+ }
56
+ export async function read_all_files_in_dir(dir) {
57
+ const dirPath = path.join(getProjectRoot(), dir);
58
+ const files = [];
59
+ async function readDir(currentPath) {
60
+ const entries = await fs.readdir(currentPath, { withFileTypes: true });
61
+ for (const entry of entries) {
62
+ const fullPath = path.join(currentPath, entry.name);
63
+ if (entry.isFile()) {
64
+ const content = await fs.readFile(fullPath, 'utf-8');
65
+ files.push(content);
66
+ console.log(`die Datei: '${fullPath}' wurde ausgelesen`);
67
+ }
68
+ else if (entry.isDirectory()) {
69
+ await readDir(fullPath);
70
+ }
71
+ }
72
+ }
73
+ await readDir(dirPath);
74
+ console.log(`der ordner: ${dir} wurde vollständig ausgelesen`);
75
+ return files;
76
+ }
77
+ export async function read_file_lines(file) {
78
+ const content = await fs.readFile(file, 'utf-8');
79
+ const lines = content.split('\n');
80
+ console.log(`die Datei: '${file}' wurde Zeile für Zeile ausgelesen und in ein array gepackt`);
81
+ return lines;
82
+ }
83
+ export async function add_to_file(file, content) {
84
+ try {
85
+ await fs.appendFile(file, `\n${content}`, 'utf-8');
86
+ console.log(`in Datei: '${file}' wurde Inhalt: '${content}' hinzugefügt`);
87
+ return true;
88
+ }
89
+ catch (e) {
90
+ console.error(`Fehler beim Hinzufügen des Inhalts zu der Datei: '${file}': ${e}`);
91
+ return false;
92
+ }
93
+ }
94
+ export async function does_file_exist(file) {
95
+ try {
96
+ await fs.access(file);
97
+ console.log(`die Datei: '${file}' exestiert`);
98
+ return true;
99
+ }
100
+ catch {
101
+ console.log(`die Datei: '${file}' exestiert nicht`);
102
+ return false;
103
+ }
104
+ }
105
+ // running code
106
+ export async function write_n_run(file, content, interpreter, is_subfile = false, aus_führen = false) {
107
+ const filePath = path.resolve(file);
108
+ if (is_subfile) {
109
+ const dir = path.dirname(filePath);
110
+ await fs.mkdir(dir, { recursive: true });
111
+ }
112
+ await fs.writeFile(filePath, content, 'utf-8');
113
+ console.log(`der ${interpreter} Code-Datei: '${file}' wurde erstellt`);
114
+ if (aus_führen) {
115
+ await execAsync(`${interpreter} ${filePath}`);
116
+ console.log(`die ${interpreter} Code-Datei: '${file}' wird ausgeführt`);
117
+ }
118
+ return filePath;
119
+ }
120
+ export async function write_n_run_py(file, content, is_subfile = false, aus_führen = false) {
121
+ return write_n_run(file, content, 'python3', is_subfile, aus_führen);
122
+ }
123
+ export async function write_n_run_js(file, content, is_subfile = false, aus_führen = false) {
124
+ return write_n_run(file, content, 'node', is_subfile, aus_führen);
125
+ }
126
+ // removing
127
+ export async function remove_file(file) {
128
+ try {
129
+ await fs.unlink(file);
130
+ console.log(`die Datei: '${file}' wurde gelöscht`);
131
+ return true;
132
+ }
133
+ catch (e) {
134
+ // Datei existiert nicht oder kann nicht gelöscht werden
135
+ console.error(`Fehler beim Löschen der Datei: '${file}': ${e}`);
136
+ return false;
137
+ }
138
+ }
139
+ export async function remove_empty_dir(dir) {
140
+ try {
141
+ await fs.rmdir(dir);
142
+ console.log(`der leere Ordner: '${dir}' wird entfernt`);
143
+ return true;
144
+ }
145
+ catch (e) {
146
+ console.error(`Fehler beim Entfernen des leeren Ordners: '${dir}': ${e}`);
147
+ return false;
148
+ }
149
+ }
150
+ //# sourceMappingURL=file-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-utils.js","sourceRoot":"","sources":["../src/file-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { input } from "./cli";
2
+ export * from "./file-utils";
3
+ export * from "./pino-logger";
4
+ export * from "./stackLog";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ export { input } from "./cli";
2
+ export * from "./file-utils";
3
+ export * from "./pino-logger";
4
+ export * from "./stackLog";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA"}
@@ -0,0 +1,3 @@
1
+ import pino from "pino";
2
+ export declare const logger: pino.Logger<never, boolean>;
3
+ //# sourceMappingURL=pino-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pino-logger.d.ts","sourceRoot":"","sources":["../src/pino-logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,eAAO,MAAM,MAAM,6BAeb,CAAC"}
@@ -0,0 +1,19 @@
1
+ import pino from "pino";
2
+ const isDevelopment = process.env.NODE_ENV === "development" || process.env.NODE_ENV === undefined;
3
+ export const logger = isDevelopment
4
+ ? pino({
5
+ transport: {
6
+ target: "pino-pretty",
7
+ options: {
8
+ colorize: true,
9
+ translateTime: "HH:MM:ss",
10
+ ignore: "pid,hostname",
11
+ destination: 1, // stdout
12
+ },
13
+ },
14
+ level: "debug",
15
+ })
16
+ : pino({
17
+ level: "info",
18
+ });
19
+ //# sourceMappingURL=pino-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pino-logger.js","sourceRoot":"","sources":["../src/pino-logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAA;AAElG,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa;IACjC,CAAC,CAAC,IAAI,CAAC;QACH,SAAS,EAAE;YACT,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,UAAU;gBACzB,MAAM,EAAE,cAAc;gBACtB,WAAW,EAAE,CAAC,EAAE,SAAS;aAC1B;SACF;QACD,KAAK,EAAE,OAAO;KACf,CAAC;IACJ,CAAC,CAAC,IAAI,CAAC;QACH,KAAK,EAAE,MAAM;KACd,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function stackLog(stuff: Array<any>): void;
2
+ //# sourceMappingURL=stackLog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stackLog.d.ts","sourceRoot":"","sources":["../src/stackLog.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAK,EAAC,KAAK,CAAC,GAAG,CAAC,QAIhD"}
@@ -0,0 +1,6 @@
1
+ export default function stackLog(stuff) {
2
+ for (const item of stuff) {
3
+ console.log(item);
4
+ }
5
+ }
6
+ //# sourceMappingURL=stackLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stackLog.js","sourceRoot":"","sources":["../src/stackLog.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,KAAgB;IAC7C,KAAI,MAAM,IAAI,IAAI,KAAK,EAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;AACL,CAAC"}
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@delofarag/base-utils",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "README.md"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsc"
13
+ },
14
+ "dependencies": {
15
+ "readline": "^1.3.0"
16
+ },
17
+ "devDependencies": {
18
+ "@types/node": "^20.0.0",
19
+ "typescript": "^5.0.0"
20
+ }
21
+ }
22
+