From cbde74b7ee22004489762fa82d42387fe55d0265 Mon Sep 17 00:00:00 2001 From: Danijel Martinek Date: Mon, 11 May 2026 16:16:44 +0200 Subject: [PATCH] feat(core-audit): package barrel exports Co-Authored-By: Claude Sonnet 4.6 --- .../core-audit/src/audit-logs-collection.test.ts | 4 ++-- packages/core-audit/src/di/bind-audit.test.ts | 13 +++++++------ packages/core-audit/src/di/bind-audit.ts | 5 +++-- packages/core-audit/src/index.ts | 9 +++++++++ .../core-audit/src/stdout-json-audit-log.test.ts | 3 ++- 5 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 packages/core-audit/src/index.ts diff --git a/packages/core-audit/src/audit-logs-collection.test.ts b/packages/core-audit/src/audit-logs-collection.test.ts index 9fffdac..cd105e1 100644 --- a/packages/core-audit/src/audit-logs-collection.test.ts +++ b/packages/core-audit/src/audit-logs-collection.test.ts @@ -7,8 +7,8 @@ describe("auditLogsCollection", () => { }); it("is append-only (update: () => false)", () => { - const access = auditLogsCollection.access as Record boolean>; - expect(access.update()).toBe(false); + const access = auditLogsCollection.access as Record boolean) | undefined>; + expect(access["update"]?.()).toBe(false); }); it("has the required fields", () => { diff --git a/packages/core-audit/src/di/bind-audit.test.ts b/packages/core-audit/src/di/bind-audit.test.ts index 620939d..c9dafb9 100644 --- a/packages/core-audit/src/di/bind-audit.test.ts +++ b/packages/core-audit/src/di/bind-audit.test.ts @@ -39,14 +39,15 @@ describe("bindAudit", () => { }); it("validates AUDIT_PSEUDONYM_SALT in production", () => { - const oldEnv = process.env.NODE_ENV; - const oldSalt = process.env.AUDIT_PSEUDONYM_SALT; - process.env.NODE_ENV = "production"; - delete process.env.AUDIT_PSEUDONYM_SALT; + const env = process.env as Record; + const oldEnv = env["NODE_ENV"]; + const oldSalt = env["AUDIT_PSEUDONYM_SALT"]; + env["NODE_ENV"] = "production"; + delete env["AUDIT_PSEUDONYM_SALT"]; expect(() => bindAudit(new Container(), { sinks: ["stdout"] })).toThrow( /AUDIT_PSEUDONYM_SALT/, ); - process.env.NODE_ENV = oldEnv; - if (oldSalt) process.env.AUDIT_PSEUDONYM_SALT = oldSalt; + env["NODE_ENV"] = oldEnv; + if (oldSalt) env["AUDIT_PSEUDONYM_SALT"] = oldSalt; }); }); diff --git a/packages/core-audit/src/di/bind-audit.ts b/packages/core-audit/src/di/bind-audit.ts index 4d3ddb8..590c101 100644 --- a/packages/core-audit/src/di/bind-audit.ts +++ b/packages/core-audit/src/di/bind-audit.ts @@ -1,6 +1,6 @@ import "reflect-metadata"; import type { Container } from "inversify"; -import { getPayload, type SanitizedConfig } from "payload"; +import { getPayload as _getPayload, type SanitizedConfig } from "payload"; import { NoopAuditLog } from "../noop-audit-log"; import { PayloadAuditLog } from "../payload-audit-log"; import { StdoutJsonAuditLog } from "../stdout-json-audit-log"; @@ -42,7 +42,8 @@ export function bindAudit( const sinkList = opts.sinks ?? ["payload", "stdout"]; const sinks: IAuditLog[] = []; if (sinkList.includes("payload") && opts.payloadConfig) { - sinks.push(new PayloadAuditLog(opts.payloadConfig, getPayload)); + // eslint-disable-next-line @typescript-eslint/no-explicit-any + sinks.push(new PayloadAuditLog(opts.payloadConfig, _getPayload as any)); } if (sinkList.includes("stdout")) { sinks.push(new StdoutJsonAuditLog()); diff --git a/packages/core-audit/src/index.ts b/packages/core-audit/src/index.ts new file mode 100644 index 0000000..61e6656 --- /dev/null +++ b/packages/core-audit/src/index.ts @@ -0,0 +1,9 @@ +export type { IAuditLog } from "./audit-log.interface"; +export type { AuditEntry, AuditAction, AuditFrom } from "@repo/core-shared/audit"; +export { NoopAuditLog } from "./noop-audit-log"; +export { StdoutJsonAuditLog } from "./stdout-json-audit-log"; +export { PayloadAuditLog } from "./payload-audit-log"; +export { MultiSinkAuditLog } from "./multi-sink-audit-log"; +export { auditLogsCollection } from "./audit-logs-collection"; +export { bindAudit, type BindAuditOpts } from "./di/bind-audit"; +export { AUDIT_SYMBOLS } from "./di/symbols"; diff --git a/packages/core-audit/src/stdout-json-audit-log.test.ts b/packages/core-audit/src/stdout-json-audit-log.test.ts index 977138b..81e32ad 100644 --- a/packages/core-audit/src/stdout-json-audit-log.test.ts +++ b/packages/core-audit/src/stdout-json-audit-log.test.ts @@ -16,7 +16,8 @@ const sample: AuditEntry = { }; describe("StdoutJsonAuditLog", () => { - let writeSpy: ReturnType; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + let writeSpy: ReturnType>; beforeEach(() => { writeSpy = vi.spyOn(process.stdout, "write").mockImplementation(() => true); });