From 73ab069f5e3e1020f658d5a5d0b9f1558f6b0100 Mon Sep 17 00:00:00 2001 From: Connor Younglund Date: Tue, 29 Nov 2022 13:47:04 -0500 Subject: [PATCH 01/17] update Stack Overflow plugin to support API Access Token Signed-off-by: Connor Younglund --- plugins/stack-overflow-backend/README.md | 1 + .../search/StackOverflowQuestionsCollatorFactory.ts | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/plugins/stack-overflow-backend/README.md b/plugins/stack-overflow-backend/README.md index a35a6678cb..65fa50e062 100644 --- a/plugins/stack-overflow-backend/README.md +++ b/plugins/stack-overflow-backend/README.md @@ -23,6 +23,7 @@ If you have a private stack overflow instance you will need to supply an API key stackoverflow: baseUrl: https://api.stackexchange.com/2.2 # alternative: your internal stack overflow instance apiKey: $STACK_OVERFLOW_API_KEY + apiAccessToken: $STACK_OVERFLOW_API_ACCESS_TOKEN ``` ## Areas of Responsibility diff --git a/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts b/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts index 1aa0e5d300..68aa83cdeb 100644 --- a/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts +++ b/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts @@ -52,6 +52,7 @@ export type StackOverflowQuestionsCollatorFactoryOptions = { baseUrl?: string; maxPage?: number; apiKey?: string; + apiAccessToken?: string; requestParams: StackOverflowQuestionsRequestParams; logger: Logger; }; @@ -67,6 +68,7 @@ export class StackOverflowQuestionsCollatorFactory protected requestParams: StackOverflowQuestionsRequestParams; private readonly baseUrl: string | undefined; private readonly apiKey: string | undefined; + private readonly apiAccessToken: string | undefined; private readonly maxPage: number | undefined; private readonly logger: Logger; public readonly type: string = 'stack-overflow'; @@ -74,6 +76,7 @@ export class StackOverflowQuestionsCollatorFactory private constructor(options: StackOverflowQuestionsCollatorFactoryOptions) { this.baseUrl = options.baseUrl; this.apiKey = options.apiKey; + this.apiAccessToken = options.apiAccessToken; this.maxPage = options.maxPage; this.requestParams = options.requestParams; this.logger = options.logger.child({ documentType: this.type }); @@ -84,6 +87,7 @@ export class StackOverflowQuestionsCollatorFactory options: StackOverflowQuestionsCollatorFactoryOptions, ) { const apiKey = config.getOptionalString('stackoverflow.apiKey'); + const apiAccessToken = config.getOptionalString('stackoverflow.apiAccessToken'); const baseUrl = config.getOptionalString('stackoverflow.baseUrl') || 'https://api.stackexchange.com/2.2'; @@ -93,6 +97,7 @@ export class StackOverflowQuestionsCollatorFactory baseUrl, maxPage, apiKey, + apiAccessToken, }); } @@ -138,6 +143,11 @@ export class StackOverflowQuestionsCollatorFactory } const res = await fetch( `${this.baseUrl}/questions${params}${apiKeyParam}&page=${page}`, + this.apiAccessToken ? { + headers: { + 'X-API-Access-Token': this.apiAccessToken, + }, + } : undefined, ); const data = await res.json(); From fd0ca6f447ecfc58855d90c7a90682568662d57f Mon Sep 17 00:00:00 2001 From: Connor Younglund Date: Tue, 29 Nov 2022 13:58:51 -0500 Subject: [PATCH 02/17] add changeset Signed-off-by: Connor Younglund --- .changeset/short-turtles-dream.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/short-turtles-dream.md diff --git a/.changeset/short-turtles-dream.md b/.changeset/short-turtles-dream.md new file mode 100644 index 0000000000..9192f9137c --- /dev/null +++ b/.changeset/short-turtles-dream.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-stack-overflow-backend': minor +--- + +Added option to supply API Access Token From ea857549b53fb065ae5ab772fbde40e5f8b24d4a Mon Sep 17 00:00:00 2001 From: Connor Younglund Date: Tue, 29 Nov 2022 14:18:23 -0500 Subject: [PATCH 03/17] format with Prettier Signed-off-by: Connor Younglund --- .../StackOverflowQuestionsCollatorFactory.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts b/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts index 68aa83cdeb..ebbad99d0a 100644 --- a/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts +++ b/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts @@ -87,7 +87,9 @@ export class StackOverflowQuestionsCollatorFactory options: StackOverflowQuestionsCollatorFactoryOptions, ) { const apiKey = config.getOptionalString('stackoverflow.apiKey'); - const apiAccessToken = config.getOptionalString('stackoverflow.apiAccessToken'); + const apiAccessToken = config.getOptionalString( + 'stackoverflow.apiAccessToken', + ); const baseUrl = config.getOptionalString('stackoverflow.baseUrl') || 'https://api.stackexchange.com/2.2'; @@ -143,11 +145,13 @@ export class StackOverflowQuestionsCollatorFactory } const res = await fetch( `${this.baseUrl}/questions${params}${apiKeyParam}&page=${page}`, - this.apiAccessToken ? { - headers: { - 'X-API-Access-Token': this.apiAccessToken, - }, - } : undefined, + this.apiAccessToken + ? { + headers: { + 'X-API-Access-Token': this.apiAccessToken, + }, + } + : undefined, ); const data = await res.json(); From 6756292c2499ea6de1f96dffba442c056120bd92 Mon Sep 17 00:00:00 2001 From: Connor Younglund Date: Tue, 29 Nov 2022 14:52:42 -0500 Subject: [PATCH 04/17] generate updated api-report.md Signed-off-by: Connor Younglund --- plugins/stack-overflow-backend/api-report.md | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/stack-overflow-backend/api-report.md b/plugins/stack-overflow-backend/api-report.md index 11bfbaadc9..f6c7530de9 100644 --- a/plugins/stack-overflow-backend/api-report.md +++ b/plugins/stack-overflow-backend/api-report.md @@ -43,6 +43,7 @@ export type StackOverflowQuestionsCollatorFactoryOptions = { baseUrl?: string; maxPage?: number; apiKey?: string; + apiAccessToken?: string; requestParams: StackOverflowQuestionsRequestParams; logger: Logger; }; From 568ae0246395903aee525628c2f9b05f25ce5e39 Mon Sep 17 00:00:00 2001 From: Casper Thygesen Date: Thu, 1 Dec 2022 10:33:59 +0000 Subject: [PATCH 05/17] Added (optional) publicUrl to vault-backend plugin Signed-off-by: Casper Thygesen --- .changeset/loud-snails-sleep.md | 5 +++++ plugins/vault-backend/README.md | 3 ++- plugins/vault-backend/config.d.ts | 6 ++++++ plugins/vault-backend/src/config/config.ts | 5 +++++ plugins/vault-backend/src/service/vaultApi.ts | 6 ++++-- 5 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 .changeset/loud-snails-sleep.md diff --git a/.changeset/loud-snails-sleep.md b/.changeset/loud-snails-sleep.md new file mode 100644 index 0000000000..a34388e5aa --- /dev/null +++ b/.changeset/loud-snails-sleep.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-vault-backend': patch +--- + +Added (optional) publicUrl to editUrl and showUrl in case baseUrl is an internal url diff --git a/plugins/vault-backend/README.md b/plugins/vault-backend/README.md index d7d227607d..c1b49f623a 100644 --- a/plugins/vault-backend/README.md +++ b/plugins/vault-backend/README.md @@ -63,7 +63,8 @@ To get started, first you need a running instance of Vault. You can follow [this ```yaml vault: - baseUrl: http://your-vault-url + baseUrl: http://your-internal-vault-url.svc + publicUrl: https://your-vault-url.example.com token: secretEngine: 'customSecretEngine' # Optional. By default it uses 'secrets' kvVersion: # Optional. The K/V version that your instance is using. The available options are '1' or '2' diff --git a/plugins/vault-backend/config.d.ts b/plugins/vault-backend/config.d.ts index c7aac4db9d..a30999b0cb 100644 --- a/plugins/vault-backend/config.d.ts +++ b/plugins/vault-backend/config.d.ts @@ -23,6 +23,12 @@ export interface Config { */ baseUrl: string; + /** + * The publicUrl for your Vault instance (Optional). + * @visibility frontend + */ + publicUrl?: string; + /** * The token used by Backstage to access Vault. * @visibility secret diff --git a/plugins/vault-backend/src/config/config.ts b/plugins/vault-backend/src/config/config.ts index 4920c73fed..9eed497a48 100644 --- a/plugins/vault-backend/src/config/config.ts +++ b/plugins/vault-backend/src/config/config.ts @@ -27,6 +27,11 @@ export interface VaultConfig { */ baseUrl: string; + /** + * The publicUrl for your Vault instance (Optional). + */ + publicUrl?: string; + /** * The token used by Backstage to access Vault. */ diff --git a/plugins/vault-backend/src/service/vaultApi.ts b/plugins/vault-backend/src/service/vaultApi.ts index ea588964dc..7510ff218e 100644 --- a/plugins/vault-backend/src/service/vaultApi.ts +++ b/plugins/vault-backend/src/service/vaultApi.ts @@ -135,11 +135,13 @@ export class VaultClient implements VaultApi { )), ); } else { + const vaultUrl = + this.vaultConfig.publicUrl || this.vaultConfig.baseUrl; secrets.push({ name: secret, path: secretPath, - editUrl: `${this.vaultConfig.baseUrl}/ui/vault/secrets/${this.vaultConfig.secretEngine}/edit/${secretPath}/${secret}`, - showUrl: `${this.vaultConfig.baseUrl}/ui/vault/secrets/${this.vaultConfig.secretEngine}/show/${secretPath}/${secret}`, + editUrl: `${vaultUrl}/ui/vault/secrets/${this.vaultConfig.secretEngine}/edit/${secretPath}/${secret}`, + showUrl: `${vaultUrl}/ui/vault/secrets/${this.vaultConfig.secretEngine}/show/${secretPath}/${secret}`, }); } }), From 8b5367dc0f4c8f21fad7fd2f952d24c1856a6bef Mon Sep 17 00:00:00 2001 From: Casper Thygesen Date: Thu, 1 Dec 2022 10:50:32 +0000 Subject: [PATCH 06/17] yarn run lint:docs Signed-off-by: Casper Thygesen --- .changeset/loud-snails-sleep.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/loud-snails-sleep.md b/.changeset/loud-snails-sleep.md index a34388e5aa..da51a39ce4 100644 --- a/.changeset/loud-snails-sleep.md +++ b/.changeset/loud-snails-sleep.md @@ -2,4 +2,4 @@ '@backstage/plugin-vault-backend': patch --- -Added (optional) publicUrl to editUrl and showUrl in case baseUrl is an internal url +Added (optional) public link option to entity vault card in case base link is internal From dccc1b99d1082d70c4a42b656081bea93763d5e2 Mon Sep 17 00:00:00 2001 From: Casper Thygesen Date: Thu, 1 Dec 2022 11:43:55 +0000 Subject: [PATCH 07/17] improved patch notes Signed-off-by: Casper Thygesen --- .changeset/loud-snails-sleep.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/loud-snails-sleep.md b/.changeset/loud-snails-sleep.md index da51a39ce4..d72c1a22b4 100644 --- a/.changeset/loud-snails-sleep.md +++ b/.changeset/loud-snails-sleep.md @@ -2,4 +2,4 @@ '@backstage/plugin-vault-backend': patch --- -Added (optional) public link option to entity vault card in case base link is internal +Added (optional) config `vault.publicUrl` as alternative to `vault.baseUrl` for `editUrl` and `showUrl` in case `vault.baseUrl` is internal From 8f29738d5c9c3e42a5c532e46e8ed8eff9df2aa1 Mon Sep 17 00:00:00 2001 From: Casper Thygesen Date: Thu, 1 Dec 2022 15:41:20 +0000 Subject: [PATCH 08/17] Forgot to update getVaultConfig Signed-off-by: Casper Thygesen --- plugins/vault-backend/src/config/config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/vault-backend/src/config/config.ts b/plugins/vault-backend/src/config/config.ts index 9eed497a48..159fee0447 100644 --- a/plugins/vault-backend/src/config/config.ts +++ b/plugins/vault-backend/src/config/config.ts @@ -58,6 +58,7 @@ export interface VaultConfig { export function getVaultConfig(config: Config): VaultConfig { return { baseUrl: config.getString('vault.baseUrl'), + publicUrl: config.getOptionalString('vault.publicUrl'), token: config.getString('vault.token'), kvVersion: config.getOptionalNumber('vault.kvVersion') ?? 2, secretEngine: config.getOptionalString('vault.secretEngine') ?? 'secrets', From a1cbb8d041598d130d4b66bd4f1a8af0fb021ec3 Mon Sep 17 00:00:00 2001 From: Casper Thygesen Date: Thu, 1 Dec 2022 15:50:58 +0000 Subject: [PATCH 09/17] GetVaultConfig tests fixed Signed-off-by: Casper Thygesen --- plugins/vault-backend/src/config/config.test.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/vault-backend/src/config/config.test.ts b/plugins/vault-backend/src/config/config.test.ts index 7cfdd8f468..a061d0f784 100644 --- a/plugins/vault-backend/src/config/config.test.ts +++ b/plugins/vault-backend/src/config/config.test.ts @@ -40,6 +40,7 @@ describe('GetVaultConfig', () => { const vaultConfig = getVaultConfig(config); expect(vaultConfig).toStrictEqual({ baseUrl: 'http://www.example.com', + publicUrl: undefined, token: '123', kvVersion: 2, secretEngine: 'secrets', @@ -59,6 +60,7 @@ describe('GetVaultConfig', () => { const vaultConfig = getVaultConfig(config); expect(vaultConfig).toStrictEqual({ baseUrl: 'http://www.example.com', + publicUrl: undefined, token: '123', kvVersion: 1, secretEngine: 'test', From 3c1302c07d631f8490ab99201ff9e036effa3f33 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 1 Dec 2022 18:59:03 +0000 Subject: [PATCH 10/17] Update dependency @types/http-errors to v2 Signed-off-by: Renovate Bot --- .changeset/renovate-8c69aed.md | 5 +++++ packages/backend-common/package.json | 2 +- yarn.lock | 10 +++++----- 3 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 .changeset/renovate-8c69aed.md diff --git a/.changeset/renovate-8c69aed.md b/.changeset/renovate-8c69aed.md new file mode 100644 index 0000000000..63a61d941a --- /dev/null +++ b/.changeset/renovate-8c69aed.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +Updated dependency `@types/http-errors` to `^2.0.0`. diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index eb9ab49521..d68d22b9a8 100644 --- a/packages/backend-common/package.json +++ b/packages/backend-common/package.json @@ -101,7 +101,7 @@ "@types/compression": "^1.7.0", "@types/concat-stream": "^2.0.0", "@types/fs-extra": "^9.0.3", - "@types/http-errors": "^1.6.3", + "@types/http-errors": "^2.0.0", "@types/minimist": "^1.2.0", "@types/mock-fs": "^4.13.0", "@types/morgan": "^1.9.0", diff --git a/yarn.lock b/yarn.lock index e3d1b5eb88..fa66ab8d2f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3396,7 +3396,7 @@ __metadata: "@types/dockerode": ^3.3.0 "@types/express": ^4.17.6 "@types/fs-extra": ^9.0.3 - "@types/http-errors": ^1.6.3 + "@types/http-errors": ^2.0.0 "@types/luxon": ^3.0.0 "@types/minimist": ^1.2.0 "@types/mock-fs": ^4.13.0 @@ -14151,10 +14151,10 @@ __metadata: languageName: node linkType: hard -"@types/http-errors@npm:^1.6.3": - version: 1.8.2 - resolution: "@types/http-errors@npm:1.8.2" - checksum: ecc365eea98d7eca650d593e742571acc3003742f0dd0fbbb15b8fce286e0f7421644b4140fb9bf701bbb7f1b744aea3967ebe025f0f0811aa5ab2c3d40fe111 +"@types/http-errors@npm:^2.0.0": + version: 2.0.1 + resolution: "@types/http-errors@npm:2.0.1" + checksum: 3bb0c50b0a652e679a84c30cd0340d696c32ef6558518268c238840346c077f899315daaf1c26c09c57ddd5dc80510f2a7f46acd52bf949e339e35ed3ee9654f languageName: node linkType: hard From c25809286d6a72c7f71cc9f6d554b402a3668412 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Dec 2022 16:59:49 +0000 Subject: [PATCH 11/17] build(deps): bump decode-uri-component from 0.2.0 to 0.2.2 in /microsite Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2. - [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases) - [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2) --- updated-dependencies: - dependency-name: decode-uri-component dependency-type: indirect ... Signed-off-by: dependabot[bot] --- microsite/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/microsite/yarn.lock b/microsite/yarn.lock index f0e6bd698a..0a26cf8ef6 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -2940,9 +2940,9 @@ __metadata: linkType: hard "decode-uri-component@npm:^0.2.0": - version: 0.2.0 - resolution: "decode-uri-component@npm:0.2.0" - checksum: f3749344ab9305ffcfe4bfe300e2dbb61fc6359e2b736812100a3b1b6db0a5668cba31a05e4b45d4d63dbf1a18dfa354cd3ca5bb3ededddabb8cd293f4404f94 + version: 0.2.2 + resolution: "decode-uri-component@npm:0.2.2" + checksum: 95476a7d28f267292ce745eac3524a9079058bbb35767b76e3ee87d42e34cd0275d2eb19d9d08c3e167f97556e8a2872747f5e65cbebcac8b0c98d83e285f139 languageName: node linkType: hard From 3cd5c94408c58fc1c5e9a2b414a3bba939eb29e9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 2 Dec 2022 17:00:17 +0000 Subject: [PATCH 12/17] build(deps): bump decode-uri-component from 0.2.0 to 0.2.2 in /storybook Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2. - [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases) - [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2) --- updated-dependencies: - dependency-name: decode-uri-component dependency-type: indirect ... Signed-off-by: dependabot[bot] --- storybook/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/storybook/yarn.lock b/storybook/yarn.lock index 5867c2fb08..57a7c26e5a 100644 --- a/storybook/yarn.lock +++ b/storybook/yarn.lock @@ -5092,9 +5092,9 @@ __metadata: linkType: hard "decode-uri-component@npm:^0.2.0": - version: 0.2.0 - resolution: "decode-uri-component@npm:0.2.0" - checksum: f3749344ab9305ffcfe4bfe300e2dbb61fc6359e2b736812100a3b1b6db0a5668cba31a05e4b45d4d63dbf1a18dfa354cd3ca5bb3ededddabb8cd293f4404f94 + version: 0.2.2 + resolution: "decode-uri-component@npm:0.2.2" + checksum: 95476a7d28f267292ce745eac3524a9079058bbb35767b76e3ee87d42e34cd0275d2eb19d9d08c3e167f97556e8a2872747f5e65cbebcac8b0c98d83e285f139 languageName: node linkType: hard From 146378c14607f6f62f335f43e95fa3e6961ca6ac Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 2 Dec 2022 19:03:00 +0000 Subject: [PATCH 13/17] Update dependency @react-hookz/web to v20 Signed-off-by: Renovate Bot --- .changeset/renovate-ebb2ea1.md | 8 ++++++++ packages/core-components/package.json | 2 +- plugins/gcp-projects/package.json | 2 +- plugins/scaffolder/package.json | 2 +- .../techdocs-module-addons-contrib/package.json | 2 +- yarn.lock | 16 ++++++++-------- 6 files changed, 20 insertions(+), 12 deletions(-) create mode 100644 .changeset/renovate-ebb2ea1.md diff --git a/.changeset/renovate-ebb2ea1.md b/.changeset/renovate-ebb2ea1.md new file mode 100644 index 0000000000..010236c2f2 --- /dev/null +++ b/.changeset/renovate-ebb2ea1.md @@ -0,0 +1,8 @@ +--- +'@backstage/core-components': patch +'@backstage/plugin-gcp-projects': patch +'@backstage/plugin-scaffolder': patch +'@backstage/plugin-techdocs-module-addons-contrib': patch +--- + +Updated dependency `@react-hookz/web` to `^20.0.0`. diff --git a/packages/core-components/package.json b/packages/core-components/package.json index 56e124d094..8a6ffdf02d 100644 --- a/packages/core-components/package.json +++ b/packages/core-components/package.json @@ -41,7 +41,7 @@ "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.57", - "@react-hookz/web": "^19.0.0", + "@react-hookz/web": "^20.0.0", "@types/react-sparklines": "^1.7.0", "@types/react-text-truncate": "^0.14.0", "ansi-regex": "^6.0.1", diff --git a/plugins/gcp-projects/package.json b/plugins/gcp-projects/package.json index c6509a33a2..e6e60fb9e2 100644 --- a/plugins/gcp-projects/package.json +++ b/plugins/gcp-projects/package.json @@ -39,7 +39,7 @@ "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.57", - "@react-hookz/web": "^19.0.0" + "@react-hookz/web": "^20.0.0" }, "peerDependencies": { "react": "^16.13.1 || ^17.0.0", diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index b76ae9d0f6..fbd90a1ab3 100644 --- a/plugins/scaffolder/package.json +++ b/plugins/scaffolder/package.json @@ -53,7 +53,7 @@ "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.57", - "@react-hookz/web": "^19.0.0", + "@react-hookz/web": "^20.0.0", "@rjsf/core": "^3.2.1", "@rjsf/core-v5": "npm:@rjsf/core@^5.0.0-beta.12", "@rjsf/material-ui": "^3.2.1", diff --git a/plugins/techdocs-module-addons-contrib/package.json b/plugins/techdocs-module-addons-contrib/package.json index 54cebd0ec9..2929f3455f 100644 --- a/plugins/techdocs-module-addons-contrib/package.json +++ b/plugins/techdocs-module-addons-contrib/package.json @@ -42,7 +42,7 @@ "@material-ui/core": "^4.9.13", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.57", - "@react-hookz/web": "^19.0.0", + "@react-hookz/web": "^20.0.0", "git-url-parse": "^13.0.0", "react-use": "^17.2.4" }, diff --git a/yarn.lock b/yarn.lock index 1a493fa380..d732a32975 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3967,7 +3967,7 @@ __metadata: "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.57 - "@react-hookz/web": ^19.0.0 + "@react-hookz/web": ^20.0.0 "@testing-library/jest-dom": ^5.10.1 "@testing-library/react": ^12.1.3 "@testing-library/react-hooks": ^8.0.0 @@ -6196,7 +6196,7 @@ __metadata: "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.57 - "@react-hookz/web": ^19.0.0 + "@react-hookz/web": ^20.0.0 "@testing-library/jest-dom": ^5.10.1 "@testing-library/react": ^12.1.3 "@testing-library/user-event": ^14.0.0 @@ -7475,7 +7475,7 @@ __metadata: "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.57 - "@react-hookz/web": ^19.0.0 + "@react-hookz/web": ^20.0.0 "@rjsf/core": ^3.2.1 "@rjsf/core-v5": "npm:@rjsf/core@^5.0.0-beta.12" "@rjsf/material-ui": ^3.2.1 @@ -8139,7 +8139,7 @@ __metadata: "@material-ui/core": ^4.9.13 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.57 - "@react-hookz/web": ^19.0.0 + "@react-hookz/web": ^20.0.0 "@testing-library/jest-dom": ^5.10.1 "@testing-library/react": ^12.1.3 "@testing-library/user-event": ^14.0.0 @@ -12432,9 +12432,9 @@ __metadata: languageName: node linkType: hard -"@react-hookz/web@npm:^19.0.0": - version: 19.2.0 - resolution: "@react-hookz/web@npm:19.2.0" +"@react-hookz/web@npm:^20.0.0": + version: 20.0.0 + resolution: "@react-hookz/web@npm:20.0.0" dependencies: "@react-hookz/deep-equal": ^1.0.3 peerDependencies: @@ -12444,7 +12444,7 @@ __metadata: peerDependenciesMeta: js-cookie: optional: true - checksum: 0fda3d3a0f967b6b38817f1e72d111711fc01036a8e6d0850bd4e3b3fa41af8635b260babf19e384402ac6d2dfa7db779585c0c8b16700cc0f568df9662ca517 + checksum: 475d03cdd9a9131b7094549602c8a3ab52ad33e99d7ef408ba2ee7897bfdf332ab5228f46187b9a4c42535b4aaaf808e2c9c882949b2ec32d5ad42d53487a723 languageName: node linkType: hard From 1c5ee676163d3fea923e62cc953a86547431d743 Mon Sep 17 00:00:00 2001 From: Connor Younglund Date: Fri, 2 Dec 2022 15:56:15 -0500 Subject: [PATCH 14/17] address PR feedback Signed-off-by: Connor Younglund --- .changeset/short-turtles-dream.md | 4 ++-- plugins/stack-overflow-backend/README.md | 6 ++++-- plugins/stack-overflow-backend/config.d.ts | 8 +++++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.changeset/short-turtles-dream.md b/.changeset/short-turtles-dream.md index 9192f9137c..022ef35f58 100644 --- a/.changeset/short-turtles-dream.md +++ b/.changeset/short-turtles-dream.md @@ -1,5 +1,5 @@ --- -'@backstage/plugin-stack-overflow-backend': minor +'@backstage/plugin-stack-overflow-backend': patch --- -Added option to supply API Access Token +Added option to supply API Access Token. This is required in addition to an API key when trying to access the data for a private Stack Overflow Team. diff --git a/plugins/stack-overflow-backend/README.md b/plugins/stack-overflow-backend/README.md index 65fa50e062..0d88ea98d1 100644 --- a/plugins/stack-overflow-backend/README.md +++ b/plugins/stack-overflow-backend/README.md @@ -15,9 +15,11 @@ stackoverflow: baseUrl: https://api.stackexchange.com/2.2 # alternative: your internal stack overflow instance ``` -### Stack Overflow for Teams (private stack overflow instance) +### Stack Overflow for Teams -If you have a private stack overflow instance you will need to supply an API key as well. You can read more about how to set this up by going to [Stack Overflows Help Page](https://stackoverflow.help/en/articles/4385859-stack-overflow-for-teams-api) +If you have an private Stack Overflow instance and/or a private Stack Overflow Team you will need to supply an API key. You can read more about how to set this up by going to [Stack Overflow's Help Page](https://stackoverflow.help/en/articles/4385859-stack-overflow-for-teams-api). + +A private Stack Overflow Team requires both an API key and an API Access Token. Step 3 ("Generate an Access Token via OAuth") from the previously mentioned Help Page explains the process for generating an API Access Token with no expiration. ```yaml stackoverflow: diff --git a/plugins/stack-overflow-backend/config.d.ts b/plugins/stack-overflow-backend/config.d.ts index 617524f0a3..54e517c5d8 100644 --- a/plugins/stack-overflow-backend/config.d.ts +++ b/plugins/stack-overflow-backend/config.d.ts @@ -25,9 +25,15 @@ export interface Config { baseUrl?: string; /** - * The api key to authenticate to Stack Overflow API + * The API key to authenticate to Stack Overflow API * @visibility secret */ apiKey?: string; + + /** + * The API Access Token to authenticate to Stack Overflow API + * @visibility secret + */ + apiAccessToken?: string; }; } From fa7dacc5c7d8b689b2571e6754126db5424b85a2 Mon Sep 17 00:00:00 2001 From: Connor Younglund Date: Fri, 2 Dec 2022 15:58:46 -0500 Subject: [PATCH 15/17] an --> a Signed-off-by: Connor Younglund --- plugins/stack-overflow-backend/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/stack-overflow-backend/README.md b/plugins/stack-overflow-backend/README.md index 0d88ea98d1..4bcc755404 100644 --- a/plugins/stack-overflow-backend/README.md +++ b/plugins/stack-overflow-backend/README.md @@ -17,7 +17,7 @@ stackoverflow: ### Stack Overflow for Teams -If you have an private Stack Overflow instance and/or a private Stack Overflow Team you will need to supply an API key. You can read more about how to set this up by going to [Stack Overflow's Help Page](https://stackoverflow.help/en/articles/4385859-stack-overflow-for-teams-api). +If you have a private Stack Overflow instance and/or a private Stack Overflow Team you will need to supply an API key. You can read more about how to set this up by going to [Stack Overflow's Help Page](https://stackoverflow.help/en/articles/4385859-stack-overflow-for-teams-api). A private Stack Overflow Team requires both an API key and an API Access Token. Step 3 ("Generate an Access Token via OAuth") from the previously mentioned Help Page explains the process for generating an API Access Token with no expiration. From c507aee8a26429816cf21d0a1920e4b71f1b0005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Sat, 3 Dec 2022 16:21:54 +0100 Subject: [PATCH 16/17] ts-check all migration files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/eight-eels-compete.md | 10 ++++++++++ .../migrations/20211014144054_init.js | 8 ++++++++ .../migrations/20211020073922_add_columns.js | 8 ++++++++ .../20211117092217_optional_entity_ref.js | 8 ++++++++ .../20220817150443_add_member_entity_ref.js | 8 ++++++++ .../20221121120212_rename_col_to_title.js | 8 ++++---- .../migrations/20221116073152_init.js | 14 ++++++++------ .../migrations/20200511113813_init.js | 2 +- .../migrations/20220616202842_refresh_keys.js | 2 ++ ...21109192547_search_add_original_value_column.js | 2 ++ .../migrations/20220701011329_init.js | 8 ++++++++ .../migrations/20210311110000_init.js | 2 ++ .../migrations/20210727180000_delta_update.js | 2 ++ .../migrations/20220824183000_init.js | 2 ++ 14 files changed, 73 insertions(+), 11 deletions(-) create mode 100644 .changeset/eight-eels-compete.md diff --git a/.changeset/eight-eels-compete.md b/.changeset/eight-eels-compete.md new file mode 100644 index 0000000000..5cd0cdf041 --- /dev/null +++ b/.changeset/eight-eels-compete.md @@ -0,0 +1,10 @@ +--- +'@backstage/plugin-bazaar-backend': patch +'@backstage/plugin-catalog-backend': patch +'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch +'@backstage/plugin-playlist-backend': patch +'@backstage/plugin-search-backend-module-pg': patch +'@backstage/plugin-user-settings-backend': patch +--- + +Ensured typescript type checks in migration files. diff --git a/plugins/bazaar-backend/migrations/20211014144054_init.js b/plugins/bazaar-backend/migrations/20211014144054_init.js index 5bf66698ac..503812225d 100644 --- a/plugins/bazaar-backend/migrations/20211014144054_init.js +++ b/plugins/bazaar-backend/migrations/20211014144054_init.js @@ -14,6 +14,11 @@ * limitations under the License. */ +// @ts-check + +/** + * @param {import('knex').Knex} knex + */ exports.up = async function up(knex) { await knex.schema.createTable('metadata', table => { table.comment('The table of Bazaar metadata'); @@ -59,6 +64,9 @@ exports.up = async function up(knex) { }); }; +/** + * @param {import('knex').Knex} knex + */ exports.down = async function down(knex) { await knex.schema.dropTable('metadata'); await knex.schema.dropTable('members'); diff --git a/plugins/bazaar-backend/migrations/20211020073922_add_columns.js b/plugins/bazaar-backend/migrations/20211020073922_add_columns.js index ea3a89ea72..740eacb407 100644 --- a/plugins/bazaar-backend/migrations/20211020073922_add_columns.js +++ b/plugins/bazaar-backend/migrations/20211020073922_add_columns.js @@ -14,6 +14,11 @@ * limitations under the License. */ +// @ts-check + +/** + * @param {import('knex').Knex} knex + */ exports.up = async function up(knex) { await knex.schema.alterTable('metadata', table => { table @@ -35,6 +40,9 @@ exports.up = async function up(knex) { }); }; +/** + * @param {import('knex').Knex} knex + */ exports.down = async function down(knex) { await knex.schema.alterTable('metadata', table => { table diff --git a/plugins/bazaar-backend/migrations/20211117092217_optional_entity_ref.js b/plugins/bazaar-backend/migrations/20211117092217_optional_entity_ref.js index 9dd8097ae2..0953d5c2b1 100644 --- a/plugins/bazaar-backend/migrations/20211117092217_optional_entity_ref.js +++ b/plugins/bazaar-backend/migrations/20211117092217_optional_entity_ref.js @@ -14,6 +14,11 @@ * limitations under the License. */ +// @ts-check + +/** + * @param {import('knex').Knex} knex + */ exports.up = async function up(knex) { if (knex.client.config.client.includes('sqlite3')) { await knex.schema.dropTable('metadata'); @@ -92,6 +97,9 @@ exports.up = async function up(knex) { } }; +/** + * @param {import('knex').Knex} knex + */ exports.down = async function down(knex) { if (knex.client.config.client.includes('sqlite3')) { await knex.schema.dropTable('metadata'); diff --git a/plugins/bazaar-backend/migrations/20220817150443_add_member_entity_ref.js b/plugins/bazaar-backend/migrations/20220817150443_add_member_entity_ref.js index 79b80ef20c..c7ac0ccf2c 100644 --- a/plugins/bazaar-backend/migrations/20220817150443_add_member_entity_ref.js +++ b/plugins/bazaar-backend/migrations/20220817150443_add_member_entity_ref.js @@ -14,12 +14,20 @@ * limitations under the License. */ +// @ts-check + +/** + * @param {import('knex').Knex} knex + */ exports.up = async function up(knex) { await knex.schema.alterTable('members', table => { table.string('user_ref').nullable(); }); }; +/** + * @param {import('knex').Knex} knex + */ exports.down = async function down(knex) { return knex.schema.table('members', table => { table.dropColumn('user_ref'); diff --git a/plugins/bazaar-backend/migrations/20221121120212_rename_col_to_title.js b/plugins/bazaar-backend/migrations/20221121120212_rename_col_to_title.js index 9974c9eb20..93de567f93 100644 --- a/plugins/bazaar-backend/migrations/20221121120212_rename_col_to_title.js +++ b/plugins/bazaar-backend/migrations/20221121120212_rename_col_to_title.js @@ -14,9 +14,10 @@ * limitations under the License. */ +// @ts-check + /** - * @param { import("knex").Knex } knex - * @returns { Promise } + * @param {import('knex').Knex} knex */ exports.up = async function up(knex) { await knex.schema.alterTable('metadata', table => { @@ -25,8 +26,7 @@ exports.up = async function up(knex) { }; /** - * @param { import("knex").Knex } knex - * @returns { Promise } + * @param {import('knex').Knex} knex */ exports.down = async function down(knex) { await knex.schema.alterTable('metadata', table => { diff --git a/plugins/catalog-backend-module-incremental-ingestion/migrations/20221116073152_init.js b/plugins/catalog-backend-module-incremental-ingestion/migrations/20221116073152_init.js index dc77e0bc31..09b6af9004 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/migrations/20221116073152_init.js +++ b/plugins/catalog-backend-module-incremental-ingestion/migrations/20221116073152_init.js @@ -14,6 +14,8 @@ * limitations under the License. */ +// @ts-check + /** * @param { import("knex").Knex } knex */ @@ -25,7 +27,7 @@ exports.up = async function up(knex) { table.comment('Tracks ingestion streams for very large data sets'); table - .uuid('id', { primary: true }) + .uuid('id') .notNullable() .comment('Auto-generated ID of the ingestion'); @@ -85,7 +87,7 @@ exports.up = async function up(knex) { }); await knex.schema.alterTable('ingestions', t => { - t.primary('id'); + t.primary(['id']); t.index('provider_name', 'ingestion_provider_name_idx'); t.unique(['provider_name', 'completion_ticket'], { indexName: 'ingestion_composite_index', @@ -100,7 +102,7 @@ exports.up = async function up(knex) { table.comment('tracks each step of an iterative ingestion'); table - .uuid('id', { primary: true }) + .uuid('id') .notNullable() .comment('Auto-generated ID of the ingestion mark'); @@ -128,7 +130,7 @@ exports.up = async function up(knex) { }); await knex.schema.alterTable('ingestion_marks', t => { - t.primary('id'); + t.primary(['id']); t.index('ingestion_id', 'ingestion_mark_ingestion_id_idx'); }); @@ -141,7 +143,7 @@ exports.up = async function up(knex) { ); table - .uuid('id', { primary: true }) + .uuid('id') .notNullable() .comment('Auto-generated ID of the marked entity'); @@ -162,7 +164,7 @@ exports.up = async function up(knex) { }); await knex.schema.alterTable('ingestion_mark_entities', t => { - t.primary('id'); + t.primary(['id']); t.index('ingestion_mark_id', 'ingestion_mark_entity_ingestion_mark_id_idx'); }); }; diff --git a/plugins/catalog-backend/migrations/20200511113813_init.js b/plugins/catalog-backend/migrations/20200511113813_init.js index a34912135e..710ff537e0 100644 --- a/plugins/catalog-backend/migrations/20200511113813_init.js +++ b/plugins/catalog-backend/migrations/20200511113813_init.js @@ -27,7 +27,7 @@ exports.up = async function up(knex) { // .createTable('locations', table => { table.comment( - 'Registered locations that shall be contiuously scanned for catalog item updates', + 'Registered locations that shall be continuously scanned for catalog item updates', ); table .uuid('id') diff --git a/plugins/catalog-backend/migrations/20220616202842_refresh_keys.js b/plugins/catalog-backend/migrations/20220616202842_refresh_keys.js index ddc39d4005..a7ec819489 100644 --- a/plugins/catalog-backend/migrations/20220616202842_refresh_keys.js +++ b/plugins/catalog-backend/migrations/20220616202842_refresh_keys.js @@ -14,6 +14,8 @@ * limitations under the License. */ +// @ts-check + /** * @param { import("knex").Knex } knex */ diff --git a/plugins/catalog-backend/migrations/20221109192547_search_add_original_value_column.js b/plugins/catalog-backend/migrations/20221109192547_search_add_original_value_column.js index 258af5ef06..fff7955530 100644 --- a/plugins/catalog-backend/migrations/20221109192547_search_add_original_value_column.js +++ b/plugins/catalog-backend/migrations/20221109192547_search_add_original_value_column.js @@ -14,6 +14,8 @@ * limitations under the License. */ +// @ts-check + /** * @param { import("knex").Knex } knex */ diff --git a/plugins/playlist-backend/migrations/20220701011329_init.js b/plugins/playlist-backend/migrations/20220701011329_init.js index be08363dec..fea6b52700 100644 --- a/plugins/playlist-backend/migrations/20220701011329_init.js +++ b/plugins/playlist-backend/migrations/20220701011329_init.js @@ -14,6 +14,11 @@ * limitations under the License. */ +// @ts-check + +/** + * @param { import("knex").Knex } knex + */ exports.up = async function up(knex) { await knex.schema.createTable('playlists', table => { table.comment('Playlists table'); @@ -57,6 +62,9 @@ exports.up = async function up(knex) { }); }; +/** + * @param { import("knex").Knex } knex + */ exports.down = async function down(knex) { await knex.schema.dropTable('playlists'); await knex.schema.dropTable('entities'); diff --git a/plugins/search-backend-module-pg/migrations/20210311110000_init.js b/plugins/search-backend-module-pg/migrations/20210311110000_init.js index 70ccf9406b..e3bbca41e3 100644 --- a/plugins/search-backend-module-pg/migrations/20210311110000_init.js +++ b/plugins/search-backend-module-pg/migrations/20210311110000_init.js @@ -14,6 +14,8 @@ * limitations under the License. */ +// @ts-check + /** * @param {import('knex').Knex} knex */ diff --git a/plugins/search-backend-module-pg/migrations/20210727180000_delta_update.js b/plugins/search-backend-module-pg/migrations/20210727180000_delta_update.js index 429c8aa805..2a449b5fa4 100644 --- a/plugins/search-backend-module-pg/migrations/20210727180000_delta_update.js +++ b/plugins/search-backend-module-pg/migrations/20210727180000_delta_update.js @@ -14,6 +14,8 @@ * limitations under the License. */ +// @ts-check + /** * @param {import('knex').Knex} knex */ diff --git a/plugins/user-settings-backend/migrations/20220824183000_init.js b/plugins/user-settings-backend/migrations/20220824183000_init.js index a519969a98..0e99a76f93 100644 --- a/plugins/user-settings-backend/migrations/20220824183000_init.js +++ b/plugins/user-settings-backend/migrations/20220824183000_init.js @@ -14,6 +14,8 @@ * limitations under the License. */ +// @ts-check + /** * @param {import('knex').Knex} knex */ From 9b606366bf2da9b6fd56807ac3fe3b47518a9b2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Mon, 5 Dec 2022 11:17:38 +0100 Subject: [PATCH 17/17] Bump json-schema-library MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/thin-flies-wink.md | 5 +++ plugins/scaffolder/package.json | 2 +- yarn.lock | 56 ++++++++++++++------------------- 3 files changed, 30 insertions(+), 33 deletions(-) create mode 100644 .changeset/thin-flies-wink.md diff --git a/.changeset/thin-flies-wink.md b/.changeset/thin-flies-wink.md new file mode 100644 index 0000000000..a31db67a1c --- /dev/null +++ b/.changeset/thin-flies-wink.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder': patch +--- + +Bump `json-schema-library` to version `^7.3.9` which does not pull in the `gson-pointer` library diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index b76ae9d0f6..018e60f074 100644 --- a/plugins/scaffolder/package.json +++ b/plugins/scaffolder/package.json @@ -67,7 +67,7 @@ "humanize-duration": "^3.25.1", "immer": "^9.0.1", "json-schema": "^0.4.0", - "json-schema-library": "^7.0.0", + "json-schema-library": "^7.3.9", "lodash": "^4.17.21", "luxon": "^3.0.0", "qs": "^6.9.4", diff --git a/yarn.lock b/yarn.lock index 4af9e1862a..849b8648f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7497,7 +7497,7 @@ __metadata: humanize-duration: ^3.25.1 immer: ^9.0.1 json-schema: ^0.4.0 - json-schema-library: ^7.0.0 + json-schema-library: ^7.3.9 lodash: ^4.17.21 luxon: ^3.0.0 msw: ^0.49.0 @@ -12793,6 +12793,23 @@ __metadata: languageName: node linkType: hard +"@sagold/json-pointer@npm:^5.0.0": + version: 5.0.0 + resolution: "@sagold/json-pointer@npm:5.0.0" + checksum: 0a087ff25e28d0c49b56566a14d6186ae0ce9fe538569eb7756c1a70989f2794dbc6f0834b5d2f2a0a79b6f0e3096eb05558664d5ff038daba5a46cb5e752e1a + languageName: node + linkType: hard + +"@sagold/json-query@npm:^6.0.0": + version: 6.0.0 + resolution: "@sagold/json-query@npm:6.0.0" + dependencies: + "@sagold/json-pointer": ^5.0.0 + ebnf: ^1.9.0 + checksum: 56bb6151e6e6b1ef26bb03133b440e90d47c013529899e26cedb4c96f8a51f0115717ebab1355a8c3e6ea0c70e5ddaefc54c44330686ae3b2f8cb7d162011d73 + languageName: node + linkType: hard + "@short.io/opensearch-mock@npm:^0.3.1": version: 0.3.1 resolution: "@short.io/opensearch-mock@npm:0.3.1" @@ -23741,31 +23758,6 @@ __metadata: languageName: node linkType: hard -"gson-conform@npm:^1.0.3": - version: 1.0.3 - resolution: "gson-conform@npm:1.0.3" - checksum: 63867de06365e82394492fb83dd225e2f8af71f1ff0eb72bd860a86d4b4830e3cc3cdd561374625cc6ef99415a3f757c932ef08cf9fc3c097f0903d0c47bca8b - languageName: node - linkType: hard - -"gson-pointer@npm:4.1.1, gson-pointer@npm:^4.1.1": - version: 4.1.1 - resolution: "gson-pointer@npm:4.1.1" - checksum: e6ad0232467ae1ab8902cf801f74436ab28d251fa5f7db7dba78e26d871b7cd8edcef60170bd4ba1aa9b16639f2662a47bbb7214750c4a14594dba4990b0db47 - languageName: node - linkType: hard - -"gson-query@npm:^5.1.0": - version: 5.1.0 - resolution: "gson-query@npm:5.1.0" - dependencies: - ebnf: ^1.9.0 - gson-conform: ^1.0.3 - gson-pointer: 4.1.1 - checksum: 8af3d5ba52d0a684e71af1b00b2180b2d80bb8eea5252034c5a9f5213e06ee105ef77c17002cf10f1c8ecaaa0e2fbbd43978f579528c66a8b975a0dc4839e9d5 - languageName: node - linkType: hard - "gtoken@npm:^6.1.0": version: 6.1.1 resolution: "gtoken@npm:6.1.1" @@ -26558,16 +26550,16 @@ __metadata: languageName: node linkType: hard -"json-schema-library@npm:^7.0.0": - version: 7.3.0 - resolution: "json-schema-library@npm:7.3.0" +"json-schema-library@npm:^7.3.9": + version: 7.3.9 + resolution: "json-schema-library@npm:7.3.9" dependencies: + "@sagold/json-pointer": ^5.0.0 + "@sagold/json-query": ^6.0.0 deepmerge: ^4.2.2 fast-deep-equal: ^3.1.3 - gson-pointer: ^4.1.1 - gson-query: ^5.1.0 valid-url: ^1.0.9 - checksum: 3d148d4be1e59e058bd777d247c181e2cb4820f9f5b9c97f7258f88fa73e1c0ed5c8e07c3fef4e1e8e892666def02b2b5fe5366d3d8d2bed09be3752e5593319 + checksum: de40dd4d5f1ce438fa45703402716f2cf543b8e89d4ffc3618045f771f6f749928984905db761e9cf7e8602d213f4578c3e983a40e0d49013c0fea1488d397a8 languageName: node linkType: hard