diff --git a/package.json b/package.json index 772d44d..fb2dba2 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,6 @@ "build": "bsm", "clean": "bsm", "format": "bsm", - "postinstall": "bsm", "lint": "bsm", "prepublishOnly": "bsm build", "semantic-release": "semantic-release", diff --git a/package.scripts.js b/package.scripts.js index 319c991..7ff339c 100644 --- a/package.scripts.js +++ b/package.scripts.js @@ -2,7 +2,11 @@ module.exports = { scripts: { - build: ["bsm clean", "tsc --project tsconfig.build.json"], + build: [ + "ts-patch install", + "bsm clean", + "tsc --project tsconfig.build.json", + ], clean: "rimraf ./lib", format: { _default: "bsm ~.*", @@ -16,7 +20,6 @@ module.exports = { prettier: "prettier -c .", typescript: "tsc --noEmit", }, - postinstall: ["ts-patch install"], test: { $env: "file:.env", _ci: "jest --runInBand --forceExit --detectOpenHandles", diff --git a/src/AxiosHttpHandler.ts b/src/AxiosHttpHandler.ts index c7af320..042a4c5 100644 --- a/src/AxiosHttpHandler.ts +++ b/src/AxiosHttpHandler.ts @@ -1,7 +1,6 @@ import axios, { Axios, AxiosRequestConfig, AxiosResponse } from "axios"; -import debug from "debug"; import { HttpHandler } from "~/HttpHandler"; -import { PrintOneOptions } from "~/PrintOne"; +import { PrintOneDebugger, PrintOneOptions } from "~/PrintOne"; export class AxiosHTTPHandler extends HttpHandler< AxiosRequestConfig, @@ -12,7 +11,7 @@ export class AxiosHTTPHandler extends HttpHandler< constructor( token: string, options: Required, - debug: debug.Debugger, + debug: PrintOneDebugger, ) { super(token, options, debug); this.client = axios.create({ diff --git a/src/HttpHandler.ts b/src/HttpHandler.ts index 5d11e98..845829f 100644 --- a/src/HttpHandler.ts +++ b/src/HttpHandler.ts @@ -1,14 +1,13 @@ -import debug from "debug"; import { PrintOneError } from "~/errors/PrintOneError"; -import { PrintOneOptions } from "~/PrintOne"; +import { PrintOneDebugger, PrintOneOptions } from "~/PrintOne"; export abstract class HttpHandler { - protected readonly debug: debug.Debugger; + protected readonly debug: PrintOneDebugger; constructor( token: string, protected readonly options: Required, - debug: debug.Debugger, + debug: PrintOneDebugger, ) { // We require these, so each extended class has type-safe auto-fill token; diff --git a/src/PrintOne.ts b/src/PrintOne.ts index cc52d0a..2e0d9be 100644 --- a/src/PrintOne.ts +++ b/src/PrintOne.ts @@ -37,7 +37,7 @@ import * as crypto from "crypto"; export type RequestHandler = new ( token: string, options: Required, - debug: debug.Debugger, + debug: PrintOneDebugger, ) => HttpHandler<{ headers: Record }, unknown>; export type PrintOneOptions = Partial<{ url: string; @@ -53,10 +53,12 @@ const DEFAULT_OPTIONS: Required = { client: AxiosHTTPHandler, }; +export type PrintOneDebugger = (formatter: unknown, ...args: unknown[]) => void; + export type Protected = { client: HttpHandler; options: Required; - debug: debug.Debugger; + debug: PrintOneDebugger; printOne: PrintOne; }; @@ -94,7 +96,7 @@ export class PrintOne { return this.protected.client; } - protected get debug(): debug.Debugger { + protected get debug(): PrintOneDebugger { return this.protected.debug; }