@bgord/bun 1.4.7 → 1.4.9

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":"healthcheck.service.d.ts","sourceRoot":"","sources":["../src/healthcheck.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AAcnD,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,cAAc,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAEjG,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,GAAI,eAAe,OAAO,CAAC,YAAY,EAAE,EAAE,MAAM,YAAY;YAXrE,OAAO,CAAC,sBAAsB;iBACzB,MAAM;;mBACG,OAAO,CAAC,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;mCAZhC,2BAA2B;wBAaiB,KAAK,CAAC,cAAc;;;mBAC9D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;uBAAa,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;oBACrE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;6BAuC3B;CACN"}
1
+ {"version":3,"file":"healthcheck.service.d.ts","sourceRoot":"","sources":["../src/healthcheck.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AAcnD,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,cAAc,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAEjG,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,GAAI,eAAe,OAAO,CAAC,YAAY,EAAE,EAAE,MAAM,YAAY;YAXrE,OAAO,CAAC,sBAAsB;iBACzB,MAAM;;mBACG,OAAO,CAAC,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;mCAbhC,2BAA2B;wBAciB,KAAK,CAAC,cAAc;;;mBAC9D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;uBAAa,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;oBACrE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;6BAyC3B;CACN"}
@@ -2,6 +2,7 @@ import * as tools from "@bgord/tools";
2
2
  import { createFactory } from "hono/factory";
3
3
  import { BuildInfoRepository } from "./build-info-repository.service";
4
4
  import { MemoryConsumption } from "./memory-consumption.service";
5
+ import { PrerequisiteSelf } from "./prerequisites/self";
5
6
  import * as prereqs from "./prerequisites.service";
6
7
  import { Uptime } from "./uptime.service";
7
8
  const handler = createFactory();
@@ -10,7 +11,7 @@ export class Healthcheck {
10
11
  const stopwatch = new tools.Stopwatch(deps.Clock.now());
11
12
  const buildInfo = await BuildInfoRepository.extract(deps);
12
13
  const details = [];
13
- for (const prerequisite of prerequisites) {
14
+ for (const prerequisite of [new PrerequisiteSelf({ label: "self" }), ...prerequisites].filter((prerequisite) => prerequisite.kind !== "port")) {
14
15
  details.push({ label: prerequisite.label, outcome: await prerequisite.verify(deps.Clock) });
15
16
  }
16
17
  const ok = details.every((result) => result.outcome.status !== prereqs.PrerequisiteStatusEnum.failure)
@@ -1 +1 @@
1
- {"version":3,"file":"healthcheck.service.js","sourceRoot":"","sources":["../src/healthcheck.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAItE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAyB,MAAM,kBAAkB,CAAC;AAEjE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAahC,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,KAAK,GAAG,CAAC,aAAqC,EAAE,IAAkB,EAAE,EAAE,CAC3E,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAExD,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1D,MAAM,OAAO,GAA+C,EAAE,CAAC;QAE/D,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;YACpG,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO;YACxC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;QAE3C,MAAM,IAAI,GAAG,EAAE,KAAK,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEvE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,MAAM,GAA0B;YACpC,EAAE;YACF,OAAO;YACP,OAAO,EAAE,SAAS,CAAC,aAAa,IAAI,SAAS;YAC7C,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;YACvE,MAAM,EAAE;gBACN,KAAK,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBACxC,SAAS,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aAC9D;YACD,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE;SAChC,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"healthcheck.service.js","sourceRoot":"","sources":["../src/healthcheck.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAItE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAyB,MAAM,kBAAkB,CAAC;AAEjE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAahC,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,KAAK,GAAG,CAAC,aAAqC,EAAE,IAAkB,EAAE,EAAE,CAC3E,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAExD,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1D,MAAM,OAAO,GAA+C,EAAE,CAAC;QAE/D,KAAK,MAAM,YAAY,IAAI,CAAC,IAAI,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,MAAM,CAC3F,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,KAAK,MAAM,CAC/C,EAAE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;YACpG,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO;YACxC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;QAE3C,MAAM,IAAI,GAAG,EAAE,KAAK,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEvE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtC,MAAM,MAAM,GAA0B;YACpC,EAAE;YACF,OAAO;YACP,OAAO,EAAE,SAAS,CAAC,aAAa,IAAI,SAAS;YAC7C,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;YACvE,MAAM,EAAE;gBACN,KAAK,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBACxC,SAAS,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aAC9D;YACD,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE;SAChC,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC"}
@@ -12,7 +12,7 @@ export class LoggerWinstonLocalAdapter {
12
12
  environment: NodeEnvironmentEnum.local,
13
13
  level,
14
14
  redactor: this.config.redactor,
15
- formats: [winston.format.prettyPrint()],
15
+ formats: [winston.format.colorize({ all: true }), winston.format.prettyPrint()],
16
16
  filePath: null,
17
17
  });
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger-winston-local.adapter.js","sourceRoot":"","sources":["../src/logger-winston-local.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAKpD,MAAM,OAAO,yBAAyB;IACP;IAA7B,YAA6B,MAA2C;QAA3C,WAAM,GAAN,MAAM,CAAqC;IAAG,CAAC;IAE5E,MAAM,CAAC,KAAmB;QACxB,OAAO,IAAI,oBAAoB,CAAC;YAC9B,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;YACpB,WAAW,EAAE,mBAAmB,CAAC,KAAK;YACtC,KAAK;YACL,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACvC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"logger-winston-local.adapter.js","sourceRoot":"","sources":["../src/logger-winston-local.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAKpD,MAAM,OAAO,yBAAyB;IACP;IAA7B,YAA6B,MAA2C;QAA3C,WAAM,GAAN,MAAM,CAAqC;IAAG,CAAC;IAE5E,MAAM,CAAC,KAAmB;QACxB,OAAO,IAAI,oBAAoB,CAAC;YAC9B,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;YACpB,WAAW,EAAE,mBAAmB,CAAC,KAAK;YACtC,KAAK;YACL,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/E,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -4,7 +4,7 @@ export class LoggerWinstonAdapter {
4
4
  logger;
5
5
  filePath;
6
6
  constructor(options) {
7
- const format = winston.format.combine(winston.format((info) => options.redactor.redact(info))(), winston.format.errors({ stack: true }), winston.format.timestamp(), winston.format.json(), ...(options.formats ?? []));
7
+ const format = winston.format.combine(winston.format((log) => options.redactor.redact(log))(), winston.format.errors({ stack: true }), winston.format.timestamp(), winston.format.json(), ...(options.formats ?? []));
8
8
  this.logger = winston.createLogger({
9
9
  levels: winston.config.npm.levels,
10
10
  level: options.level,
@@ -1 +1 @@
1
- {"version":3,"file":"logger-winston.adapter.js","sourceRoot":"","sources":["../src/logger-winston.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger-winston.adapter.js","sourceRoot":"","sources":["../src/logger-winston.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAoC,YAAY,EAAE,MAAM,eAAe,CAAC;AAc/E,MAAM,OAAO,oBAAoB;IACd,MAAM,CAAiB;IAEvB,QAAQ,CAAgC;IAEzD,YAAY,OAA6B;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CACnC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EACvD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACtC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EACrB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAC3B,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;YACjC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM;YACjC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE;YACnE,gBAAgB,EAAE,IAAI;YACtB,gBAAgB,EAAE,IAAI;YACtB,MAAM;YACN,UAAU,EAAE,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;SAC9E,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED,IAAI,GAAuB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IAC1F,KAAK,GAAwB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IAC7F,IAAI,GAAuB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IAC1F,IAAI,GAAuB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IAC1F,OAAO,GAA0B,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IACnG,KAAK,GAAwB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IAC7F,KAAK,GAAwB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IAE7F,SAAS,GAA4B,CAAC,MAAM,EAAE,EAAE;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAC9B,CAAC,CAAC;IAEF,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}