From 66b6cfc57169fef31f708f55a05e07d1ce18559c Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 27 Mar 2023 13:22:26 +0200 Subject: [PATCH] rollbar-backend: replace camelcase-keys Signed-off-by: Patrik Oldsberg --- .changeset/flat-ways-compete.md | 5 ++++ plugins/rollbar-backend/package.json | 2 +- plugins/rollbar-backend/src/api/RollbarApi.ts | 15 ++++++----- yarn.lock | 25 ++++++++----------- 4 files changed, 25 insertions(+), 22 deletions(-) create mode 100644 .changeset/flat-ways-compete.md diff --git a/.changeset/flat-ways-compete.md b/.changeset/flat-ways-compete.md new file mode 100644 index 0000000000..75521ce4f6 --- /dev/null +++ b/.changeset/flat-ways-compete.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-rollbar-backend': patch +--- + +Replace `camelcase-keys` dependency with one with better compatibility. diff --git a/plugins/rollbar-backend/package.json b/plugins/rollbar-backend/package.json index 6f3d5fd061..eb854f27ec 100644 --- a/plugins/rollbar-backend/package.json +++ b/plugins/rollbar-backend/package.json @@ -36,7 +36,7 @@ "@backstage/backend-common": "workspace:^", "@backstage/config": "workspace:^", "@types/express": "^4.17.6", - "camelcase-keys": "^7.0.1", + "camelize-ts": "^2.3.0", "compression": "^1.7.4", "cors": "^2.8.5", "express": "^4.17.1", diff --git a/plugins/rollbar-backend/src/api/RollbarApi.ts b/plugins/rollbar-backend/src/api/RollbarApi.ts index 6bbf25eb8e..da620fcafc 100644 --- a/plugins/rollbar-backend/src/api/RollbarApi.ts +++ b/plugins/rollbar-backend/src/api/RollbarApi.ts @@ -15,7 +15,7 @@ */ import { Logger } from 'winston'; -import camelcaseKeys from 'camelcase-keys'; +import camelize from 'camelize-ts'; import { buildQuery } from '../util'; import { RollbarItemCount, @@ -104,19 +104,22 @@ export class RollbarApi { ); } - private async get(url: string, accessToken?: string) { + private async get( + url: string, + accessToken?: string, + ): Promise { const fullUrl = buildUrl(url); if (this.logger) { this.logger.info(`Calling Rollbar REST API, ${fullUrl}`); } - return fetch( + const res = await fetch( fullUrl, getRequestHeaders(accessToken || this.accessToken || ''), - ) - .then(response => response.json()) - .then(json => camelcaseKeys(json?.result, { deep: true })); + ); + const data = await res.json(); + return camelize(data?.result) as T; } private async getForProject( diff --git a/yarn.lock b/yarn.lock index a85947687d..6797a1eed1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7825,7 +7825,7 @@ __metadata: "@backstage/config": "workspace:^" "@types/express": ^4.17.6 "@types/supertest": ^2.0.8 - camelcase-keys: ^7.0.1 + camelize-ts: ^2.3.0 compression: ^1.7.4 cors: ^2.8.5 express: ^4.17.1 @@ -19232,18 +19232,6 @@ __metadata: languageName: node linkType: hard -"camelcase-keys@npm:^7.0.1": - version: 7.0.2 - resolution: "camelcase-keys@npm:7.0.2" - dependencies: - camelcase: ^6.3.0 - map-obj: ^4.1.0 - quick-lru: ^5.1.1 - type-fest: ^1.2.1 - checksum: b5821cc48dd00e8398a30c5d6547f06837ab44de123f1b3a603d0a03399722b2fc67a485a7e47106eb02ef543c3b50c5ebaabc1242cde4b63a267c3258d2365b - languageName: node - linkType: hard - "camelcase@npm:5.0.0": version: 5.0.0 resolution: "camelcase@npm:5.0.0" @@ -19265,13 +19253,20 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^6.2.0, camelcase@npm:^6.3.0": +"camelcase@npm:^6.2.0": version: 6.3.0 resolution: "camelcase@npm:6.3.0" checksum: 8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d languageName: node linkType: hard +"camelize-ts@npm:^2.3.0": + version: 2.3.0 + resolution: "camelize-ts@npm:2.3.0" + checksum: 0f33c65468cc0883128bb15df96f244b21b94aa80094b358bda5a07db28b1f6e79fddb96b5af57cd754c6c8e07dc40ad2cb0d73b79b2ad584683babc57675ea6 + languageName: node + linkType: hard + "camelize@npm:^1.0.0": version: 1.0.0 resolution: "camelize@npm:1.0.0" @@ -29710,7 +29705,7 @@ __metadata: languageName: node linkType: hard -"map-obj@npm:^4.0.0, map-obj@npm:^4.1.0": +"map-obj@npm:^4.0.0": version: 4.3.0 resolution: "map-obj@npm:4.3.0" checksum: fbc554934d1a27a1910e842bc87b177b1a556609dd803747c85ece420692380827c6ae94a95cce4407c054fa0964be3bf8226f7f2cb2e9eeee432c7c1985684e