@brianbuie/node-kit 0.15.0 → 0.16.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/File.ts","../src/Dir.ts","../src/Cache.ts","../src/Fetcher.ts","../src/Format.ts","../src/Log.ts","../src/snapshot.ts","../src/timeout.ts","../src/TypeWriter.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/File.ts","../src/Dir.ts","../src/Cache.ts","../src/Fetcher.ts","../src/Format.ts","../src/Log.ts","../src/snapshot.ts","../src/timeout.ts","../src/TypeWriter.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -5,41 +5,13 @@ import { Readable } from "node:stream";
5
5
  import { finished } from "node:stream/promises";
6
6
  import mime from "mime-types";
7
7
  import { parseStream, writeToStream } from "fast-csv";
8
- import { isObjectLike, merge } from "lodash-es";
9
8
  import { add, format, formatISO, isAfter } from "date-fns";
10
- import extractDomain from "extract-domain";
11
9
  import formatDuration from "format-duration";
12
- import { inspect } from "node:util";
13
- import chalk from "chalk";
10
+ import { isObjectLike, merge } from "lodash-es";
11
+ import extractDomain from "extract-domain";
12
+ import pino from "pino";
14
13
  import * as qt from "quicktype-core";
15
14
 
16
- //#region src/snapshot.ts
17
- /**
18
- * Allows special objects (Error, Headers, Set) to be included in JSON.stringify output.
19
- * Functions are removed
20
- */
21
- function snapshot(i, max = 50, depth = 0) {
22
- if (Array.isArray(i)) {
23
- if (depth === max) return [];
24
- return i.map((c) => snapshot(c, max, depth + 1));
25
- }
26
- if (typeof i === "function") return void 0;
27
- if (!isObjectLike(i)) return i;
28
- if (depth === max) return {};
29
- let output = {};
30
- if (typeof i.entries === "function") {
31
- for (let [k, v] of i.entries()) output[k] = snapshot(v, max, depth + 1);
32
- return output;
33
- }
34
- const obj = i;
35
- for (let key in obj) output[key] = snapshot(obj[key], max, depth + 1);
36
- Object.getOwnPropertyNames(obj).forEach((key) => {
37
- output[key] = snapshot(obj[key], max, depth + 1);
38
- });
39
- return output;
40
- }
41
-
42
- //#endregion
43
15
  //#region src/File.ts
44
16
  /**
45
17
  * Represents a file on the file system. If the file doesn't exist, it is created the first time it is written to.
@@ -156,9 +128,9 @@ var File = class {
156
128
  * await file.write({ col: 'val' }); // ✅ Writes one row
157
129
  * await file.write([{ col: 'val2' }, { col: 'val3' }]); // ✅ Writes multiple rows
158
130
  */
159
- async csv(rows, keys) {
160
- const csvFile = new FileTypeCsv(this.path);
161
- if (rows) await csvFile.write(rows, keys);
131
+ async csv(rows, options) {
132
+ const csvFile = new FileTypeCsv(this.path, options);
133
+ if (rows) await csvFile.write(rows);
162
134
  return csvFile;
163
135
  }
164
136
  static get csv() {
@@ -213,7 +185,7 @@ var FileType = class {
213
185
  };
214
186
  /**
215
187
  * A .json file that maintains data type when reading/writing.
216
- * > ⚠️ This is mildly unsafe, important/foreign json files should be validated at runtime!
188
+ * > ⚠️ This is mildly unsafe, json files should be validated at runtime!
217
189
  * @example
218
190
  * const file = new FileTypeJson('./data', { key: 'val' }); // FileTypeJson<{ key: string; }>
219
191
  * console.log(file.path) // '/path/to/cwd/data.json'
@@ -232,7 +204,7 @@ var FileTypeJson = class extends FileType {
232
204
  return contents ? JSON.parse(contents) : void 0;
233
205
  }
234
206
  write(contents) {
235
- this.file.write(JSON.stringify(snapshot(contents), null, 2));
207
+ this.file.write(JSON.stringify(contents, null, 2));
236
208
  }
237
209
  };
238
210
  /**
@@ -245,7 +217,7 @@ var FileTypeNdjson = class extends FileType {
245
217
  if (lines) this.append(lines);
246
218
  }
247
219
  append(lines) {
248
- this.file.append(Array.isArray(lines) ? lines.map((l) => JSON.stringify(snapshot(l))) : JSON.stringify(snapshot(lines)));
220
+ this.file.append(Array.isArray(lines) ? lines.map((l) => JSON.stringify(l)) : JSON.stringify(lines));
249
221
  }
250
222
  lines() {
251
223
  return this.file.lines().map((l) => JSON.parse(l));
@@ -256,22 +228,30 @@ var FileTypeNdjson = class extends FileType {
256
228
  * Input rows as objects, keys are used as column headers
257
229
  */
258
230
  var FileTypeCsv = class extends FileType {
259
- constructor(filepath) {
231
+ options;
232
+ constructor(filepath, options = {}) {
260
233
  super(filepath.endsWith(".csv") ? filepath : filepath + ".csv");
234
+ this.options = {
235
+ parseNumbers: true,
236
+ parseBooleans: true,
237
+ parseNulls: true,
238
+ ...options
239
+ };
261
240
  }
262
- async write(rows, keys) {
241
+ async write(rows) {
263
242
  const headerSet = /* @__PURE__ */ new Set();
264
- if (keys) for (const key of keys) headerSet.add(key);
243
+ if (this.options.keys) for (const key of this.options.keys) headerSet.add(key);
265
244
  else for (const row of rows) for (const key in row) headerSet.add(key);
266
245
  const headers = Array.from(headerSet);
267
246
  const outRows = rows.map((row) => headers.map((key) => row[key]));
268
247
  return finished(writeToStream(this.file.writeStream, [headers, ...outRows]));
269
248
  }
270
249
  #parseVal(val) {
271
- if (val.toLowerCase() === "false") return false;
272
- if (val.toLowerCase() === "true") return true;
273
- if (val.length === 0) return null;
274
- if (/^[\.0-9]+$/.test(val)) return Number(val);
250
+ const { parseNumbers, parseBooleans, parseNulls } = this.options;
251
+ if (parseBooleans && val.toLowerCase() === "false") return false;
252
+ if (parseBooleans && val.toLowerCase() === "true") return true;
253
+ if (parseNulls && (val.length === 0 || val.toLowerCase() === "null")) return null;
254
+ if (parseNumbers && /^[\.0-9]+$/.test(val)) return Number(val);
275
255
  return val;
276
256
  }
277
257
  async read() {
@@ -287,12 +267,82 @@ var FileTypeCsv = class extends FileType {
287
267
  }
288
268
  };
289
269
 
270
+ //#endregion
271
+ //#region src/Format.ts
272
+ /**
273
+ * Helpers for formatting dates, times, and numbers as strings
274
+ */
275
+ var Format = class {
276
+ /**
277
+ * date-fns format() with some shortcuts
278
+ * @param formatStr the format to use
279
+ * @param date the date to format, default `new Date()`
280
+ * @example
281
+ * Format.date('iso') // '2026-04-08T13:56:45Z'
282
+ * Format.date('ymd') // '20260408'
283
+ * Format.date('ymd-hm') // '20260408-1356'
284
+ * Format.date('ymd-hms') // '20260408-135645'
285
+ * Format.date('h:m:s') // '13:56:45'
286
+ * @see more format options https://date-fns.org/v4.1.0/docs/format
287
+ */
288
+ static date(formatStr = "iso", d = /* @__PURE__ */ new Date()) {
289
+ if (formatStr === "iso") return formatISO(d);
290
+ if (formatStr === "ymd") return format(d, "yyyyMMdd");
291
+ if (formatStr === "ymd-hm") return format(d, "yyyyMMdd-HHmm");
292
+ if (formatStr === "ymd-hms") return format(d, "yyyyMMdd-HHmmss");
293
+ if (formatStr === "h:m:s") return format(d, "HH:mm:ss");
294
+ return format(d, formatStr);
295
+ }
296
+ /**
297
+ * Round a number to a specific set of places
298
+ */
299
+ static round(n, places = 0) {
300
+ return new Intl.NumberFormat("en-US", { maximumFractionDigits: places }).format(n);
301
+ }
302
+ static plural(amount, singular, multiple) {
303
+ return amount === 1 ? `${amount} ${singular}` : `${amount} ${multiple || singular + "s"}`;
304
+ }
305
+ /**
306
+ * Make millisecond durations actually readable (eg "123ms", "3.56s", "1m 34s", "3h 24m", "2d 4h")
307
+ * @param ms milliseconds
308
+ * @param style 'digital' to output as 'HH:MM:SS'
309
+ * @see details on 'digital' format https://github.com/ungoldman/format-duration
310
+ * @see waiting on `Intl.DurationFormat({ style: 'digital' })` types https://github.com/microsoft/TypeScript/issues/60608
311
+ */
312
+ static ms(ms, style) {
313
+ if (style === "digital") return formatDuration(ms, { leading: true });
314
+ if (ms < 1e3) return `${this.round(ms)}ms`;
315
+ const s = ms / 1e3;
316
+ if (s < 60) return `${this.round(s, 2)}s`;
317
+ const m = Math.floor(s / 60);
318
+ if (m < 60) return `${m}m ${Math.floor(s) % 60}s`;
319
+ const h = Math.floor(m / 60);
320
+ if (h < 24) return `${h}h ${m % 60}m`;
321
+ return `${Math.floor(h / 24)}d ${h % 24}h`;
322
+ }
323
+ static bytes(b) {
324
+ const labels = [
325
+ "b",
326
+ "KB",
327
+ "MB",
328
+ "GB",
329
+ "TB"
330
+ ];
331
+ let factor = 0;
332
+ while (b >= 1024 && labels[factor + 1]) {
333
+ b = b / 1024;
334
+ factor++;
335
+ }
336
+ return `${this.round(b, 2)} ${labels[factor]}`;
337
+ }
338
+ };
339
+
290
340
  //#endregion
291
341
  //#region src/Dir.ts
292
342
  /**
293
343
  * Reference to a specific directory with methods to create and list files.
294
344
  * @param inputPath
295
- * The path of the directory, created on file system the first time `.path` is read or any methods are used
345
+ * The path of the directory, created on file system the first time `.path` is read or any methods are used. Default: `./YYYYMMDD`
296
346
  * @param options
297
347
  * include `{ temp: true }` to enable the `.clear()` method
298
348
  */
@@ -303,7 +353,7 @@ var Dir = class Dir {
303
353
  /**
304
354
  * @param path can be relative to workspace or absolute
305
355
  */
306
- constructor(inputPath, options = {}) {
356
+ constructor(inputPath = Format.date("ymd"), options = {}) {
307
357
  this.#inputPath = inputPath;
308
358
  this.isTemp = Boolean(options.temp);
309
359
  }
@@ -348,7 +398,7 @@ var Dir = class Dir {
348
398
  * const child = folder.dir('path/to/dir');
349
399
  * // child.path = '/path/to/cwd/example/path/to/dir'
350
400
  */
351
- dir(subPath, options = { temp: this.isTemp }) {
401
+ dir(subPath = Format.date("ymd"), options = { temp: this.isTemp }) {
352
402
  return new this.constructor(path.join(this.path, subPath), options);
353
403
  }
354
404
  /**
@@ -366,15 +416,15 @@ var Dir = class Dir {
366
416
  * @example
367
417
  * const folder = new Dir('example');
368
418
  * const filepath = folder.resolve('file.json');
369
- * // 'example/file.json'
419
+ * // '/path/to/example/file.json'
370
420
  */
371
421
  filepath(base) {
372
422
  return path.resolve(this.path, this.sanitize(base));
373
423
  }
374
424
  /**
375
- * Create a new file in this directory
425
+ * Create a new file in this directory. Filename defaults to `YYYYMMDD-HHMMSS` if not provided
376
426
  */
377
- file(base) {
427
+ file(base = Format.date("ymd-hms")) {
378
428
  return new File(this.filepath(base));
379
429
  }
380
430
  /**
@@ -440,7 +490,7 @@ var Dir = class Dir {
440
490
  /**
441
491
  * All files with ext ".txt"
442
492
  */
443
- get textFiles() {
493
+ get txtFiles() {
444
494
  return this.files.filter((f) => f.ext === ".txt");
445
495
  }
446
496
  /**
@@ -605,193 +655,92 @@ var Fetcher = class {
605
655
  };
606
656
 
607
657
  //#endregion
608
- //#region src/Format.ts
658
+ //#region src/Log.ts
609
659
  /**
610
- * Helpers for formatting dates, times, and numbers as strings
660
+ * Wrapper for [pino](https://github.com/pinojs/pino)
661
+ * Levels: fatal, error, warn, info, debug, trace
662
+ * Use `LOG_LEVL=info` to limit what's printed to console
663
+ * Use `Log.configure` to customize the pino instance
611
664
  */
612
- var Format = class {
613
- /**
614
- * date-fns format() with some shortcuts
615
- * @param formatStr the format to use
616
- * @param date the date to format, default `new Date()`
617
- * @example
618
- * Format.date('iso') // '2026-04-08T13:56:45Z'
619
- * Format.date('ymd') // '20260408'
620
- * Format.date('ymd-hm') // '20260408-1356'
621
- * Format.date('ymd-hms') // '20260408-135645'
622
- * Format.date('h:m:s') // '13:56:45'
623
- * @see more format options https://date-fns.org/v4.1.0/docs/format
624
- */
625
- static date(formatStr = "iso", d = /* @__PURE__ */ new Date()) {
626
- if (formatStr === "iso") return formatISO(d);
627
- if (formatStr === "ymd") return format(d, "yyyyMMdd");
628
- if (formatStr === "ymd-hm") return format(d, "yyyyMMdd-HHmm");
629
- if (formatStr === "ymd-hms") return format(d, "yyyyMMdd-HHmmss");
630
- if (formatStr === "h:m:s") return format(d, "HH:mm:ss");
631
- return format(d, formatStr);
632
- }
633
- /**
634
- * Round a number to a specific set of places
635
- */
636
- static round(n, places = 0) {
637
- return new Intl.NumberFormat("en-US", { maximumFractionDigits: places }).format(n);
638
- }
639
- static plural(amount, singular, multiple) {
640
- return amount === 1 ? `${amount} ${singular}` : `${amount} ${multiple || singular + "s"}`;
641
- }
642
- /**
643
- * Make millisecond durations actually readable (eg "123ms", "3.56s", "1m 34s", "3h 24m", "2d 4h")
644
- * @param ms milliseconds
645
- * @param style 'digital' to output as 'HH:MM:SS'
646
- * @see details on 'digital' format https://github.com/ungoldman/format-duration
647
- * @see waiting on `Intl.DurationFormat({ style: 'digital' })` types https://github.com/microsoft/TypeScript/issues/60608
648
- */
649
- static ms(ms, style) {
650
- if (style === "digital") return formatDuration(ms, { leading: true });
651
- if (ms < 1e3) return `${this.round(ms)}ms`;
652
- const s = ms / 1e3;
653
- if (s < 60) return `${this.round(s, 2)}s`;
654
- const m = Math.floor(s / 60);
655
- if (m < 60) return `${m}m ${Math.floor(s) % 60}s`;
656
- const h = Math.floor(m / 60);
657
- if (h < 24) return `${h}h ${m % 60}m`;
658
- return `${Math.floor(h / 24)}d ${h % 24}h`;
659
- }
660
- static bytes(b) {
661
- const labels = [
662
- "b",
663
- "KB",
664
- "MB",
665
- "GB",
666
- "TB"
667
- ];
668
- let factor = 0;
669
- while (b >= 1024 && labels[factor + 1]) {
670
- b = b / 1024;
671
- factor++;
672
- }
673
- return `${this.round(b, 2)} ${labels[factor]}`;
665
+ var Log = class Log {
666
+ static #logger;
667
+ static #options;
668
+ static createLogger() {
669
+ const isProduction = this.#options?.environment === "production" || process.env.NODE_ENV === "production";
670
+ return pino(merge({
671
+ level: process.env.LOG_LEVEL ?? (isProduction ? "info" : "debug"),
672
+ timestamp: pino.stdTimeFunctions.isoTime,
673
+ formatters: { level(label) {
674
+ return { level: label };
675
+ } },
676
+ transport: isProduction ? void 0 : {
677
+ target: "pino-pretty",
678
+ options: {
679
+ colorize: true,
680
+ singleLine: true,
681
+ ignore: "pid,hostname"
682
+ }
683
+ }
684
+ }, this.#options));
685
+ }
686
+ static configure(options = {}) {
687
+ this.#options = options;
688
+ this.#logger = this.createLogger();
689
+ }
690
+ static #getLogger() {
691
+ return this.#logger ??= this.createLogger();
692
+ }
693
+ static #write(level, message, details) {
694
+ if (details === void 0) Log.#getLogger()[level](message);
695
+ else Log.#getLogger()[level](details, message);
696
+ }
697
+ static trace(message, details) {
698
+ Log.#write("trace", message, details);
699
+ }
700
+ static debug(message, details) {
701
+ Log.#write("debug", message, details);
702
+ }
703
+ static info(message, details) {
704
+ Log.#write("info", message, details);
705
+ }
706
+ static warn(message, details) {
707
+ Log.#write("warn", message, details);
708
+ }
709
+ static error(message, details) {
710
+ Log.#write("error", message, details);
711
+ }
712
+ static fatal(message, details) {
713
+ Log.#write("fatal", message, details);
674
714
  }
675
715
  };
676
716
 
677
717
  //#endregion
678
- //#region src/Log.ts
679
- var Log = class Log {
680
- static getStack() {
681
- const details = { stack: "" };
682
- Error.captureStackTrace(details, Log.getStack);
683
- return details.stack.split("\n").map((l) => l.trim()).filter((l) => l !== "Error");
684
- }
685
- /**
686
- * Gcloud parses JSON in stdout
687
- */
688
- static #toGcloud(entry) {
689
- const details = entry.details?.length === 1 ? entry.details[0] : entry.details;
690
- const output = {
691
- ...entry,
692
- details,
693
- stack: entry.stack || this.getStack()
694
- };
695
- console.log(JSON.stringify(snapshot(output)));
696
- }
697
- /**
698
- * Includes colors and better inspection for logging during dev
699
- */
700
- static #toConsole(entry, color) {
701
- if (entry.message) console.log(color(`${Format.date("h:m:s")} [${entry.severity}] ${entry.message}`));
702
- entry.details?.forEach((detail) => {
703
- console.log(inspect(detail, {
704
- depth: 10,
705
- breakLength: 100,
706
- compact: true,
707
- colors: true
708
- }));
709
- });
710
- }
711
- static #log({ severity, color }, ...input) {
712
- const { message, details } = this.prepare(...input);
713
- const entry = {
714
- message,
715
- severity,
716
- details
717
- };
718
- if (process.env.K_SERVICE !== void 0 || process.env.CLOUD_RUN_JOB !== void 0) this.#toGcloud(entry);
719
- else this.#toConsole(entry, color);
720
- return entry;
721
- }
722
- /**
723
- * Handle first argument being a string or an object with a 'message' prop
724
- */
725
- static prepare(...input) {
726
- let [firstArg, ...rest] = input;
727
- if (typeof firstArg === "string") return {
728
- message: firstArg,
729
- details: rest
730
- };
731
- if (isObjectLike(firstArg) && typeof firstArg["message"] === "string") {
732
- const { message, ...firstDetails } = firstArg;
733
- return {
734
- message,
735
- details: [firstDetails, ...rest]
736
- };
737
- }
738
- return { details: input };
739
- }
740
- /**
741
- * Events that require action or attention immediately
742
- */
743
- static alert(...input) {
744
- return this.#log({
745
- severity: "ALERT",
746
- color: chalk.bgRed
747
- }, ...input);
748
- }
749
- /**
750
- * Events that cause problems
751
- */
752
- static error(...input) {
753
- return this.#log({
754
- severity: "ERROR",
755
- color: chalk.red
756
- }, ...input);
757
- }
758
- /**
759
- * Events that might cause problems
760
- */
761
- static warn(...input) {
762
- return this.#log({
763
- severity: "WARNING",
764
- color: chalk.yellow
765
- }, ...input);
766
- }
767
- /**
768
- * Normal but significant events, such as start up, shut down, or a configuration change
769
- */
770
- static notice(...input) {
771
- return this.#log({
772
- severity: "NOTICE",
773
- color: chalk.cyan
774
- }, ...input);
775
- }
776
- /**
777
- * Routine information, such as ongoing status or performance
778
- */
779
- static info(...input) {
780
- return this.#log({
781
- severity: "INFO",
782
- color: chalk.white
783
- }, ...input);
718
+ //#region src/snapshot.ts
719
+ /**
720
+ * @deprecated
721
+ * Allows special objects (Error, Headers, Set) to be included in JSON.stringify output. Functions are removed.
722
+ * ⚠️ This is bad! Only use it for debugging!
723
+ */
724
+ function snapshot(i, max = 50, depth = 0) {
725
+ if (Array.isArray(i)) {
726
+ if (depth === max) return [];
727
+ return i.map((c) => snapshot(c, max, depth + 1));
784
728
  }
785
- /**
786
- * Debug or trace information
787
- */
788
- static debug(...input) {
789
- return this.#log({
790
- severity: "DEBUG",
791
- color: chalk.gray
792
- }, ...input);
729
+ if (typeof i === "function") return void 0;
730
+ if (!isObjectLike(i)) return i;
731
+ if (depth === max) return {};
732
+ let output = {};
733
+ if (typeof i.entries === "function") {
734
+ for (let [k, v] of i.entries()) output[k] = snapshot(v, max, depth + 1);
735
+ return output;
793
736
  }
794
- };
737
+ const obj = i;
738
+ for (let key in obj) output[key] = snapshot(obj[key], max, depth + 1);
739
+ Object.getOwnPropertyNames(obj).forEach((key) => {
740
+ output[key] = snapshot(obj[key], max, depth + 1);
741
+ });
742
+ return output;
743
+ }
795
744
 
796
745
  //#endregion
797
746
  //#region src/timeout.ts
@@ -803,6 +752,14 @@ async function timeout(ms) {
803
752
 
804
753
  //#endregion
805
754
  //#region src/TypeWriter.ts
755
+ /**
756
+ * Wrapper for [quicktype-core](https://github.com/glideapps/quicktype)
757
+ * @example
758
+ * const group = new TypeWriter('Group');
759
+ * await types.addMember('Thing', [{ a: 1 }, { a: 2, b: 1 }]);
760
+ * await types.toFile();
761
+ * // type def for `Thing` saved in `types/Group.types.ts`
762
+ */
806
763
  var TypeWriter = class {
807
764
  moduleName;
808
765
  input = qt.jsonInputForTargetLanguage("typescript");