diff --git a/package-lock.json b/package-lock.json index 34611f2..ff39413 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@rocicorp/logger", - "version": "4.1.0", + "version": "5.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@rocicorp/logger", - "version": "4.1.0", + "version": "5.1.0", "license": "Apache-2.0", "devDependencies": { "@types/chai": "^4.3.0", @@ -19,10 +19,7 @@ "mocha": "^9.2.2", "prettier": "^2.6.0", "sinon": "^13.0.1", - "typescript": "^4.6.2" - }, - "engines": { - "node": "^14.13.1 || >=16.0.0" + "typescript": "^5.1.3" } }, "node_modules/@eslint/eslintrc": { @@ -2146,16 +2143,16 @@ } }, "node_modules/typescript": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz", - "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/uri-js": { @@ -3815,9 +3812,9 @@ "dev": true }, "typescript": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz", - "integrity": "sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", "dev": true }, "uri-js": { diff --git a/package.json b/package.json index d1f7ecc..ccb1c97 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,6 @@ "version": "5.1.0", "repository": "github:rocicorp/logger", "license": "Apache-2.0", - "engines": { - "node": "^14.13.1 || >=16.0.0" - }, "scripts": { "test": "mocha --ui=tdd out/*.test.js", "pretest": "npm run build", @@ -27,7 +24,7 @@ "mocha": "^9.2.2", "prettier": "^2.6.0", "sinon": "^13.0.1", - "typescript": "^4.6.2" + "typescript": "^5.1.3" }, "type": "module", "types": "out/logger.d.ts", diff --git a/src/logger.ts b/src/logger.ts index 417b2cd..76c22bb 100644 --- a/src/logger.ts +++ b/src/logger.ts @@ -6,10 +6,10 @@ * only [[error]] will be present. */ export interface OptionalLogger { - error?(...args: unknown[]): void; - info?(...args: unknown[]): void; - debug?(...args: unknown[]): void; - flush?(): Promise; + error?: ((...args: unknown[]) => void) | undefined; + info?: ((...args: unknown[]) => void) | undefined; + debug?: ((...args: unknown[]) => void) | undefined; + flush?: (() => Promise) | undefined; } /** @@ -57,9 +57,9 @@ export class TeeLogSink implements LogSink { } export class OptionalLoggerImpl implements OptionalLogger { - readonly debug?: (...args: unknown[]) => void = undefined; - readonly info?: (...args: unknown[]) => void = undefined; - readonly error?: (...args: unknown[]) => void = undefined; + readonly debug?: ((...args: unknown[]) => void) | undefined = undefined; + readonly info?: ((...args: unknown[]) => void) | undefined = undefined; + readonly error?: ((...args: unknown[]) => void) | undefined = undefined; readonly flush: () => Promise; constructor(logSink: LogSink, level: LogLevel = 'info', context?: Context) { diff --git a/tsconfig.json b/tsconfig.json index a289d59..3060ecd 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,12 +9,10 @@ "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, "esModuleInterop": true, - - "importsNotUsedAsValues": "error", - + "exactOptionalPropertyTypes": true, "declaration": true, "forceConsistentCasingInFileNames": true, - "moduleResolution": "node", + "moduleResolution": "node16", "outDir": "out", "allowJs": true, // esnext for Object.fromEntries