@visulima/pail 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.
Files changed (82) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +420 -0
  4. package/dist/abstract-pretty-reporter-dDQbeuZX.d.cts +37 -0
  5. package/dist/abstract-pretty-reporter-doXJ0wsq.d.ts +37 -0
  6. package/dist/chunk-32FAOPTJ.cjs +10 -0
  7. package/dist/chunk-32FAOPTJ.cjs.map +1 -0
  8. package/dist/chunk-46NTLZF7.cjs +10 -0
  9. package/dist/chunk-46NTLZF7.cjs.map +1 -0
  10. package/dist/chunk-4RK45K5E.cjs +7 -0
  11. package/dist/chunk-4RK45K5E.cjs.map +1 -0
  12. package/dist/chunk-57OYT2NC.js +7 -0
  13. package/dist/chunk-57OYT2NC.js.map +1 -0
  14. package/dist/chunk-6ATEEAVC.cjs +9 -0
  15. package/dist/chunk-6ATEEAVC.cjs.map +1 -0
  16. package/dist/chunk-7OFJLC7L.cjs +7 -0
  17. package/dist/chunk-7OFJLC7L.cjs.map +1 -0
  18. package/dist/chunk-EBP7SMYV.js +5 -0
  19. package/dist/chunk-EBP7SMYV.js.map +1 -0
  20. package/dist/chunk-FJCEDFRI.js +9 -0
  21. package/dist/chunk-FJCEDFRI.js.map +1 -0
  22. package/dist/chunk-G62M5WJH.js +8 -0
  23. package/dist/chunk-G62M5WJH.js.map +1 -0
  24. package/dist/chunk-GZRIZCRG.cjs +32 -0
  25. package/dist/chunk-GZRIZCRG.cjs.map +1 -0
  26. package/dist/chunk-HKIS52YX.js +22 -0
  27. package/dist/chunk-HKIS52YX.js.map +1 -0
  28. package/dist/chunk-ICPHL4AR.js +8 -0
  29. package/dist/chunk-ICPHL4AR.js.map +1 -0
  30. package/dist/chunk-IQF3SXQR.cjs +10 -0
  31. package/dist/chunk-IQF3SXQR.cjs.map +1 -0
  32. package/dist/chunk-JYHWIRFR.js +5 -0
  33. package/dist/chunk-JYHWIRFR.js.map +1 -0
  34. package/dist/chunk-MU2CRXVO.cjs +9 -0
  35. package/dist/chunk-MU2CRXVO.cjs.map +1 -0
  36. package/dist/chunk-PVAYQO5O.js +5 -0
  37. package/dist/chunk-PVAYQO5O.js.map +1 -0
  38. package/dist/chunk-Y36365SA.cjs +13 -0
  39. package/dist/chunk-Y36365SA.cjs.map +1 -0
  40. package/dist/chunk-YKHMQW6V.js +5 -0
  41. package/dist/chunk-YKHMQW6V.js.map +1 -0
  42. package/dist/index.browser.cjs +16 -0
  43. package/dist/index.browser.cjs.map +1 -0
  44. package/dist/index.browser.d.cts +11 -0
  45. package/dist/index.browser.d.ts +11 -0
  46. package/dist/index.browser.js +13 -0
  47. package/dist/index.browser.js.map +1 -0
  48. package/dist/index.server.cjs +28 -0
  49. package/dist/index.server.cjs.map +1 -0
  50. package/dist/index.server.d.cts +31 -0
  51. package/dist/index.server.d.ts +31 -0
  52. package/dist/index.server.js +20 -0
  53. package/dist/index.server.js.map +1 -0
  54. package/dist/pail.browser-DH-2bBhK.d.ts +59 -0
  55. package/dist/pail.browser-eQgV1vak.d.cts +59 -0
  56. package/dist/processor.browser.cjs +13 -0
  57. package/dist/processor.browser.cjs.map +1 -0
  58. package/dist/processor.browser.d.cts +16 -0
  59. package/dist/processor.browser.d.ts +16 -0
  60. package/dist/processor.browser.js +4 -0
  61. package/dist/processor.browser.js.map +1 -0
  62. package/dist/processor.server.cjs +14 -0
  63. package/dist/processor.server.cjs.map +1 -0
  64. package/dist/processor.server.d.cts +22 -0
  65. package/dist/processor.server.d.ts +22 -0
  66. package/dist/processor.server.js +8 -0
  67. package/dist/processor.server.js.map +1 -0
  68. package/dist/reporter.browser.cjs +28 -0
  69. package/dist/reporter.browser.cjs.map +1 -0
  70. package/dist/reporter.browser.d.cts +18 -0
  71. package/dist/reporter.browser.d.ts +18 -0
  72. package/dist/reporter.browser.js +18 -0
  73. package/dist/reporter.browser.js.map +1 -0
  74. package/dist/reporter.server.cjs +27 -0
  75. package/dist/reporter.server.cjs.map +1 -0
  76. package/dist/reporter.server.d.cts +58 -0
  77. package/dist/reporter.server.d.ts +58 -0
  78. package/dist/reporter.server.js +16 -0
  79. package/dist/reporter.server.js.map +1 -0
  80. package/dist/types.d-RNxsa9NR.d.cts +155 -0
  81. package/dist/types.d-RNxsa9NR.d.ts +155 -0
  82. package/package.json +256 -0
@@ -0,0 +1,155 @@
1
+ import { AnsiColors } from '@visulima/colorize';
2
+ import { LiteralUnion, Primitive, UnknownArray, UnknownRecord } from 'type-fest';
3
+
4
+ declare class InteractiveStreamHook {
5
+ #private;
6
+ static readonly DRAIN = true;
7
+ constructor(stream: NodeJS.WriteStream);
8
+ active(): void;
9
+ erase(count: number): void;
10
+ inactive(separateHistory?: boolean): void;
11
+ renew(): void;
12
+ write(message: string): void;
13
+ }
14
+
15
+ type StreamType = "stderr" | "stdout";
16
+ declare class InteractiveManager {
17
+ #private;
18
+ constructor(stdout: InteractiveStreamHook, stderr: InteractiveStreamHook);
19
+ get lastLength(): number;
20
+ get outside(): number;
21
+ get isHooked(): boolean;
22
+ get isSuspended(): boolean;
23
+ erase(stream: StreamType, count?: number): void;
24
+ hook(): boolean;
25
+ resume(stream: StreamType, eraseRowCount?: number): void;
26
+ suspend(stream: StreamType, erase?: boolean): void;
27
+ unhook(separateHistory?: boolean): boolean;
28
+ update(stream: StreamType, rows: string[], from?: number): void;
29
+ private _clear;
30
+ }
31
+
32
+ /**
33
+ * * This is a special exported interface for other packages/app to declare additional metadata for the logger.
34
+ */
35
+ declare global {
36
+ namespace VisulimaPail {
37
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface,@typescript-eslint/no-unused-vars
38
+ interface CustomMeta<L> {}
39
+ }
40
+ }
41
+
42
+ interface Meta<L> extends VisulimaPail.CustomMeta<L> {
43
+ badge: string | undefined;
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
+ context: any[] | undefined;
46
+ date: Date | string;
47
+ error: Error | undefined;
48
+ groups: string[];
49
+ label: string | undefined;
50
+ message: Primitive | UnknownArray | UnknownRecord;
51
+ prefix: string | undefined;
52
+ repeated?: number | undefined;
53
+ scope: string[] | undefined;
54
+ suffix: string | undefined;
55
+ traceError: Error | undefined; // for internal use
56
+ type: {
57
+ level: ExtendedRfc5424LogLevels | L;
58
+ name: string;
59
+ };
60
+ }
61
+
62
+ type ExtendedRfc5424LogLevels = "alert" | "critical" | "debug" | "emergency" | "error" | "informational" | "notice" | "trace" | "warning";
63
+
64
+ type DefaultLogTypes =
65
+ | "alert"
66
+ | "await"
67
+ | "complete"
68
+ | "critical"
69
+ | "debug"
70
+ | "emergency"
71
+ | "error"
72
+ | "info"
73
+ | "log"
74
+ | "notice"
75
+ | "pending"
76
+ | "start"
77
+ | "stop"
78
+ | "success"
79
+ | "trace"
80
+ | "wait"
81
+ | "warn"
82
+ | "watch";
83
+
84
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
+ type LoggerFunction = (...message: any[]) => void;
86
+ // alias for backward-compatibility
87
+ interface LoggerConfiguration<L extends string = never> {
88
+ badge?: string;
89
+ color?: AnsiColors | undefined;
90
+ label: string;
91
+ logLevel: LiteralUnion<ExtendedRfc5424LogLevels, L>;
92
+ }
93
+
94
+ type LoggerTypesConfig<T extends string, L extends string = never> = Record<T, Partial<LoggerConfiguration<L>>>;
95
+ type DefaultLoggerTypes<L extends string = never> = Record<DefaultLogTypes, LoggerConfiguration<L>>;
96
+
97
+ type ReadonlyMeta<L extends string = never> = Readonly<Meta<L>>;
98
+
99
+ interface Reporter<L extends string = never> {
100
+ log: (meta: ReadonlyMeta<L>) => void;
101
+ }
102
+
103
+ interface StreamAwareReporter<L extends string = never> extends Reporter<L> {
104
+ setStderr: (stderr: NodeJS.WriteStream) => void;
105
+ setStdout: (stdout: NodeJS.WriteStream) => void;
106
+ }
107
+
108
+ interface LoggerTypesAwareReporter<T extends string = never, L extends string = never> extends Reporter<L> {
109
+ setLoggerTypes: (types: LoggerTypesConfig<T, L> & Partial<LoggerTypesConfig<DefaultLogTypes, L>>) => void;
110
+ }
111
+
112
+ interface StringifyAwareReporter<L extends string = never> extends Reporter<L> {
113
+ setStringify: (stringify: typeof JSON.stringify) => void;
114
+ }
115
+
116
+ interface InteractiveStreamReporter<L extends string = never> extends StreamAwareReporter<L> {
117
+ setInteractiveManager: (manager?: InteractiveManager) => void;
118
+ setIsInteractive: (interactive: boolean) => void;
119
+ }
120
+
121
+ interface Processor<L extends string = never> {
122
+ process: (meta: Meta<L>) => Meta<L>;
123
+ }
124
+
125
+ interface StringifyAwareProcessor<L extends string = never> extends Processor<L> {
126
+ setStringify: (stringify: typeof JSON.stringify) => void;
127
+ }
128
+
129
+ interface ConstructorOptions<T extends string = never, L extends string = never> {
130
+ disabled?: boolean;
131
+ logLevel?: LiteralUnion<ExtendedRfc5424LogLevels, L>;
132
+ logLevels?: Partial<Record<ExtendedRfc5424LogLevels, number>> & Record<L, number>;
133
+ messages?: {
134
+ timerEnd?: string;
135
+ timerStart?: string;
136
+ };
137
+ processors?: Processor<L>[];
138
+ rawReporter?: Reporter<L>;
139
+ reporters?: Reporter<L>[];
140
+ scope?: string[] | string;
141
+ throttle?: number;
142
+ throttleMin?: number;
143
+ // we can't negate DefaultLogTypes from string
144
+ // see https://github.com/microsoft/TypeScript/pull/29317 (not merged as for 31 march 2021)
145
+ // so we can't distinguish logger configuration between default log types and passed one
146
+ types?: LoggerTypesConfig<T, L> & Partial<LoggerTypesConfig<DefaultLogTypes, L>>;
147
+ }
148
+
149
+ interface ServerConstructorOptions<T extends string = never, L extends string = never> extends ConstructorOptions<T, L> {
150
+ interactive?: boolean;
151
+ stderr?: NodeJS.WriteStream;
152
+ stdout?: NodeJS.WriteStream;
153
+ }
154
+
155
+ export { type ConstructorOptions as C, type DefaultLoggerTypes as D, type ExtendedRfc5424LogLevels as E, InteractiveManager as I, type LoggerConfiguration as L, type Meta as M, type Processor as P, type Reporter as R, type StreamAwareReporter as S, type DefaultLogTypes as a, type LoggerFunction as b, type LoggerTypesAwareReporter as c, type LoggerTypesConfig as d, type ServerConstructorOptions as e, type ReadonlyMeta as f, type StringifyAwareReporter as g, type InteractiveStreamReporter as h, type StringifyAwareProcessor as i };
package/package.json ADDED
@@ -0,0 +1,256 @@
1
+ {
2
+ "name": "@visulima/pail",
3
+ "version": "1.0.0",
4
+ "description": "Find a file or directory by walking up parent directories.",
5
+ "keywords": [
6
+ "anolilab",
7
+ "box",
8
+ "boxen",
9
+ "browser",
10
+ "browser-logger",
11
+ "callsite",
12
+ "callsites",
13
+ "cli",
14
+ "color",
15
+ "colorful",
16
+ "colorize",
17
+ "consola",
18
+ "console",
19
+ "console-logger",
20
+ "debug",
21
+ "error-logging",
22
+ "file-logger",
23
+ "file-logging",
24
+ "filesystem-logger",
25
+ "filter",
26
+ "fs-logger",
27
+ "handling exceptions",
28
+ "json",
29
+ "json-logger",
30
+ "json-logging",
31
+ "log level",
32
+ "log",
33
+ "log-cleaner",
34
+ "log-rotation",
35
+ "log4j",
36
+ "log4js",
37
+ "log4ts",
38
+ "logger",
39
+ "logging",
40
+ "node",
41
+ "node-logger",
42
+ "pail",
43
+ "pino",
44
+ "pretty-error",
45
+ "pretty-log",
46
+ "print",
47
+ "progress",
48
+ "redact",
49
+ "rotating-log",
50
+ "show error",
51
+ "timer",
52
+ "visulima",
53
+ "warning-logging",
54
+ "winston"
55
+ ],
56
+ "homepage": "https://www.visulima.com/docs/package/pail",
57
+ "repository": {
58
+ "type": "git",
59
+ "url": "https://github.com/visulima/visulima.git",
60
+ "directory": "packages/pail"
61
+ },
62
+ "funding": [
63
+ {
64
+ "type": "github",
65
+ "url": "https://github.com/sponsors/prisis"
66
+ },
67
+ {
68
+ "type": "consulting",
69
+ "url": "https://anolilab.com/support"
70
+ }
71
+ ],
72
+ "license": "MIT",
73
+ "author": {
74
+ "name": "Daniel Bannert",
75
+ "email": "d.bannert@anolilab.de",
76
+ "url": "https://danielbannert.com"
77
+ },
78
+ "sideEffects": false,
79
+ "type": "module",
80
+ "exports": {
81
+ ".": {
82
+ "browser": "./dist/index.browser.js",
83
+ "require": {
84
+ "types": "./dist/index.server.d.cts",
85
+ "default": "./dist/index.server.cjs"
86
+ },
87
+ "import": {
88
+ "types": "./dist/index.server.d.ts",
89
+ "default": "./dist/index.server.js"
90
+ }
91
+ },
92
+ "./browser": {
93
+ "require": {
94
+ "types": "./dist/index.browser.d.cts",
95
+ "default": "./dist/index.browser.cjs"
96
+ },
97
+ "import": {
98
+ "types": "./dist/index.browser.d.ts",
99
+ "default": "./dist/index.browser.js"
100
+ }
101
+ },
102
+ "./server": {
103
+ "require": {
104
+ "types": "./dist/index.server.d.cts",
105
+ "default": "./dist/index.server.cjs"
106
+ },
107
+ "import": {
108
+ "types": "./dist/index.server.d.ts",
109
+ "default": "./dist/index.server.js"
110
+ }
111
+ },
112
+ "./reporter": {
113
+ "browser": "./dist/reporter.browser.js",
114
+ "require": {
115
+ "types": "./dist/reporter.server.d.cts",
116
+ "default": "./dist/reporter.server.cjs"
117
+ },
118
+ "import": {
119
+ "types": "./dist/reporter.server.d.ts",
120
+ "default": "./dist/reporter.server.js"
121
+ }
122
+ },
123
+ "./browser/reporter": {
124
+ "require": {
125
+ "types": "./dist/reporter.browser.d.cts",
126
+ "default": "./dist/reporter.browser.cjs"
127
+ },
128
+ "import": {
129
+ "types": "./dist/reporter.browser.d.ts",
130
+ "default": "./dist/reporter.browser.js"
131
+ }
132
+ },
133
+ "./server/reporter": {
134
+ "browser": "./dist/reporter.browser.js",
135
+ "require": {
136
+ "types": "./dist/reporter.server.d.cts",
137
+ "default": "./dist/reporter.server.cjs"
138
+ },
139
+ "import": {
140
+ "types": "./dist/reporter.server.d.ts",
141
+ "default": "./dist/reporter.server.js"
142
+ }
143
+ },
144
+ "./processor": {
145
+ "browser": "./dist/processor.browser.js",
146
+ "require": {
147
+ "types": "./dist/processor.server.d.cts",
148
+ "default": "./dist/processor.server.cjs"
149
+ },
150
+ "import": {
151
+ "types": "./dist/processor.server.d.ts",
152
+ "default": "./dist/processor.server.js"
153
+ }
154
+ },
155
+ "./package.json": "./package.json"
156
+ },
157
+ "main": "dist/index.server.cjs",
158
+ "module": "dist/index.server.js",
159
+ "browser": "dist/index.browser.js",
160
+ "types": "dist/index.server.d.ts",
161
+ "files": [
162
+ "dist/**",
163
+ "README.md",
164
+ "CHANGELOG.md",
165
+ "LICENSE.md"
166
+ ],
167
+ "scripts": {
168
+ "build": "cross-env NODE_ENV=development tsup",
169
+ "build:prod": "cross-env NODE_ENV=production tsup",
170
+ "clean": "rimraf node_modules dist .eslintcache",
171
+ "dev": "pnpm run build --watch",
172
+ "lint:eslint": "eslint . --ext js,cjs,mjs,jsx,ts,tsx,json,yaml,yml,md,mdx --max-warnings=0 --config .eslintrc.cjs",
173
+ "lint:eslint:fix": "eslint . --ext js,cjs,mjs,jsx,ts,tsx,json,yaml,yml,md,mdx --max-warnings=0 --config .eslintrc.cjs --fix",
174
+ "lint:packagejson": "publint --strict",
175
+ "lint:prettier": "prettier --config=.prettierrc.cjs --check .",
176
+ "lint:prettier:fix": "prettier --config=.prettierrc.cjs --write .",
177
+ "lint:types": "tsc --noEmit || exit 0",
178
+ "test": "vitest run",
179
+ "test:coverage": "vitest run --coverage",
180
+ "test:ui": "vitest --ui --coverage.enabled=true",
181
+ "test:watch": "vitest"
182
+ },
183
+ "dependencies": {
184
+ "@visulima/colorize": "1.2.2",
185
+ "@visulima/fmt": "1.1.2",
186
+ "safe-stable-stringify": "^2.4.3",
187
+ "string-length": "^6.0.0",
188
+ "terminal-size": "^4.0.0",
189
+ "wrap-ansi": "^9.0.0"
190
+ },
191
+ "devDependencies": {
192
+ "@anolilab/eslint-config": "^15.0.3",
193
+ "@anolilab/prettier-config": "^5.0.14",
194
+ "@anolilab/semantic-release-preset": "^8.0.3",
195
+ "@babel/core": "^7.23.9",
196
+ "@rushstack/eslint-plugin-security": "^0.8.1",
197
+ "@secretlint/secretlint-rule-preset-recommend": "^8.1.2",
198
+ "@total-typescript/ts-reset": "^0.5.1",
199
+ "@types/node": "18.18.8",
200
+ "@vitest/coverage-v8": "^1.3.1",
201
+ "@vitest/ui": "^1.3.1",
202
+ "cross-env": "^7.0.3",
203
+ "eslint": "^8.57.0",
204
+ "eslint-plugin-deprecation": "^2.0.0",
205
+ "eslint-plugin-etc": "^2.0.3",
206
+ "eslint-plugin-import": "npm:eslint-plugin-i@^2.29.1",
207
+ "eslint-plugin-mdx": "^3.1.5",
208
+ "eslint-plugin-vitest": "^0.3.22",
209
+ "eslint-plugin-vitest-globals": "^1.4.0",
210
+ "prettier": "^3.2.5",
211
+ "rimraf": "^5.0.5",
212
+ "rotating-file-stream": "^3.2.1",
213
+ "secretlint": "8.1.2",
214
+ "semantic-release": "^23.0.2",
215
+ "sort-package-json": "^2.8.0",
216
+ "tsup": "^8.0.2",
217
+ "type-fest": "^4.10.3",
218
+ "typescript": "^5.3.3",
219
+ "vitest": "^1.3.1"
220
+ },
221
+ "peerDependencies": {
222
+ "rotating-file-stream": "^3.1.1"
223
+ },
224
+ "peerDependenciesMeta": {
225
+ "rotating-file-stream": {
226
+ "optional": true
227
+ }
228
+ },
229
+ "engines": {
230
+ "node": ">=18.* <=21.*"
231
+ },
232
+ "publishConfig": {
233
+ "access": "public",
234
+ "provenance": true
235
+ },
236
+ "anolilab": {
237
+ "eslint-config": {
238
+ "plugin": {
239
+ "tsdoc": false
240
+ },
241
+ "warn_on_unsupported_typescript_version": false,
242
+ "info_on_disabling_jsx_react_rule": false,
243
+ "info_on_disabling_prettier_conflict_rule": false,
244
+ "info_on_disabling_jsonc_sort_keys_rule": false,
245
+ "info_on_disabling_etc_no_deprecated": false
246
+ }
247
+ },
248
+ "sources": [
249
+ "src/index.browser.ts",
250
+ "src/index.server.ts",
251
+ "src/processor.browser.ts",
252
+ "src/processor.server.ts",
253
+ "src/reporter.browser.ts",
254
+ "src/reporter.server.ts"
255
+ ]
256
+ }