From 705014eb54df2fe53d81ddd9110dca087257e089 Mon Sep 17 00:00:00 2001 From: Mateusz Bocian Date: Tue, 10 Jun 2025 09:49:34 -0400 Subject: [PATCH] fix: remove deprecated micro-api-client --- package-lock.json | 7 ------ packages/js-client/package.json | 1 - packages/js-client/src/index.test.ts | 2 +- packages/js-client/src/methods/response.js | 29 ++++++++++++++++++++-- 4 files changed, 28 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index faf7630644..606da171b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17137,12 +17137,6 @@ "node": ">= 8" } }, - "node_modules/micro-api-client": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/micro-api-client/-/micro-api-client-3.3.0.tgz", - "integrity": "sha512-y0y6CUB9RLVsy3kfgayU28746QrNMpSm9O/AYGNsBgOkJr/X/Jk0VLGoO8Ude7Bpa8adywzF+MzXNZRFRsNPhg==", - "license": "ISC" - }, "node_modules/micro-memoize": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.1.3.tgz", @@ -28741,7 +28735,6 @@ "dependencies": { "@netlify/open-api": "^2.37.0", "lodash-es": "^4.17.21", - "micro-api-client": "^3.3.0", "node-fetch": "^3.0.0", "p-wait-for": "^5.0.0", "qs": "^6.9.6" diff --git a/packages/js-client/package.json b/packages/js-client/package.json index fd88ae7c66..f54da4421e 100644 --- a/packages/js-client/package.json +++ b/packages/js-client/package.json @@ -43,7 +43,6 @@ "dependencies": { "@netlify/open-api": "^2.37.0", "lodash-es": "^4.17.21", - "micro-api-client": "^3.3.0", "node-fetch": "^3.0.0", "p-wait-for": "^5.0.0", "qs": "^6.9.6" diff --git a/packages/js-client/src/index.test.ts b/packages/js-client/src/index.test.ts index dab39aca35..a9393108c3 100644 --- a/packages/js-client/src/index.test.ts +++ b/packages/js-client/src/index.test.ts @@ -2,11 +2,11 @@ import http from 'http' import test from 'ava' import fromString from 'from2-string' -import { TextHTTPError, JSONHTTPError } from 'micro-api-client' import nock from 'nock' import { v4 as uuidv4 } from 'uuid' import { NetlifyAPI } from '../lib/index.js' +import { TextHTTPError, JSONHTTPError } from '../lib/methods/response.js' const scheme = 'http' const domain = 'localhost' diff --git a/packages/js-client/src/methods/response.js b/packages/js-client/src/methods/response.js index 5316c46aa0..2244a9956d 100644 --- a/packages/js-client/src/methods/response.js +++ b/packages/js-client/src/methods/response.js @@ -1,7 +1,32 @@ -import { JSONHTTPError, TextHTTPError } from 'micro-api-client' - import omit from '../omit.js' +export class HTTPError extends Error { + constructor(response) { + super(response.statusText) + this.name = this.constructor.name + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(this, this.constructor) + } else { + this.stack = new Error(response.statusText).stack + } + this.status = response.status + } +} + +export class TextHTTPError extends HTTPError { + constructor(response, data) { + super(response) + this.data = data + } +} + +export class JSONHTTPError extends HTTPError { + constructor(response, json) { + super(response) + this.json = json + } +} + // Read and parse the HTTP response export const parseResponse = async function (response) { const responseType = getResponseType(response)