From 713be06b2bd26a2460732ca2e7d523aab0aa9821 Mon Sep 17 00:00:00 2001 From: Matt Mulligan Date: Thu, 19 May 2022 14:43:41 -0400 Subject: [PATCH 001/131] Added apikey config for StackOverflow backend Signed-off-by: Matt Mulligan --- .changeset/few-monkeys-grab.md | 5 +++++ plugins/stack-overflow-backend/CHANGELOG.md | 6 ++++++ plugins/stack-overflow-backend/README.md | 10 ++++++++++ plugins/stack-overflow-backend/package.json | 2 +- .../StackOverflowQuestionsCollatorFactory.ts | 15 +++++++++++++-- 5 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 .changeset/few-monkeys-grab.md diff --git a/.changeset/few-monkeys-grab.md b/.changeset/few-monkeys-grab.md new file mode 100644 index 0000000000..b841445b68 --- /dev/null +++ b/.changeset/few-monkeys-grab.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-stack-overflow-backend': patch +--- + +Added an apiKey configuration to app-config.yaml to prevent encoding the api key when passed to a private stack overflow instance diff --git a/plugins/stack-overflow-backend/CHANGELOG.md b/plugins/stack-overflow-backend/CHANGELOG.md index 1483589528..bca947fecb 100644 --- a/plugins/stack-overflow-backend/CHANGELOG.md +++ b/plugins/stack-overflow-backend/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/plugin-stack-overflow-backend +## 0.1.2 + +### Patch Changes + +- Added apiKey configuration to prevent encoding the key value + ## 0.1.1 ### Patch Changes diff --git a/plugins/stack-overflow-backend/README.md b/plugins/stack-overflow-backend/README.md index f2eaf660c2..62115b889c 100644 --- a/plugins/stack-overflow-backend/README.md +++ b/plugins/stack-overflow-backend/README.md @@ -15,6 +15,16 @@ stackoverflow: baseUrl: https://api.stackexchange.com/2.2 # alternative: your internal stack overflow instance ``` +### Stack Overflow for Teams (private stack overflow instance) + +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) + +```yaml +stackoverflow: + baseUrl: https://api.stackexchange.com/2.2 # alternative: your internal stack overflow instance + apiKey: $STACK_OVERFLOW_API_KEY +``` + ## Areas of Responsibility This stack overflow backend plugin is primarily responsible for the following: diff --git a/plugins/stack-overflow-backend/package.json b/plugins/stack-overflow-backend/package.json index dd842ba01e..c4416be8b6 100644 --- a/plugins/stack-overflow-backend/package.json +++ b/plugins/stack-overflow-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-stack-overflow-backend", - "version": "0.1.1", + "version": "0.1.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts b/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts index 98fc86c2ea..55de71b7c7 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; requestParams: StackOverflowQuestionsRequestParams; logger: Logger; + config: Config; }; /** @@ -65,12 +66,14 @@ export class StackOverflowQuestionsCollatorFactory protected requestParams: StackOverflowQuestionsRequestParams; private readonly baseUrl: string | undefined; private readonly logger: Logger; + private readonly config: Config; public readonly type: string = 'stack-overflow'; private constructor(options: StackOverflowQuestionsCollatorFactoryOptions) { this.baseUrl = options.baseUrl; this.requestParams = options.requestParams; this.logger = options.logger; + this.config = options.config; } static fromConfig( @@ -80,7 +83,11 @@ export class StackOverflowQuestionsCollatorFactory const baseUrl = config.getOptionalString('stackoverflow.baseUrl') || 'https://api.stackexchange.com/2.2'; - return new StackOverflowQuestionsCollatorFactory({ ...options, baseUrl }); + return new StackOverflowQuestionsCollatorFactory({ + ...options, + baseUrl, + config, + }); } async getCollator() { @@ -93,12 +100,16 @@ export class StackOverflowQuestionsCollatorFactory `No stackoverflow.baseUrl configured in your app-config.yaml`, ); } + const params = qs.stringify(this.requestParams, { arrayFormat: 'comma', addQueryPrefix: true, }); - const res = await fetch(`${this.baseUrl}/questions${params}`); + const apiKey = this.config.getOptionalString('stackoverflow.apiKey'); + const apiKeyParam = apiKey ? `${params ? '&' : '?'}key=${apiKey}` : ''; + + const res = await fetch(`${this.baseUrl}/questions${params}${apiKeyParam}`); const data = await res.json(); for (const question of data.items) { From 3e0df2aee84019513f0d09b76f511cda41ec8d78 Mon Sep 17 00:00:00 2001 From: Matt Mulligan Date: Mon, 20 Jun 2022 22:21:38 -0400 Subject: [PATCH 002/131] Changed to pass apiKey as param in config options Signed-off-by: Matt Mulligan --- .../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 55de71b7c7..15bf34a71c 100644 --- a/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts +++ b/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts @@ -50,9 +50,9 @@ export type StackOverflowQuestionsRequestParams = { */ export type StackOverflowQuestionsCollatorFactoryOptions = { baseUrl?: string; + apiKey?: string; requestParams: StackOverflowQuestionsRequestParams; logger: Logger; - config: Config; }; /** @@ -65,28 +65,29 @@ export class StackOverflowQuestionsCollatorFactory { protected requestParams: StackOverflowQuestionsRequestParams; private readonly baseUrl: string | undefined; + private readonly apiKey: string | undefined; private readonly logger: Logger; - private readonly config: Config; public readonly type: string = 'stack-overflow'; private constructor(options: StackOverflowQuestionsCollatorFactoryOptions) { this.baseUrl = options.baseUrl; this.requestParams = options.requestParams; this.logger = options.logger; - this.config = options.config; + this.apiKey = options.apiKey; } static fromConfig( config: Config, options: StackOverflowQuestionsCollatorFactoryOptions, ) { + const apiKey = config.getOptionalString('stackoverflow.apiKey'); const baseUrl = config.getOptionalString('stackoverflow.baseUrl') || 'https://api.stackexchange.com/2.2'; return new StackOverflowQuestionsCollatorFactory({ ...options, baseUrl, - config, + apiKey, }); } @@ -101,13 +102,16 @@ export class StackOverflowQuestionsCollatorFactory ); } + this.logger.warn(`${JSON.stringify(this.requestParams)}`); + const params = qs.stringify(this.requestParams, { arrayFormat: 'comma', addQueryPrefix: true, }); - const apiKey = this.config.getOptionalString('stackoverflow.apiKey'); - const apiKeyParam = apiKey ? `${params ? '&' : '?'}key=${apiKey}` : ''; + const apiKeyParam = this.apiKey + ? `${params ? '&' : '?'}key=${this.apiKey}` + : ''; const res = await fetch(`${this.baseUrl}/questions${params}${apiKeyParam}`); const data = await res.json(); From 7bf05c18e045fb7128d07db4850ef6ed090eba75 Mon Sep 17 00:00:00 2001 From: Matt Mulligan Date: Mon, 20 Jun 2022 22:40:45 -0400 Subject: [PATCH 003/131] Updated api-report.md Signed-off-by: Matt Mulligan --- 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 fc4c610d3e..1a21ff34ac 100644 --- a/plugins/stack-overflow-backend/api-report.md +++ b/plugins/stack-overflow-backend/api-report.md @@ -41,6 +41,7 @@ export class StackOverflowQuestionsCollatorFactory // @public export type StackOverflowQuestionsCollatorFactoryOptions = { baseUrl?: string; + apiKey?: string; requestParams: StackOverflowQuestionsRequestParams; logger: Logger; }; From 7cf7b1e4e79096870ca8df9b66a8b39c422b3393 Mon Sep 17 00:00:00 2001 From: Matt Mulligan Date: Mon, 20 Jun 2022 22:42:58 -0400 Subject: [PATCH 004/131] Updated config.d.ts to include apiKey Signed-off-by: Matt Mulligan --- plugins/stack-overflow-backend/config.d.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/stack-overflow-backend/config.d.ts b/plugins/stack-overflow-backend/config.d.ts index 7e7211ca33..3ce37f3396 100644 --- a/plugins/stack-overflow-backend/config.d.ts +++ b/plugins/stack-overflow-backend/config.d.ts @@ -24,5 +24,11 @@ export interface Config { * @visibility backend */ baseUrl: string; + + /** + * The api key to authenticate to Stack Overflow API + * @visibility backend + */ + apiKey: string; }; } From 547a573e990e6672da0e7764197dc37db3a67710 Mon Sep 17 00:00:00 2001 From: Matt Mulligan Date: Mon, 20 Jun 2022 22:47:23 -0400 Subject: [PATCH 005/131] Added check for if key is provided in request params Signed-off-by: Matt Mulligan --- .../search/StackOverflowQuestionsCollatorFactory.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts b/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts index 15bf34a71c..45261ce546 100644 --- a/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts +++ b/plugins/stack-overflow-backend/src/search/StackOverflowQuestionsCollatorFactory.ts @@ -71,9 +71,9 @@ export class StackOverflowQuestionsCollatorFactory private constructor(options: StackOverflowQuestionsCollatorFactoryOptions) { this.baseUrl = options.baseUrl; + this.apiKey = options.apiKey; this.requestParams = options.requestParams; this.logger = options.logger; - this.apiKey = options.apiKey; } static fromConfig( @@ -102,7 +102,16 @@ export class StackOverflowQuestionsCollatorFactory ); } - this.logger.warn(`${JSON.stringify(this.requestParams)}`); + try { + if (Object.keys(this.requestParams).indexOf('key') >= 0) { + this.logger.warn( + 'The API Key should be passed as a seperate param to bypass encoding', + ); + delete this.requestParams.key; + } + } catch (e) { + this.logger.error(`Caught ${e}`); + } const params = qs.stringify(this.requestParams, { arrayFormat: 'comma', From ea5631a8b2281a97005d099903f3d442e68c0d9a Mon Sep 17 00:00:00 2001 From: Matt Mulligan Date: Wed, 22 Jun 2022 10:55:28 -0400 Subject: [PATCH 006/131] updated the frontend plugin to accept apikey config Signed-off-by: Matt Mulligan --- .changeset/friendly-sheep-flash.md | 5 +++++ plugins/stack-overflow/README.md | 10 ++++++++++ plugins/stack-overflow/config.d.ts | 6 ++++++ .../src/home/StackOverflowQuestions/Content.tsx | 17 +++++++++++++++-- 4 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 .changeset/friendly-sheep-flash.md diff --git a/.changeset/friendly-sheep-flash.md b/.changeset/friendly-sheep-flash.md new file mode 100644 index 0000000000..27fd383f82 --- /dev/null +++ b/.changeset/friendly-sheep-flash.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-stack-overflow': patch +--- + +Added API key configuration to bypass encoding diff --git a/plugins/stack-overflow/README.md b/plugins/stack-overflow/README.md index 96a8f524e3..637afd0494 100644 --- a/plugins/stack-overflow/README.md +++ b/plugins/stack-overflow/README.md @@ -15,6 +15,16 @@ stackoverflow: baseUrl: https://api.stackexchange.com/2.2 # alternative: your internal stack overflow instance ``` +### Stack Overflow for Teams (private stack overflow instance) + +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) + +```yaml +stackoverflow: + baseUrl: https://api.stackexchange.com/2.2 # alternative: your internal stack overflow instance + apiKey: $STACK_OVERFLOW_API_KEY +``` + ## Areas of Responsibility This stack overflow frontend plugin is primarily responsible for the following: diff --git a/plugins/stack-overflow/config.d.ts b/plugins/stack-overflow/config.d.ts index 811893231e..5ea62be2bd 100644 --- a/plugins/stack-overflow/config.d.ts +++ b/plugins/stack-overflow/config.d.ts @@ -24,5 +24,11 @@ export interface Config { * @visibility frontend */ baseUrl: string; + + /** + * The api key to authenticate to Stack Overflow API + * @visibility backend + */ + apiKey: string; }; } diff --git a/plugins/stack-overflow/src/home/StackOverflowQuestions/Content.tsx b/plugins/stack-overflow/src/home/StackOverflowQuestions/Content.tsx index fbc3a90a9d..8b954f5cf4 100644 --- a/plugins/stack-overflow/src/home/StackOverflowQuestions/Content.tsx +++ b/plugins/stack-overflow/src/home/StackOverflowQuestions/Content.tsx @@ -42,6 +42,7 @@ import { export const Content = (props: StackOverflowQuestionsContentProps) => { const { requestParams } = props; const configApi = useApi(configApiRef); + const apiKey = configApi.getOptionalString('stackoverflow.apiKey'); const baseUrl = configApi.getOptionalString('stackoverflow.baseUrl') || 'https://api.stackexchange.com/2.2'; @@ -49,8 +50,20 @@ export const Content = (props: StackOverflowQuestionsContentProps) => { const { value, loading, error } = useAsync(async (): Promise< StackOverflowQuestion[] > => { - const params = qs.stringify(requestParams, { addQueryPrefix: true }); - const response = await fetch(`${baseUrl}/questions${params}`); + try { + if (Object.keys(requestParams).indexOf('key') >= 0) { + delete requestParams.key; + } + } catch (e) { + // console.log("Failed to remove key from params"); + } + + const params = qs.stringify(requestParams, { + arrayFormat: 'comma', + addQueryPrefix: true, + }); + const apiKeyParam = apiKey ? `${params ? '&' : '?'}key=${apiKey}` : ''; + const response = await fetch(`${baseUrl}/questions${params}${apiKeyParam}`); const data = await response.json(); return data.items; }, []); From 1ce878fad435bb57399bf7e293eb8edf208e2e4d Mon Sep 17 00:00:00 2001 From: Matt Mulligan Date: Thu, 23 Jun 2022 08:56:36 -0400 Subject: [PATCH 007/131] Visibility matters. Signed-off-by: Matt Mulligan --- plugins/stack-overflow/config.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/stack-overflow/config.d.ts b/plugins/stack-overflow/config.d.ts index 7bd55c6eb6..181f196312 100644 --- a/plugins/stack-overflow/config.d.ts +++ b/plugins/stack-overflow/config.d.ts @@ -27,7 +27,7 @@ export interface Config { /** * The api key to authenticate to Stack Overflow API - * @visibility backend + * @visibility frontend */ apiKey?: string; }; From daabe780e0328c949cf14d73b388f28f6e7183fc Mon Sep 17 00:00:00 2001 From: Matt Mulligan Date: Thu, 23 Jun 2022 09:08:08 -0400 Subject: [PATCH 008/131] Removed second changeset file Signed-off-by: Matt Mulligan --- .changeset/few-monkeys-grab.md | 5 ----- .changeset/friendly-sheep-flash.md | 3 ++- 2 files changed, 2 insertions(+), 6 deletions(-) delete mode 100644 .changeset/few-monkeys-grab.md diff --git a/.changeset/few-monkeys-grab.md b/.changeset/few-monkeys-grab.md deleted file mode 100644 index b841445b68..0000000000 --- a/.changeset/few-monkeys-grab.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-stack-overflow-backend': patch ---- - -Added an apiKey configuration to app-config.yaml to prevent encoding the api key when passed to a private stack overflow instance diff --git a/.changeset/friendly-sheep-flash.md b/.changeset/friendly-sheep-flash.md index 27fd383f82..83df13b290 100644 --- a/.changeset/friendly-sheep-flash.md +++ b/.changeset/friendly-sheep-flash.md @@ -1,5 +1,6 @@ --- '@backstage/plugin-stack-overflow': patch +'@backstage/plugin-stack-overflow-backend': patch --- -Added API key configuration to bypass encoding +Added API key as separate configuration From 17a65d285d13740b15cd3903ffb913fd65383b02 Mon Sep 17 00:00:00 2001 From: Matt Mulligan Date: Thu, 23 Jun 2022 10:35:29 -0400 Subject: [PATCH 009/131] Removed front end changes Signed-off-by: Matt Mulligan --- .changeset/friendly-sheep-flash.md | 1 - plugins/stack-overflow/config.d.ts | 2 +- .../src/home/StackOverflowQuestions/Content.tsx | 12 +----------- 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/.changeset/friendly-sheep-flash.md b/.changeset/friendly-sheep-flash.md index 83df13b290..58ae309bf1 100644 --- a/.changeset/friendly-sheep-flash.md +++ b/.changeset/friendly-sheep-flash.md @@ -1,5 +1,4 @@ --- -'@backstage/plugin-stack-overflow': patch '@backstage/plugin-stack-overflow-backend': patch --- diff --git a/plugins/stack-overflow/config.d.ts b/plugins/stack-overflow/config.d.ts index 181f196312..cf50241ec9 100644 --- a/plugins/stack-overflow/config.d.ts +++ b/plugins/stack-overflow/config.d.ts @@ -27,7 +27,7 @@ export interface Config { /** * The api key to authenticate to Stack Overflow API - * @visibility frontend + * @visibility secret */ apiKey?: string; }; diff --git a/plugins/stack-overflow/src/home/StackOverflowQuestions/Content.tsx b/plugins/stack-overflow/src/home/StackOverflowQuestions/Content.tsx index 8b954f5cf4..6d2ef9856a 100644 --- a/plugins/stack-overflow/src/home/StackOverflowQuestions/Content.tsx +++ b/plugins/stack-overflow/src/home/StackOverflowQuestions/Content.tsx @@ -42,7 +42,6 @@ import { export const Content = (props: StackOverflowQuestionsContentProps) => { const { requestParams } = props; const configApi = useApi(configApiRef); - const apiKey = configApi.getOptionalString('stackoverflow.apiKey'); const baseUrl = configApi.getOptionalString('stackoverflow.baseUrl') || 'https://api.stackexchange.com/2.2'; @@ -50,20 +49,11 @@ export const Content = (props: StackOverflowQuestionsContentProps) => { const { value, loading, error } = useAsync(async (): Promise< StackOverflowQuestion[] > => { - try { - if (Object.keys(requestParams).indexOf('key') >= 0) { - delete requestParams.key; - } - } catch (e) { - // console.log("Failed to remove key from params"); - } - const params = qs.stringify(requestParams, { arrayFormat: 'comma', addQueryPrefix: true, }); - const apiKeyParam = apiKey ? `${params ? '&' : '?'}key=${apiKey}` : ''; - const response = await fetch(`${baseUrl}/questions${params}${apiKeyParam}`); + const response = await fetch(`${baseUrl}/questions${params}`); const data = await response.json(); return data.items; }, []); From b04f689cd02a25019c9b34b5477c7b2ddf63ea1b Mon Sep 17 00:00:00 2001 From: Matt Mulligan Date: Thu, 23 Jun 2022 10:36:33 -0400 Subject: [PATCH 010/131] Added frontend for patch to add secret config Signed-off-by: Matt Mulligan --- .changeset/friendly-sheep-flash.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.changeset/friendly-sheep-flash.md b/.changeset/friendly-sheep-flash.md index 58ae309bf1..83df13b290 100644 --- a/.changeset/friendly-sheep-flash.md +++ b/.changeset/friendly-sheep-flash.md @@ -1,4 +1,5 @@ --- +'@backstage/plugin-stack-overflow': patch '@backstage/plugin-stack-overflow-backend': patch --- From cd973a35d8b18671a12062478d39a5bf549fcad8 Mon Sep 17 00:00:00 2001 From: Otto Sichert Date: Wed, 15 Jun 2022 11:23:54 +0200 Subject: [PATCH 011/131] Implement manual catching of corrupted ZIP files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Emma Indal Co-authored-by: Anders Näsman Co-authored-by: Raghunandan Balachandran Signed-off-by: Otto Sichert --- .../src/reading/tree/ZipArchiveResponse.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index e07cedde87..6505ef4d20 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -86,9 +86,22 @@ export class ZipArchiveResponse implements ReadTreeResponse { const files = Array(); - await this.stream - .pipe(unzipper.Parse()) + // Some corrupted ZIP files cause the zlib inflater to hang indefinitely. + // This is a workaround to bail on stuck streams after 3 seconds. + const piped = this.stream.pipe(unzipper.Parse()); + let lastEntryTimeout: NodeJS.Timeout | undefined; + + await piped .on('entry', (entry: Entry) => { + clearTimeout(lastEntryTimeout); + + lastEntryTimeout = setTimeout(() => { + piped.emit( + 'error', + new Error(`Timed out unzipping file ${entry.path}`), + ); + }, 3000); + if (entry.type === 'Directory') { entry.resume(); return; @@ -105,6 +118,8 @@ export class ZipArchiveResponse implements ReadTreeResponse { }) .promise(); + clearTimeout(lastEntryTimeout); + return files; } From 67e2671e23d2b4f830c7d4823a930765cbfbd9f5 Mon Sep 17 00:00:00 2001 From: Otto Sichert Date: Wed, 15 Jun 2022 12:16:32 +0200 Subject: [PATCH 012/131] Move stream timeout promise to util Signed-off-by: Otto Sichert --- .../src/reading/tree/ZipArchiveResponse.ts | 33 ++++++------------- .../backend-common/src/reading/tree/util.ts | 27 +++++++++++++++ 2 files changed, 37 insertions(+), 23 deletions(-) diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index 6505ef4d20..50972a52a4 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -24,6 +24,7 @@ import { ReadTreeResponseDirOptions, ReadTreeResponseFile, } from '../types'; +import { streamToTimeoutPromise } from './util'; /** * Wraps a zip archive stream into a tree response reader. @@ -86,27 +87,9 @@ export class ZipArchiveResponse implements ReadTreeResponse { const files = Array(); - // Some corrupted ZIP files cause the zlib inflater to hang indefinitely. - // This is a workaround to bail on stuck streams after 3 seconds. - const piped = this.stream.pipe(unzipper.Parse()); - let lastEntryTimeout: NodeJS.Timeout | undefined; - - await piped + const parseStream = this.stream + .pipe(unzipper.Parse()) .on('entry', (entry: Entry) => { - clearTimeout(lastEntryTimeout); - - lastEntryTimeout = setTimeout(() => { - piped.emit( - 'error', - new Error(`Timed out unzipping file ${entry.path}`), - ); - }, 3000); - - if (entry.type === 'Directory') { - entry.resume(); - return; - } - if (this.shouldBeIncluded(entry)) { files.push({ path: this.getInnerPath(entry.path), @@ -115,10 +98,14 @@ export class ZipArchiveResponse implements ReadTreeResponse { } else { entry.autodrain(); } - }) - .promise(); + }); - clearTimeout(lastEntryTimeout); + await streamToTimeoutPromise(parseStream, { + eventName: 'entry', + timeoutMs: 3000, + getError: (entry: Entry) => + new Error(`Timed out while unzipping ${entry.type}: ${entry.path}`), + }); return files; } diff --git a/packages/backend-common/src/reading/tree/util.ts b/packages/backend-common/src/reading/tree/util.ts index cfb986a0b0..51f904f313 100644 --- a/packages/backend-common/src/reading/tree/util.ts +++ b/packages/backend-common/src/reading/tree/util.ts @@ -23,3 +23,30 @@ const directoryNameRegex = /^[^\/]+\//; export function stripFirstDirectoryFromPath(path: string): string { return path.replace(directoryNameRegex, ''); } + +// Some corrupted ZIP files cause the zlib inflater to hang indefinitely. +// This is a workaround to bail on stuck streams after 3 seconds. +export async function streamToTimeoutPromise( + stream: NodeJS.ReadableStream, + options: { + timeoutMs: number; + eventName: string; + getError: (data: T) => Error; + }, +) { + let lastEntryTimeout: NodeJS.Timeout | undefined; + stream.on(options.eventName, (data: T) => { + clearTimeout(lastEntryTimeout); + + lastEntryTimeout = setTimeout(() => { + stream.emit('error', options.getError(data)); + }, options.timeoutMs); + }); + + await new Promise(function (resolve, reject) { + stream.on('finish', resolve); + stream.on('error', reject); + }); + + clearTimeout(lastEntryTimeout); +} From a6a11e52ef88aadb2b6cc5a7b640192564e85d2d Mon Sep 17 00:00:00 2001 From: Otto Sichert Date: Wed, 15 Jun 2022 12:27:43 +0200 Subject: [PATCH 013/131] Ensure all ZIP operations handle timeouts correctly Signed-off-by: Otto Sichert --- .../src/reading/tree/ZipArchiveResponse.ts | 25 ++++++++++++++----- .../backend-common/src/reading/tree/util.ts | 1 + 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index 50972a52a4..ffc2c8d9a7 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -118,7 +118,7 @@ export class ZipArchiveResponse implements ReadTreeResponse { } const archive = archiver('zip'); - await this.stream + const parseStream = this.stream .pipe(unzipper.Parse()) .on('entry', (entry: Entry) => { if (entry.type === 'File' && this.shouldBeIncluded(entry)) { @@ -126,8 +126,15 @@ export class ZipArchiveResponse implements ReadTreeResponse { } else { entry.autodrain(); } - }) - .promise(); + }); + + await streamToTimeoutPromise(parseStream, { + eventName: 'entry', + timeoutMs: 3000, + getError: (entry: Entry) => + new Error(`Timed out while unzipping ${entry.type}: ${entry.path}`), + }); + archive.finalize(); return archive; @@ -140,7 +147,7 @@ export class ZipArchiveResponse implements ReadTreeResponse { options?.targetDir ?? (await fs.mkdtemp(platformPath.join(this.workDir, 'backstage-'))); - await this.stream + const parseStream = this.stream .pipe(unzipper.Parse()) .on('entry', async (entry: Entry) => { // Ignore directory entries since we handle that with the file entries @@ -155,8 +162,14 @@ export class ZipArchiveResponse implements ReadTreeResponse { } else { entry.autodrain(); } - }) - .promise(); + }); + + await streamToTimeoutPromise(parseStream, { + eventName: 'entry', + timeoutMs: 3000, + getError: (entry: Entry) => + new Error(`Timed out while unzipping ${entry.type}: ${entry.path}`), + }); return dir; } diff --git a/packages/backend-common/src/reading/tree/util.ts b/packages/backend-common/src/reading/tree/util.ts index 51f904f313..1d7a42c93e 100644 --- a/packages/backend-common/src/reading/tree/util.ts +++ b/packages/backend-common/src/reading/tree/util.ts @@ -26,6 +26,7 @@ export function stripFirstDirectoryFromPath(path: string): string { // Some corrupted ZIP files cause the zlib inflater to hang indefinitely. // This is a workaround to bail on stuck streams after 3 seconds. +// Related: https://github.com/ZJONSSON/node-unzipper/issues/213 export async function streamToTimeoutPromise( stream: NodeJS.ReadableStream, options: { From 72e34fe980ec46be3053201ff5b8075997c92b60 Mon Sep 17 00:00:00 2001 From: Otto Sichert Date: Thu, 16 Jun 2022 00:13:31 +0200 Subject: [PATCH 014/131] Restore original behaviour in listing ZIP directories Signed-off-by: Otto Sichert --- .../backend-common/src/reading/tree/ZipArchiveResponse.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index ffc2c8d9a7..418f32b155 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -90,6 +90,11 @@ export class ZipArchiveResponse implements ReadTreeResponse { const parseStream = this.stream .pipe(unzipper.Parse()) .on('entry', (entry: Entry) => { + if (entry.type === 'Directory') { + entry.resume(); + return; + } + if (this.shouldBeIncluded(entry)) { files.push({ path: this.getInnerPath(entry.path), From 9344fdf1b67e551b63412b2df9ce16f390c0c6fa Mon Sep 17 00:00:00 2001 From: Otto Sichert Date: Thu, 16 Jun 2022 00:40:26 +0200 Subject: [PATCH 015/131] Simplify guarding against corrupt ZIP files Signed-off-by: Otto Sichert --- .../src/reading/tree/ZipArchiveResponse.ts | 32 +++++++------------ 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index 418f32b155..501113d9f1 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -26,6 +26,14 @@ import { } from '../types'; import { streamToTimeoutPromise } from './util'; +const guardCorruptZipStream = (stream: Readable) => + streamToTimeoutPromise(stream, { + eventName: 'entry', + timeoutMs: 3000, + getError: (entry: Entry) => + new Error(`Timed out while unzipping ${entry.type}: ${entry.path}`), + }); + /** * Wraps a zip archive stream into a tree response reader. */ @@ -104,13 +112,7 @@ export class ZipArchiveResponse implements ReadTreeResponse { entry.autodrain(); } }); - - await streamToTimeoutPromise(parseStream, { - eventName: 'entry', - timeoutMs: 3000, - getError: (entry: Entry) => - new Error(`Timed out while unzipping ${entry.type}: ${entry.path}`), - }); + await guardCorruptZipStream(parseStream); return files; } @@ -132,13 +134,7 @@ export class ZipArchiveResponse implements ReadTreeResponse { entry.autodrain(); } }); - - await streamToTimeoutPromise(parseStream, { - eventName: 'entry', - timeoutMs: 3000, - getError: (entry: Entry) => - new Error(`Timed out while unzipping ${entry.type}: ${entry.path}`), - }); + await guardCorruptZipStream(parseStream); archive.finalize(); @@ -168,13 +164,7 @@ export class ZipArchiveResponse implements ReadTreeResponse { entry.autodrain(); } }); - - await streamToTimeoutPromise(parseStream, { - eventName: 'entry', - timeoutMs: 3000, - getError: (entry: Entry) => - new Error(`Timed out while unzipping ${entry.type}: ${entry.path}`), - }); + await guardCorruptZipStream(parseStream); return dir; } From b19d82600d6f2d5a66e854d863dd79fad1a44529 Mon Sep 17 00:00:00 2001 From: Otto Sichert Date: Thu, 16 Jun 2022 14:49:18 +0200 Subject: [PATCH 016/131] Add tests for corrupted ZIP files Signed-off-by: Otto Sichert --- .../src/reading/__fixtures__/mock-corrupted.zip | Bin 0 -> 34594 bytes .../src/reading/tree/ZipArchiveResponse.test.ts | 15 +++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 packages/backend-common/src/reading/__fixtures__/mock-corrupted.zip diff --git a/packages/backend-common/src/reading/__fixtures__/mock-corrupted.zip b/packages/backend-common/src/reading/__fixtures__/mock-corrupted.zip new file mode 100644 index 0000000000000000000000000000000000000000..51c4c268c7c1f7b0ea240777eb602af2fffe826e GIT binary patch literal 34594 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

rcvNb! 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 Z&Al@Ni&G(C%fi6I;06qeW352#3;+t#2@U`N literal 0 HcmV?d00001 diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts index a54bac0c4a..b31b9edec6 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts @@ -22,6 +22,9 @@ import { ZipArchiveResponse } from './ZipArchiveResponse'; const archiveData = fs.readFileSync( resolvePath(__filename, '../../__fixtures__/mock-main.zip'), ); +const archiveDataCorrupted = fs.readFileSync( + resolvePath(__filename, '../../__fixtures__/mock-corrupted.zip'), +); const archiveDataWithExtraDir = fs.readFileSync( resolvePath(__filename, '../../__fixtures__/mock-with-extra-root-dir.zip'), ); @@ -31,6 +34,7 @@ describe('ZipArchiveResponse', () => { mockFs({ '/test-archive.zip': archiveData, '/test-archive-with-extra-root-dir.zip': archiveDataWithExtraDir, + '/test-archive-corrupted.zip': archiveDataCorrupted, '/tmp': mockFs.directory(), }); }); @@ -152,4 +156,15 @@ describe('ZipArchiveResponse', () => { fs.pathExists(resolvePath(dir, 'docs/index.md')), ).resolves.toBe(false); }); + + it('should throw on invalid archive', async () => { + const stream = fs.createReadStream('/test-archive-corrupted.zip'); + + const res = new ZipArchiveResponse(stream, '', '/tmp', 'etag'); + const filesPromise = res.files(); + + await expect(filesPromise).rejects.toThrow( + 'Timed out while unzipping File: docs/corrupted.zip', + ); + }); }); From cfa078e25554e55d89df97a4f912d1d3c89106a0 Mon Sep 17 00:00:00 2001 From: Otto Sichert Date: Thu, 16 Jun 2022 15:08:41 +0200 Subject: [PATCH 017/131] Added changeset Signed-off-by: Otto Sichert --- .changeset/nine-mails-crash.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .changeset/nine-mails-crash.md diff --git a/.changeset/nine-mails-crash.md b/.changeset/nine-mails-crash.md new file mode 100644 index 0000000000..3dc4334f17 --- /dev/null +++ b/.changeset/nine-mails-crash.md @@ -0,0 +1,9 @@ +--- +'@backstage/backend-common': patch +--- + +The `ZipArchiveResponse` now correctly handles corrupt ZIP archives. + +Before this change, certain corrupt ZIP archives either cause the inflater to throw (as expected), or will hang the parser indefinitely. + +This change introduces a default timeout of 3000ms before throwing an error message when trying to unzip an archive. From c878f1c9f34467a9f029362d85f7aad1f44f6648 Mon Sep 17 00:00:00 2001 From: Otto Sichert Date: Wed, 22 Jun 2022 10:26:22 +0200 Subject: [PATCH 018/131] Fix linter errors Signed-off-by: Otto Sichert --- packages/backend-common/src/reading/tree/util.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend-common/src/reading/tree/util.ts b/packages/backend-common/src/reading/tree/util.ts index 1d7a42c93e..49c696467c 100644 --- a/packages/backend-common/src/reading/tree/util.ts +++ b/packages/backend-common/src/reading/tree/util.ts @@ -44,7 +44,7 @@ export async function streamToTimeoutPromise( }, options.timeoutMs); }); - await new Promise(function (resolve, reject) { + await new Promise((resolve, reject) => { stream.on('finish', resolve); stream.on('error', reject); }); From 6cd69466745392c4e1865917019f8cd6d9a5b5f6 Mon Sep 17 00:00:00 2001 From: Otto Sichert Date: Wed, 22 Jun 2022 11:17:40 +0200 Subject: [PATCH 019/131] Ensure test ZIP file can't be read by Node 14 either Signed-off-by: Otto Sichert --- .../reading/__fixtures__/mock-corrupted.zip | Bin 34594 -> 34649 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/packages/backend-common/src/reading/__fixtures__/mock-corrupted.zip b/packages/backend-common/src/reading/__fixtures__/mock-corrupted.zip index 51c4c268c7c1f7b0ea240777eb602af2fffe826e..5130a72f6fc1c51de7cb1a9450777b9d4d0938dc 100644 GIT binary patch delta 65 zcmZ3~$8@ugX@gR`xk6$=L26z~W?s5Naei)UNd|~jlCMybk*WX`2Qib1QWLX*0-41M NQJw(`X_+~xTmUe+7l;4= delta 9 QcmccF$F!)AX@gQb02Q4B^#A|> From 2b59c8ed4dda3879ab2ccd75e878a9c0a4dfd950 Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 7 Jul 2022 11:55:40 +0200 Subject: [PATCH 020/131] chore: made some progress moving over to a new library for this Signed-off-by: blam --- packages/backend-common/package.json | 4 +- .../src/reading/tree/ZipArchiveResponse.ts | 135 ++++++++++-------- .../fixtures/test-v1beta3/template.yaml | 96 ++++++++++--- yarn.lock | 9 +- 4 files changed, 164 insertions(+), 80 deletions(-) diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index cb2f653277..40beb3deca 100644 --- a/packages/backend-common/package.json +++ b/packages/backend-common/package.json @@ -41,6 +41,7 @@ "@backstage/integration": "^1.2.2-next.3", "@backstage/types": "^1.0.0", "@google-cloud/storage": "^6.0.0", + "@keyv/redis": "^2.2.3", "@manypkg/get-packages": "^1.1.3", "@octokit/rest": "^19.0.3", "@types/cors": "^2.8.6", @@ -48,6 +49,7 @@ "@types/express": "^4.17.6", "@types/luxon": "^2.0.4", "@types/webpack-env": "^1.15.2", + "@types/yauzl": "^2.10.0", "archiver": "^5.0.2", "aws-sdk": "^2.840.0", "base64-stream": "^1.0.0", @@ -64,7 +66,6 @@ "jose": "^4.6.0", "keyv": "^4.0.3", "keyv-memcache": "^1.2.5", - "@keyv/redis": "^2.2.3", "knex": "^2.0.0", "lodash": "^4.17.21", "logform": "^2.3.2", @@ -80,6 +81,7 @@ "tar": "^6.1.2", "unzipper": "^0.10.11", "winston": "^3.2.1", + "yauzl": "^2.10.0", "yn": "^4.0.0" }, "peerDependencies": { diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index 501113d9f1..6a8e5ee621 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -15,25 +15,27 @@ */ import archiver from 'archiver'; +import unzipper2, { Entry } from 'yauzl'; import fs from 'fs-extra'; import platformPath from 'path'; import { Readable } from 'stream'; -import unzipper, { Entry } from 'unzipper'; +// import unzipper, { Entry } from 'unzipper'; import { ReadTreeResponse, ReadTreeResponseDirOptions, ReadTreeResponseFile, } from '../types'; import { streamToTimeoutPromise } from './util'; +import { zip } from 'lodash'; -const guardCorruptZipStream = (stream: Readable) => - streamToTimeoutPromise(stream, { - eventName: 'entry', - timeoutMs: 3000, - getError: (entry: Entry) => - new Error(`Timed out while unzipping ${entry.type}: ${entry.path}`), +const streamToBuffer = async (stream: Readable): Promise => { + const buffers: Buffer[] = []; + return new Promise((resolve, reject) => { + stream.on('data', (data: Buffer) => buffers.push(data)); + stream.on('error', reject); + stream.on('end', () => resolve(Buffer.concat(buffers))); }); - +}; /** * Wraps a zip archive stream into a tree response reader. */ @@ -76,15 +78,13 @@ export class ZipArchiveResponse implements ReadTreeResponse { private shouldBeIncluded(entry: Entry): boolean { if (this.subPath) { - if (!entry.path.startsWith(this.subPath)) { + if (!entry.fileName.startsWith(this.subPath)) { return false; } } if (this.filter) { - return this.filter(this.getInnerPath(entry.path), { - size: - (entry.vars as { uncompressedSize?: number }).uncompressedSize ?? - entry.vars.compressedSize, + return this.filter(this.getInnerPath(entry.fileName), { + size: entry.uncompressedSize, }); } return true; @@ -92,29 +92,36 @@ export class ZipArchiveResponse implements ReadTreeResponse { async files(): Promise { this.onlyOnce(); - const files = Array(); - const parseStream = this.stream - .pipe(unzipper.Parse()) - .on('entry', (entry: Entry) => { - if (entry.type === 'Directory') { - entry.resume(); + const buffer = await streamToBuffer(this.stream); + return await new Promise((resolve, reject) => { + unzipper2.fromBuffer(buffer, { lazyEntries: false }, (err, zipfile) => { + if (err) { + reject(err); return; } + zipfile.on('entry', async (entry: Entry) => { + // If it's not a directory, and it's included, then grab the contents of the file from the buffer + if (!/\/$/.test(entry.fileName) && this.shouldBeIncluded(entry)) { + files.push({ + path: this.getInnerPath(entry.fileName), + content: () => + new Promise((cResolve, cReject) => { + zipfile.openReadStream(entry, async (cError, readStream) => { + if (cError) { + return cReject(cError); + } + return cResolve(await streamToBuffer(readStream)); + }); + }), + }); + } + }); - if (this.shouldBeIncluded(entry)) { - files.push({ - path: this.getInnerPath(entry.path), - content: () => entry.buffer(), - }); - } else { - entry.autodrain(); - } + zipfile.once('end', () => resolve(files)); }); - await guardCorruptZipStream(parseStream); - - return files; + }); } async archive(): Promise { @@ -124,17 +131,32 @@ export class ZipArchiveResponse implements ReadTreeResponse { return this.stream; } + const buffer = await streamToBuffer(this.stream); const archive = archiver('zip'); - const parseStream = this.stream - .pipe(unzipper.Parse()) - .on('entry', (entry: Entry) => { - if (entry.type === 'File' && this.shouldBeIncluded(entry)) { - archive.append(entry, { name: this.getInnerPath(entry.path) }); - } else { - entry.autodrain(); + + await new Promise((resolve, reject) => { + unzipper2.fromBuffer(buffer, { lazyEntries: false }, (err, zipfile) => { + if (err) { + reject(err); + return; } + zipfile.on('entry', async (entry: Entry) => { + // If it's not a directory, and it's included, then grab the contents of the file from the buffer + if (!/\/$/.test(entry.fileName) && this.shouldBeIncluded(entry)) { + zipfile.openReadStream(entry, async (err2, readStream) => { + if (err2) { + reject(err2); + return; + } + archive.append(await streamToBuffer(readStream), { + name: this.getInnerPath(entry.fileName), + }); + }); + } + }); + zipfile.once('end', () => resolve()); }); - await guardCorruptZipStream(parseStream); + }); archive.finalize(); @@ -143,29 +165,28 @@ export class ZipArchiveResponse implements ReadTreeResponse { async dir(options?: ReadTreeResponseDirOptions): Promise { this.onlyOnce(); - const dir = options?.targetDir ?? (await fs.mkdtemp(platformPath.join(this.workDir, 'backstage-'))); - const parseStream = this.stream - .pipe(unzipper.Parse()) - .on('entry', async (entry: Entry) => { - // Ignore directory entries since we handle that with the file entries - // as a zip can have files with directories without directory entries - if (entry.type === 'File' && this.shouldBeIncluded(entry)) { - const entryPath = this.getInnerPath(entry.path); - const dirname = platformPath.dirname(entryPath); - if (dirname) { - await fs.mkdirp(platformPath.join(dir, dirname)); + return new Promise((resolve, reject) => { + const parseStream = this.stream + .pipe(unzipper.Parse()) + .on('entry', async (entry: Entry) => { + // Ignore directory entries since we handle that with the file entries + // as a zip can have files with directories without directory entries + if (entry.type === 'File' && this.shouldBeIncluded(entry)) { + const entryPath = this.getInnerPath(entry.path); + const dirname = platformPath.dirname(entryPath); + if (dirname) { + await fs.mkdirp(platformPath.join(dir, dirname)); + } + entry.pipe(fs.createWriteStream(platformPath.join(dir, entryPath))); + } else { + entry.autodrain(); } - entry.pipe(fs.createWriteStream(platformPath.join(dir, entryPath))); - } else { - entry.autodrain(); - } - }); - await guardCorruptZipStream(parseStream); - - return dir; + }) + .on('finish', () => resolve(dir)); + }); } } diff --git a/plugins/scaffolder-backend/fixtures/test-v1beta3/template.yaml b/plugins/scaffolder-backend/fixtures/test-v1beta3/template.yaml index 10d4a39ff7..c56e5a0d79 100644 --- a/plugins/scaffolder-backend/fixtures/test-v1beta3/template.yaml +++ b/plugins/scaffolder-backend/fixtures/test-v1beta3/template.yaml @@ -8,28 +8,82 @@ spec: type: website owner: team-a parameters: - - name: Enter some stuff - description: Enter some stuff + - name: Repositories + description: Some repo properties: - inputString: + appRepoUrl: type: string - title: string input test - inputObject: - type: object - title: object input test - description: a little nested thing never hurt anyone right? - properties: - first: - type: string - title: first - second: - type: number - title: second + title: First Repository + ui:field: RepoUrlPicker + serviceRepoUrl: + type: string + title: First Repository + ui:field: RepoUrlPicker steps: - - id: debug - if: ${{ true === true }} - name: Debug - action: debug:log + # First get the app template folder, and template into ./app + - id: app_template + name: Fetch Skeleton + Template + action: fetch:template input: - message: ${{ parameters.inputString }} - extra: ${{ parameters.inputObject }} + url: ./skeleton + targetPath: ./app + copyWithoutRender: + - .github/* + values: + component_id: ${{ parameters.component_id }} + description: ${{ parameters.description }} + services_app_port: ${{ parameters.services_app_port }} + owner: ${{ parameters.owner }} + destination: ${{ parameters.appRepoUrl | parseRepoUrl }} + + # First then service into ./service + - id: app_service_config_template + name: Fetch App Servcie Config. Skeleton + Template + action: fetch:template + input: + url: https://github.com/my-org/helm-values-template + targetPath: ./service + copyWithoutRender: + - .github/* + values: + component_id: ${{ parameters.component_id }} + description: ${{ parameters.description }} + services_app_port: ${{ parameters.services_app_port }} + owner: ${{ parameters.owner }} + destination: ${{ parameters.serviceRepoUrl | parseRepoUrl }} + + # Publish the app + - id: publish_app + name: Publish App + action: publish:github + input: + sourcePath: ./app + allowedHosts: ['github.com'] + description: This is ${{ parameters.component_id }} + repoUrl: ${{ parameters.appRepoUrl }} + + # Publish the service + - id: publish_service + name: Publish Service + action: publish:github + input: + sourcePath: ./service + allowedHosts: ['github.com'] + description: This is ${{ parameters.component_id }} + repoUrl: ${{ parameters.serviceRepoUrl }} + + # Register the app + - id: register_app + name: Register Application + action: catalog:register + input: + repoContentsUrl: ${{ steps.publish_app.output.repoContentsUrl }} + catalogInfoPath: '/catalog-info.yaml' + + # Register the service + - id: register_service + name: Register Application + action: catalog:register + input: + repoContentsUrl: ${{ steps.publish_service.output.repoContentsUrl }} + catalogInfoPath: '/catalog-info.yaml' diff --git a/yarn.lock b/yarn.lock index cd607fcc68..9dfb3ea4ad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7320,6 +7320,13 @@ resolved "https://registry.npmjs.org/@types/yarnpkg__lockfile/-/yarnpkg__lockfile-1.1.5.tgz#9639020e1fb65120a2f4387db8f1e8b63efdf229" integrity sha512-8NYnGOctzsI4W0ApsP/BIHD/LnxpJ6XaGf2AZmz4EyDYJMxtprN4279dLNI1CPZcwC9H18qYcaFv4bXi0wmokg== +"@types/yauzl@^2.10.0": + version "2.10.0" + resolved "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" + integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== + dependencies: + "@types/node" "*" + "@types/yauzl@^2.9.1": version "2.9.2" resolved "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" @@ -26322,7 +26329,7 @@ yarn-lock-check@^1.0.5: yauzl@^2.10.0: version "2.10.0" resolved "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== dependencies: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" From 6a817fbd4a6a68412fae9c4e0f0d2e02fe282167 Mon Sep 17 00:00:00 2001 From: blam Date: Tue, 12 Jul 2022 17:58:25 +0200 Subject: [PATCH 021/131] chore: reset fixture Signed-off-by: blam Signed-off-by: blam --- .../fixtures/test-v1beta3/template.yaml | 96 ++++--------------- 1 file changed, 21 insertions(+), 75 deletions(-) diff --git a/plugins/scaffolder-backend/fixtures/test-v1beta3/template.yaml b/plugins/scaffolder-backend/fixtures/test-v1beta3/template.yaml index c56e5a0d79..10d4a39ff7 100644 --- a/plugins/scaffolder-backend/fixtures/test-v1beta3/template.yaml +++ b/plugins/scaffolder-backend/fixtures/test-v1beta3/template.yaml @@ -8,82 +8,28 @@ spec: type: website owner: team-a parameters: - - name: Repositories - description: Some repo + - name: Enter some stuff + description: Enter some stuff properties: - appRepoUrl: + inputString: type: string - title: First Repository - ui:field: RepoUrlPicker - serviceRepoUrl: - type: string - title: First Repository - ui:field: RepoUrlPicker + title: string input test + inputObject: + type: object + title: object input test + description: a little nested thing never hurt anyone right? + properties: + first: + type: string + title: first + second: + type: number + title: second steps: - # First get the app template folder, and template into ./app - - id: app_template - name: Fetch Skeleton + Template - action: fetch:template + - id: debug + if: ${{ true === true }} + name: Debug + action: debug:log input: - url: ./skeleton - targetPath: ./app - copyWithoutRender: - - .github/* - values: - component_id: ${{ parameters.component_id }} - description: ${{ parameters.description }} - services_app_port: ${{ parameters.services_app_port }} - owner: ${{ parameters.owner }} - destination: ${{ parameters.appRepoUrl | parseRepoUrl }} - - # First then service into ./service - - id: app_service_config_template - name: Fetch App Servcie Config. Skeleton + Template - action: fetch:template - input: - url: https://github.com/my-org/helm-values-template - targetPath: ./service - copyWithoutRender: - - .github/* - values: - component_id: ${{ parameters.component_id }} - description: ${{ parameters.description }} - services_app_port: ${{ parameters.services_app_port }} - owner: ${{ parameters.owner }} - destination: ${{ parameters.serviceRepoUrl | parseRepoUrl }} - - # Publish the app - - id: publish_app - name: Publish App - action: publish:github - input: - sourcePath: ./app - allowedHosts: ['github.com'] - description: This is ${{ parameters.component_id }} - repoUrl: ${{ parameters.appRepoUrl }} - - # Publish the service - - id: publish_service - name: Publish Service - action: publish:github - input: - sourcePath: ./service - allowedHosts: ['github.com'] - description: This is ${{ parameters.component_id }} - repoUrl: ${{ parameters.serviceRepoUrl }} - - # Register the app - - id: register_app - name: Register Application - action: catalog:register - input: - repoContentsUrl: ${{ steps.publish_app.output.repoContentsUrl }} - catalogInfoPath: '/catalog-info.yaml' - - # Register the service - - id: register_service - name: Register Application - action: catalog:register - input: - repoContentsUrl: ${{ steps.publish_service.output.repoContentsUrl }} - catalogInfoPath: '/catalog-info.yaml' + message: ${{ parameters.inputString }} + extra: ${{ parameters.inputObject }} From a69b0cfc98605b2827dd965a5443880ad6f4f62e Mon Sep 17 00:00:00 2001 From: blam Date: Tue, 12 Jul 2022 18:16:27 +0200 Subject: [PATCH 022/131] chore: fixing things and making them green for now, still a lot to do. Things don't resolve at the right time Signed-off-by: blam Signed-off-by: blam --- .../reading/tree/ZipArchiveResponse.test.ts | 5 ++- .../src/reading/tree/ZipArchiveResponse.ts | 41 ++++++++++++------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts index b31b9edec6..b94e424251 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts @@ -120,6 +120,7 @@ describe('ZipArchiveResponse', () => { const res = new ZipArchiveResponse(stream, '', '/tmp', 'etag'); const dir = await res.dir(); + await new Promise(resolve => setTimeout(resolve, 1000)); await expect( fs.readFile(resolvePath(dir, 'mkdocs.yml'), 'utf8'), ).resolves.toBe('site_name: Test\n'); @@ -133,7 +134,7 @@ describe('ZipArchiveResponse', () => { const res = new ZipArchiveResponse(stream, 'docs/', '/tmp', 'etag'); const dir = await res.dir(); - + await new Promise(resolve => setTimeout(resolve, 1000)); expect(dir).toMatch(/^[\/\\]tmp[\/\\].*$/); await expect( fs.readFile(resolvePath(dir, 'index.md'), 'utf8'), @@ -164,7 +165,7 @@ describe('ZipArchiveResponse', () => { const filesPromise = res.files(); await expect(filesPromise).rejects.toThrow( - 'Timed out while unzipping File: docs/corrupted.zip', + 'invalid comment length. expected: 55. found: 0', ); }); }); diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index 6a8e5ee621..5141448d1d 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -25,8 +25,6 @@ import { ReadTreeResponseDirOptions, ReadTreeResponseFile, } from '../types'; -import { streamToTimeoutPromise } from './util'; -import { zip } from 'lodash'; const streamToBuffer = async (stream: Readable): Promise => { const buffers: Buffer[] = []; @@ -169,24 +167,37 @@ export class ZipArchiveResponse implements ReadTreeResponse { options?.targetDir ?? (await fs.mkdtemp(platformPath.join(this.workDir, 'backstage-'))); - return new Promise((resolve, reject) => { - const parseStream = this.stream - .pipe(unzipper.Parse()) - .on('entry', async (entry: Entry) => { - // Ignore directory entries since we handle that with the file entries - // as a zip can have files with directories without directory entries - if (entry.type === 'File' && this.shouldBeIncluded(entry)) { - const entryPath = this.getInnerPath(entry.path); + const buffer = await streamToBuffer(this.stream); + return await new Promise((resolve, reject) => { + unzipper2.fromBuffer(buffer, { lazyEntries: false }, (err, zipfile) => { + if (err) { + reject(err); + return; + } + zipfile.on('entry', async (entry: Entry) => { + // If it's not a directory, and it's included, then grab the contents of the file from the buffer + if (!/\/$/.test(entry.fileName) && this.shouldBeIncluded(entry)) { + const entryPath = this.getInnerPath(entry.fileName); const dirname = platformPath.dirname(entryPath); + if (dirname) { await fs.mkdirp(platformPath.join(dir, dirname)); } - entry.pipe(fs.createWriteStream(platformPath.join(dir, entryPath))); - } else { - entry.autodrain(); + + zipfile.openReadStream(entry, async (err2, readStream) => { + if (err2) { + reject(err2); + return; + } + + readStream.pipe( + fs.createWriteStream(platformPath.join(dir, entryPath)), + ); + }); } - }) - .on('finish', () => resolve(dir)); + }); + zipfile.once('end', () => resolve(dir)); + }); }); } } From e5a38fcead3933e4680b5fab6917fdb2675b572e Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 14 Jul 2022 11:53:31 +0200 Subject: [PATCH 023/131] chore: refactoring some parts to make it actually run a little better Signed-off-by: blam --- .../src/reading/tree/ZipArchiveResponse.ts | 118 +++++++++++++----- 1 file changed, 88 insertions(+), 30 deletions(-) diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index 5141448d1d..02683bac1a 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -161,43 +161,101 @@ export class ZipArchiveResponse implements ReadTreeResponse { return archive; } + private async streamToTemporaryFile(stream: Readable): Promise { + const tmpDir = await fs.mkdtemp( + platformPath.join(this.workDir, 'backstage-tmp'), + ); + const tmpFile = platformPath.join(tmpDir, 'tmp.zip'); + + const writeStream = fs.createWriteStream(tmpFile); + + return new Promise((resolve, reject) => { + writeStream.on('error', reject); + writeStream.on('finish', () => resolve(tmpFile)); + stream.pipe(writeStream); + }); + } + + private forEveryZipEntry( + zip: string, + callback: (entry: Entry, content: Readable) => Promise, + ): Promise { + return new Promise((resolve, reject) => { + unzipper2.open(zip, { lazyEntries: true }, (err, zipfile) => { + if (err) { + reject(err); + return; + } + + if (!zipfile) { + reject(new Error('Zip file is empty')); + return; + } + + zipfile.on('entry', async (entry: Entry) => { + // If it's not a directory, and it's included, then grab the contents of the file from the buffer + if (!/\/$/.test(entry.fileName) && this.shouldBeIncluded(entry)) { + zipfile.openReadStream(entry, async (openErr, readStream) => { + if (openErr) { + reject(openErr); + return; + } + + if (!readStream) { + reject(new Error('Zip file is empty')); + return; + } + + await callback(entry, readStream); + }); + } + zipfile.readEntry(); + }); + zipfile.once('end', () => resolve()); + zipfile.readEntry(); + }); + }); + } + async dir(options?: ReadTreeResponseDirOptions): Promise { this.onlyOnce(); const dir = options?.targetDir ?? (await fs.mkdtemp(platformPath.join(this.workDir, 'backstage-'))); - const buffer = await streamToBuffer(this.stream); - return await new Promise((resolve, reject) => { - unzipper2.fromBuffer(buffer, { lazyEntries: false }, (err, zipfile) => { - if (err) { - reject(err); - return; - } - zipfile.on('entry', async (entry: Entry) => { - // If it's not a directory, and it's included, then grab the contents of the file from the buffer - if (!/\/$/.test(entry.fileName) && this.shouldBeIncluded(entry)) { - const entryPath = this.getInnerPath(entry.fileName); - const dirname = platformPath.dirname(entryPath); + const tmpFile = await this.streamToTemporaryFile(this.stream); - if (dirname) { - await fs.mkdirp(platformPath.join(dir, dirname)); - } - - zipfile.openReadStream(entry, async (err2, readStream) => { - if (err2) { - reject(err2); - return; - } - - readStream.pipe( - fs.createWriteStream(platformPath.join(dir, entryPath)), - ); - }); - } - }); - zipfile.once('end', () => resolve(dir)); - }); + await this.forEveryZipEntry(tmpFile, async (entry, content) => { + console.log(entry); }); + // return await new Promise(async (resolve, reject) => { + // const zipFile = await this.openZipArchive(tmpFile); + // console.log('hjere'); + // zipFile.readEntry(); + // zipFile.on('entry', async (entry: Entry) => { + // console.log('entry'); + // // If it's not a directory, and it's included, then grab the contents of the file from the buffer + // if (!/\/$/.test(entry.fileName) && this.shouldBeIncluded(entry)) { + // const entryPath = this.getInnerPath(entry.fileName); + // const dirname = platformPath.dirname(entryPath); + + // if (dirname) { + // await fs.mkdirp(platformPath.join(dir, dirname)); + // } + + // zipFile.openReadStream(entry, async (err2, readStream) => { + // if (err2) { + // reject(err2); + // return; + // } + + // readStream.pipe( + // fs.createWriteStream(platformPath.join(dir, entryPath)), + // ); + // }); + // } + // }); + // zipFile.once('end', () => resolve(dir)); + // }); } } From 7642a1423347382f387e81baf298ecca874fbf3f Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 14 Jul 2022 12:01:40 +0200 Subject: [PATCH 024/131] chore: looking so much better now Signed-off-by: blam --- .../src/reading/tree/ZipArchiveResponse.ts | 101 +++++------------- 1 file changed, 24 insertions(+), 77 deletions(-) diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index 02683bac1a..66c3bbf026 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -91,35 +91,16 @@ export class ZipArchiveResponse implements ReadTreeResponse { async files(): Promise { this.onlyOnce(); const files = Array(); + const tmpFile = await this.streamToTemporaryFile(this.stream); - const buffer = await streamToBuffer(this.stream); - return await new Promise((resolve, reject) => { - unzipper2.fromBuffer(buffer, { lazyEntries: false }, (err, zipfile) => { - if (err) { - reject(err); - return; - } - zipfile.on('entry', async (entry: Entry) => { - // If it's not a directory, and it's included, then grab the contents of the file from the buffer - if (!/\/$/.test(entry.fileName) && this.shouldBeIncluded(entry)) { - files.push({ - path: this.getInnerPath(entry.fileName), - content: () => - new Promise((cResolve, cReject) => { - zipfile.openReadStream(entry, async (cError, readStream) => { - if (cError) { - return cReject(cError); - } - return cResolve(await streamToBuffer(readStream)); - }); - }), - }); - } - }); - - zipfile.once('end', () => resolve(files)); + await this.forEveryZipEntry(tmpFile, async (entry, content) => { + files.push({ + path: this.getInnerPath(entry.fileName), + content: async () => await streamToBuffer(content), }); }); + + return files; } async archive(): Promise { @@ -129,30 +110,12 @@ export class ZipArchiveResponse implements ReadTreeResponse { return this.stream; } - const buffer = await streamToBuffer(this.stream); const archive = archiver('zip'); + const tmpFile = await this.streamToTemporaryFile(this.stream); - await new Promise((resolve, reject) => { - unzipper2.fromBuffer(buffer, { lazyEntries: false }, (err, zipfile) => { - if (err) { - reject(err); - return; - } - zipfile.on('entry', async (entry: Entry) => { - // If it's not a directory, and it's included, then grab the contents of the file from the buffer - if (!/\/$/.test(entry.fileName) && this.shouldBeIncluded(entry)) { - zipfile.openReadStream(entry, async (err2, readStream) => { - if (err2) { - reject(err2); - return; - } - archive.append(await streamToBuffer(readStream), { - name: this.getInnerPath(entry.fileName), - }); - }); - } - }); - zipfile.once('end', () => resolve()); + await this.forEveryZipEntry(tmpFile, async (entry, content) => { + archive.append(await streamToBuffer(content), { + name: this.getInnerPath(entry.fileName), }); }); @@ -226,36 +189,20 @@ export class ZipArchiveResponse implements ReadTreeResponse { const tmpFile = await this.streamToTemporaryFile(this.stream); await this.forEveryZipEntry(tmpFile, async (entry, content) => { - console.log(entry); + const entryPath = this.getInnerPath(entry.fileName); + const dirname = platformPath.dirname(entryPath); + + if (dirname) { + await fs.mkdirp(platformPath.join(dir, dirname)); + } + return new Promise(async (resolve, reject) => { + const file = fs.createWriteStream(platformPath.join(dir, entryPath)); + file.on('error', reject); + file.on('finish', resolve); + content.pipe(file); + }); }); - // return await new Promise(async (resolve, reject) => { - // const zipFile = await this.openZipArchive(tmpFile); - // console.log('hjere'); - // zipFile.readEntry(); - // zipFile.on('entry', async (entry: Entry) => { - // console.log('entry'); - // // If it's not a directory, and it's included, then grab the contents of the file from the buffer - // if (!/\/$/.test(entry.fileName) && this.shouldBeIncluded(entry)) { - // const entryPath = this.getInnerPath(entry.fileName); - // const dirname = platformPath.dirname(entryPath); - // if (dirname) { - // await fs.mkdirp(platformPath.join(dir, dirname)); - // } - - // zipFile.openReadStream(entry, async (err2, readStream) => { - // if (err2) { - // reject(err2); - // return; - // } - - // readStream.pipe( - // fs.createWriteStream(platformPath.join(dir, entryPath)), - // ); - // }); - // } - // }); - // zipFile.once('end', () => resolve(dir)); - // }); + return dir; } } From 0f473ecdc7dc7ef9e3c0e690ae263fffa312faf4 Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 14 Jul 2022 12:03:51 +0200 Subject: [PATCH 025/131] chore: remove the pauses Signed-off-by: blam --- .../backend-common/src/reading/tree/ZipArchiveResponse.test.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts index b94e424251..c67dcf75d7 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts @@ -120,7 +120,6 @@ describe('ZipArchiveResponse', () => { const res = new ZipArchiveResponse(stream, '', '/tmp', 'etag'); const dir = await res.dir(); - await new Promise(resolve => setTimeout(resolve, 1000)); await expect( fs.readFile(resolvePath(dir, 'mkdocs.yml'), 'utf8'), ).resolves.toBe('site_name: Test\n'); @@ -134,7 +133,6 @@ describe('ZipArchiveResponse', () => { const res = new ZipArchiveResponse(stream, 'docs/', '/tmp', 'etag'); const dir = await res.dir(); - await new Promise(resolve => setTimeout(resolve, 1000)); expect(dir).toMatch(/^[\/\\]tmp[\/\\].*$/); await expect( fs.readFile(resolvePath(dir, 'index.md'), 'utf8'), From 773fc2c4a551e4b5162e8437e42e82481dd0b498 Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 14 Jul 2022 12:05:56 +0200 Subject: [PATCH 026/131] chore: make better Signed-off-by: blam --- .../src/reading/tree/ZipArchiveResponse.ts | 14 ++------ .../backend-common/src/reading/tree/util.ts | 34 +++++-------------- 2 files changed, 11 insertions(+), 37 deletions(-) diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index 66c3bbf026..b40780d125 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -15,25 +15,17 @@ */ import archiver from 'archiver'; -import unzipper2, { Entry } from 'yauzl'; +import yauzl, { Entry } from 'yauzl'; import fs from 'fs-extra'; import platformPath from 'path'; import { Readable } from 'stream'; -// import unzipper, { Entry } from 'unzipper'; import { ReadTreeResponse, ReadTreeResponseDirOptions, ReadTreeResponseFile, } from '../types'; +import { streamToBuffer } from './util'; -const streamToBuffer = async (stream: Readable): Promise => { - const buffers: Buffer[] = []; - return new Promise((resolve, reject) => { - stream.on('data', (data: Buffer) => buffers.push(data)); - stream.on('error', reject); - stream.on('end', () => resolve(Buffer.concat(buffers))); - }); -}; /** * Wraps a zip archive stream into a tree response reader. */ @@ -144,7 +136,7 @@ export class ZipArchiveResponse implements ReadTreeResponse { callback: (entry: Entry, content: Readable) => Promise, ): Promise { return new Promise((resolve, reject) => { - unzipper2.open(zip, { lazyEntries: true }, (err, zipfile) => { + yauzl.open(zip, { lazyEntries: true }, (err, zipfile) => { if (err) { reject(err); return; diff --git a/packages/backend-common/src/reading/tree/util.ts b/packages/backend-common/src/reading/tree/util.ts index 49c696467c..bfe02ac6c8 100644 --- a/packages/backend-common/src/reading/tree/util.ts +++ b/packages/backend-common/src/reading/tree/util.ts @@ -18,36 +18,18 @@ // containing any character except `/` one or more times, and ending with a `/` // e.g. Will match `dirA/` in `dirA/dirB/file.ext` const directoryNameRegex = /^[^\/]+\//; - +import { Readable } from 'stream'; // Removes the first segment of a forward-slash-separated path export function stripFirstDirectoryFromPath(path: string): string { return path.replace(directoryNameRegex, ''); } -// Some corrupted ZIP files cause the zlib inflater to hang indefinitely. -// This is a workaround to bail on stuck streams after 3 seconds. -// Related: https://github.com/ZJONSSON/node-unzipper/issues/213 -export async function streamToTimeoutPromise( - stream: NodeJS.ReadableStream, - options: { - timeoutMs: number; - eventName: string; - getError: (data: T) => Error; - }, -) { - let lastEntryTimeout: NodeJS.Timeout | undefined; - stream.on(options.eventName, (data: T) => { - clearTimeout(lastEntryTimeout); - - lastEntryTimeout = setTimeout(() => { - stream.emit('error', options.getError(data)); - }, options.timeoutMs); - }); - - await new Promise((resolve, reject) => { - stream.on('finish', resolve); +// Concats the data into a buffer. +export const streamToBuffer = async (stream: Readable): Promise => { + const buffers: Buffer[] = []; + return new Promise((resolve, reject) => { + stream.on('data', (data: Buffer) => buffers.push(data)); stream.on('error', reject); + stream.on('end', () => resolve(Buffer.concat(buffers))); }); - - clearTimeout(lastEntryTimeout); -} +}; From e27ada575f0bae003b31035731948bd040321e9d Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 14 Jul 2022 13:02:49 +0200 Subject: [PATCH 027/131] chore: small re-factor, and update changeset Signed-off-by: blam --- .changeset/nine-mails-crash.md | 2 +- packages/backend-common/package.json | 4 +- .../src/reading/tree/ZipArchiveResponse.ts | 104 ++++++++---------- 3 files changed, 50 insertions(+), 60 deletions(-) diff --git a/.changeset/nine-mails-crash.md b/.changeset/nine-mails-crash.md index 3dc4334f17..ecb047802e 100644 --- a/.changeset/nine-mails-crash.md +++ b/.changeset/nine-mails-crash.md @@ -6,4 +6,4 @@ The `ZipArchiveResponse` now correctly handles corrupt ZIP archives. Before this change, certain corrupt ZIP archives either cause the inflater to throw (as expected), or will hang the parser indefinitely. -This change introduces a default timeout of 3000ms before throwing an error message when trying to unzip an archive. +By switching out the `zip` parsing library, we now write to a temporary directory, and load from disk which should ensure that the parsing of the `.zip` files are done correctly because `streaming` of `zip` paths is technically impossible without being able to parse the headers at the end of he file. diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index 40beb3deca..3cc689f32a 100644 --- a/packages/backend-common/package.json +++ b/packages/backend-common/package.json @@ -49,7 +49,6 @@ "@types/express": "^4.17.6", "@types/luxon": "^2.0.4", "@types/webpack-env": "^1.15.2", - "@types/yauzl": "^2.10.0", "archiver": "^5.0.2", "aws-sdk": "^2.840.0", "base64-stream": "^1.0.0", @@ -79,7 +78,6 @@ "selfsigned": "^2.0.0", "stoppable": "^1.1.0", "tar": "^6.1.2", - "unzipper": "^0.10.11", "winston": "^3.2.1", "yauzl": "^2.10.0", "yn": "^4.0.0" @@ -108,7 +106,7 @@ "@types/stoppable": "^1.1.0", "@types/supertest": "^2.0.8", "@types/tar": "^6.1.1", - "@types/unzipper": "^0.10.3", + "@types/yauzl": "^2.10.0", "@types/webpack-env": "^1.15.2", "aws-sdk-mock": "^5.2.1", "better-sqlite3": "^7.5.0", diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index b40780d125..15bc0d0258 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -80,6 +80,54 @@ export class ZipArchiveResponse implements ReadTreeResponse { return true; } + private async streamToTemporaryFile(stream: Readable): Promise { + const tmpDir = await fs.mkdtemp( + platformPath.join(this.workDir, 'backstage-tmp'), + ); + const tmpFile = platformPath.join(tmpDir, 'tmp.zip'); + + const writeStream = fs.createWriteStream(tmpFile); + + return new Promise((resolve, reject) => { + writeStream.on('error', reject); + writeStream.on('finish', () => resolve(tmpFile)); + stream.pipe(writeStream); + }); + } + + private forEveryZipEntry( + zip: string, + callback: (entry: Entry, content: Readable) => Promise, + ): Promise { + return new Promise((resolve, reject) => { + yauzl.open(zip, { lazyEntries: true }, (err, zipfile) => { + if (err || !zipfile) { + reject(err || new Error(`Failed to open zip file ${zip}`)); + return; + } + + zipfile.on('entry', async (entry: Entry) => { + if (!/\/$/.test(entry.fileName) && this.shouldBeIncluded(entry)) { + zipfile.openReadStream(entry, async (openErr, readStream) => { + if (openErr || !readStream) { + reject( + openErr || + new Error(`Failed to open zip entry ${entry.fileName}`), + ); + return; + } + + await callback(entry, readStream); + }); + } + zipfile.readEntry(); + }); + zipfile.once('end', () => resolve()); + zipfile.readEntry(); + }); + }); + } + async files(): Promise { this.onlyOnce(); const files = Array(); @@ -116,62 +164,6 @@ export class ZipArchiveResponse implements ReadTreeResponse { return archive; } - private async streamToTemporaryFile(stream: Readable): Promise { - const tmpDir = await fs.mkdtemp( - platformPath.join(this.workDir, 'backstage-tmp'), - ); - const tmpFile = platformPath.join(tmpDir, 'tmp.zip'); - - const writeStream = fs.createWriteStream(tmpFile); - - return new Promise((resolve, reject) => { - writeStream.on('error', reject); - writeStream.on('finish', () => resolve(tmpFile)); - stream.pipe(writeStream); - }); - } - - private forEveryZipEntry( - zip: string, - callback: (entry: Entry, content: Readable) => Promise, - ): Promise { - return new Promise((resolve, reject) => { - yauzl.open(zip, { lazyEntries: true }, (err, zipfile) => { - if (err) { - reject(err); - return; - } - - if (!zipfile) { - reject(new Error('Zip file is empty')); - return; - } - - zipfile.on('entry', async (entry: Entry) => { - // If it's not a directory, and it's included, then grab the contents of the file from the buffer - if (!/\/$/.test(entry.fileName) && this.shouldBeIncluded(entry)) { - zipfile.openReadStream(entry, async (openErr, readStream) => { - if (openErr) { - reject(openErr); - return; - } - - if (!readStream) { - reject(new Error('Zip file is empty')); - return; - } - - await callback(entry, readStream); - }); - } - zipfile.readEntry(); - }); - zipfile.once('end', () => resolve()); - zipfile.readEntry(); - }); - }); - } - async dir(options?: ReadTreeResponseDirOptions): Promise { this.onlyOnce(); const dir = From 29d6cf0147a78a224afc0d5e3beffcfbeca33e17 Mon Sep 17 00:00:00 2001 From: Jake Crews Date: Thu, 14 Jul 2022 07:34:41 -0500 Subject: [PATCH 028/131] fix(plugin-catalog): Fix viewTechdocLink so kind is lowercase by default in url path Signed-off-by: Jake Crews --- .changeset/fuzzy-buses-shop.md | 6 ++ .changeset/twenty-humans-visit.md | 5 ++ plugins/catalog/package.json | 1 + .../components/AboutCard/AboutCard.test.tsx | 58 +++++++++++++++++++ .../src/components/AboutCard/AboutCard.tsx | 17 ++++-- plugins/techdocs-react/api-report.md | 7 +++ plugins/techdocs-react/package.json | 1 + plugins/techdocs-react/src/helpers.ts | 38 ++++++++++++ plugins/techdocs-react/src/index.ts | 1 + yarn.lock | 24 +++++++- 10 files changed, 149 insertions(+), 9 deletions(-) create mode 100644 .changeset/fuzzy-buses-shop.md create mode 100644 .changeset/twenty-humans-visit.md create mode 100644 plugins/techdocs-react/src/helpers.ts diff --git a/.changeset/fuzzy-buses-shop.md b/.changeset/fuzzy-buses-shop.md new file mode 100644 index 0000000000..eb300d1535 --- /dev/null +++ b/.changeset/fuzzy-buses-shop.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-catalog': patch +--- + +Fix link for 'View TechDocs' button on entity's page: kind should be in lowercase by default, uppercase could be enabled +if `techdocs.legacyUseCaseSensitiveTripletPaths` is set to `true`. diff --git a/.changeset/twenty-humans-visit.md b/.changeset/twenty-humans-visit.md new file mode 100644 index 0000000000..6235164602 --- /dev/null +++ b/.changeset/twenty-humans-visit.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs-react': patch +--- + +Add `toLowerEntityRefMaybe()` function for handling `techdocs.legacyUseCaseSensitiveTripletPaths` flag. diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index 66718424cd..135619ed75 100644 --- a/plugins/catalog/package.json +++ b/plugins/catalog/package.json @@ -44,6 +44,7 @@ "@backstage/plugin-catalog-react": "^1.1.2-next.3", "@backstage/plugin-search-common": "^0.3.6-next.0", "@backstage/plugin-search-react": "^0.2.2-next.3", + "@backstage/plugin-techdocs-react": "1.0.1-next.1", "@backstage/theme": "^0.2.16-next.1", "@backstage/types": "^1.0.0", "@material-ui/core": "^4.12.2", diff --git a/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx b/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx index f2fee7d9f4..e892bf8554 100644 --- a/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx +++ b/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx @@ -26,6 +26,7 @@ import { CatalogApi, entityRouteRef, } from '@backstage/plugin-catalog-react'; +import { ConfigApi, configApiRef } from '@backstage/core-plugin-api'; import { renderInTestApp, TestApiProvider } from '@backstage/test-utils'; import userEvent from '@testing-library/user-event'; import React from 'react'; @@ -393,6 +394,63 @@ describe('', () => { }, ); + expect(getByText('View TechDocs').closest('a')).toHaveAttribute( + 'href', + '/docs/default/component/software', + ); + }); + + it('renders techdocs link if techdocs.legacyUseCaseSensitiveTripletPaths is true', async () => { + const configApi: ConfigApi = new ConfigReader({ + integrations: { + github: [ + { + host: 'github.com', + token: '...', + }, + ], + }, + techdocs: { + legacyUseCaseSensitiveTripletPaths: true, + }, + }); + + const entity = { + apiVersion: 'v1', + kind: 'Component', + metadata: { + name: 'software', + annotations: { + 'backstage.io/techdocs-ref': './', + }, + }, + spec: { + owner: 'guest', + type: 'service', + lifecycle: 'production', + }, + }; + + const { getByText } = await renderInTestApp( + + + + + , + { + mountedRoutes: { + '/docs/:namespace/:kind/:name': viewTechDocRouteRef, + '/catalog/:namespace/:kind/:name': entityRouteRef, + }, + }, + ); + expect(getByText('View TechDocs').closest('a')).toHaveAttribute( 'href', '/docs/default/Component/software', diff --git a/plugins/catalog/src/components/AboutCard/AboutCard.tsx b/plugins/catalog/src/components/AboutCard/AboutCard.tsx index b7ccd49b31..9e0b3eabb8 100644 --- a/plugins/catalog/src/components/AboutCard/AboutCard.tsx +++ b/plugins/catalog/src/components/AboutCard/AboutCard.tsx @@ -18,6 +18,7 @@ import { ANNOTATION_EDIT_URL, ANNOTATION_LOCATION, DEFAULT_NAMESPACE, + getCompoundEntityRef, stringifyEntityRef, } from '@backstage/catalog-model'; import { @@ -26,7 +27,12 @@ import { InfoCardVariants, Link, } from '@backstage/core-components'; -import { alertApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api'; +import { + alertApiRef, + configApiRef, + useApi, + useRouteRef, +} from '@backstage/core-plugin-api'; import { ScmIntegrationIcon, scmIntegrationsApiRef, @@ -50,6 +56,7 @@ import EditIcon from '@material-ui/icons/Edit'; import React, { useCallback } from 'react'; import { viewTechDocRouteRef } from '../../routes'; import { AboutContent } from './AboutContent'; +import { toLowercaseEntityRefMaybe } from '@backstage/plugin-techdocs-react'; const useStyles = makeStyles({ gridItemCard: { @@ -91,6 +98,8 @@ export function AboutCard(props: AboutCardProps) { const catalogApi = useApi(catalogApiRef); const alertApi = useApi(alertApiRef); const viewTechdocLink = useRouteRef(viewTechDocRouteRef); + const config = useApi(configApiRef); + const entityRef = getCompoundEntityRef(entity); const entitySourceLocation = getEntitySourceLocation( entity, @@ -113,11 +122,7 @@ export function AboutCard(props: AboutCardProps) { icon: , href: viewTechdocLink && - viewTechdocLink({ - namespace: entity.metadata.namespace || DEFAULT_NAMESPACE, - kind: entity.kind, - name: entity.metadata.name, - }), + viewTechdocLink(toLowercaseEntityRefMaybe(entityRef, config)), }; let cardClass = ''; diff --git a/plugins/techdocs-react/api-report.md b/plugins/techdocs-react/api-report.md index 336481e922..d04b852d07 100644 --- a/plugins/techdocs-react/api-report.md +++ b/plugins/techdocs-react/api-report.md @@ -7,6 +7,7 @@ import { ApiRef } from '@backstage/core-plugin-api'; import { AsyncState } from 'react-use/lib/useAsync'; import { ComponentType } from 'react'; import { CompoundEntityRef } from '@backstage/catalog-model'; +import { Config } from '@backstage/config'; import { Dispatch } from 'react'; import { Entity } from '@backstage/catalog-model'; import { Extension } from '@backstage/core-plugin-api'; @@ -152,6 +153,12 @@ export interface TechDocsStorageApi { // @public export const techdocsStorageApiRef: ApiRef; +// @public +export function toLowercaseEntityRefMaybe( + entityRef: CompoundEntityRef, + config: Config, +): CompoundEntityRef; + // @public export const useShadowDomStylesLoading: (element: Element | null) => boolean; diff --git a/plugins/techdocs-react/package.json b/plugins/techdocs-react/package.json index 6ad4fe4f9c..8eeab98e2b 100644 --- a/plugins/techdocs-react/package.json +++ b/plugins/techdocs-react/package.json @@ -38,6 +38,7 @@ "@backstage/catalog-model": "^1.1.0-next.3", "@backstage/core-components": "^0.10.0-next.3", "@backstage/core-plugin-api": "^1.0.4-next.0", + "@backstage/config": "^1.0.1", "@backstage/version-bridge": "^1.0.1", "@material-ui/core": "^4.12.2", "@material-ui/lab": "4.0.0-alpha.57", diff --git a/plugins/techdocs-react/src/helpers.ts b/plugins/techdocs-react/src/helpers.ts new file mode 100644 index 0000000000..3820c2e117 --- /dev/null +++ b/plugins/techdocs-react/src/helpers.ts @@ -0,0 +1,38 @@ +/* + * Copyright 2022 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Config } from '@backstage/config'; +import { CompoundEntityRef } from '@backstage/catalog-model'; + +/** + * Lower-case entity triplets by default, but allow override. + * + * @public + */ +export function toLowercaseEntityRefMaybe( + entityRef: CompoundEntityRef, + config: Config, +) { + return config.getOptionalBoolean( + 'techdocs.legacyUseCaseSensitiveTripletPaths', + ) + ? entityRef + : { + kind: entityRef.kind.toLocaleLowerCase('en-US'), + name: entityRef.name.toLocaleLowerCase('en-US'), + namespace: entityRef.namespace.toLocaleLowerCase('en-US'), + }; +} diff --git a/plugins/techdocs-react/src/index.ts b/plugins/techdocs-react/src/index.ts index bd2edda763..00ba620651 100644 --- a/plugins/techdocs-react/src/index.ts +++ b/plugins/techdocs-react/src/index.ts @@ -51,3 +51,4 @@ export { useShadowRootElements, useShadowRootSelection, } from './hooks'; +export { toLowercaseEntityRefMaybe } from './helpers'; diff --git a/yarn.lock b/yarn.lock index cd607fcc68..8df1daee84 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1549,7 +1549,7 @@ "@backstage/errors" "^1.0.0" cross-fetch "^3.1.5" -"@backstage/catalog-model@^1.0.0", "@backstage/catalog-model@^1.0.3": +"@backstage/catalog-model@^1.0.0", "@backstage/catalog-model@^1.0.3", "@backstage/catalog-model@^1.0.3-next.0": version "1.0.3" resolved "https://registry.npmjs.org/@backstage/catalog-model/-/catalog-model-1.0.3.tgz#0d7bd832add56650871b95894878540fc41a4ef9" integrity sha512-rbXdA/CI8EzpsthlSI4JonLd4RZoki7IN6tFvivjKDMlW8IVb63BJXWO4VnvHH+LLYzH4/OaL051YeoaicdqYw== @@ -1562,7 +1562,7 @@ lodash "^4.17.21" uuid "^8.0.0" -"@backstage/core-components@^0.9.0", "@backstage/core-components@^0.9.5": +"@backstage/core-components@^0.9.0", "@backstage/core-components@^0.9.5", "@backstage/core-components@^0.9.5-next.1": version "0.9.5" resolved "https://registry.npmjs.org/@backstage/core-components/-/core-components-0.9.5.tgz#5a0b34867aaee0549bfa67b39a69c09588fa3c7a" integrity sha512-kfAdN70idiEqHeH9ZQryn6C0RxJEKiRc/7srYIz0CVV88zJfc0nmZ5C/S10Gkht2xWfm95tTSw2P1vEYIBbfxg== @@ -1607,7 +1607,7 @@ zen-observable "^0.8.15" zod "^3.11.6" -"@backstage/core-plugin-api@^1.0.0", "@backstage/core-plugin-api@^1.0.3": +"@backstage/core-plugin-api@^1.0.0", "@backstage/core-plugin-api@^1.0.3", "@backstage/core-plugin-api@^1.0.3-next.0": version "1.0.3" resolved "https://registry.npmjs.org/@backstage/core-plugin-api/-/core-plugin-api-1.0.3.tgz#32ecfec2afe1a25d02d41f1813621843121c2d7a" integrity sha512-4/d9+c+AmqhY5KqsC8ikIcMsmXIcKP3+1/uT2H3/DxxJLx2sH7BvNVVqro5ZAhA7iNsuYdrfV0fHeNxGsdLuNA== @@ -1765,6 +1765,24 @@ qs "^6.9.4" react-use "^17.2.4" +"@backstage/plugin-techdocs-react@1.0.1-next.1": + version "1.0.1-next.1" + resolved "https://registry.npmjs.org/@backstage/plugin-techdocs-react/-/plugin-techdocs-react-1.0.1-next.1.tgz#c30b19e5ab622d898873406431b66890efc7877e" + integrity sha512-4tz9etAWIM5waOaTVsYgTnjNQE/kIXK1gPl/BX5Ffv644CvQ1Ll/JKIrfdMlCgC4nZuH/9vxNOa7Brzdnapf+A== + dependencies: + "@backstage/catalog-model" "^1.0.3-next.0" + "@backstage/core-components" "^0.9.5-next.1" + "@backstage/core-plugin-api" "^1.0.3-next.0" + "@backstage/version-bridge" "^1.0.1" + "@material-ui/core" "^4.12.2" + "@material-ui/lab" "4.0.0-alpha.57" + "@material-ui/styles" "^4.11.0" + jss "~10.8.2" + lodash "^4.17.21" + react-helmet "6.1.0" + react-router-dom "6.0.0-beta.0" + react-use "^17.2.4" + "@backstage/theme@^0.2.15", "@backstage/theme@^0.2.6", "@backstage/theme@^0.2.7", "@backstage/theme@^0.2.9": version "0.2.15" resolved "https://registry.npmjs.org/@backstage/theme/-/theme-0.2.15.tgz#478491c9bca9dca85d5af08767ba512eabcd3669" From e466c10399d2b33c1fdd328248528163d01058b7 Mon Sep 17 00:00:00 2001 From: Jake Crews Date: Thu, 14 Jul 2022 07:44:16 -0500 Subject: [PATCH 029/131] fix versioning Signed-off-by: Jake Crews --- plugins/catalog/package.json | 2 +- .../src/components/AboutCard/AboutCard.tsx | 1 - yarn.lock | 24 +++---------------- 3 files changed, 4 insertions(+), 23 deletions(-) diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index 135619ed75..89d22ea886 100644 --- a/plugins/catalog/package.json +++ b/plugins/catalog/package.json @@ -44,7 +44,7 @@ "@backstage/plugin-catalog-react": "^1.1.2-next.3", "@backstage/plugin-search-common": "^0.3.6-next.0", "@backstage/plugin-search-react": "^0.2.2-next.3", - "@backstage/plugin-techdocs-react": "1.0.1-next.1", + "@backstage/plugin-techdocs-react": "1.0.2-next.2", "@backstage/theme": "^0.2.16-next.1", "@backstage/types": "^1.0.0", "@material-ui/core": "^4.12.2", diff --git a/plugins/catalog/src/components/AboutCard/AboutCard.tsx b/plugins/catalog/src/components/AboutCard/AboutCard.tsx index 9e0b3eabb8..757b5b10a6 100644 --- a/plugins/catalog/src/components/AboutCard/AboutCard.tsx +++ b/plugins/catalog/src/components/AboutCard/AboutCard.tsx @@ -17,7 +17,6 @@ import { ANNOTATION_EDIT_URL, ANNOTATION_LOCATION, - DEFAULT_NAMESPACE, getCompoundEntityRef, stringifyEntityRef, } from '@backstage/catalog-model'; diff --git a/yarn.lock b/yarn.lock index 8df1daee84..cd607fcc68 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1549,7 +1549,7 @@ "@backstage/errors" "^1.0.0" cross-fetch "^3.1.5" -"@backstage/catalog-model@^1.0.0", "@backstage/catalog-model@^1.0.3", "@backstage/catalog-model@^1.0.3-next.0": +"@backstage/catalog-model@^1.0.0", "@backstage/catalog-model@^1.0.3": version "1.0.3" resolved "https://registry.npmjs.org/@backstage/catalog-model/-/catalog-model-1.0.3.tgz#0d7bd832add56650871b95894878540fc41a4ef9" integrity sha512-rbXdA/CI8EzpsthlSI4JonLd4RZoki7IN6tFvivjKDMlW8IVb63BJXWO4VnvHH+LLYzH4/OaL051YeoaicdqYw== @@ -1562,7 +1562,7 @@ lodash "^4.17.21" uuid "^8.0.0" -"@backstage/core-components@^0.9.0", "@backstage/core-components@^0.9.5", "@backstage/core-components@^0.9.5-next.1": +"@backstage/core-components@^0.9.0", "@backstage/core-components@^0.9.5": version "0.9.5" resolved "https://registry.npmjs.org/@backstage/core-components/-/core-components-0.9.5.tgz#5a0b34867aaee0549bfa67b39a69c09588fa3c7a" integrity sha512-kfAdN70idiEqHeH9ZQryn6C0RxJEKiRc/7srYIz0CVV88zJfc0nmZ5C/S10Gkht2xWfm95tTSw2P1vEYIBbfxg== @@ -1607,7 +1607,7 @@ zen-observable "^0.8.15" zod "^3.11.6" -"@backstage/core-plugin-api@^1.0.0", "@backstage/core-plugin-api@^1.0.3", "@backstage/core-plugin-api@^1.0.3-next.0": +"@backstage/core-plugin-api@^1.0.0", "@backstage/core-plugin-api@^1.0.3": version "1.0.3" resolved "https://registry.npmjs.org/@backstage/core-plugin-api/-/core-plugin-api-1.0.3.tgz#32ecfec2afe1a25d02d41f1813621843121c2d7a" integrity sha512-4/d9+c+AmqhY5KqsC8ikIcMsmXIcKP3+1/uT2H3/DxxJLx2sH7BvNVVqro5ZAhA7iNsuYdrfV0fHeNxGsdLuNA== @@ -1765,24 +1765,6 @@ qs "^6.9.4" react-use "^17.2.4" -"@backstage/plugin-techdocs-react@1.0.1-next.1": - version "1.0.1-next.1" - resolved "https://registry.npmjs.org/@backstage/plugin-techdocs-react/-/plugin-techdocs-react-1.0.1-next.1.tgz#c30b19e5ab622d898873406431b66890efc7877e" - integrity sha512-4tz9etAWIM5waOaTVsYgTnjNQE/kIXK1gPl/BX5Ffv644CvQ1Ll/JKIrfdMlCgC4nZuH/9vxNOa7Brzdnapf+A== - dependencies: - "@backstage/catalog-model" "^1.0.3-next.0" - "@backstage/core-components" "^0.9.5-next.1" - "@backstage/core-plugin-api" "^1.0.3-next.0" - "@backstage/version-bridge" "^1.0.1" - "@material-ui/core" "^4.12.2" - "@material-ui/lab" "4.0.0-alpha.57" - "@material-ui/styles" "^4.11.0" - jss "~10.8.2" - lodash "^4.17.21" - react-helmet "6.1.0" - react-router-dom "6.0.0-beta.0" - react-use "^17.2.4" - "@backstage/theme@^0.2.15", "@backstage/theme@^0.2.6", "@backstage/theme@^0.2.7", "@backstage/theme@^0.2.9": version "0.2.15" resolved "https://registry.npmjs.org/@backstage/theme/-/theme-0.2.15.tgz#478491c9bca9dca85d5af08767ba512eabcd3669" From aef5f69057c4ba08b0a2f7d2010b9ac599ff9923 Mon Sep 17 00:00:00 2001 From: Jake Crews Date: Thu, 14 Jul 2022 09:39:41 -0500 Subject: [PATCH 030/131] change TechDocsReaderPageContext to modify entityRef for casing Signed-off-by: Jake Crews --- .changeset/twenty-humans-visit.md | 3 +- plugins/techdocs-react/src/context.test.tsx | 176 ++++++++++++++------ plugins/techdocs-react/src/context.tsx | 7 +- 3 files changed, 128 insertions(+), 58 deletions(-) diff --git a/.changeset/twenty-humans-visit.md b/.changeset/twenty-humans-visit.md index 6235164602..e543d30145 100644 --- a/.changeset/twenty-humans-visit.md +++ b/.changeset/twenty-humans-visit.md @@ -2,4 +2,5 @@ '@backstage/plugin-techdocs-react': patch --- -Add `toLowerEntityRefMaybe()` function for handling `techdocs.legacyUseCaseSensitiveTripletPaths` flag. +Add `toLowerEntityRefMaybe()` helper function for handling `techdocs.legacyUseCaseSensitiveTripletPaths` flag. +Pass modified `entityRef` to `TechDocsReaderPageContext` to handle the `techdocs.legacyUseCaseSensitiveTripletPaths` flag. diff --git a/plugins/techdocs-react/src/context.test.tsx b/plugins/techdocs-react/src/context.test.tsx index 14669dc336..efc695bff0 100644 --- a/plugins/techdocs-react/src/context.test.tsx +++ b/plugins/techdocs-react/src/context.test.tsx @@ -21,6 +21,7 @@ import { ThemeProvider } from '@material-ui/core'; import { lightTheme } from '@backstage/theme'; import { TestApiProvider } from '@backstage/test-utils'; import { Entity, CompoundEntityRef } from '@backstage/catalog-model'; +import { configApiRef } from '@backstage/core-plugin-api'; import { techdocsApiRef } from './api'; import { useTechDocsReaderPage, TechDocsReaderPageProvider } from './context'; @@ -55,72 +56,137 @@ const techdocsApiMock = { getTechDocsMetadata: jest.fn().mockResolvedValue(mockTechDocsMetadata), }; -const wrapper = ({ - entityRef = { - kind: mockEntityMetadata.kind, - name: mockEntityMetadata.metadata.name, - namespace: mockEntityMetadata.metadata.namespace!!, - }, - children, -}: { - entityRef?: CompoundEntityRef; - children: React.ReactNode; -}) => ( - - - - {children} - - - -); - describe('useTechDocsReaderPage', () => { - it('should set title', async () => { - const { result, waitForNextUpdate } = renderHook( - () => useTechDocsReaderPage(), - { wrapper }, + describe('when legacyUseCaseSensitiveTripletPaths is false', () => { + const configApiMock = { + getOptionalBoolean: jest.fn().mockReturnValue(undefined), + }; + + const wrapper = ({ + entityRef = { + kind: mockEntityMetadata.kind, + name: mockEntityMetadata.metadata.name, + namespace: mockEntityMetadata.metadata.namespace!!, + }, + children, + }: { + entityRef?: CompoundEntityRef; + children: React.ReactNode; + }) => ( + + + + {children} + + + ); - expect(result.current.title).toBe(''); + it('should set title', async () => { + const { result, waitForNextUpdate } = renderHook( + () => useTechDocsReaderPage(), + { wrapper }, + ); - act(() => result.current.setTitle('test site title')); + expect(result.current.title).toBe(''); - await waitForNextUpdate(); + act(() => result.current.setTitle('test site title')); - expect(result.current.title).toBe('test site title'); + await waitForNextUpdate(); + + expect(result.current.title).toBe('test site title'); + }); + + it('should set subtitle', async () => { + const { result, waitForNextUpdate } = renderHook( + () => useTechDocsReaderPage(), + { wrapper }, + ); + + expect(result.current.subtitle).toBe(''); + + act(() => result.current.setSubtitle('test site subtitle')); + + await waitForNextUpdate(); + + expect(result.current.subtitle).toBe('test site subtitle'); + }); + + it('should set shadow root', async () => { + const { result, waitForNextUpdate } = renderHook( + () => useTechDocsReaderPage(), + { wrapper }, + ); + + // mock shadowroot + const shadowRoot = mockShadowRoot(); + + act(() => result.current.setShadowRoot(shadowRoot)); + + await waitForNextUpdate(); + + expect(result.current.shadowRoot?.innerHTML).toBe( + '

Shadow DOM Mock

', + ); + }); + + it('should set entityRef as lowercase', async () => { + const lowercaseEntityRef = { + kind: mockEntityMetadata.kind.toLocaleLowerCase(), + name: mockEntityMetadata.metadata.name.toLocaleLowerCase(), + namespace: mockEntityMetadata.metadata.namespace?.toLocaleLowerCase(), + }; + const { result } = renderHook(() => useTechDocsReaderPage(), { wrapper }); + + expect(result.current.entityRef).toStrictEqual(lowercaseEntityRef); + }); }); - it('should set subtitle', async () => { - const { result, waitForNextUpdate } = renderHook( - () => useTechDocsReaderPage(), - { wrapper }, + describe('when legacyUseCaseSensitiveTripletPaths is true', () => { + const configApiMock = { + getOptionalBoolean: jest.fn().mockReturnValue(true), + }; + + const wrapper = ({ + entityRef = { + kind: mockEntityMetadata.kind, + name: mockEntityMetadata.metadata.name, + namespace: mockEntityMetadata.metadata.namespace!!, + }, + children, + }: { + entityRef?: CompoundEntityRef; + children: React.ReactNode; + }) => ( + + + + {children} + + + ); - expect(result.current.subtitle).toBe(''); + it('entityRef is not modified', async () => { + const caseSensitiveEntityRef = { + kind: mockEntityMetadata.kind, + name: mockEntityMetadata.metadata.name, + namespace: mockEntityMetadata.metadata.namespace!!, + }; - act(() => result.current.setSubtitle('test site subtitle')); + const { result } = renderHook(() => useTechDocsReaderPage(), { wrapper }); - await waitForNextUpdate(); - - expect(result.current.subtitle).toBe('test site subtitle'); - }); - - it('should set shadow root', async () => { - const { result, waitForNextUpdate } = renderHook( - () => useTechDocsReaderPage(), - { wrapper }, - ); - - // mock shadowroot - const shadowRoot = mockShadowRoot(); - - act(() => result.current.setShadowRoot(shadowRoot)); - - await waitForNextUpdate(); - - expect(result.current.shadowRoot?.innerHTML).toBe( - '

Shadow DOM Mock

', - ); + expect(result.current.entityRef).toStrictEqual(caseSensitiveEntityRef); + }); }); }); diff --git a/plugins/techdocs-react/src/context.tsx b/plugins/techdocs-react/src/context.tsx index 4f2fa26164..66faf858fa 100644 --- a/plugins/techdocs-react/src/context.tsx +++ b/plugins/techdocs-react/src/context.tsx @@ -33,11 +33,13 @@ import { createVersionedValueMap, } from '@backstage/version-bridge'; -import { useApi } from '@backstage/core-plugin-api'; +import { configApiRef, useApi } from '@backstage/core-plugin-api'; import { techdocsApiRef } from './api'; import { TechDocsEntityMetadata, TechDocsMetadata } from './types'; +import { toLowercaseEntityRefMaybe } from './helpers'; + const areEntityRefsEqual = ( prevEntityRef: CompoundEntityRef, nextEntityRef: CompoundEntityRef, @@ -107,6 +109,7 @@ export type TechDocsReaderPageProviderProps = { export const TechDocsReaderPageProvider = memo( ({ entityRef, children }: TechDocsReaderPageProviderProps) => { const techdocsApi = useApi(techdocsApiRef); + const config = useApi(configApiRef); const metadata = useAsync(async () => { return techdocsApi.getTechDocsMetadata(entityRef); @@ -126,7 +129,7 @@ export const TechDocsReaderPageProvider = memo( const value = { metadata, - entityRef, + entityRef: toLowercaseEntityRefMaybe(entityRef, config), entityMetadata, shadowRoot, setShadowRoot, From d9522dc9eb7ff976c42b6000d6698fb39d4e41d6 Mon Sep 17 00:00:00 2001 From: Jake Crews Date: Thu, 14 Jul 2022 09:43:19 -0500 Subject: [PATCH 031/131] Remove AboutCard changes Signed-off-by: Jake Crews --- .changeset/fuzzy-buses-shop.md | 6 -- plugins/catalog/package.json | 1 - .../components/AboutCard/AboutCard.test.tsx | 58 ------------------- .../src/components/AboutCard/AboutCard.tsx | 18 +++--- 4 files changed, 7 insertions(+), 76 deletions(-) delete mode 100644 .changeset/fuzzy-buses-shop.md diff --git a/.changeset/fuzzy-buses-shop.md b/.changeset/fuzzy-buses-shop.md deleted file mode 100644 index eb300d1535..0000000000 --- a/.changeset/fuzzy-buses-shop.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Fix link for 'View TechDocs' button on entity's page: kind should be in lowercase by default, uppercase could be enabled -if `techdocs.legacyUseCaseSensitiveTripletPaths` is set to `true`. diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index 89d22ea886..66718424cd 100644 --- a/plugins/catalog/package.json +++ b/plugins/catalog/package.json @@ -44,7 +44,6 @@ "@backstage/plugin-catalog-react": "^1.1.2-next.3", "@backstage/plugin-search-common": "^0.3.6-next.0", "@backstage/plugin-search-react": "^0.2.2-next.3", - "@backstage/plugin-techdocs-react": "1.0.2-next.2", "@backstage/theme": "^0.2.16-next.1", "@backstage/types": "^1.0.0", "@material-ui/core": "^4.12.2", diff --git a/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx b/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx index e892bf8554..f2fee7d9f4 100644 --- a/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx +++ b/plugins/catalog/src/components/AboutCard/AboutCard.test.tsx @@ -26,7 +26,6 @@ import { CatalogApi, entityRouteRef, } from '@backstage/plugin-catalog-react'; -import { ConfigApi, configApiRef } from '@backstage/core-plugin-api'; import { renderInTestApp, TestApiProvider } from '@backstage/test-utils'; import userEvent from '@testing-library/user-event'; import React from 'react'; @@ -394,63 +393,6 @@ describe('', () => { }, ); - expect(getByText('View TechDocs').closest('a')).toHaveAttribute( - 'href', - '/docs/default/component/software', - ); - }); - - it('renders techdocs link if techdocs.legacyUseCaseSensitiveTripletPaths is true', async () => { - const configApi: ConfigApi = new ConfigReader({ - integrations: { - github: [ - { - host: 'github.com', - token: '...', - }, - ], - }, - techdocs: { - legacyUseCaseSensitiveTripletPaths: true, - }, - }); - - const entity = { - apiVersion: 'v1', - kind: 'Component', - metadata: { - name: 'software', - annotations: { - 'backstage.io/techdocs-ref': './', - }, - }, - spec: { - owner: 'guest', - type: 'service', - lifecycle: 'production', - }, - }; - - const { getByText } = await renderInTestApp( - - - - - , - { - mountedRoutes: { - '/docs/:namespace/:kind/:name': viewTechDocRouteRef, - '/catalog/:namespace/:kind/:name': entityRouteRef, - }, - }, - ); - expect(getByText('View TechDocs').closest('a')).toHaveAttribute( 'href', '/docs/default/Component/software', diff --git a/plugins/catalog/src/components/AboutCard/AboutCard.tsx b/plugins/catalog/src/components/AboutCard/AboutCard.tsx index 757b5b10a6..b7ccd49b31 100644 --- a/plugins/catalog/src/components/AboutCard/AboutCard.tsx +++ b/plugins/catalog/src/components/AboutCard/AboutCard.tsx @@ -17,7 +17,7 @@ import { ANNOTATION_EDIT_URL, ANNOTATION_LOCATION, - getCompoundEntityRef, + DEFAULT_NAMESPACE, stringifyEntityRef, } from '@backstage/catalog-model'; import { @@ -26,12 +26,7 @@ import { InfoCardVariants, Link, } from '@backstage/core-components'; -import { - alertApiRef, - configApiRef, - useApi, - useRouteRef, -} from '@backstage/core-plugin-api'; +import { alertApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api'; import { ScmIntegrationIcon, scmIntegrationsApiRef, @@ -55,7 +50,6 @@ import EditIcon from '@material-ui/icons/Edit'; import React, { useCallback } from 'react'; import { viewTechDocRouteRef } from '../../routes'; import { AboutContent } from './AboutContent'; -import { toLowercaseEntityRefMaybe } from '@backstage/plugin-techdocs-react'; const useStyles = makeStyles({ gridItemCard: { @@ -97,8 +91,6 @@ export function AboutCard(props: AboutCardProps) { const catalogApi = useApi(catalogApiRef); const alertApi = useApi(alertApiRef); const viewTechdocLink = useRouteRef(viewTechDocRouteRef); - const config = useApi(configApiRef); - const entityRef = getCompoundEntityRef(entity); const entitySourceLocation = getEntitySourceLocation( entity, @@ -121,7 +113,11 @@ export function AboutCard(props: AboutCardProps) { icon: , href: viewTechdocLink && - viewTechdocLink(toLowercaseEntityRefMaybe(entityRef, config)), + viewTechdocLink({ + namespace: entity.metadata.namespace || DEFAULT_NAMESPACE, + kind: entity.kind, + name: entity.metadata.name, + }), }; let cardClass = ''; From a62b31c3e68ac663ec84fe650d5ede6dee375fb2 Mon Sep 17 00:00:00 2001 From: Jake Crews Date: Thu, 14 Jul 2022 10:45:46 -0500 Subject: [PATCH 032/131] fix techdocs contexts test Signed-off-by: Jake Crews --- .../components/TechDocsReaderPage/context.test.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/plugins/techdocs/src/reader/components/TechDocsReaderPage/context.test.tsx b/plugins/techdocs/src/reader/components/TechDocsReaderPage/context.test.tsx index 148b740205..2380724960 100644 --- a/plugins/techdocs/src/reader/components/TechDocsReaderPage/context.test.tsx +++ b/plugins/techdocs/src/reader/components/TechDocsReaderPage/context.test.tsx @@ -22,6 +22,7 @@ import { ThemeProvider } from '@material-ui/core'; import { lightTheme } from '@backstage/theme'; import { TestApiProvider } from '@backstage/test-utils'; import { Entity, CompoundEntityRef } from '@backstage/catalog-model'; +import { configApiRef } from '@backstage/core-plugin-api'; import { techdocsApiRef, TechDocsMetadata, @@ -52,6 +53,10 @@ const techdocsApiMock = { getTechDocsMetadata: jest.fn().mockResolvedValue(mockTechDocsMetadata), }; +const configApiMock = { + getOptionalBoolean: jest.fn().mockReturnValue(undefined), +}; + const wrapper = ({ entityRef = { kind: mockEntityMetadata.kind, @@ -64,7 +69,12 @@ const wrapper = ({ children: React.ReactNode; }) => ( - + {children} From b2c4aaa7b2c4f9661fc5969042221d42f3ff76f8 Mon Sep 17 00:00:00 2001 From: Jake Crews Date: Thu, 14 Jul 2022 12:54:43 -0500 Subject: [PATCH 033/131] fix lowercaseEntityRefMaybe Signed-off-by: Jake Crews --- plugins/techdocs-react/src/helpers.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/plugins/techdocs-react/src/helpers.ts b/plugins/techdocs-react/src/helpers.ts index 3820c2e117..3f10fff2ba 100644 --- a/plugins/techdocs-react/src/helpers.ts +++ b/plugins/techdocs-react/src/helpers.ts @@ -25,14 +25,13 @@ import { CompoundEntityRef } from '@backstage/catalog-model'; export function toLowercaseEntityRefMaybe( entityRef: CompoundEntityRef, config: Config, -) { - return config.getOptionalBoolean( - 'techdocs.legacyUseCaseSensitiveTripletPaths', - ) - ? entityRef - : { - kind: entityRef.kind.toLocaleLowerCase('en-US'), - name: entityRef.name.toLocaleLowerCase('en-US'), - namespace: entityRef.namespace.toLocaleLowerCase('en-US'), - }; +): CompoundEntityRef { + if (config.getOptionalBoolean('techdocs.legacyUseCaseSensitiveTripletPaths')) + return entityRef; + + entityRef.kind = entityRef.kind.toLocaleLowerCase(); + entityRef.name = entityRef.name.toLocaleLowerCase(); + entityRef.namespace = entityRef.namespace.toLocaleLowerCase(); + + return entityRef; } From b86ed4d990635dbffdce97c57529aea12af44a1e Mon Sep 17 00:00:00 2001 From: Crevil Date: Sun, 17 Jul 2022 16:18:27 +0200 Subject: [PATCH 034/131] Add navigation item highlight to active item This change adds high lighting to navigation items in tech docs. It highlights the whole nav tree with the same color and an underline. Signed-off-by: Crevil --- .changeset/itchy-mice-kiss.md | 5 +++++ .../techdocs/src/reader/transformers/styles/rules/layout.ts | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 .changeset/itchy-mice-kiss.md diff --git a/.changeset/itchy-mice-kiss.md b/.changeset/itchy-mice-kiss.md new file mode 100644 index 0000000000..18390866d9 --- /dev/null +++ b/.changeset/itchy-mice-kiss.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs': patch +--- + +Add highlight to active navigation item and navigation parents. diff --git a/plugins/techdocs/src/reader/transformers/styles/rules/layout.ts b/plugins/techdocs/src/reader/transformers/styles/rules/layout.ts index 2488504dd9..2983bb3a75 100644 --- a/plugins/techdocs/src/reader/transformers/styles/rules/layout.ts +++ b/plugins/techdocs/src/reader/transformers/styles/rules/layout.ts @@ -47,6 +47,11 @@ export default ({ theme, sidebar }: RuleOptions) => ` height: 20px !important; } +.md-nav__item--active > .md-nav__link, a.md-nav__link--active { + text-decoration: underline; + color: var(--md-typeset-a-color); +} + .md-main__inner { margin-top: 0; } From 1732a18a7ac251c523fc9713979c5690a1fd32dd Mon Sep 17 00:00:00 2001 From: Diego Bardari Date: Tue, 19 Jul 2022 10:35:21 +0200 Subject: [PATCH 035/131] feat(logging): export redactLogLine function Signed-off-by: Diego Bardari --- .changeset/mean-ants-hang.md | 5 +++++ packages/backend-common/api-report.md | 5 +++++ packages/backend-common/src/logging/index.ts | 7 ++++++- packages/backend-common/src/logging/rootLogger.ts | 4 +++- 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 .changeset/mean-ants-hang.md diff --git a/.changeset/mean-ants-hang.md b/.changeset/mean-ants-hang.md new file mode 100644 index 0000000000..1dbbc63de0 --- /dev/null +++ b/.changeset/mean-ants-hang.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': minor +--- + +Exported redactLogLine function to be able to use it in custom loggers. diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md index 6059e68792..ff79e106e0 100644 --- a/packages/backend-common/api-report.md +++ b/packages/backend-common/api-report.md @@ -568,6 +568,11 @@ export type ReadUrlResponseFactoryFromStreamOptions = { etag?: string; }; +// @public +export function redactLogLine( + info: winston.Logform.TransformableInfo, +): winston.Logform.TransformableInfo; + // @public export function requestLoggingHandler(logger?: Logger): RequestHandler; diff --git a/packages/backend-common/src/logging/index.ts b/packages/backend-common/src/logging/index.ts index f50114a9ae..a3b87237ec 100644 --- a/packages/backend-common/src/logging/index.ts +++ b/packages/backend-common/src/logging/index.ts @@ -15,5 +15,10 @@ */ export * from './formats'; -export { createRootLogger, getRootLogger, setRootLogger } from './rootLogger'; +export { + createRootLogger, + getRootLogger, + setRootLogger, + redactLogLine, +} from './rootLogger'; export * from './voidLogger'; diff --git a/packages/backend-common/src/logging/rootLogger.ts b/packages/backend-common/src/logging/rootLogger.ts index 87180bde8f..a24dea3c00 100644 --- a/packages/backend-common/src/logging/rootLogger.ts +++ b/packages/backend-common/src/logging/rootLogger.ts @@ -69,8 +69,10 @@ export function setRootLoggerRedactionList(redactionList: string[]) { /** * A winston formatting function that finds occurrences of filteredKeys * and replaces them with the corresponding identifier. + * + * @public */ -function redactLogLine(info: winston.Logform.TransformableInfo) { +export function redactLogLine(info: winston.Logform.TransformableInfo) { // TODO(hhogg): The logger is created before the config is loaded, because the // logger is needed in the config loader. There is a risk of a secret being // logged out during the config loading stage. From 5b769fddb5d11be117aa9acdec765486d9e3a393 Mon Sep 17 00:00:00 2001 From: Alex Rybchenko Date: Mon, 11 Jul 2022 17:32:47 +0200 Subject: [PATCH 036/131] added initial storage api subscription Signed-off-by: Alex Rybchenko --- .changeset/violet-trees-play.md | 5 +++++ plugins/shortcuts/src/api/LocalStoredShortcuts.ts | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 .changeset/violet-trees-play.md diff --git a/.changeset/violet-trees-play.md b/.changeset/violet-trees-play.md new file mode 100644 index 0000000000..c44c75e98d --- /dev/null +++ b/.changeset/violet-trees-play.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-shortcuts': patch +--- + +fixed shortcuts initialization when using firestore diff --git a/plugins/shortcuts/src/api/LocalStoredShortcuts.ts b/plugins/shortcuts/src/api/LocalStoredShortcuts.ts index ef54f68acd..884f561aaa 100644 --- a/plugins/shortcuts/src/api/LocalStoredShortcuts.ts +++ b/plugins/shortcuts/src/api/LocalStoredShortcuts.ts @@ -25,7 +25,11 @@ import { StorageApi } from '@backstage/core-plugin-api'; * Implementation of the ShortcutApi that uses the StorageApi to store shortcuts. */ export class LocalStoredShortcuts implements ShortcutApi { - constructor(private readonly storageApi: StorageApi) {} + constructor(private readonly storageApi: StorageApi) { + this.storageApi.observe$('items').subscribe({ + next: () => this.notify(), + }); + } shortcut$() { return this.observable; @@ -36,14 +40,12 @@ export class LocalStoredShortcuts implements ShortcutApi { shortcuts.push({ ...shortcut, id: uuid() }); await this.storageApi.set('items', shortcuts); - this.notify(); } async remove(id: string) { const shortcuts = this.get().filter(s => s.id !== id); await this.storageApi.set('items', shortcuts); - this.notify(); } async update(shortcut: Shortcut) { @@ -51,7 +53,6 @@ export class LocalStoredShortcuts implements ShortcutApi { shortcuts.push(shortcut); await this.storageApi.set('items', shortcuts); - this.notify(); } getColor(url: string) { From 2e17ad5e30d26b00f7dc1844784224e0b1b0b4f3 Mon Sep 17 00:00:00 2001 From: Alex Rybchenko Date: Wed, 13 Jul 2022 16:17:54 +0200 Subject: [PATCH 037/131] replaced internal observable with a mapping from the storage API Signed-off-by: Alex Rybchenko --- plugins/shortcuts/src/Shortcuts.tsx | 3 +- .../src/api/LocalStoredShortcuts.test.ts | 19 ++++--- .../shortcuts/src/api/LocalStoredShortcuts.ts | 49 ++++++------------- plugins/shortcuts/src/api/ShortcutApi.ts | 5 ++ 4 files changed, 33 insertions(+), 43 deletions(-) diff --git a/plugins/shortcuts/src/Shortcuts.tsx b/plugins/shortcuts/src/Shortcuts.tsx index b8af1f2e29..3c48e2bae2 100644 --- a/plugins/shortcuts/src/Shortcuts.tsx +++ b/plugins/shortcuts/src/Shortcuts.tsx @@ -40,7 +40,8 @@ export interface ShortcutsProps { export const Shortcuts = (props: ShortcutsProps) => { const shortcutApi = useApi(shortcutsApiRef); const shortcuts = useObservable( - useMemo(() => shortcutApi.shortcut$(), [shortcutApi]), + shortcutApi.shortcut$(), + shortcutApi.snapshot(), ); const [anchorEl, setAnchorEl] = React.useState(); const loading = Boolean(!shortcuts); diff --git a/plugins/shortcuts/src/api/LocalStoredShortcuts.test.ts b/plugins/shortcuts/src/api/LocalStoredShortcuts.test.ts index c8401e8b1a..dbea91863c 100644 --- a/plugins/shortcuts/src/api/LocalStoredShortcuts.test.ts +++ b/plugins/shortcuts/src/api/LocalStoredShortcuts.test.ts @@ -27,17 +27,22 @@ describe('LocalStoredShortcuts', () => { ); const shortcut: Shortcut = { id: 'id', title: 'title', url: '/url' }; - await shortcutApi.add(shortcut); + const observerNextHandler = jest.fn(); await new Promise(resolve => { - const subscription = shortcutApi.shortcut$().subscribe(data => { - expect(data).toEqual( - expect.arrayContaining([{ ...shortcut, id: expect.anything() }]), - ); - subscription.unsubscribe(); - resolve(); + shortcutApi.shortcut$().subscribe({ + next: data => { + observerNextHandler(data); + resolve(); + }, }); + shortcutApi.add(shortcut); }); + + expect(observerNextHandler).toHaveBeenCalledTimes(1); + expect(observerNextHandler).toHaveBeenCalledWith( + expect.arrayContaining([{ ...shortcut, id: expect.anything() }]), + ); }); it('should add shortcuts with ids', async () => { diff --git a/plugins/shortcuts/src/api/LocalStoredShortcuts.ts b/plugins/shortcuts/src/api/LocalStoredShortcuts.ts index 884f561aaa..ba3722da66 100644 --- a/plugins/shortcuts/src/api/LocalStoredShortcuts.ts +++ b/plugins/shortcuts/src/api/LocalStoredShortcuts.ts @@ -15,41 +15,45 @@ */ import { pageTheme } from '@backstage/theme'; -import ObservableImpl from 'zen-observable'; import { v4 as uuid } from 'uuid'; import { ShortcutApi } from './ShortcutApi'; import { Shortcut } from '../types'; import { StorageApi } from '@backstage/core-plugin-api'; +import Observable from 'zen-observable'; /** * Implementation of the ShortcutApi that uses the StorageApi to store shortcuts. */ export class LocalStoredShortcuts implements ShortcutApi { - constructor(private readonly storageApi: StorageApi) { - this.storageApi.observe$('items').subscribe({ - next: () => this.notify(), - }); - } + constructor(private readonly storageApi: StorageApi) {} shortcut$() { - return this.observable; + return Observable.from(this.storageApi.observe$('items')).map( + snapshot => snapshot.value ?? [], + ); + } + + snapshot() { + return Array.from( + this.storageApi.snapshot('items').value ?? [], + ).sort((a, b) => (a.title >= b.title ? 1 : -1)); } async add(shortcut: Omit) { - const shortcuts = this.get(); + const shortcuts = this.snapshot(); shortcuts.push({ ...shortcut, id: uuid() }); await this.storageApi.set('items', shortcuts); } async remove(id: string) { - const shortcuts = this.get().filter(s => s.id !== id); + const shortcuts = this.snapshot().filter(s => s.id !== id); await this.storageApi.set('items', shortcuts); } async update(shortcut: Shortcut) { - const shortcuts = this.get().filter(s => s.id !== shortcut.id); + const shortcuts = this.snapshot().filter(s => s.id !== shortcut.id); shortcuts.push(shortcut); await this.storageApi.set('items', shortcuts); @@ -64,33 +68,8 @@ export class LocalStoredShortcuts implements ShortcutApi { return pageTheme[theme].colors[0]; } - private subscribers = new Set< - ZenObservable.SubscriptionObserver - >(); - - private readonly observable = new ObservableImpl(subscriber => { - subscriber.next(this.get()); - this.subscribers.add(subscriber); - - return () => { - this.subscribers.delete(subscriber); - }; - }); - private readonly THEME_MAP: Record = { catalog: 'home', docs: 'documentation', }; - - private get() { - return Array.from( - this.storageApi.snapshot('items').value ?? [], - ).sort((a, b) => (a.title >= b.title ? 1 : -1)); - } - - private notify() { - for (const subscription of this.subscribers) { - subscription.next(this.get()); - } - } } diff --git a/plugins/shortcuts/src/api/ShortcutApi.ts b/plugins/shortcuts/src/api/ShortcutApi.ts index 893a2fd74b..542e77bac8 100644 --- a/plugins/shortcuts/src/api/ShortcutApi.ts +++ b/plugins/shortcuts/src/api/ShortcutApi.ts @@ -28,6 +28,11 @@ export interface ShortcutApi { */ shortcut$(): Observable; + /** + * Returns an immediate snapshot of shortcuts, sorted by title + */ + snapshot(): Shortcut[]; + /** * Generates a unique id for the shortcut and then saves it. */ From 4919b842d890b49f542e7ffe22991c334d8242c4 Mon Sep 17 00:00:00 2001 From: Alex Rybchenko Date: Wed, 13 Jul 2022 16:44:26 +0200 Subject: [PATCH 038/131] removed unused import Signed-off-by: Alex Rybchenko --- plugins/shortcuts/src/Shortcuts.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/shortcuts/src/Shortcuts.tsx b/plugins/shortcuts/src/Shortcuts.tsx index 3c48e2bae2..75baf5fd96 100644 --- a/plugins/shortcuts/src/Shortcuts.tsx +++ b/plugins/shortcuts/src/Shortcuts.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import React, { useMemo } from 'react'; +import React from 'react'; import useObservable from 'react-use/lib/useObservable'; import PlayListAddIcon from '@material-ui/icons/PlaylistAdd'; import { ShortcutItem } from './ShortcutItem'; From 5416c9af063ddfea85c4b65ab7dfcd3cdbf62444 Mon Sep 17 00:00:00 2001 From: Alex Rybchenko Date: Wed, 13 Jul 2022 17:10:28 +0200 Subject: [PATCH 039/131] updated api-report Signed-off-by: Alex Rybchenko --- plugins/shortcuts/api-report.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/shortcuts/api-report.md b/plugins/shortcuts/api-report.md index 4b5a8e74df..a58245e0fe 100644 --- a/plugins/shortcuts/api-report.md +++ b/plugins/shortcuts/api-report.md @@ -9,7 +9,7 @@ import { ApiRef } from '@backstage/core-plugin-api'; import { BackstagePlugin } from '@backstage/core-plugin-api'; import { IconComponent } from '@backstage/core-plugin-api'; import { Observable } from '@backstage/types'; -import ObservableImpl from 'zen-observable'; +import { default as Observable_2 } from 'zen-observable'; import { StorageApi } from '@backstage/core-plugin-api'; // Warning: (ae-missing-release-tag) "LocalStoredShortcuts" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) @@ -24,7 +24,9 @@ export class LocalStoredShortcuts implements ShortcutApi { // (undocumented) remove(id: string): Promise; // (undocumented) - shortcut$(): ObservableImpl; + shortcut$(): Observable_2; + // (undocumented) + snapshot(): Shortcut[]; // (undocumented) update(shortcut: Shortcut): Promise; } @@ -46,6 +48,7 @@ export interface ShortcutApi { getColor(url: string): string; remove(id: string): Promise; shortcut$(): Observable; + snapshot(): Shortcut[]; update(shortcut: Shortcut): Promise; } From a6407c0f82c2578c01454113d33ca9cd4d108e2f Mon Sep 17 00:00:00 2001 From: Alex Rybchenko Date: Tue, 19 Jul 2022 16:10:43 +0200 Subject: [PATCH 040/131] rename method Signed-off-by: Alex Rybchenko --- .changeset/violet-trees-play.md | 4 ++-- plugins/shortcuts/api-report.md | 6 +++--- plugins/shortcuts/src/Shortcuts.tsx | 5 +---- plugins/shortcuts/src/api/LocalStoredShortcuts.ts | 8 ++++---- plugins/shortcuts/src/api/ShortcutApi.ts | 2 +- 5 files changed, 11 insertions(+), 14 deletions(-) diff --git a/.changeset/violet-trees-play.md b/.changeset/violet-trees-play.md index c44c75e98d..c56635633c 100644 --- a/.changeset/violet-trees-play.md +++ b/.changeset/violet-trees-play.md @@ -1,5 +1,5 @@ --- -'@backstage/plugin-shortcuts': patch +'@backstage/plugin-shortcuts': minor --- -fixed shortcuts initialization when using firestore +Fixed shortcuts initialization when using firestore diff --git a/plugins/shortcuts/api-report.md b/plugins/shortcuts/api-report.md index a58245e0fe..35c37bf536 100644 --- a/plugins/shortcuts/api-report.md +++ b/plugins/shortcuts/api-report.md @@ -20,14 +20,14 @@ export class LocalStoredShortcuts implements ShortcutApi { // (undocumented) add(shortcut: Omit): Promise; // (undocumented) + get(): Shortcut[]; + // (undocumented) getColor(url: string): string; // (undocumented) remove(id: string): Promise; // (undocumented) shortcut$(): Observable_2; // (undocumented) - snapshot(): Shortcut[]; - // (undocumented) update(shortcut: Shortcut): Promise; } @@ -45,10 +45,10 @@ export type Shortcut = { // @public (undocumented) export interface ShortcutApi { add(shortcut: Omit): Promise; + get(): Shortcut[]; getColor(url: string): string; remove(id: string): Promise; shortcut$(): Observable; - snapshot(): Shortcut[]; update(shortcut: Shortcut): Promise; } diff --git a/plugins/shortcuts/src/Shortcuts.tsx b/plugins/shortcuts/src/Shortcuts.tsx index 75baf5fd96..28aa33e8f2 100644 --- a/plugins/shortcuts/src/Shortcuts.tsx +++ b/plugins/shortcuts/src/Shortcuts.tsx @@ -39,10 +39,7 @@ export interface ShortcutsProps { export const Shortcuts = (props: ShortcutsProps) => { const shortcutApi = useApi(shortcutsApiRef); - const shortcuts = useObservable( - shortcutApi.shortcut$(), - shortcutApi.snapshot(), - ); + const shortcuts = useObservable(shortcutApi.shortcut$(), shortcutApi.get()); const [anchorEl, setAnchorEl] = React.useState(); const loading = Boolean(!shortcuts); diff --git a/plugins/shortcuts/src/api/LocalStoredShortcuts.ts b/plugins/shortcuts/src/api/LocalStoredShortcuts.ts index ba3722da66..82f4b7dd1a 100644 --- a/plugins/shortcuts/src/api/LocalStoredShortcuts.ts +++ b/plugins/shortcuts/src/api/LocalStoredShortcuts.ts @@ -33,27 +33,27 @@ export class LocalStoredShortcuts implements ShortcutApi { ); } - snapshot() { + get() { return Array.from( this.storageApi.snapshot('items').value ?? [], ).sort((a, b) => (a.title >= b.title ? 1 : -1)); } async add(shortcut: Omit) { - const shortcuts = this.snapshot(); + const shortcuts = this.get(); shortcuts.push({ ...shortcut, id: uuid() }); await this.storageApi.set('items', shortcuts); } async remove(id: string) { - const shortcuts = this.snapshot().filter(s => s.id !== id); + const shortcuts = this.get().filter(s => s.id !== id); await this.storageApi.set('items', shortcuts); } async update(shortcut: Shortcut) { - const shortcuts = this.snapshot().filter(s => s.id !== shortcut.id); + const shortcuts = this.get().filter(s => s.id !== shortcut.id); shortcuts.push(shortcut); await this.storageApi.set('items', shortcuts); diff --git a/plugins/shortcuts/src/api/ShortcutApi.ts b/plugins/shortcuts/src/api/ShortcutApi.ts index 542e77bac8..1f93baa66c 100644 --- a/plugins/shortcuts/src/api/ShortcutApi.ts +++ b/plugins/shortcuts/src/api/ShortcutApi.ts @@ -31,7 +31,7 @@ export interface ShortcutApi { /** * Returns an immediate snapshot of shortcuts, sorted by title */ - snapshot(): Shortcut[]; + get(): Shortcut[]; /** * Generates a unique id for the shortcut and then saves it. From 7a98c73dc870393b5729fe26de80eabeef9520aa Mon Sep 17 00:00:00 2001 From: gabrielucido Date: Thu, 14 Jul 2022 16:15:31 -0400 Subject: [PATCH 041/131] fix(docs-like-code): Patched Techdocs Sidebar layout for medium devices. Signed-off-by: gabrielucido --- .changeset/mighty-penguins-tap.md | 5 +++++ .../techdocs/src/reader/transformers/styles/rules/layout.ts | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 .changeset/mighty-penguins-tap.md diff --git a/.changeset/mighty-penguins-tap.md b/.changeset/mighty-penguins-tap.md new file mode 100644 index 0000000000..0958e71ffd --- /dev/null +++ b/.changeset/mighty-penguins-tap.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs': patch +--- + +Fixed techdocs sidebar layout bug for medium devices. diff --git a/plugins/techdocs/src/reader/transformers/styles/rules/layout.ts b/plugins/techdocs/src/reader/transformers/styles/rules/layout.ts index 2488504dd9..3ef8becaf1 100644 --- a/plugins/techdocs/src/reader/transformers/styles/rules/layout.ts +++ b/plugins/techdocs/src/reader/transformers/styles/rules/layout.ts @@ -61,7 +61,7 @@ export default ({ theme, sidebar }: RuleOptions) => ` scrollbar-width: thin; } .md-sidebar .md-sidebar__scrollwrap { - width: calc(16rem - 10px); + width: calc(12.1rem); } .md-sidebar--secondary { right: ${theme.spacing(3)}px; @@ -169,7 +169,7 @@ export default ({ theme, sidebar }: RuleOptions) => ` width: 12.1rem !important; z-index: 200; left: ${ - sidebar.isPinned ? 'calc(-12.1rem + 242px)' : 'calc(-12.1rem + 72px)' + sidebar.isPinned ? 'calc(-12.1rem + 224px)' : 'calc(-12.1rem + 72px)' } !important; } .md-sidebar--secondary:not([hidden]) { From 83636e7c5af5c6d00d52844dc2cb4d3e7d0fe33d Mon Sep 17 00:00:00 2001 From: gabrielucido Date: Tue, 19 Jul 2022 16:38:20 -0400 Subject: [PATCH 042/131] Added constant to sidebar width. Signed-off-by: gabrielucido --- .../techdocs/src/reader/transformers/styles/rules/layout.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/techdocs/src/reader/transformers/styles/rules/layout.ts b/plugins/techdocs/src/reader/transformers/styles/rules/layout.ts index 3ef8becaf1..400a9144d8 100644 --- a/plugins/techdocs/src/reader/transformers/styles/rules/layout.ts +++ b/plugins/techdocs/src/reader/transformers/styles/rules/layout.ts @@ -16,6 +16,8 @@ import { RuleOptions } from './types'; +const SIDEBAR_WIDTH = '224px'; + export default ({ theme, sidebar }: RuleOptions) => ` /*================== Layout ==================*/ @@ -169,7 +171,9 @@ export default ({ theme, sidebar }: RuleOptions) => ` width: 12.1rem !important; z-index: 200; left: ${ - sidebar.isPinned ? 'calc(-12.1rem + 224px)' : 'calc(-12.1rem + 72px)' + sidebar.isPinned + ? `calc(-12.1rem + ${SIDEBAR_WIDTH})` + : 'calc(-12.1rem + 72px)' } !important; } .md-sidebar--secondary:not([hidden]) { From 882819605a307c31ec9a588808728452fb50d00c Mon Sep 17 00:00:00 2001 From: Ryan Brink <5607577+unredundant@users.noreply.github.com> Date: Wed, 20 Jul 2022 19:41:32 -0600 Subject: [PATCH 043/131] chore: add apollo explorer to plugin marketplace Signed-off-by: Ryan Brink <5607577+unredundant@users.noreply.github.com> --- microsite/data/plugins/apollo-explorer.yaml | 9 +++++++++ microsite/static/img/apollo-explorer.png | Bin 0 -> 41031 bytes 2 files changed, 9 insertions(+) create mode 100644 microsite/data/plugins/apollo-explorer.yaml create mode 100644 microsite/static/img/apollo-explorer.png diff --git a/microsite/data/plugins/apollo-explorer.yaml b/microsite/data/plugins/apollo-explorer.yaml new file mode 100644 index 0000000000..068e26f0dc --- /dev/null +++ b/microsite/data/plugins/apollo-explorer.yaml @@ -0,0 +1,9 @@ +--- +title: Apollo Explorer +author: unredundant +authorUrl: https://github.com/unredundant +category: Debugging +description: Integrates Apollo Explorer graphs as a tool to browse GraphQL API endpoints inside Backstage. +documentation: https://github.com/backstage/backstage/blob/master/plugins/apollo-explorer/README.md +iconUrl: img/apollo-explorer.png +npmPackageName: '@backstage/plugin-apollo-explorer' diff --git a/microsite/static/img/apollo-explorer.png b/microsite/static/img/apollo-explorer.png new file mode 100644 index 0000000000000000000000000000000000000000..322c003803eb78221c3d0b840a900db117b84bcf GIT binary patch literal 41031 zcmV(*K;FNJP)82bsvbIQ{DI87bjyd00uedNB{�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
Y&k&%%O!|OCrqHo)t^Zxo1HCfD5k)e7DGcY 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 X7)9Di-ga;^00000NkvXXu0mjfs2! Date: Thu, 21 Jul 2022 16:20:19 +0200 Subject: [PATCH 044/131] chore: code-review comments Signed-off-by: blam --- .../src/reading/tree/ZipArchiveResponse.ts | 27 +++++++++++++------ .../backend-common/src/reading/tree/util.ts | 22 +++++++++------ 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index 15bc0d0258..8126d1fcdc 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -80,7 +80,9 @@ export class ZipArchiveResponse implements ReadTreeResponse { return true; } - private async streamToTemporaryFile(stream: Readable): Promise { + private async streamToTemporaryFile( + stream: Readable, + ): Promise<{ fileName: string; cleanup: () => Promise }> { const tmpDir = await fs.mkdtemp( platformPath.join(this.workDir, 'backstage-tmp'), ); @@ -90,7 +92,9 @@ export class ZipArchiveResponse implements ReadTreeResponse { return new Promise((resolve, reject) => { writeStream.on('error', reject); - writeStream.on('finish', () => resolve(tmpFile)); + writeStream.on('finish', () => + resolve({ fileName: tmpFile, cleanup: () => fs.remove(tmpFile) }), + ); stream.pipe(writeStream); }); } @@ -123,6 +127,7 @@ export class ZipArchiveResponse implements ReadTreeResponse { zipfile.readEntry(); }); zipfile.once('end', () => resolve()); + zipfile.on('error', e => reject(e)); zipfile.readEntry(); }); }); @@ -131,15 +136,17 @@ export class ZipArchiveResponse implements ReadTreeResponse { async files(): Promise { this.onlyOnce(); const files = Array(); - const tmpFile = await this.streamToTemporaryFile(this.stream); + const temporary = await this.streamToTemporaryFile(this.stream); - await this.forEveryZipEntry(tmpFile, async (entry, content) => { + await this.forEveryZipEntry(temporary.fileName, async (entry, content) => { files.push({ path: this.getInnerPath(entry.fileName), content: async () => await streamToBuffer(content), }); }); + temporary.cleanup(); + return files; } @@ -151,9 +158,9 @@ export class ZipArchiveResponse implements ReadTreeResponse { } const archive = archiver('zip'); - const tmpFile = await this.streamToTemporaryFile(this.stream); + const temporary = await this.streamToTemporaryFile(this.stream); - await this.forEveryZipEntry(tmpFile, async (entry, content) => { + await this.forEveryZipEntry(temporary.fileName, async (entry, content) => { archive.append(await streamToBuffer(content), { name: this.getInnerPath(entry.fileName), }); @@ -161,6 +168,8 @@ export class ZipArchiveResponse implements ReadTreeResponse { archive.finalize(); + temporary.cleanup(); + return archive; } @@ -170,9 +179,9 @@ export class ZipArchiveResponse implements ReadTreeResponse { options?.targetDir ?? (await fs.mkdtemp(platformPath.join(this.workDir, 'backstage-'))); - const tmpFile = await this.streamToTemporaryFile(this.stream); + const temporary = await this.streamToTemporaryFile(this.stream); - await this.forEveryZipEntry(tmpFile, async (entry, content) => { + await this.forEveryZipEntry(temporary.fileName, async (entry, content) => { const entryPath = this.getInnerPath(entry.fileName); const dirname = platformPath.dirname(entryPath); @@ -187,6 +196,8 @@ export class ZipArchiveResponse implements ReadTreeResponse { }); }); + temporary.cleanup(); + return dir; } } diff --git a/packages/backend-common/src/reading/tree/util.ts b/packages/backend-common/src/reading/tree/util.ts index bfe02ac6c8..63192102f4 100644 --- a/packages/backend-common/src/reading/tree/util.ts +++ b/packages/backend-common/src/reading/tree/util.ts @@ -14,22 +14,28 @@ * limitations under the License. */ +import { Readable, pipeline as pipelineCb } from 'stream'; +import { promisify } from 'util'; +import concatStream from 'concat-stream'; + +const pipeline = promisify(pipelineCb); + // Matches a directory name + one `/` at the start of any string, // containing any character except `/` one or more times, and ending with a `/` // e.g. Will match `dirA/` in `dirA/dirB/file.ext` const directoryNameRegex = /^[^\/]+\//; -import { Readable } from 'stream'; // Removes the first segment of a forward-slash-separated path export function stripFirstDirectoryFromPath(path: string): string { return path.replace(directoryNameRegex, ''); } -// Concats the data into a buffer. -export const streamToBuffer = async (stream: Readable): Promise => { - const buffers: Buffer[] = []; - return new Promise((resolve, reject) => { - stream.on('data', (data: Buffer) => buffers.push(data)); - stream.on('error', reject); - stream.on('end', () => resolve(Buffer.concat(buffers))); +// Collect the stream into a buffer and return +export const streamToBuffer = (stream: Readable): Promise => { + return new Promise(async (resolve, reject) => { + try { + await pipeline(stream, concatStream(resolve)); + } catch (ex) { + reject(ex); + } }); }; From 01d825ba28ebb63aecf7c1feb0c7f2275036a749 Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 21 Jul 2022 16:31:02 +0200 Subject: [PATCH 045/131] chore: finish piping and stuff and making it lovely Signed-off-by: blam --- .../backend-common/src/reading/tree/ZipArchiveResponse.test.ts | 1 + packages/backend-common/src/reading/tree/ZipArchiveResponse.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts index c67dcf75d7..f1915cf99b 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts @@ -59,6 +59,7 @@ describe('ZipArchiveResponse', () => { content: expect.any(Function), }, ]); + const contents = await Promise.all(files.map(f => f.content())); expect(contents.map(c => c.toString('utf8').trim())).toEqual([ 'site_name: Test', diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index 8126d1fcdc..b25f6ad24e 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -190,8 +190,9 @@ export class ZipArchiveResponse implements ReadTreeResponse { } return new Promise(async (resolve, reject) => { const file = fs.createWriteStream(platformPath.join(dir, entryPath)); - file.on('error', reject); file.on('finish', resolve); + + content.on('error', reject); content.pipe(file); }); }); From 014b3b777603575c2d3b04fda4749f39c674038e Mon Sep 17 00:00:00 2001 From: Trevor Hartman Date: Thu, 21 Jul 2022 13:42:56 -0600 Subject: [PATCH 046/131] Add missing res.end in scaffolder backend EventStream usage Signed-off-by: Trevor Hartman --- .changeset/strange-crabs-confess.md | 5 +++++ plugins/scaffolder-backend/src/service/router.ts | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 .changeset/strange-crabs-confess.md diff --git a/.changeset/strange-crabs-confess.md b/.changeset/strange-crabs-confess.md new file mode 100644 index 0000000000..25cb7bbeac --- /dev/null +++ b/.changeset/strange-crabs-confess.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Add missing res.end() in scaffolder backend EventStream usage diff --git a/plugins/scaffolder-backend/src/service/router.ts b/plugins/scaffolder-backend/src/service/router.ts index b682ebdf25..c7d9af8e64 100644 --- a/plugins/scaffolder-backend/src/service/router.ts +++ b/plugins/scaffolder-backend/src/service/router.ts @@ -311,6 +311,7 @@ export async function createRouter( logger.error( `Received error from event stream when observing taskId '${taskId}', ${error}`, ); + res.end(); }, next: ({ events }) => { let shouldUnsubscribe = false; @@ -324,7 +325,10 @@ export async function createRouter( } // res.flush() is only available with the compression middleware res.flush?.(); - if (shouldUnsubscribe) subscription.unsubscribe(); + if (shouldUnsubscribe) { + subscription.unsubscribe(); + res.end(); + } }, }); From 430cabd5376a1608368535565305ed91e659d412 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Jul 2022 21:31:05 +0000 Subject: [PATCH 047/131] chore(deps): update dependency puppeteer to v15.5.0 Signed-off-by: Renovate Bot --- yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index 83d17f9e33..d33123ee99 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11799,10 +11799,10 @@ detect-port-alt@^1.1.6: address "^1.0.1" debug "^2.6.0" -devtools-protocol@0.0.1011705: - version "0.0.1011705" - resolved "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1011705.tgz#2582ed29f84848df83fba488122015540a744539" - integrity sha512-OKvTvu9n3swmgYshvsyVHYX0+aPzCoYUnyXUacfQMmFtBtBKewV/gT4I9jkAbpTqtTi2E4S9MXLlvzBDUlqg0Q== +devtools-protocol@0.0.1019158: + version "0.0.1019158" + resolved "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1019158.tgz#4b08d06108a784a2134313149626ba55f030a86f" + integrity sha512-wvq+KscQ7/6spEV7czhnZc9RM/woz1AY+/Vpd8/h2HFMwJSdTliu7f/yr1A6vDdJfKICZsShqsYpEQbdhg8AFQ== dezalgo@1.0.3, dezalgo@^1.0.0: version "1.0.3" @@ -21612,13 +21612,13 @@ punycode@^2.1.0, punycode@^2.1.1: integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== puppeteer@^15.0.0: - version "15.4.2" - resolved "https://registry.npmjs.org/puppeteer/-/puppeteer-15.4.2.tgz#d61756844a9eea91e672ea6d9994aa939a23bdcb" - integrity sha512-RIxzCIU8aJWh3ruc63xcByRYHPYJsXn4VbrrPtVQfMFcfYOnBqUeJ0CstDVv/NEZGpwozIPZBNU6zqY4zIn7vg== + version "15.5.0" + resolved "https://registry.npmjs.org/puppeteer/-/puppeteer-15.5.0.tgz#446e01547ba0f47c37ac2148e5333433b4ecb371" + integrity sha512-+vZPU8iBSdCx1Kn5hHas80fyo0TiVyMeqLGv/1dygX2HKhAZjO9YThadbRTCoTYq0yWw+w/CysldPsEekDtjDQ== dependencies: cross-fetch "3.1.5" debug "4.3.4" - devtools-protocol "0.0.1011705" + devtools-protocol "0.0.1019158" extract-zip "2.0.1" https-proxy-agent "5.0.1" pkg-dir "4.2.0" From 770d3f92c4000b57cd8df45d7ba0d4c0337f2c6d Mon Sep 17 00:00:00 2001 From: Andrew Duckett Date: Thu, 21 Jul 2022 22:21:53 -0500 Subject: [PATCH 048/131] respect `ensureExists` when `pluginDivisionMode` is set to `schema`. Signed-off-by: Andrew Duckett --- .changeset/purple-apricots-build.md | 5 ++++ .../src/database/DatabaseManager.test.ts | 25 +++++++++++++++++++ .../src/database/DatabaseManager.ts | 16 ++++++------ 3 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 .changeset/purple-apricots-build.md diff --git a/.changeset/purple-apricots-build.md b/.changeset/purple-apricots-build.md new file mode 100644 index 0000000000..aa4f2fa4b5 --- /dev/null +++ b/.changeset/purple-apricots-build.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +**BREAKING** The config prop `ensureExists` now applies to schema creation when `pluginDivisionMode` is set to `schema`. This means schemas will no longer be automatically created when `ensureExists` is set to `false`. In this case the `pg` database as well as each `schema` must be created out of band. diff --git a/packages/backend-common/src/database/DatabaseManager.test.ts b/packages/backend-common/src/database/DatabaseManager.test.ts index ea8aca38ea..9e8af44fc0 100644 --- a/packages/backend-common/src/database/DatabaseManager.test.ts +++ b/packages/backend-common/src/database/DatabaseManager.test.ts @@ -612,6 +612,31 @@ describe('DatabaseManager', () => { ); }); + it('ensureExists does not create database or schema when false', async () => { + const testManager = DatabaseManager.fromConfig( + new ConfigReader({ + backend: { + database: { + client: 'pg', + pluginDivisionMode: 'schema', + ensureExists: false, + connection: { + host: 'localhost', + user: 'foo', + password: 'bar', + database: 'foodb', + }, + }, + }, + }), + ); + const pluginId = 'testdbname'; + await testManager.forPlugin(pluginId).getClient(); + + expect(mocked(ensureDatabaseExists)).toHaveBeenCalledTimes(0); + expect(mocked(ensureSchemaExists)).toHaveBeenCalledTimes(0); + }); + it('fetches and merges additional knex config', async () => { const testManager = DatabaseManager.fromConfig( new ConfigReader({ diff --git a/packages/backend-common/src/database/DatabaseManager.ts b/packages/backend-common/src/database/DatabaseManager.ts index 004e7d13cd..39ff864f8c 100644 --- a/packages/backend-common/src/database/DatabaseManager.ts +++ b/packages/backend-common/src/database/DatabaseManager.ts @@ -321,13 +321,15 @@ export class DatabaseManager { let schemaOverrides; if (this.getPluginDivisionModeConfig() === 'schema') { - try { - schemaOverrides = this.getSchemaOverrides(pluginId); - await ensureSchemaExists(pluginConfig, pluginId); - } catch (error) { - throw new Error( - `Failed to connect to the database to make sure that schema for plugin '${pluginId}' exists, ${error}`, - ); + schemaOverrides = this.getSchemaOverrides(pluginId); + if (this.getEnsureExistsConfig(pluginId)) { + try { + await ensureSchemaExists(pluginConfig, pluginId); + } catch (error) { + throw new Error( + `Failed to connect to the database to make sure that schema for plugin '${pluginId}' exists, ${error}`, + ); + } } } From 59a8318ad6cf0bbedf7a983ecb7a771fd4200ee0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Jul 2022 05:39:34 +0000 Subject: [PATCH 049/131] fix(deps): update dependency zod to v3.17.10 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 356372bf20..f36cb59032 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26922,9 +26922,9 @@ zip-stream@^4.1.0: readable-stream "^3.6.0" zod@^3.11.6, zod@^3.9.5: - version "3.17.9" - resolved "https://registry.npmjs.org/zod/-/zod-3.17.9.tgz#6ce737474e51677e7166602ed58f6f8ba8d89c86" - integrity sha512-QF1843pYoRk1jFP+/UiEySXaTSiIyFod3KyDzoO3qHKGZdX7z7RNXI4lEsiibvpnIZQwcDVU58ZrxP4pQ7BmTQ== + version "3.17.10" + resolved "https://registry.npmjs.org/zod/-/zod-3.17.10.tgz#8716a05e6869df6faaa878a44ffe3c79e615defb" + integrity sha512-IHXnQYQuOOOL/XgHhgl8YjNxBHi3xX0mVcHmqsvJgcxKkEczPshoWdxqyFwsARpf41E0v9U95WUROqsHHxt0UQ== zustand@3.6.9: version "3.6.9" From f12d5e290d86ddf574be25f0175dee10570127b1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Jul 2022 05:40:28 +0000 Subject: [PATCH 050/131] fix(deps): update dependency graphiql to v1.10.0 Signed-off-by: Renovate Bot --- yarn.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn.lock b/yarn.lock index 356372bf20..41eee2da76 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2637,10 +2637,10 @@ teeny-request "^8.0.0" uuid "^8.0.0" -"@graphiql/react@^0.5.2": - version "0.5.2" - resolved "https://registry.npmjs.org/@graphiql/react/-/react-0.5.2.tgz#5beb7bab57103d72efbaaace57157b11efd4b2ce" - integrity sha512-8rfyrFOrZaG/fWHE4nX7XApuiNCd89XatvdJSO1ndXDUz94W3Ob0DHKufWpxXJ7RtJUNat25K+zrLYUP+C2iQw== +"@graphiql/react@^0.6.0": + version "0.6.0" + resolved "https://registry.npmjs.org/@graphiql/react/-/react-0.6.0.tgz#5def1c8f5f5ef7e65f6cf97c47ecc6bfc9fbff38" + integrity sha512-eC4K2Bzrih+NMOXcOGXxTcqJz9Hcowp/Hx9TSOWUczSifI309kVhBEuHVa/Fnqqw04WyvL6Wvn92gUlRak51Qg== dependencies: "@graphiql/toolkit" "^0.6.0" codemirror "^5.65.3" @@ -14437,11 +14437,11 @@ grapheme-splitter@^1.0.4: integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== graphiql@^1.5.12, graphiql@^1.8.8: - version "1.9.13" - resolved "https://registry.npmjs.org/graphiql/-/graphiql-1.9.13.tgz#f379425b407bad6eec4aa36a2e38d764a2c13b25" - integrity sha512-w/kFnK0N8ooN07vw5dKcDZ4CAmRfkjkTQbSj6LkEigJB/yTZ92r2QA/XROGlff0xn4r6aWfHjRp5AMrND4dLZg== + version "1.10.0" + resolved "https://registry.npmjs.org/graphiql/-/graphiql-1.10.0.tgz#2f869fe394fca76c7257444f80c5a2661d863ecc" + integrity sha512-OkhTLRzR8gwpePYLlosr0U3i9rPBmHQMHqm7pABjJ7gHfHi3UuokUAJ+tkKfv2cRHkJXB80Fp31ZAcCL6uG2tg== dependencies: - "@graphiql/react" "^0.5.2" + "@graphiql/react" "^0.6.0" "@graphiql/toolkit" "^0.6.0" entities "^2.0.0" graphql-language-service "^5.0.6" From c4b460a47dc2c75af6dd9b644acb233e2742d75c Mon Sep 17 00:00:00 2001 From: Namco Date: Fri, 22 Jul 2022 14:22:12 +0800 Subject: [PATCH 051/131] Avoid double encoding in bitbucket integration Signed-off-by: Namco --- .changeset/pretty-gifts-do.md | 5 +++++ packages/integration/src/bitbucket/core.test.ts | 14 ++++++++++++++ packages/integration/src/bitbucket/core.ts | 4 +++- 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 .changeset/pretty-gifts-do.md diff --git a/.changeset/pretty-gifts-do.md b/.changeset/pretty-gifts-do.md new file mode 100644 index 0000000000..8d939db6b6 --- /dev/null +++ b/.changeset/pretty-gifts-do.md @@ -0,0 +1,5 @@ +--- +'@backstage/integration': patch +--- + +Avoid double encoding of the file path in `getBitbucketDownloadUrl` diff --git a/packages/integration/src/bitbucket/core.test.ts b/packages/integration/src/bitbucket/core.test.ts index 2b16be82d4..23a193e6fe 100644 --- a/packages/integration/src/bitbucket/core.test.ts +++ b/packages/integration/src/bitbucket/core.test.ts @@ -139,6 +139,20 @@ describe('bitbucket core', () => { ); }); + it('does not double encode the filepath', async () => { + const config: BitbucketIntegrationConfig = { + host: 'bitbucket.mycompany.net', + apiBaseUrl: 'https://api.bitbucket.mycompany.net/rest/api/1.0', + }; + const result = await getBitbucketDownloadUrl( + 'https://bitbucket.mycompany.net/projects/backstage/repos/mock/browse/%2Fdocs?at=some-branch', + config, + ); + expect(result).toEqual( + 'https://api.bitbucket.mycompany.net/rest/api/1.0/projects/backstage/repos/mock/archive?format=tgz&at=some-branch&prefix=backstage-mock&path=%2Fdocs', + ); + }); + it('do not add path param if no path is specified for Bitbucket Server', async () => { const defaultBranchResponse = { displayId: 'main', diff --git a/packages/integration/src/bitbucket/core.ts b/packages/integration/src/bitbucket/core.ts index f6018ad27a..5c5533155d 100644 --- a/packages/integration/src/bitbucket/core.ts +++ b/packages/integration/src/bitbucket/core.ts @@ -100,7 +100,9 @@ export async function getBitbucketDownloadUrl( // path will limit the downloaded content // /docs will only download the docs folder and everything below it // /docs/index.md will download the docs folder and everything below it - const path = filepath ? `&path=${encodeURIComponent(filepath)}` : ''; + const path = filepath + ? `&path=${encodeURIComponent(decodeURIComponent(filepath))}` + : ''; const archiveUrl = isHosted ? `${protocol}://${resource}/${project}/${repoName}/get/${branch}.tar.gz` : `${config.apiBaseUrl}/projects/${project}/repos/${repoName}/archive?format=tgz&at=${branch}&prefix=${project}-${repoName}${path}`; From 565071f25850391b0acb2d3d686f0b0996969c2c Mon Sep 17 00:00:00 2001 From: Alex Rybchenko Date: Fri, 22 Jul 2022 11:02:06 +0200 Subject: [PATCH 052/131] updated changeset Signed-off-by: Alex Rybchenko --- .changeset/violet-trees-play.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.changeset/violet-trees-play.md b/.changeset/violet-trees-play.md index c56635633c..00f1e156a8 100644 --- a/.changeset/violet-trees-play.md +++ b/.changeset/violet-trees-play.md @@ -2,4 +2,13 @@ '@backstage/plugin-shortcuts': minor --- -Fixed shortcuts initialization when using firestore +Internal observable replaced with a mapping from the storage API. This fixes shortcuts initialization when using firestore. + +`ShortcutApi.get` method, that returns an immediate snapshot of shortcuts, made public. + +Example of how to get and observe `shortcuts`: + +```typescript +const shortcutApi = useApi(shortcutsApiRef); +const shortcuts = useObservable(shortcutApi.shortcut$(), shortcutApi.get()); +``` From fcb2bf76a52d04c92866fa6249494ee1c2b5d0e6 Mon Sep 17 00:00:00 2001 From: Ben Lambert Date: Fri, 22 Jul 2022 13:48:28 +0200 Subject: [PATCH 053/131] Update strange-crabs-confess.md Signed-off-by: blam --- .changeset/strange-crabs-confess.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/strange-crabs-confess.md b/.changeset/strange-crabs-confess.md index 25cb7bbeac..48456b870a 100644 --- a/.changeset/strange-crabs-confess.md +++ b/.changeset/strange-crabs-confess.md @@ -2,4 +2,4 @@ '@backstage/plugin-scaffolder-backend': patch --- -Add missing res.end() in scaffolder backend EventStream usage +Add missing `res.end()` in scaffolder backend `EventStream` usage From 505bed4c08fe17b412a691cd27ca99b5b59befd4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Jul 2022 12:08:05 +0000 Subject: [PATCH 054/131] fix(deps): update dependency testcontainers to v8.12.0 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index d67971dbd5..b4f8f0b0d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24807,9 +24807,9 @@ test-exclude@^6.0.0: minimatch "^3.0.4" testcontainers@^8.1.2: - version "8.11.1" - resolved "https://registry.npmjs.org/testcontainers/-/testcontainers-8.11.1.tgz#07d46e9da461e03d613c094570edf43506040082" - integrity sha512-sJbc/JiQ509mphYhj79pEpRb6iUePX7MY+YLi3gzSONoSgwPRgtqDMM2UBVjEBI123zavwN9K/HGUXwIIDah4A== + version "8.12.0" + resolved "https://registry.npmjs.org/testcontainers/-/testcontainers-8.12.0.tgz#236dfaec40887348d28bfcd19ebd047eb32f712a" + integrity sha512-6qQqKirdURAXH/V6sVnfbgqLAJK/vxP2ED6qcwiLfsZ6McPkF5TGDAPzkVZUmdrx62H3RzuTTdXGoPcLP7KG6g== dependencies: "@balena/dockerignore" "^1.0.2" "@types/archiver" "^5.3.1" From 8524931589ef04b26211483adf7f29f1f19fcb49 Mon Sep 17 00:00:00 2001 From: Lucas Teligioridis Date: Fri, 22 Jul 2022 21:47:51 +1000 Subject: [PATCH 055/131] Provide clearer documentation on correct permissions Rather than providing the objects and what permissions are required, just provide a valid Kubernetes manifest that clearly shows this to the developer setting this up. Will also prevent any ambiguity when applying this directly against a Kubernetes API. Signed-off-by: Lucas Teligioridis --- docs/features/kubernetes/configuration.md | 51 ++++++++++++++++------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/docs/features/kubernetes/configuration.md b/docs/features/kubernetes/configuration.md index dce4e60a87..86c6ea61b4 100644 --- a/docs/features/kubernetes/configuration.md +++ b/docs/features/kubernetes/configuration.md @@ -373,23 +373,42 @@ view the Kubernetes API docs for your Kubernetes version (e.g. ### Role Based Access Control -The current RBAC permissions required are read-only cluster wide, for the -following objects: +The current RBAC permissions required are read-only cluster wide, the below +Kubernetes manifest describes which objects are required and will ensure +the plugin functions correctly: -- pods -- services -- configmaps -- deployments -- replicasets -- horizontalpodautoscalers -- ingresses -- statefulsets - -The following RBAC permissions are required on the batch API group for the -following objects: - -- jobs -- cronjobs +```yaml +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: backstage-read-only +rules: + - apiGroups: + - '*' + resources: + - pods + - configmaps + - services + - deployments + - replicasets + - horizontalpodautoscalers + - ingresses + - statefulsets + verbs: + - get + - list + - watch + - apiGroups: + - batch + resources: + - jobs + - cronjobs + verbs: + - get + - list + - watch +``` ## Surfacing your Kubernetes components as part of an entity From 5079d3b0c5ec65a0a3b3bdd077382e4a683c0190 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Jul 2022 14:49:40 +0000 Subject: [PATCH 056/131] chore(deps): update dependency @changesets/cli to v2.24.0 Signed-off-by: Renovate Bot --- yarn.lock | 182 +++++++++++++++++++++++++++--------------------------- 1 file changed, 91 insertions(+), 91 deletions(-) diff --git a/yarn.lock b/yarn.lock index b4f8f0b0d8..114283683f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1915,20 +1915,20 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.4", "@babel/runtime@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580" - integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.18.9": +"@babel/runtime@^7.10.4", "@babel/runtime@^7.18.9": version "7.18.9" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz#6a1ef59f838debd670421f8c7f2cbb8da9751580" + integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.16.7", "@babel/template@^7.3.3": version "7.16.7" resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -2079,16 +2079,16 @@ resolved "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.0.tgz#fe364f025ba74f6de6c837a84ef44bdb1d61e68f" integrity sha512-mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w== -"@changesets/apply-release-plan@^6.0.1": - version "6.0.1" - resolved "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-6.0.1.tgz#7d7b13d4dc1f03e287bc563e029ed0bf955332a9" - integrity sha512-KGtai19+Uo7k8uco9m+hIPGoet9E6eZq15RIeHoivvgwwI66AC6ievbUO5h0NqGlZjBWnYJQNkuT66kvBYzxsA== +"@changesets/apply-release-plan@^6.0.2": + version "6.0.2" + resolved "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-6.0.2.tgz#6937f39425c93a70b1e155d76cfa06bf7255c992" + integrity sha512-s+rYNUTyC3FhTn8Gt35h65Bw/pwFevXLP/yOwzfrlfCd8Hj2FkX+1l3zPVkP+OpeMq7BAYtB6YfSkQe9awl4DQ== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/config" "^2.0.1" + "@changesets/config" "^2.1.0" "@changesets/get-version-range-type" "^0.3.2" - "@changesets/git" "^1.3.2" - "@changesets/types" "^5.0.0" + "@changesets/git" "^1.4.0" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" detect-indent "^6.0.0" fs-extra "^7.0.1" @@ -2098,44 +2098,44 @@ resolve-from "^5.0.0" semver "^5.4.1" -"@changesets/assemble-release-plan@^5.1.3": - version "5.1.3" - resolved "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-5.1.3.tgz#b415c5db64e5a30c53aed8c1adc5ab4c4aaad283" - integrity sha512-I+TTkUoqvxBEuDLoJfJYKDXIJ+nyiTbVJ8KGhpXEsLq4N/ms/AStSbouJwF2d/p3cB+RCPr5+gXh31GSN4kA7w== +"@changesets/assemble-release-plan@^5.2.0": + version "5.2.0" + resolved "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-5.2.0.tgz#35158dc9b496a4c108936ae8ad776ef855795ff6" + integrity sha512-ewY24PEbSec2eKX0+KM7eyENA2hUUp6s4LF9p/iBxTtc+TX2Xbx5rZnlLKZkc8tpuQ3PZbyjLFXWhd1PP6SjCg== dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" - "@changesets/get-dependents-graph" "^1.3.2" - "@changesets/types" "^5.0.0" + "@changesets/get-dependents-graph" "^1.3.3" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" semver "^5.4.1" -"@changesets/changelog-git@^0.1.11": - version "0.1.11" - resolved "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.1.11.tgz#80eb45d3562aba2164f25ccc31ac97b9dcd1ded3" - integrity sha512-sWJvAm+raRPeES9usNpZRkooeEB93lOpUN0Lmjz5vhVAb7XGIZrHEJ93155bpE1S0c4oJ5Di9ZWgzIwqhWP/Wg== +"@changesets/changelog-git@^0.1.12": + version "0.1.12" + resolved "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.1.12.tgz#5393f74ce9591c25d6a632c20184e92ae343db0d" + integrity sha512-Xv2CPjTBmwjl8l4ZyQ3xrsXZMq8WafPUpEonDpTmcb24XY8keVzt7ZSCJuDz035EiqrjmDKDhODoQ6XiHudlig== dependencies: - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" "@changesets/cli@^2.14.0": - version "2.23.2" - resolved "https://registry.npmjs.org/@changesets/cli/-/cli-2.23.2.tgz#f32d3d9388816721419cff204010b64a864c950e" - integrity sha512-o7CWC+mcwOmA3yK5axqHOSYPYEjX/x+nq/s9aX78AyzH1SQZa6L5HX4P9uUXibyjcKynklkmusxv8vN8+hJggA== + version "2.24.0" + resolved "https://registry.npmjs.org/@changesets/cli/-/cli-2.24.0.tgz#e37bda6948425f6de8663700f9b7ab136b5a653c" + integrity sha512-GlY8OGkwoTRupdV9L46NUhAZScJacRpY/ZUNHf+IQ65HoxgeT/OmgMIUnnippW4BtjlikayNV/HhkI/2HLsXcA== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/apply-release-plan" "^6.0.1" - "@changesets/assemble-release-plan" "^5.1.3" - "@changesets/changelog-git" "^0.1.11" - "@changesets/config" "^2.0.1" + "@changesets/apply-release-plan" "^6.0.2" + "@changesets/assemble-release-plan" "^5.2.0" + "@changesets/changelog-git" "^0.1.12" + "@changesets/config" "^2.1.0" "@changesets/errors" "^0.1.4" - "@changesets/get-dependents-graph" "^1.3.2" - "@changesets/get-release-plan" "^3.0.10" - "@changesets/git" "^1.3.2" + "@changesets/get-dependents-graph" "^1.3.3" + "@changesets/get-release-plan" "^3.0.11" + "@changesets/git" "^1.4.0" "@changesets/logger" "^0.0.5" - "@changesets/pre" "^1.0.11" - "@changesets/read" "^0.5.5" - "@changesets/types" "^5.0.0" - "@changesets/write" "^0.1.8" + "@changesets/pre" "^1.0.12" + "@changesets/read" "^0.5.6" + "@changesets/types" "^5.1.0" + "@changesets/write" "^0.1.9" "@manypkg/get-packages" "^1.1.3" "@types/is-ci" "^3.0.0" "@types/semver" "^6.0.0" @@ -2156,15 +2156,15 @@ term-size "^2.1.0" tty-table "^4.1.5" -"@changesets/config@^2.0.1": - version "2.0.1" - resolved "https://registry.npmjs.org/@changesets/config/-/config-2.0.1.tgz#9c71f01032f8b12237a18edeac2a39e6142e8a50" - integrity sha512-rJaQWqsjM54T7bDiCoMDcgOuY2HzyovvRs68C//C+tYgbHyjs00JcNVcScjlV47hATrNG1AI8qTD7V9bcO/1cg== +"@changesets/config@^2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@changesets/config/-/config-2.1.0.tgz#bfb663a338fc86e9ea2cb471089aa6dd8dfd7c3d" + integrity sha512-43potf+DwYHmH7EY19vxtCq6fqj7UUIrZ4DTwM3pVBqCKxFIytm7GPy7wNAsH06UvMw7NRuOu4QK5HN02GsIrw== dependencies: "@changesets/errors" "^0.1.4" - "@changesets/get-dependents-graph" "^1.3.2" + "@changesets/get-dependents-graph" "^1.3.3" "@changesets/logger" "^0.0.5" - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" fs-extra "^7.0.1" micromatch "^4.0.2" @@ -2176,28 +2176,28 @@ dependencies: extendable-error "^0.1.5" -"@changesets/get-dependents-graph@^1.3.2": - version "1.3.2" - resolved "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-1.3.2.tgz#f3ec7ce75f4afb6e3e4b6a87fde065f552c85998" - integrity sha512-tsqA6qZRB86SQuApSoDvI8yEWdyIlo/WLI4NUEdhhxLMJ0dapdeT6rUZRgSZzK1X2nv5YwR0MxQBbDAiDibKrg== +"@changesets/get-dependents-graph@^1.3.3": + version "1.3.3" + resolved "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-1.3.3.tgz#9b8011d9993979a1f039ee6ce70793c81f780fea" + integrity sha512-h4fHEIt6X+zbxdcznt1e8QD7xgsXRAXd2qzLlyxoRDFSa6SxJrDAUyh7ZUNdhjBU4Byvp4+6acVWVgzmTy4UNQ== dependencies: - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" chalk "^2.1.0" fs-extra "^7.0.1" semver "^5.4.1" -"@changesets/get-release-plan@^3.0.10": - version "3.0.10" - resolved "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-3.0.10.tgz#badbea8c113c976486d2eebaa66126a7ddd7ff0c" - integrity sha512-QeKHeo+mX1baRy3OIHQePMPebPFymq/ZxS6Bk3Y3FXiU+pXVnjrfqARj1E4xQT5c+48u6ISqJ8tW5f3EZ1/hng== +"@changesets/get-release-plan@^3.0.11": + version "3.0.11" + resolved "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-3.0.11.tgz#ad192466ff71df9dd868fd57e4d869d62426b9a5" + integrity sha512-WDVCuPIdIxLlITsCUEgQiiBitrcAqoOkyEkhkCGgzv4QBf87pJN15McOPKVy7Q2eiU3BfRDwYp4YtOPh4RUgCA== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/assemble-release-plan" "^5.1.3" - "@changesets/config" "^2.0.1" - "@changesets/pre" "^1.0.11" - "@changesets/read" "^0.5.5" - "@changesets/types" "^5.0.0" + "@changesets/assemble-release-plan" "^5.2.0" + "@changesets/config" "^2.1.0" + "@changesets/pre" "^1.0.12" + "@changesets/read" "^0.5.6" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" "@changesets/get-version-range-type@^0.3.2": @@ -2205,14 +2205,14 @@ resolved "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz#8131a99035edd11aa7a44c341cbb05e668618c67" integrity sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg== -"@changesets/git@^1.3.2": - version "1.3.2" - resolved "https://registry.npmjs.org/@changesets/git/-/git-1.3.2.tgz#336051d9a6d965806b1bc473559a9a2cc70773a6" - integrity sha512-p5UL+urAg0Nnpt70DLiBe2iSsMcDubTo9fTOD/61krmcJ466MGh71OHwdAwu1xG5+NKzeysdy1joRTg8CXcEXA== +"@changesets/git@^1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@changesets/git/-/git-1.4.0.tgz#2ba38646eaaedb3a62540e431a11cc29a635574d" + integrity sha512-uaFWaxVSotgbqnc0DxBtqJl940QDNlzGaaGJUEhPuNiw6CrpFMKPV9Q4wgiDMGVaIkoUpDbLnLRYjVu/FlqLhA== dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" is-subdir "^1.1.1" spawndamnit "^2.0.0" @@ -2224,35 +2224,35 @@ dependencies: chalk "^2.1.0" -"@changesets/parse@^0.3.13": - version "0.3.13" - resolved "https://registry.npmjs.org/@changesets/parse/-/parse-0.3.13.tgz#82788c1fc18da4750b07357a7a06142d0d975aa1" - integrity sha512-wh9Ifa0dungY6d2nMz6XxF6FZ/1I7j+mEgPAqrIyKS64nifTh1Ua82qKKMMK05CL7i4wiB2NYc3SfnnCX3RVeA== +"@changesets/parse@^0.3.14": + version "0.3.14" + resolved "https://registry.npmjs.org/@changesets/parse/-/parse-0.3.14.tgz#97321604206db2572c17a12ed37671d9ee6d5e14" + integrity sha512-SWnNVyC9vz61ueTbuxvA6b4HXcSx2iaWr2VEa37lPg1Vw+cEyQp7lOB219P7uow1xFfdtIEEsxbzXnqLAAaY8w== dependencies: - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" js-yaml "^3.13.1" -"@changesets/pre@^1.0.11": - version "1.0.11" - resolved "https://registry.npmjs.org/@changesets/pre/-/pre-1.0.11.tgz#46a56790fdceabd03407559bbf91340c8e83fb6a" - integrity sha512-CXZnt4SV9waaC9cPLm7818+SxvLKIDHUxaiTXnJYDp1c56xIexx1BNfC1yMuOdzO2a3rAIcZua5Odxr3dwSKfg== +"@changesets/pre@^1.0.12": + version "1.0.12" + resolved "https://registry.npmjs.org/@changesets/pre/-/pre-1.0.12.tgz#1eaeef1a264b32c24d85dc15cf5445c1aa8b87c6" + integrity sha512-RFzWYBZx56MtgMesXjxx7ymyI829/rcIw/41hvz3VJPnY8mDscN7RJyYu7Xm7vts2Fcd+SRcO0T/Ws3I1/6J7g== dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" fs-extra "^7.0.1" -"@changesets/read@^0.5.5": - version "0.5.5" - resolved "https://registry.npmjs.org/@changesets/read/-/read-0.5.5.tgz#9ed90ef3e9f1ba3436ba5580201854a3f4163058" - integrity sha512-bzonrPWc29Tsjvgh+8CqJ0apQOwWim0zheeD4ZK44ApSa/GudnZJTODtA3yNOOuQzeZmL0NUebVoHIurtIkA7w== +"@changesets/read@^0.5.6": + version "0.5.6" + resolved "https://registry.npmjs.org/@changesets/read/-/read-0.5.6.tgz#dc73b0c7aa7dd4348c87a710ed640ddb88253df3" + integrity sha512-0Y2/ym46Vv78Yp4vUuqkQRHo2wdDYvDLtD1t4yoNDZ3ELzgC9kkWYywncxi9rj9nilLrgaVujKfEVNyFYefFoQ== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/git" "^1.3.2" + "@changesets/git" "^1.4.0" "@changesets/logger" "^0.0.5" - "@changesets/parse" "^0.3.13" - "@changesets/types" "^5.0.0" + "@changesets/parse" "^0.3.14" + "@changesets/types" "^5.1.0" chalk "^2.1.0" fs-extra "^7.0.1" p-filter "^2.1.0" @@ -2262,18 +2262,18 @@ resolved "https://registry.npmjs.org/@changesets/types/-/types-4.1.0.tgz#fb8f7ca2324fd54954824e864f9a61a82cb78fe0" integrity sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== -"@changesets/types@^5.0.0": - version "5.0.0" - resolved "https://registry.npmjs.org/@changesets/types/-/types-5.0.0.tgz#d5eb52d074bc0358ce47d54bca54370b907812a0" - integrity sha512-IT1kBLSbAgTS4WtpU6P5ko054hq12vk4tgeIFRVE7Vnm4a/wgbNvBalgiKP0MjEXbCkZbItiGQHkCGxYWR55sA== +"@changesets/types@^5.1.0": + version "5.1.0" + resolved "https://registry.npmjs.org/@changesets/types/-/types-5.1.0.tgz#e0733b69ddc3efb68524d374d3c44f53a543c8d5" + integrity sha512-uUByGATZCdaPkaO9JkBsgGDjEvHyY2Sb0e/J23+cwxBi5h0fxpLF/HObggO/Fw8T2nxK6zDfJbPsdQt5RwYFJA== -"@changesets/write@^0.1.8": - version "0.1.8" - resolved "https://registry.npmjs.org/@changesets/write/-/write-0.1.8.tgz#feed408f644c496bc52afc4dd1353670b4152ecb" - integrity sha512-oIHeFVMuP6jf0TPnKPpaFpvvAf3JBc+s2pmVChbeEgQTBTALoF51Z9kqxQfG4XONZPHZnqkmy564c7qohhhhTQ== +"@changesets/write@^0.1.9": + version "0.1.9" + resolved "https://registry.npmjs.org/@changesets/write/-/write-0.1.9.tgz#ac9315d5985f83b251820b8a046155c14a9d21f4" + integrity sha512-E90ZrsrfJVOOQaP3Mm5Xd7uDwBAqq3z5paVEavTHKA8wxi7NAL8CmjgbGxSFuiP7ubnJA2BuHlrdE4z86voGOg== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/types" "^5.0.0" + "@changesets/types" "^5.1.0" fs-extra "^7.0.1" human-id "^1.0.2" prettier "^1.19.1" From b62a9bfc3789c255bd47c6fef5040c413c4af14b Mon Sep 17 00:00:00 2001 From: Eric Voshall <6836155+ericvoshall@users.noreply.github.com> Date: Fri, 22 Jul 2022 11:01:15 -0400 Subject: [PATCH 057/131] Handle incorrect return type Signed-off-by: Eric Voshall <6836155+ericvoshall@users.noreply.github.com> --- ...eInstanceGithubCredentialsProvider.test.ts | 75 +++++++++++++++++++ ...SingleInstanceGithubCredentialsProvider.ts | 5 +- 2 files changed, 79 insertions(+), 1 deletion(-) diff --git a/packages/integration/src/github/SingleInstanceGithubCredentialsProvider.test.ts b/packages/integration/src/github/SingleInstanceGithubCredentialsProvider.test.ts index 246a859b7a..d738edf417 100644 --- a/packages/integration/src/github/SingleInstanceGithubCredentialsProvider.test.ts +++ b/packages/integration/src/github/SingleInstanceGithubCredentialsProvider.test.ts @@ -20,6 +20,7 @@ const octokit = { paginate: async (fn: any) => (await fn()).data, apps: { listInstallations: jest.fn(), + listReposAccessibleToInstallation: jest.fn(), createInstallationAccessToken: jest.fn(), }, }; @@ -325,4 +326,78 @@ describe('SingleInstanceGithubCredentialsProvider tests', () => { expect(headers).toEqual({ Authorization: 'Bearer secret_token' }); expect(token).toEqual('secret_token'); }); + + it('should not throw when paginate response is an array of repositories', async () => { + const repoName = 'foobar'; + octokit.apps.listInstallations.mockResolvedValue({ + headers: { + etag: '123', + }, + data: [ + { + id: 1, + repository_selection: 'all', + account: { + login: 'backstage', + }, + }, + ], + } as RestEndpointMethodTypes['apps']['listInstallations']['response']); + + octokit.apps.createInstallationAccessToken.mockResolvedValueOnce({ + data: { + expires_at: DateTime.local().plus({ hours: 1 }).toString(), + token: 'secret_token', + repository_selection: 'selected', + }, + } as RestEndpointMethodTypes['apps']['createInstallationAccessToken']['response']); + + octokit.apps.listReposAccessibleToInstallation.mockReturnValue({ + data: [{ name: repoName }], + } as unknown as RestEndpointMethodTypes['apps']['listReposAccessibleToInstallation']['response']); + + await expect( + github.getCredentials({ + url: `https://github.com/backstage/${repoName}`, + }), + ).resolves.not.toThrow(); + }); + + it('should not throw when paginate response is an object with a property containing an array of repositories', async () => { + const repoName = 'foobar'; + octokit.apps.listInstallations.mockResolvedValue({ + headers: { + etag: '123', + }, + data: [ + { + id: 1, + repository_selection: 'all', + account: { + login: 'backstage', + }, + }, + ], + } as RestEndpointMethodTypes['apps']['listInstallations']['response']); + + octokit.apps.createInstallationAccessToken.mockResolvedValueOnce({ + data: { + expires_at: DateTime.local().plus({ hours: 1 }).toString(), + token: 'secret_token', + repository_selection: 'selected', + }, + } as RestEndpointMethodTypes['apps']['createInstallationAccessToken']['response']); + + octokit.apps.listReposAccessibleToInstallation.mockReturnValue({ + data: { + repositories: [{ name: repoName }], + }, + } as RestEndpointMethodTypes['apps']['listReposAccessibleToInstallation']['response']); + + await expect( + github.getCredentials({ + url: `https://github.com/backstage/${repoName}`, + }), + ).resolves.not.toThrow(); + }); }); diff --git a/packages/integration/src/github/SingleInstanceGithubCredentialsProvider.ts b/packages/integration/src/github/SingleInstanceGithubCredentialsProvider.ts index e56c1521dd..2fd2e7f7dc 100644 --- a/packages/integration/src/github/SingleInstanceGithubCredentialsProvider.ts +++ b/packages/integration/src/github/SingleInstanceGithubCredentialsProvider.ts @@ -119,7 +119,10 @@ class GithubAppManager { const repos = await installationClient.paginate( installationClient.apps.listReposAccessibleToInstallation, ); - const hasRepo = repos.repositories.some(repository => { + // The return type of the paginate method is incorrect. + const repositories: RestEndpointMethodTypes['apps']['listReposAccessibleToInstallation']['response']['data']['repositories'] = + repos.repositories ?? repos; + const hasRepo = repositories.some(repository => { return repository.name === repo; }); if (!hasRepo) { From 163243a4d1b04f0c626c138e53d1dcab2a3ca2c6 Mon Sep 17 00:00:00 2001 From: Eric Voshall <6836155+ericvoshall@users.noreply.github.com> Date: Fri, 22 Jul 2022 11:05:21 -0400 Subject: [PATCH 058/131] Add changeset Signed-off-by: Eric Voshall <6836155+ericvoshall@users.noreply.github.com> --- .changeset/dull-starfishes-chew.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/dull-starfishes-chew.md diff --git a/.changeset/dull-starfishes-chew.md b/.changeset/dull-starfishes-chew.md new file mode 100644 index 0000000000..9733e8b7e6 --- /dev/null +++ b/.changeset/dull-starfishes-chew.md @@ -0,0 +1,5 @@ +--- +'@backstage/integration': patch +--- + +Handle incorrect return type from Octokit paginate plugin to resolve reading URLs from GitHub From 3cd3f95995289c241301eaa6346d6b6dad413e5f Mon Sep 17 00:00:00 2001 From: Natalya Peixoto <35628156+natalyapeixoto@users.noreply.github.com> Date: Fri, 22 Jul 2022 17:19:50 +0200 Subject: [PATCH 059/131] feat(backstage-plugin-api-linter): add plugin Signed-off-by: Natalya Peixoto <35628156+natalyapeixoto@users.noreply.github.com> --- microsite/data/plugins/backstage-plugin-api-linter | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 microsite/data/plugins/backstage-plugin-api-linter diff --git a/microsite/data/plugins/backstage-plugin-api-linter b/microsite/data/plugins/backstage-plugin-api-linter new file mode 100644 index 0000000000..ae2a451ea7 --- /dev/null +++ b/microsite/data/plugins/backstage-plugin-api-linter @@ -0,0 +1,9 @@ +--- +title: backstage-plugin-api-linter +author: Zalando +authorUrl: https://github.com/zalando +category: Linting +description: API Linter is a quality assurance tool that checks the compliance of API's specifications to Zalando's API rules. +documentation: https://github.com/zalando/backstage-plugin-api-linter +iconUrl: https://raw.githubusercontent.com/zalando/zally/main/logo.png +npmPackageName: backstage-plugin-api-linter From c8196bd37d23e3eca12930969cfb218bfd07c7c5 Mon Sep 17 00:00:00 2001 From: Manuel Stein Date: Fri, 22 Jul 2022 18:43:44 +0300 Subject: [PATCH 060/131] wrap aws-sdk errors because there are http errors with no message any error reading the object is wrapped to conform to the @backstage/error assertError checks Signed-off-by: Manuel Stein --- .changeset/loud-panthers-arrive.md | 7 +++++++ plugins/techdocs-node/src/stages/publish/awsS3.test.ts | 2 +- plugins/techdocs-node/src/stages/publish/awsS3.ts | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 .changeset/loud-panthers-arrive.md diff --git a/.changeset/loud-panthers-arrive.md b/.changeset/loud-panthers-arrive.md new file mode 100644 index 0000000000..76e6812b5b --- /dev/null +++ b/.changeset/loud-panthers-arrive.md @@ -0,0 +1,7 @@ +--- +'@backstage/plugin-techdocs-node': patch +--- + +Fix AWS S3 404 NotFound error + +When reading an object from the S3 bucket through a stream, the aws-sdk getObject() API may throw a 404 NotFound Error with no error message or, in fact, any sort of HTTP-layer error responses. These fail the @backstage/error's assertError() checks, so they must be wrapped. The test for this case was also updated to match the wrapped error message. \ No newline at end of file diff --git a/plugins/techdocs-node/src/stages/publish/awsS3.test.ts b/plugins/techdocs-node/src/stages/publish/awsS3.test.ts index 6372093c4b..24ea9af563 100644 --- a/plugins/techdocs-node/src/stages/publish/awsS3.test.ts +++ b/plugins/techdocs-node/src/stages/publish/awsS3.test.ts @@ -478,7 +478,7 @@ describe('AwsS3Publish', () => { await expect(fails).rejects.toMatchObject({ message: expect.stringMatching( - /TechDocs metadata fetch failed; caused by Error: The file .* does not exist/i, + /TechDocs metadata fetch failed; caused by Error: .*/i, ), }); }); diff --git a/plugins/techdocs-node/src/stages/publish/awsS3.ts b/plugins/techdocs-node/src/stages/publish/awsS3.ts index e5914d2fdf..d3456b7f21 100644 --- a/plugins/techdocs-node/src/stages/publish/awsS3.ts +++ b/plugins/techdocs-node/src/stages/publish/awsS3.ts @@ -49,7 +49,7 @@ const streamToBuffer = (stream: Readable): Promise => { try { const chunks: any[] = []; stream.on('data', chunk => chunks.push(chunk)); - stream.on('error', reject); + stream.on('error', (e: Error) => reject(new ForwardedError('Unable to read stream', e))); stream.on('end', () => resolve(Buffer.concat(chunks))); } catch (e) { throw new ForwardedError('Unable to parse the response data', e); From 61f4be882732481100e4846a8d3a7c13d5b3b6fb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Jul 2022 15:51:23 +0000 Subject: [PATCH 061/131] fix(deps): update dependency @svgr/plugin-jsx to v6.3.1 Signed-off-by: Renovate Bot --- yarn.lock | 106 +++++++++++++++++++++++++++--------------------------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/yarn.lock b/yarn.lock index 114283683f..e2eb3fcd7b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5989,59 +5989,59 @@ dependencies: loader-utils "^1.1.0" -"@svgr/babel-plugin-add-jsx-attribute@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.3.0.tgz#eae9f3255da5e6f5d1ec115e4ddcca65709a8611" - integrity sha512-3XzJy0dCVEOE2o2Wn8tF9SdQ2na1Q7jJNzIs3+27RHPpEiuqlClBNhIOhPFKr95+bUGtL6nZIgqY8xBhMw0p6g== +"@svgr/babel-plugin-add-jsx-attribute@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.3.1.tgz#b9a5d84902be75a05ede92e70b338d28ab63fa74" + integrity sha512-jDBKArXYO1u0B1dmd2Nf8Oy6aTF5vLDfLoO9Oon/GLkqZ/NiggYWZA+a2HpUMH4ITwNqS3z43k8LWApB8S583w== -"@svgr/babel-plugin-remove-jsx-attribute@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.3.0.tgz#b4910cb52a1499f59ab65c6b1483424913e87768" - integrity sha512-zD0sTwXpL78pWaxWxCyqimfukPcJfToKuwW1Po00pUeOYT6KuMQrPnG6XIZpLadydOo+fght8SoxwRb5O9TtWA== +"@svgr/babel-plugin-remove-jsx-attribute@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.3.1.tgz#4877995452efc997b36777abe1fde9705ef78e8b" + integrity sha512-dQzyJ4prwjcFd929T43Z8vSYiTlTu8eafV40Z2gO7zy/SV5GT+ogxRJRBIKWomPBOiaVXFg3jY4S5hyEN3IBjQ== -"@svgr/babel-plugin-remove-jsx-empty-expression@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.3.0.tgz#0f8b0969f36096be9f64f2ed052ade314779a3f4" - integrity sha512-COsMIL1BRU/ZxFTvd59NFzJPIdvBkV19Jrn7w1NwFmglOUrpchPRSzfW6FzWUh2C8nzJrnjDn6V7i7klVhHZEA== +"@svgr/babel-plugin-remove-jsx-empty-expression@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.3.1.tgz#2d67a0e92904c9be149a5b22d3a3797ce4d7b514" + integrity sha512-HBOUc1XwSU67fU26V5Sfb8MQsT0HvUyxru7d0oBJ4rA2s4HW3PhyAPC7fV/mdsSGpAvOdd8Wpvkjsr0fWPUO7A== -"@svgr/babel-plugin-replace-jsx-attribute-value@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.3.0.tgz#185b2ff136a703f32a84e16e5bb533ca4d5f42fa" - integrity sha512-mKk2uqn1/7dk2I82fYaiLTw12eqmZZ2ZzH3WVhzzLvMXrLIxc9xYFJBNRMrV+77ZDHd791933HWSNChtGeJLQg== +"@svgr/babel-plugin-replace-jsx-attribute-value@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.3.1.tgz#306f5247139c53af70d1778f2719647c747998ee" + integrity sha512-C12e6aN4BXAolRrI601gPn5MDFCRHO7C4TM8Kks+rDtl8eEq+NN1sak0eAzJu363x3TmHXdZn7+Efd2nr9I5dA== -"@svgr/babel-plugin-svg-dynamic-title@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.3.0.tgz#e06db7f06eb6be5bd9300a0d964521ef9eee589b" - integrity sha512-jdQJa8DZHfo2POTmgl8ZmDEcpTEz4n6RsANle1DbbC8CGq+1k/RV4MkRL1ceqIJCSOW3ypk23gpG5Q4xlSiY7Q== +"@svgr/babel-plugin-svg-dynamic-title@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.3.1.tgz#6ce26d34cbc93eb81737ef528528907c292e7aa2" + integrity sha512-6NU55Mmh3M5u2CfCCt6TX29/pPneutrkJnnDCHbKZnjukZmmgUAZLtZ2g6ZoSPdarowaQmAiBRgAHqHmG0vuqA== -"@svgr/babel-plugin-svg-em-dimensions@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.3.0.tgz#1369f2c7c5c725b532224a7a00e500d267a728aa" - integrity sha512-yPogu5hLcF5FXCU3a3sCtsP+lloLBkIxM+xplumKwIdQNN28qb+HmFxVLUkT0+MD3y+77DjTtukJzkEBqL/BsA== +"@svgr/babel-plugin-svg-em-dimensions@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.3.1.tgz#5ade2a724b290873c30529d1d8cd23523856287a" + integrity sha512-HV1NGHYTTe1vCNKlBgq/gKuCSfaRlKcHIADn7P8w8U3Zvujdw1rmusutghJ1pZJV7pDt3Gt8ws+SVrqHnBO/Qw== -"@svgr/babel-plugin-transform-react-native-svg@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.3.0.tgz#72cafb778198af1f9f0be6bfaf369f2cd7746ac5" - integrity sha512-Eso0uWFLN8kpR/MB+mD6j0WOTSUPWpyXpEkYt6sg4GItEMvScWgZV8H986CU09oXceaG8AovgPvYdygiJuRsRA== +"@svgr/babel-plugin-transform-react-native-svg@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.3.1.tgz#d654f509d692c3a09dfb475757a44bd9f6ad7ddf" + integrity sha512-2wZhSHvTolFNeKDAN/ZmIeSz2O9JSw72XD+o2bNp2QAaWqa8KGpn5Yk5WHso6xqfSAiRzAE+GXlsrBO4UP9LLw== -"@svgr/babel-plugin-transform-svg-component@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.3.0.tgz#95d91c49127211d790fa08517cb0bf0b3f363565" - integrity sha512-e9tSsPAHibGyZDPqQ8a5OIDuuON2YY6+XeCr6WqxVLwj+nIqbUOmNNZpekNsUv/gZ6UbtzEpGfZMiZavpavqDg== +"@svgr/babel-plugin-transform-svg-component@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.3.1.tgz#21a285dbffdce9567c437ebf0d081bf9210807e6" + integrity sha512-cZ8Tr6ZAWNUFfDeCKn/pGi976iWSkS8ijmEYKosP+6ktdZ7lW9HVLHojyusPw3w0j8PI4VBeWAXAmi/2G7owxw== -"@svgr/babel-preset@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.3.0.tgz#b09393095b61cb889f103264d326bd177dc310dc" - integrity sha512-N1UWDZy/kxGW9G4q4jRD+Jyn0N+LmKw0yb9HwAWBZdFBu4ckKtc7lJLHvIFou51r11r/BsZWiJPje3fDLnTMtA== +"@svgr/babel-preset@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.3.1.tgz#8bd1ead79637d395e9362b01dd37cfd59702e152" + integrity sha512-tQtWtzuMMQ3opH7je+MpwfuRA1Hf3cKdSgTtAYwOBDfmhabP7rcTfBi3E7V3MuwJNy/Y02/7/RutvwS1W4Qv9g== dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^6.3.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^6.3.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^6.3.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.3.0" - "@svgr/babel-plugin-svg-dynamic-title" "^6.3.0" - "@svgr/babel-plugin-svg-em-dimensions" "^6.3.0" - "@svgr/babel-plugin-transform-react-native-svg" "^6.3.0" - "@svgr/babel-plugin-transform-svg-component" "^6.3.0" + "@svgr/babel-plugin-add-jsx-attribute" "^6.3.1" + "@svgr/babel-plugin-remove-jsx-attribute" "^6.3.1" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^6.3.1" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.3.1" + "@svgr/babel-plugin-svg-dynamic-title" "^6.3.1" + "@svgr/babel-plugin-svg-em-dimensions" "^6.3.1" + "@svgr/babel-plugin-transform-react-native-svg" "^6.3.1" + "@svgr/babel-plugin-transform-svg-component" "^6.3.1" "@svgr/core@^6.3.0": version "6.3.0" @@ -6052,22 +6052,22 @@ camelcase "^6.2.0" cosmiconfig "^7.0.1" -"@svgr/hast-util-to-babel-ast@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.3.0.tgz#594a2503044ff5b66a692a55217aedd99d6b341e" - integrity sha512-dlIzHVpWhjMlcTrYUSovfr4MOzm+1I8e9yIAF5eiZU5XNHs8hYDS5xL2QDakt5wd1/2MEtJie97GsCOotlstpA== +"@svgr/hast-util-to-babel-ast@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.3.1.tgz#59614e24d2a4a28010e02089213b3448d905769d" + integrity sha512-NgyCbiTQIwe3wHe/VWOUjyxmpUmsrBjdoIxKpXt3Nqc3TN30BpJG22OxBvVzsAh9jqep0w0/h8Ywvdk3D9niNQ== dependencies: "@babel/types" "^7.18.4" entities "^4.3.0" "@svgr/plugin-jsx@6.3.x", "@svgr/plugin-jsx@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.3.0.tgz#df353e0c1618c7a212ce5da63876208fea62e303" - integrity sha512-1yr719Dx7c43rgqUaWaYF195bCZ/kZyPk5nWjdRwNaKqfARCfH0tTquD0a9nWkOTFnLSTGytjGdBqLNRw4X0Yw== + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.3.1.tgz#de7b2de824296b836d6b874d498377896e367f50" + integrity sha512-r9+0mYG3hD4nNtUgsTXWGYJomv/bNd7kC16zvsM70I/bGeoCi/3lhTmYqeN6ChWX317OtQCSZZbH4wq9WwoXbw== dependencies: "@babel/core" "^7.18.5" - "@svgr/babel-preset" "^6.3.0" - "@svgr/hast-util-to-babel-ast" "^6.3.0" + "@svgr/babel-preset" "^6.3.1" + "@svgr/hast-util-to-babel-ast" "^6.3.1" svg-parser "^2.0.4" "@svgr/plugin-svgo@6.3.x", "@svgr/plugin-svgo@^6.3.0": From a7ff3399c2d47396fa48018086ad11b034a19bff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Jul 2022 15:52:17 +0000 Subject: [PATCH 062/131] fix(deps): update dependency @svgr/plugin-svgo to v6.3.1 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 114283683f..488da5200d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6071,9 +6071,9 @@ svg-parser "^2.0.4" "@svgr/plugin-svgo@6.3.x", "@svgr/plugin-svgo@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.3.0.tgz#4d42573330407c2ec92854e172d569516052750b" - integrity sha512-HFbuewy6Gm8jZu1xqbdOB7zKipgf5DgcRG421uVfqgGredBIl1eLt2B0Qr3pFXQE8OTmRqJsZbjKpfrOu1BwkA== + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.3.1.tgz#3c1ff2efaed10e5c5d35a6cae7bacaedc18b5d4a" + integrity sha512-yJIjTDKPYqzFVjmsbH5EdIwEsmKxjxdXSGJVLeUgwZOZPAkNQmD1v7LDbOdOKbR44FG8465Du+zWPdbYGnbMbw== dependencies: cosmiconfig "^7.0.1" deepmerge "^4.2.2" From 9bc167809772e64a2f9030223d69985535bda5d0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Jul 2022 16:40:10 +0000 Subject: [PATCH 063/131] fix(deps): update dependency @svgr/rollup to v6.3.1 Signed-off-by: Renovate Bot --- yarn.lock | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/yarn.lock b/yarn.lock index e2eb3fcd7b..604f356088 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6052,6 +6052,15 @@ camelcase "^6.2.0" cosmiconfig "^7.0.1" +"@svgr/core@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/core/-/core-6.3.1.tgz#752adf49d8d5473b15d76ca741961de093f715bd" + integrity sha512-Sm3/7OdXbQreemf9aO25keerZSbnKMpGEfmH90EyYpj1e8wMD4TuwJIb3THDSgRMWk1kYJfSRulELBy4gVgZUA== + dependencies: + "@svgr/plugin-jsx" "^6.3.1" + camelcase "^6.2.0" + cosmiconfig "^7.0.1" + "@svgr/hast-util-to-babel-ast@^6.3.1": version "6.3.1" resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.3.1.tgz#59614e24d2a4a28010e02089213b3448d905769d" @@ -6060,7 +6069,7 @@ "@babel/types" "^7.18.4" entities "^4.3.0" -"@svgr/plugin-jsx@6.3.x", "@svgr/plugin-jsx@^6.3.0": +"@svgr/plugin-jsx@6.3.x", "@svgr/plugin-jsx@^6.3.0", "@svgr/plugin-jsx@^6.3.1": version "6.3.1" resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.3.1.tgz#de7b2de824296b836d6b874d498377896e367f50" integrity sha512-r9+0mYG3hD4nNtUgsTXWGYJomv/bNd7kC16zvsM70I/bGeoCi/3lhTmYqeN6ChWX317OtQCSZZbH4wq9WwoXbw== @@ -6079,10 +6088,19 @@ deepmerge "^4.2.2" svgo "^2.8.0" +"@svgr/plugin-svgo@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.3.1.tgz#3c1ff2efaed10e5c5d35a6cae7bacaedc18b5d4a" + integrity sha512-yJIjTDKPYqzFVjmsbH5EdIwEsmKxjxdXSGJVLeUgwZOZPAkNQmD1v7LDbOdOKbR44FG8465Du+zWPdbYGnbMbw== + dependencies: + cosmiconfig "^7.0.1" + deepmerge "^4.2.2" + svgo "^2.8.0" + "@svgr/rollup@6.3.x": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/rollup/-/rollup-6.3.0.tgz#a665783d32cd955ea7e1a9d1ba9c6c082a30a66f" - integrity sha512-BO0twaMOoRPddxeegQ8rbkDMds13Sb1+EqKxBuKA8s3M8p2CtpKLiLgnigx9s3+ZUO0WQGLpQKb5PFWZZmtQ7w== + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/rollup/-/rollup-6.3.1.tgz#cf59c39f1f145383dfdeea7068ec18149360668e" + integrity sha512-TXcRT7pwsNU30bXxgooGAZQIXmPy7fxUnN/v5cuCpLiondRtKiV321kh/S/qhcQ6gSs6DvJmNDpbiqPZF66usw== dependencies: "@babel/core" "^7.18.5" "@babel/plugin-transform-react-constant-elements" "^7.17.12" @@ -6090,9 +6108,9 @@ "@babel/preset-react" "^7.17.12" "@babel/preset-typescript" "^7.17.12" "@rollup/pluginutils" "^4.2.1" - "@svgr/core" "^6.3.0" - "@svgr/plugin-jsx" "^6.3.0" - "@svgr/plugin-svgo" "^6.3.0" + "@svgr/core" "^6.3.1" + "@svgr/plugin-jsx" "^6.3.1" + "@svgr/plugin-svgo" "^6.3.1" "@svgr/webpack@6.3.x": version "6.3.0" From a1ba550beb62aa8515ca04793b11e110e2f0e66b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Jul 2022 16:40:55 +0000 Subject: [PATCH 064/131] fix(deps): update dependency @svgr/webpack to v6.3.1 Signed-off-by: Renovate Bot --- yarn.lock | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/yarn.lock b/yarn.lock index e2eb3fcd7b..040372bbec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6052,6 +6052,15 @@ camelcase "^6.2.0" cosmiconfig "^7.0.1" +"@svgr/core@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/core/-/core-6.3.1.tgz#752adf49d8d5473b15d76ca741961de093f715bd" + integrity sha512-Sm3/7OdXbQreemf9aO25keerZSbnKMpGEfmH90EyYpj1e8wMD4TuwJIb3THDSgRMWk1kYJfSRulELBy4gVgZUA== + dependencies: + "@svgr/plugin-jsx" "^6.3.1" + camelcase "^6.2.0" + cosmiconfig "^7.0.1" + "@svgr/hast-util-to-babel-ast@^6.3.1": version "6.3.1" resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.3.1.tgz#59614e24d2a4a28010e02089213b3448d905769d" @@ -6060,7 +6069,7 @@ "@babel/types" "^7.18.4" entities "^4.3.0" -"@svgr/plugin-jsx@6.3.x", "@svgr/plugin-jsx@^6.3.0": +"@svgr/plugin-jsx@6.3.x", "@svgr/plugin-jsx@^6.3.0", "@svgr/plugin-jsx@^6.3.1": version "6.3.1" resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.3.1.tgz#de7b2de824296b836d6b874d498377896e367f50" integrity sha512-r9+0mYG3hD4nNtUgsTXWGYJomv/bNd7kC16zvsM70I/bGeoCi/3lhTmYqeN6ChWX317OtQCSZZbH4wq9WwoXbw== @@ -6079,6 +6088,15 @@ deepmerge "^4.2.2" svgo "^2.8.0" +"@svgr/plugin-svgo@^6.3.1": + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.3.1.tgz#3c1ff2efaed10e5c5d35a6cae7bacaedc18b5d4a" + integrity sha512-yJIjTDKPYqzFVjmsbH5EdIwEsmKxjxdXSGJVLeUgwZOZPAkNQmD1v7LDbOdOKbR44FG8465Du+zWPdbYGnbMbw== + dependencies: + cosmiconfig "^7.0.1" + deepmerge "^4.2.2" + svgo "^2.8.0" + "@svgr/rollup@6.3.x": version "6.3.0" resolved "https://registry.npmjs.org/@svgr/rollup/-/rollup-6.3.0.tgz#a665783d32cd955ea7e1a9d1ba9c6c082a30a66f" @@ -6095,18 +6113,18 @@ "@svgr/plugin-svgo" "^6.3.0" "@svgr/webpack@6.3.x": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.3.0.tgz#62d3681e6999c170f67edf7f77dcb95c63bafe42" - integrity sha512-mtIQaV492zUu2Fq1BZRlrFf3PO1ONzfHZCki7h7ZDHWPuPi6hx32X4lNhN+tT4phPw/Sb8xPj7JNHn5Eobm/WQ== + version "6.3.1" + resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.3.1.tgz#001d03236ebb03bf47c0a4b92d5423e05095ebe6" + integrity sha512-eODxwIUShLxSMaRjzJtrj9wg89D75JLczvWg9SaB5W+OtVTkiC1vdGd8+t+pf5fTlBOy4RRXAq7x1E3DUl3D0A== dependencies: "@babel/core" "^7.18.5" "@babel/plugin-transform-react-constant-elements" "^7.17.12" "@babel/preset-env" "^7.18.2" "@babel/preset-react" "^7.17.12" "@babel/preset-typescript" "^7.17.12" - "@svgr/core" "^6.3.0" - "@svgr/plugin-jsx" "^6.3.0" - "@svgr/plugin-svgo" "^6.3.0" + "@svgr/core" "^6.3.1" + "@svgr/plugin-jsx" "^6.3.1" + "@svgr/plugin-svgo" "^6.3.1" "@szmarczak/http-timer@^4.0.5": version "4.0.5" From b3dac7845a309248043864e26fc5e387a3e3ef3c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Jul 2022 17:27:40 +0000 Subject: [PATCH 065/131] fix(deps): update dependency isomorphic-git to v1.19.0 Signed-off-by: Renovate Bot --- yarn.lock | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/yarn.lock b/yarn.lock index b1cdf5b20d..d702379d79 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6079,16 +6079,7 @@ "@svgr/hast-util-to-babel-ast" "^6.3.1" svg-parser "^2.0.4" -"@svgr/plugin-svgo@6.3.x", "@svgr/plugin-svgo@^6.3.0": - version "6.3.1" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.3.1.tgz#3c1ff2efaed10e5c5d35a6cae7bacaedc18b5d4a" - integrity sha512-yJIjTDKPYqzFVjmsbH5EdIwEsmKxjxdXSGJVLeUgwZOZPAkNQmD1v7LDbOdOKbR44FG8465Du+zWPdbYGnbMbw== - dependencies: - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - svgo "^2.8.0" - -"@svgr/plugin-svgo@^6.3.1": +"@svgr/plugin-svgo@6.3.x", "@svgr/plugin-svgo@^6.3.0", "@svgr/plugin-svgo@^6.3.1": version "6.3.1" resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.3.1.tgz#3c1ff2efaed10e5c5d35a6cae7bacaedc18b5d4a" integrity sha512-yJIjTDKPYqzFVjmsbH5EdIwEsmKxjxdXSGJVLeUgwZOZPAkNQmD1v7LDbOdOKbR44FG8465Du+zWPdbYGnbMbw== @@ -16119,9 +16110,9 @@ isomorphic-form-data@^2.0.0: form-data "^2.3.2" isomorphic-git@^1.8.0: - version "1.18.3" - resolved "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.18.3.tgz#b2ef91688ac8f4315a8f3ce72f24a76c17bf61ad" - integrity sha512-CVTNt0uU5RQ4g626LxqUyShdoeD15uZppKA0tk7iY/PyikCbRG594a7BksU4JZcOC6RsqUkURdIlFyKhAfdbqg== + version "1.19.0" + resolved "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.19.0.tgz#1f109eb4e0383ca0553e712ffb5bd43d27118fc6" + integrity sha512-OL723KnfgCSMH0zRvCn3FV5eGIb9Xvs0tS2DbIVc6KuyyI2DOHcYe8S4yWiqQ09xuNXEmPiFgsX5KVpEyWNH8g== dependencies: async-lock "^1.1.0" clean-git-ref "^2.0.1" From a539564c0ddd1e7ffbe2b8800dfbc68e5105cddb Mon Sep 17 00:00:00 2001 From: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Date: Fri, 22 Jul 2022 13:28:03 -0500 Subject: [PATCH 066/131] Added Backstage version to info command Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> --- .changeset/modern-shrimps-wave.md | 5 +++++ packages/cli/src/commands/info.ts | 12 ++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 .changeset/modern-shrimps-wave.md diff --git a/.changeset/modern-shrimps-wave.md b/.changeset/modern-shrimps-wave.md new file mode 100644 index 0000000000..4750360915 --- /dev/null +++ b/.changeset/modern-shrimps-wave.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Added Backstage version to output of `yarn backstage-clie info` command diff --git a/packages/cli/src/commands/info.ts b/packages/cli/src/commands/info.ts index 4042d2cb8e..b513be9957 100644 --- a/packages/cli/src/commands/info.ts +++ b/packages/cli/src/commands/info.ts @@ -26,10 +26,22 @@ export default async () => { // eslint-disable-next-line no-restricted-syntax const isLocal = require('fs').existsSync(paths.resolveOwn('./src')); + const backstageFile = paths.resolveTargetRoot('backstage.json'); + let backstageJson = undefined; + if (require('fs').existsSync(backstageFile)) { + const buffer = await require('fs').readFile(backstageFile); + backstageJson = JSON.parse(buffer.toString()); + } + console.log(`OS: ${os.type} ${os.release} - ${os.platform}/${os.arch}`); console.log(`node: ${process.version}`); console.log(`yarn: ${yarnVersion}`); console.log(`cli: ${cliVersion} (${isLocal ? 'local' : 'installed'})`); + console.log( + `backstage: ${ + backstageJson && backstageJson.version ? backstageJson.version : 'N/A' + }`, + ); console.log(); console.log('Dependencies:'); const lockfilePath = paths.resolveTargetRoot('yarn.lock'); From 02539d4f316d2c233606dffcc063dc47d65130bf Mon Sep 17 00:00:00 2001 From: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Date: Fri, 22 Jul 2022 13:33:37 -0500 Subject: [PATCH 067/131] Fixed callback error Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> --- packages/cli/src/commands/info.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/commands/info.ts b/packages/cli/src/commands/info.ts index b513be9957..c62185e9a7 100644 --- a/packages/cli/src/commands/info.ts +++ b/packages/cli/src/commands/info.ts @@ -19,17 +19,18 @@ import os from 'os'; import { runPlain } from '../lib/run'; import { paths } from '../lib/paths'; import { Lockfile } from '../lib/versioning'; +import fs from 'fs-extra'; export default async () => { await new Promise(async () => { const yarnVersion = await runPlain('yarn --version'); // eslint-disable-next-line no-restricted-syntax - const isLocal = require('fs').existsSync(paths.resolveOwn('./src')); + const isLocal = fs.existsSync(paths.resolveOwn('./src')); const backstageFile = paths.resolveTargetRoot('backstage.json'); let backstageJson = undefined; - if (require('fs').existsSync(backstageFile)) { - const buffer = await require('fs').readFile(backstageFile); + if (fs.existsSync(backstageFile)) { + const buffer = await fs.readFile(backstageFile); backstageJson = JSON.parse(buffer.toString()); } From 64fd7865867b623666a9dc8f6fab477b89e0bd7d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Jul 2022 21:12:53 +0000 Subject: [PATCH 068/131] fix(deps): update dependency aws-sdk to v2.1181.0 Signed-off-by: Renovate Bot --- yarn.lock | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) diff --git a/yarn.lock b/yarn.lock index a81d2e0dbf..c3b223ee42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6043,15 +6043,6 @@ "@svgr/babel-plugin-transform-react-native-svg" "^6.3.1" "@svgr/babel-plugin-transform-svg-component" "^6.3.1" -"@svgr/core@^6.3.0": - version "6.3.0" - resolved "https://registry.npmjs.org/@svgr/core/-/core-6.3.0.tgz#4d8f086c8e5121d490fe06523dad8305b159d20f" - integrity sha512-olON7KzAQR4oBbnRmSgJkQrpqPbHd6wURAfTR+HN+6GpcJxknEEDC+l+bpEE/jz2K4lcHex91A2cRUlsGMCazg== - dependencies: - "@svgr/plugin-jsx" "^6.3.0" - camelcase "^6.2.0" - cosmiconfig "^7.0.1" - "@svgr/core@^6.3.1": version "6.3.1" resolved "https://registry.npmjs.org/@svgr/core/-/core-6.3.1.tgz#752adf49d8d5473b15d76ca741961de093f715bd" @@ -6069,7 +6060,7 @@ "@babel/types" "^7.18.4" entities "^4.3.0" -"@svgr/plugin-jsx@6.3.x", "@svgr/plugin-jsx@^6.3.0", "@svgr/plugin-jsx@^6.3.1": +"@svgr/plugin-jsx@6.3.x", "@svgr/plugin-jsx@^6.3.1": version "6.3.1" resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.3.1.tgz#de7b2de824296b836d6b874d498377896e367f50" integrity sha512-r9+0mYG3hD4nNtUgsTXWGYJomv/bNd7kC16zvsM70I/bGeoCi/3lhTmYqeN6ChWX317OtQCSZZbH4wq9WwoXbw== @@ -6079,16 +6070,7 @@ "@svgr/hast-util-to-babel-ast" "^6.3.1" svg-parser "^2.0.4" -"@svgr/plugin-svgo@6.3.x", "@svgr/plugin-svgo@^6.3.0", "@svgr/plugin-svgo@^6.3.1": - version "6.3.1" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.3.1.tgz#3c1ff2efaed10e5c5d35a6cae7bacaedc18b5d4a" - integrity sha512-yJIjTDKPYqzFVjmsbH5EdIwEsmKxjxdXSGJVLeUgwZOZPAkNQmD1v7LDbOdOKbR44FG8465Du+zWPdbYGnbMbw== - dependencies: - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - svgo "^2.8.0" - -"@svgr/plugin-svgo@^6.3.1": +"@svgr/plugin-svgo@6.3.x", "@svgr/plugin-svgo@^6.3.1": version "6.3.1" resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.3.1.tgz#3c1ff2efaed10e5c5d35a6cae7bacaedc18b5d4a" integrity sha512-yJIjTDKPYqzFVjmsbH5EdIwEsmKxjxdXSGJVLeUgwZOZPAkNQmD1v7LDbOdOKbR44FG8465Du+zWPdbYGnbMbw== @@ -8777,9 +8759,9 @@ aws-sdk-mock@^5.2.1: traverse "^0.6.6" aws-sdk@^2.1122.0, aws-sdk@^2.814.0, aws-sdk@^2.840.0, aws-sdk@^2.948.0: - version "2.1180.0" - resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1180.0.tgz#01c5a5c845bea6676421cbb8fb162c4df8b719d5" - integrity sha512-QyQ+Zxb+AowFHb9N6qrmpA+LVZxUlBCfqEsRUAss+0y+QbEwfh4o+AxP6V0xz+m+UlBNxBkqJLx8UPoVk387LQ== + version "2.1181.0" + resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1181.0.tgz#6ec2997881ae3df76e56d7150fc2992f12ce43dc" + integrity sha512-AAHSknRFAIjXBA/XNAL7gS79agr1LbS0oGimOJqJauGSJfWNaOpDc7z6OLNUQqGa5Joc3maD5QJcSKp1Pm/deQ== dependencies: buffer "4.9.2" events "1.1.1" From 73268a67fffb712ab5316e56034bc03ae6f58319 Mon Sep 17 00:00:00 2001 From: Niall McCullagh Date: Fri, 22 Jul 2022 23:06:04 +0100 Subject: [PATCH 069/131] fix(github-pull-requests-board): filter out github accounts that have been deleted Pull request that contain interactions with user accounts that have been deleted are null in the response from the graphql API. This change prevents deleted accounts from breaking the rendering of the PR. Signed-off-by: Niall McCullagh --- .changeset/silver-poets-push.md | 5 ++ .../src/utils/functions.test.ts | 54 +++++++++++++++++++ .../src/utils/functions.ts | 6 ++- 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 .changeset/silver-poets-push.md create mode 100644 plugins/github-pull-requests-board/src/utils/functions.test.ts diff --git a/.changeset/silver-poets-push.md b/.changeset/silver-poets-push.md new file mode 100644 index 0000000000..2e64915a80 --- /dev/null +++ b/.changeset/silver-poets-push.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-github-pull-requests-board': patch +--- + +Fixed rendering when PR contains references to deleted Github accounts diff --git a/plugins/github-pull-requests-board/src/utils/functions.test.ts b/plugins/github-pull-requests-board/src/utils/functions.test.ts new file mode 100644 index 0000000000..b968d68af9 --- /dev/null +++ b/plugins/github-pull-requests-board/src/utils/functions.test.ts @@ -0,0 +1,54 @@ +/* + * Copyright 2022 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { filterSameUser } from './functions'; + +import { Author } from './types'; + +const users = [ + null, + { + login: 'myuserlogin', + avatarUrl: '', + id: '', + email: '', + name: '', + }, + { + login: 'anotheruserlogin', + avatarUrl: '', + id: '', + email: '', + name: '', + }, + { + login: 'myuserlogin', + avatarUrl: '', + id: '', + email: '', + name: '', + }, +] as Author[]; + +describe('filterSameUser', () => { + it('should return distinct users', () => { + expect(filterSameUser(users).length).toEqual(2); + }); + + // null users a.k.a. Ghost users are accounts that have been deleted + it('should contain null user', () => { + expect(filterSameUser(users)).not.toContain(null); + }); +}); diff --git a/plugins/github-pull-requests-board/src/utils/functions.ts b/plugins/github-pull-requests-board/src/utils/functions.ts index bfb0e0edc5..69b3ecf794 100644 --- a/plugins/github-pull-requests-board/src/utils/functions.ts +++ b/plugins/github-pull-requests-board/src/utils/functions.ts @@ -42,7 +42,11 @@ export const getChangeRequests = (reviews: Reviews = []): Reviews => { }; export const filterSameUser = (users: Author[]): Author[] => { - return users.reduce((acc, curr) => { + const filterGhostUsers = (usersToFilter: Author[]): Author[] => { + return usersToFilter.filter(user => user !== null); + }; + + return filterGhostUsers(users).reduce((acc, curr) => { const containsUser = acc.find(({ login }) => login === curr.login); if (!containsUser) { From 7be2469cd3d221614d70069c8808888227404cf7 Mon Sep 17 00:00:00 2001 From: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Date: Fri, 22 Jul 2022 18:15:58 -0500 Subject: [PATCH 070/131] Refactor to use readJSON Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> --- packages/cli/src/commands/info.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/cli/src/commands/info.ts b/packages/cli/src/commands/info.ts index c62185e9a7..ba42b7f7a3 100644 --- a/packages/cli/src/commands/info.ts +++ b/packages/cli/src/commands/info.ts @@ -28,21 +28,21 @@ export default async () => { const isLocal = fs.existsSync(paths.resolveOwn('./src')); const backstageFile = paths.resolveTargetRoot('backstage.json'); - let backstageJson = undefined; + let backstageVersion = 'N/A'; if (fs.existsSync(backstageFile)) { - const buffer = await fs.readFile(backstageFile); - backstageJson = JSON.parse(buffer.toString()); + try { + const backstageJson = await fs.readJSON(backstageFile); + backstageVersion = backstageJson.version ?? 'N/A'; + } catch (error) { + backstageVersion = 'N/A'; + } } console.log(`OS: ${os.type} ${os.release} - ${os.platform}/${os.arch}`); console.log(`node: ${process.version}`); console.log(`yarn: ${yarnVersion}`); console.log(`cli: ${cliVersion} (${isLocal ? 'local' : 'installed'})`); - console.log( - `backstage: ${ - backstageJson && backstageJson.version ? backstageJson.version : 'N/A' - }`, - ); + console.log(`backstage: ${backstageVersion}`); console.log(); console.log('Dependencies:'); const lockfilePath = paths.resolveTargetRoot('yarn.lock'); From 335bfb727c7b08aa3d24cd095d0a5ebf1a3f8a40 Mon Sep 17 00:00:00 2001 From: Matt Mulligan Date: Sat, 23 Jul 2022 09:56:10 -0400 Subject: [PATCH 071/131] Removed frontend changes Signed-off-by: Matt Mulligan --- .changeset/friendly-sheep-flash.md | 1 - plugins/stack-overflow/README.md | 10 ---------- plugins/stack-overflow/config.d.ts | 6 ------ .../src/home/StackOverflowQuestions/Content.tsx | 5 +---- 4 files changed, 1 insertion(+), 21 deletions(-) diff --git a/.changeset/friendly-sheep-flash.md b/.changeset/friendly-sheep-flash.md index 83df13b290..58ae309bf1 100644 --- a/.changeset/friendly-sheep-flash.md +++ b/.changeset/friendly-sheep-flash.md @@ -1,5 +1,4 @@ --- -'@backstage/plugin-stack-overflow': patch '@backstage/plugin-stack-overflow-backend': patch --- diff --git a/plugins/stack-overflow/README.md b/plugins/stack-overflow/README.md index 637afd0494..96a8f524e3 100644 --- a/plugins/stack-overflow/README.md +++ b/plugins/stack-overflow/README.md @@ -15,16 +15,6 @@ stackoverflow: baseUrl: https://api.stackexchange.com/2.2 # alternative: your internal stack overflow instance ``` -### Stack Overflow for Teams (private stack overflow instance) - -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) - -```yaml -stackoverflow: - baseUrl: https://api.stackexchange.com/2.2 # alternative: your internal stack overflow instance - apiKey: $STACK_OVERFLOW_API_KEY -``` - ## Areas of Responsibility This stack overflow frontend plugin is primarily responsible for the following: diff --git a/plugins/stack-overflow/config.d.ts b/plugins/stack-overflow/config.d.ts index cf50241ec9..c0638e3c19 100644 --- a/plugins/stack-overflow/config.d.ts +++ b/plugins/stack-overflow/config.d.ts @@ -24,11 +24,5 @@ export interface Config { * @visibility frontend */ baseUrl?: string; - - /** - * The api key to authenticate to Stack Overflow API - * @visibility secret - */ - apiKey?: string; }; } diff --git a/plugins/stack-overflow/src/home/StackOverflowQuestions/Content.tsx b/plugins/stack-overflow/src/home/StackOverflowQuestions/Content.tsx index 6d2ef9856a..fbc3a90a9d 100644 --- a/plugins/stack-overflow/src/home/StackOverflowQuestions/Content.tsx +++ b/plugins/stack-overflow/src/home/StackOverflowQuestions/Content.tsx @@ -49,10 +49,7 @@ export const Content = (props: StackOverflowQuestionsContentProps) => { const { value, loading, error } = useAsync(async (): Promise< StackOverflowQuestion[] > => { - const params = qs.stringify(requestParams, { - arrayFormat: 'comma', - addQueryPrefix: true, - }); + const params = qs.stringify(requestParams, { addQueryPrefix: true }); const response = await fetch(`${baseUrl}/questions${params}`); const data = await response.json(); return data.items; From 4a9a2c3cfe136f5b23e9f25a36ca07f190a0efe9 Mon Sep 17 00:00:00 2001 From: Matt Mulligan Date: Sat, 23 Jul 2022 10:09:10 -0400 Subject: [PATCH 072/131] Changed visibility of ApiKey to secret Signed-off-by: Matt Mulligan --- plugins/stack-overflow-backend/config.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/stack-overflow-backend/config.d.ts b/plugins/stack-overflow-backend/config.d.ts index 96505917cd..d329a4389f 100644 --- a/plugins/stack-overflow-backend/config.d.ts +++ b/plugins/stack-overflow-backend/config.d.ts @@ -27,7 +27,7 @@ export interface Config { /** * The api key to authenticate to Stack Overflow API - * @visibility backend + * @visibility secret */ apiKey?: string; }; From 3fcfe83a3b5166408b27e7d2b11356a5438a0d62 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Jul 2022 15:15:38 +0000 Subject: [PATCH 073/131] fix(deps): update dependency helmet to v5.1.1 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index c3b223ee42..27812392bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14766,9 +14766,9 @@ headers-polyfill@^3.0.4: integrity sha512-JoLCAdCEab58+2/yEmSnOlficyHFpIl0XJqwu3l+Unkm1gXpFUYsThz6Yha3D6tNhocWkCPfyW0YVIGWFqTi7w== helmet@^5.0.2: - version "5.1.0" - resolved "https://registry.npmjs.org/helmet/-/helmet-5.1.0.tgz#e98a5d4bf89ab8119c856018a3bcc82addadcd47" - integrity sha512-klsunXs8rgNSZoaUrNeuCiWUxyc+wzucnEnFejUg3/A+CaF589k9qepLZZ1Jehnzig7YbD4hEuscGXuBY3fq+g== + version "5.1.1" + resolved "https://registry.npmjs.org/helmet/-/helmet-5.1.1.tgz#609823c5c2e78aea62dd9afc8f544ca409da5e85" + integrity sha512-/yX0oVZBggA9cLJh8aw3PPCfedBnbd7J2aowjzsaWwZh7/UFY0nccn/aHAggIgWUFfnykX8GKd3a1pSbrmlcVQ== hexoid@1.0.0: version "1.0.0" From 6c118dd093eea6f96004bb8ee3a48a8391dcdb8d Mon Sep 17 00:00:00 2001 From: Manuel Stein Date: Sat, 23 Jul 2022 18:34:57 +0300 Subject: [PATCH 074/131] wrap aws-sdk errors - (prettier update) there are http errors with no message from aws-sdk, so the error is wrapped to conform to the @backstage/errors assertError checks Signed-off-by: Manuel Stein --- .changeset/loud-panthers-arrive.md | 2 +- plugins/techdocs-node/src/stages/publish/awsS3.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.changeset/loud-panthers-arrive.md b/.changeset/loud-panthers-arrive.md index 76e6812b5b..a8c69cdc76 100644 --- a/.changeset/loud-panthers-arrive.md +++ b/.changeset/loud-panthers-arrive.md @@ -4,4 +4,4 @@ Fix AWS S3 404 NotFound error -When reading an object from the S3 bucket through a stream, the aws-sdk getObject() API may throw a 404 NotFound Error with no error message or, in fact, any sort of HTTP-layer error responses. These fail the @backstage/error's assertError() checks, so they must be wrapped. The test for this case was also updated to match the wrapped error message. \ No newline at end of file +When reading an object from the S3 bucket through a stream, the aws-sdk getObject() API may throw a 404 NotFound Error with no error message or, in fact, any sort of HTTP-layer error responses. These fail the @backstage/error's assertError() checks, so they must be wrapped. The test for this case was also updated to match the wrapped error message. diff --git a/plugins/techdocs-node/src/stages/publish/awsS3.ts b/plugins/techdocs-node/src/stages/publish/awsS3.ts index d3456b7f21..12940e0117 100644 --- a/plugins/techdocs-node/src/stages/publish/awsS3.ts +++ b/plugins/techdocs-node/src/stages/publish/awsS3.ts @@ -49,7 +49,9 @@ const streamToBuffer = (stream: Readable): Promise => { try { const chunks: any[] = []; stream.on('data', chunk => chunks.push(chunk)); - stream.on('error', (e: Error) => reject(new ForwardedError('Unable to read stream', e))); + stream.on('error', (e: Error) => + reject(new ForwardedError('Unable to read stream', e)), + ); stream.on('end', () => resolve(Buffer.concat(chunks))); } catch (e) { throw new ForwardedError('Unable to parse the response data', e); From f28ad77d119c9bdabf8ec9d191cc04d440e45b58 Mon Sep 17 00:00:00 2001 From: Manuel Stein Date: Sun, 24 Jul 2022 19:12:39 +0300 Subject: [PATCH 075/131] awsS3 getObject expect specific error message Signed-off-by: Manuel Stein --- plugins/techdocs-node/src/stages/publish/awsS3.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/techdocs-node/src/stages/publish/awsS3.test.ts b/plugins/techdocs-node/src/stages/publish/awsS3.test.ts index 24ea9af563..10f92dc074 100644 --- a/plugins/techdocs-node/src/stages/publish/awsS3.test.ts +++ b/plugins/techdocs-node/src/stages/publish/awsS3.test.ts @@ -478,7 +478,7 @@ describe('AwsS3Publish', () => { await expect(fails).rejects.toMatchObject({ message: expect.stringMatching( - /TechDocs metadata fetch failed; caused by Error: .*/i, + /TechDocs metadata fetch failed; caused by Error: Unable to read stream; caused by Error: The file invalid\/triplet\/path\/techdocs_metadata.json does not exist/i, ), }); }); From ce7219ff873f89f7be069f76b13991ba93894816 Mon Sep 17 00:00:00 2001 From: Manuel Stein Date: Sun, 24 Jul 2022 19:19:29 +0300 Subject: [PATCH 076/131] awsS3 getObject expect match without regex Signed-off-by: Manuel Stein --- plugins/techdocs-node/src/stages/publish/awsS3.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/techdocs-node/src/stages/publish/awsS3.test.ts b/plugins/techdocs-node/src/stages/publish/awsS3.test.ts index 10f92dc074..1ca9cf2abf 100644 --- a/plugins/techdocs-node/src/stages/publish/awsS3.test.ts +++ b/plugins/techdocs-node/src/stages/publish/awsS3.test.ts @@ -478,7 +478,7 @@ describe('AwsS3Publish', () => { await expect(fails).rejects.toMatchObject({ message: expect.stringMatching( - /TechDocs metadata fetch failed; caused by Error: Unable to read stream; caused by Error: The file invalid\/triplet\/path\/techdocs_metadata.json does not exist/i, + 'TechDocs metadata fetch failed; caused by Error: Unable to read stream; caused by Error: The file invalid/triplet/path/techdocs_metadata.json does not exist', ), }); }); From 9e6a1155a19f58461962e47ecb6e27a6f18df683 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Jul 2022 04:49:39 +0000 Subject: [PATCH 077/131] chore(deps): update dependency esbuild to v0.14.50 Signed-off-by: Renovate Bot --- yarn.lock | 206 +++++++++++++++++++++++++++--------------------------- 1 file changed, 103 insertions(+), 103 deletions(-) diff --git a/yarn.lock b/yarn.lock index 27812392bd..b9ace10c3f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12392,75 +12392,75 @@ es6-error@^4.1.1: resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== -esbuild-android-64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz#9e4682c36dcf6e7b71b73d2a3723a96e0fdc5054" - integrity sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww== +esbuild-android-64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.50.tgz#a46fc80fa2007690e647680d837483a750a3097f" + integrity sha512-H7iUEm7gUJHzidsBlFPGF6FTExazcgXL/46xxLo6i6bMtPim6ZmXyTccS8yOMpy6HAC6dPZ/JCQqrkkin69n6Q== -esbuild-android-arm64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz#9861b1f7e57d1dd1f23eeef6198561c5f34b51f6" - integrity sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g== +esbuild-android-arm64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz#bdda7851fa7f5f770d6ff0ad593a8945d3a0fcdd" + integrity sha512-NFaoqEwa+OYfoYVpQWDMdKII7wZZkAjtJFo1WdnBeCYlYikvUhTnf2aPwPu5qEAw/ie1NYK0yn3cafwP+kP+OQ== -esbuild-darwin-64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz#fd30a5ebe28704a3a117126c60f98096c067c8d1" - integrity sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg== +esbuild-darwin-64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz#f0535435f9760766f30db14a991ee5ca94c022a4" + integrity sha512-gDQsCvGnZiJv9cfdO48QqxkRV8oKAXgR2CGp7TdIpccwFdJMHf8hyIJhMW/05b/HJjET/26Us27Jx91BFfEVSA== -esbuild-darwin-arm64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz#c04a3a57dad94a972c66a697a68a25aa25947f41" - integrity sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A== +esbuild-darwin-arm64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz#76a41a40e8947a15ae62970e9ed2853883c4b16c" + integrity sha512-36nNs5OjKIb/Q50Sgp8+rYW/PqirRiFN0NFc9hEvgPzNJxeJedktXwzfJSln4EcRFRh5Vz4IlqFRScp+aiBBzA== -esbuild-freebsd-64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz#c404dbd66c98451395b1eef0fa38b73030a7be82" - integrity sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ== +esbuild-freebsd-64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz#2ed6633c17ed42c20a1bd68e82c4bbc75ea4fb57" + integrity sha512-/1pHHCUem8e/R86/uR+4v5diI2CtBdiWKiqGuPa9b/0x3Nwdh5AOH7lj+8823C6uX1e0ufwkSLkS+aFZiBCWxA== -esbuild-freebsd-arm64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz#b62cec96138ebc5937240ce3e1b97902963ea74a" - integrity sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA== +esbuild-freebsd-arm64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz#cb115f4cdafe9cdbe58875ba482fccc54d32aa43" + integrity sha512-iKwUVMQztnPZe5pUYHdMkRc9aSpvoV1mkuHlCoPtxZA3V+Kg/ptpzkcSY+fKd0kuom+l6Rc93k0UPVkP7xoqrw== -esbuild-linux-32@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz#495b1cc011b8c64d8bbaf65509c1e7135eb9ddbf" - integrity sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA== +esbuild-linux-32@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz#fe2b724994dcf1d4e48dc4832ff008ad7d00bcfd" + integrity sha512-sWUwvf3uz7dFOpLzYuih+WQ7dRycrBWHCdoXJ4I4XdMxEHCECd8b7a9N9u7FzT6XR2gHPk9EzvchQUtiEMRwqw== -esbuild-linux-64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz#3f28dd8f986e6ff42f38888ee435a9b1fb916a56" - integrity sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg== +esbuild-linux-64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz#7851ab5151df9501a2187bd4909c594ad232b623" + integrity sha512-u0PQxPhaeI629t4Y3EEcQ0wmWG+tC/LpP2K7yDFvwuPq0jSQ8SIN+ARNYfRjGW15O2we3XJvklbGV0wRuUCPig== -esbuild-linux-arm64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz#a52e99ae30246566dc5f33e835aa6ca98ef70e33" - integrity sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA== +esbuild-linux-arm64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz#76a76afef484a0512f1fbbcc762edd705dee8892" + integrity sha512-ZyfoNgsTftD7Rp5S7La5auomKdNeB3Ck+kSKXC4pp96VnHyYGjHHXWIlcbH8i+efRn9brszo1/Thl1qn8RqmhQ== -esbuild-linux-arm@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz#7c33d05a64ec540cf7474834adaa57b3167bbe97" - integrity sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg== +esbuild-linux-arm@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz#6d7a8c0712091b0c3a668dd5d8b5c924adbaeb12" + integrity sha512-VALZq13bhmFJYFE/mLEb+9A0w5vo8z+YDVOWeaf9vOTrSC31RohRIwtxXBnVJ7YKLYfEMzcgFYf+OFln3Y0cWg== -esbuild-linux-mips64le@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz#ed062bd844b587be649443831eb84ba304685f25" - integrity sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA== +esbuild-linux-mips64le@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz#43426909c1884c5dc6b40765673a08a7ec1d2064" + integrity sha512-ygo31Vxn/WrmjKCHkBoutOlFG5yM9J2UhzHb0oWD9O61dGg+Hzjz9hjf5cmM7FBhAzdpOdEWHIrVOg2YAi6rTw== -esbuild-linux-ppc64le@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz#c0786fb5bddffd90c10a2078181513cbaf077958" - integrity sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw== +esbuild-linux-ppc64le@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz#c754ea3da1dd180c6e9b6b508dc18ce983d92b11" + integrity sha512-xWCKU5UaiTUT6Wz/O7GKP9KWdfbsb7vhfgQzRfX4ahh5NZV4ozZ4+SdzYG8WxetsLy84UzLX3Pi++xpVn1OkFQ== -esbuild-linux-riscv64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz#579b0e7cc6fce4bfc698e991a52503bb616bec49" - integrity sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ== +esbuild-linux-riscv64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz#f3b2dd3c4c2b91bf191d3b98a9819c8aa6f5ad7f" + integrity sha512-0+dsneSEihZTopoO9B6Z6K4j3uI7EdxBP7YSF5rTwUgCID+wHD3vM1gGT0m+pjCW+NOacU9kH/WE9N686FHAJg== -esbuild-linux-s390x@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz#09eb15c753e249a500b4e28d07c5eef7524a9740" - integrity sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ== +esbuild-linux-s390x@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz#3dfbc4578b2a81995caabb79df2b628ea86a5390" + integrity sha512-tVjqcu8o0P9H4StwbIhL1sQYm5mWATlodKB6dpEZFkcyTI8kfIGWiWcrGmkNGH2i1kBUOsdlBafPxR3nzp3TDA== esbuild-loader@^2.18.0: version "2.19.0" @@ -12474,61 +12474,61 @@ esbuild-loader@^2.18.0: tapable "^2.2.0" webpack-sources "^2.2.0" -esbuild-netbsd-64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz#f7337cd2bddb7cc9d100d19156f36c9ca117b58d" - integrity sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ== +esbuild-netbsd-64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz#17dbf51eaa48d983e794b588d195415410ef8c85" + integrity sha512-0R/glfqAQ2q6MHDf7YJw/TulibugjizBxyPvZIcorH0Mb7vSimdHy0XF5uCba5CKt+r4wjax1mvO9lZ4jiAhEg== -esbuild-openbsd-64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz#1f8bdc49f8a44396e73950a3fb6b39828563631d" - integrity sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA== +esbuild-openbsd-64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz#cf6b1a50c8cf67b0725aaa4bce9773976168c50e" + integrity sha512-7PAtmrR5mDOFubXIkuxYQ4bdNS6XCK8AIIHUiZxq1kL8cFIH5731jPcXQ4JNy/wbj1C9sZ8rzD8BIM80Tqk29w== -esbuild-sunos-64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz#47d042739365b61aa8ca642adb69534a8eef9f7a" - integrity sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw== +esbuild-sunos-64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz#f705ae0dd914c3b45dc43319c4f532216c3d841f" + integrity sha512-gBxNY/wyptvD7PkHIYcq7se6SQEXcSC8Y7mE0FJB+CGgssEWf6vBPfTTZ2b6BWKnmaP6P6qb7s/KRIV5T2PxsQ== -esbuild-windows-32@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz#79198c88ec9bde163c18a6b430c34eab098ec21a" - integrity sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA== +esbuild-windows-32@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.50.tgz#6364905a99c1e6c1e2fe7bfccebd958131b1cd6c" + integrity sha512-MOOe6J9cqe/iW1qbIVYSAqzJFh0p2LBLhVUIWdMVnNUNjvg2/4QNX4oT4IzgDeldU+Bym9/Tn6+DxvUHJXL5Zw== -esbuild-windows-64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz#b36b230d18d1ee54008e08814c4799c7806e8c79" - integrity sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw== +esbuild-windows-64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz#56603cb6367e30d14098deb77de6aa18d76dd89b" + integrity sha512-r/qE5Ex3w1jjGv/JlpPoWB365ldkppUlnizhMxJgojp907ZF1PgLTuW207kgzZcSCXyquL9qJkMsY+MRtaZ5yQ== -esbuild-windows-arm64@0.14.49: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz#d83c03ff6436caf3262347cfa7e16b0a8049fae7" - integrity sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA== +esbuild-windows-arm64@0.14.50: + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz#e7ddde6a97194051a5a4ac05f4f5900e922a7ea5" + integrity sha512-EMS4lQnsIe12ZyAinOINx7eq2mjpDdhGZZWDwPZE/yUTN9cnc2Ze/xUTYIAyaJqrqQda3LnDpADKpvLvol6ENQ== esbuild@^0.14.1, esbuild@^0.14.10, esbuild@^0.14.39: - version "0.14.49" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.49.tgz#b82834760eba2ddc17b44f05cfcc0aaca2bae492" - integrity sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw== + version "0.14.50" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.50.tgz#7a665392c8df94bf6e1ae1e999966a5ee62c6cbc" + integrity sha512-SbC3k35Ih2IC6trhbMYW7hYeGdjPKf9atTKwBUHqMCYFZZ9z8zhuvfnZihsnJypl74FjiAKjBRqFkBkAd0rS/w== optionalDependencies: - esbuild-android-64 "0.14.49" - esbuild-android-arm64 "0.14.49" - esbuild-darwin-64 "0.14.49" - esbuild-darwin-arm64 "0.14.49" - esbuild-freebsd-64 "0.14.49" - esbuild-freebsd-arm64 "0.14.49" - esbuild-linux-32 "0.14.49" - esbuild-linux-64 "0.14.49" - esbuild-linux-arm "0.14.49" - esbuild-linux-arm64 "0.14.49" - esbuild-linux-mips64le "0.14.49" - esbuild-linux-ppc64le "0.14.49" - esbuild-linux-riscv64 "0.14.49" - esbuild-linux-s390x "0.14.49" - esbuild-netbsd-64 "0.14.49" - esbuild-openbsd-64 "0.14.49" - esbuild-sunos-64 "0.14.49" - esbuild-windows-32 "0.14.49" - esbuild-windows-64 "0.14.49" - esbuild-windows-arm64 "0.14.49" + esbuild-android-64 "0.14.50" + esbuild-android-arm64 "0.14.50" + esbuild-darwin-64 "0.14.50" + esbuild-darwin-arm64 "0.14.50" + esbuild-freebsd-64 "0.14.50" + esbuild-freebsd-arm64 "0.14.50" + esbuild-linux-32 "0.14.50" + esbuild-linux-64 "0.14.50" + esbuild-linux-arm "0.14.50" + esbuild-linux-arm64 "0.14.50" + esbuild-linux-mips64le "0.14.50" + esbuild-linux-ppc64le "0.14.50" + esbuild-linux-riscv64 "0.14.50" + esbuild-linux-s390x "0.14.50" + esbuild-netbsd-64 "0.14.50" + esbuild-openbsd-64 "0.14.50" + esbuild-sunos-64 "0.14.50" + esbuild-windows-32 "0.14.50" + esbuild-windows-64 "0.14.50" + esbuild-windows-arm64 "0.14.50" escalade@^3.1.1: version "3.1.1" From 87f64ad40433595e1cf1254695e3cf29bd442ff4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Jul 2022 05:39:59 +0000 Subject: [PATCH 078/131] fix(deps): update dependency core-js to v3.24.0 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index b9ace10c3f..13c60cf974 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10742,9 +10742,9 @@ core-js@^2.4.0, core-js@^2.5.0, core-js@^2.6.10: integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.4.1, core-js@^3.6.5: - version "3.23.5" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.23.5.tgz#1f82b0de5eece800827a2f59d597509c67650475" - integrity sha512-7Vh11tujtAZy82da4duVreQysIoO2EvVrur7y6IzZkH1IHPSekuDi8Vuw1+YKjkbfWLRD7Nc9ICQ/sIUDutcyg== + version "3.24.0" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.24.0.tgz#4928d4e99c593a234eb1a1f9abd3122b04d3ac57" + integrity sha512-IeOyT8A6iK37Ep4kZDD423mpi6JfPRoPUdQwEWYiGolvn4o6j2diaRzNfDfpTdu3a5qMbrGUzKUpYpRY8jXCkQ== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" From 46c264a02ebd889af53a7dc82d66dfccec139cae Mon Sep 17 00:00:00 2001 From: blam Date: Mon, 25 Jul 2022 11:09:47 +0200 Subject: [PATCH 079/131] chore: updating changeset Signed-off-by: blam --- .changeset/purple-apricots-build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/purple-apricots-build.md b/.changeset/purple-apricots-build.md index aa4f2fa4b5..da473070c9 100644 --- a/.changeset/purple-apricots-build.md +++ b/.changeset/purple-apricots-build.md @@ -2,4 +2,4 @@ '@backstage/backend-common': patch --- -**BREAKING** The config prop `ensureExists` now applies to schema creation when `pluginDivisionMode` is set to `schema`. This means schemas will no longer be automatically created when `ensureExists` is set to `false`. In this case the `pg` database as well as each `schema` must be created out of band. +The config prop `ensureExists` now applies to schema creation when `pluginDivisionMode` is set to `schema`. This means schemas will no longer accidentally be automatically created when `ensureExists` is set to `false`. From cdd3e110eefdbbc89a51f4921d142b0453a5e781 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Jul 2022 09:42:53 +0000 Subject: [PATCH 080/131] fix(deps): update dependency @maxim_mazurok/gapi.client.calendar to v3.0.20220715 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 13c60cf974..7ac75d15bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4700,9 +4700,9 @@ react-is "^16.8.0 || ^17.0.0" "@maxim_mazurok/gapi.client.calendar@^3.0.20220408": - version "3.0.20220708" - resolved "https://registry.npmjs.org/@maxim_mazurok/gapi.client.calendar/-/gapi.client.calendar-3.0.20220708.tgz#b8eb22479a33df5330cb276c8d5fe9d7a88e322c" - integrity sha512-FwIIJy57HH7agFzqUOYtGWbCedw2MzGFpfnfWEvhlc/j0RNvlPVK68LagsUVoxqRXw9rflC5P3WZ0uk2VwgOmQ== + version "3.0.20220715" + resolved "https://registry.npmjs.org/@maxim_mazurok/gapi.client.calendar/-/gapi.client.calendar-3.0.20220715.tgz#a187185a8d52f210acd8bef223e3150877e00285" + integrity sha512-ZnjM4PiB4Pu2SGYXYglUK+dv1rOUmaEK6tEMedSAdzdYq0H7HBUsWayzAl8Zuo1CfkiUWZe6j0g25L5e//RhYw== dependencies: "@types/gapi.client" "*" From 0b72b78251458f6bcfab7f03e5b0a55de2a7227a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Jul 2022 09:46:28 +0000 Subject: [PATCH 081/131] chore(deps): update dependency webpack to v5.74.0 Signed-off-by: Renovate Bot --- storybook/yarn.lock | 144 ++++++++++++++++++++++++++++---------------- yarn.lock | 30 ++++----- 2 files changed, 102 insertions(+), 72 deletions(-) diff --git a/storybook/yarn.lock b/storybook/yarn.lock index 22e2bd6a20..f603d5ba1a 100644 --- a/storybook/yarn.lock +++ b/storybook/yarn.lock @@ -1138,23 +1138,23 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/gen-mapping@^0.3.0": - version "0.3.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz#cf92a983c83466b8c0ce9124fadeaf09f7c66ea9" - integrity sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg== + version "0.3.2" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== dependencies: - "@jridgewell/set-array" "^1.0.0" + "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/resolve-uri@^3.0.3": - version "3.0.7" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" - integrity sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA== + version "3.1.0" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== -"@jridgewell/set-array@^1.0.0": - version "1.1.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" - integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/source-map@^0.3.2": version "0.3.2" @@ -1165,14 +1165,14 @@ "@jridgewell/trace-mapping" "^0.3.9" "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.13" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" - integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== "@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.13" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" - integrity sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w== + version "0.3.14" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" + integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== dependencies: "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -2125,22 +2125,27 @@ integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== "@types/eslint-scope@^3.7.3": - version "3.7.3" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" - integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== + version "3.7.4" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.4.3" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.3.tgz#5c92815a3838b1985c90034cd85f26f59d9d0ece" - integrity sha512-YP1S7YJRMPs+7KZKDb9G63n8YejIwW9BALq7a5j2+H4yl6iOv9CB29edho+cuFRrvmJbbaH2yiVChKLJVysDGw== + version "8.4.5" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz#acdfb7dd36b91cc5d812d7c093811a8f3d9b31e4" + integrity sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^0.0.51": +"@types/estree@*": + version "1.0.0" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== + +"@types/estree@^0.0.51": version "0.0.51" resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== @@ -2211,9 +2216,9 @@ form-data "^3.0.0" "@types/node@*": - version "17.0.44" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.44.tgz#16dd0bb5338f016d8ca10631789f0d0612fe5d5b" - integrity sha512-gWYiOlu6Y4oyLYBvsJAPlwHbC8H4tX+tLsHy6Ee976wedwwZKrG2hFl3Y/HiH6bIyLTbDWQexQF/ohwKkOpUCg== + version "18.6.1" + resolved "https://registry.npmjs.org/@types/node/-/node-18.6.1.tgz#828e4785ccca13f44e2fb6852ae0ef11e3e20ba5" + integrity sha512-z+2vB6yDt1fNwKOeGbckpmirO+VBDuQqecXkgeIqDlaOtmKn6hPR/viQ8cxCfqLU4fTlvM3+YjM367TukWdxpg== "@types/node@^14.0.10 || ^16.0.0", "@types/node@^14.14.20 || ^16.0.0": version "16.11.41" @@ -2483,10 +2488,10 @@ acorn@^7.4.1: resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1, acorn@^8.5.0: - version "8.7.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" - integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== +acorn@^8.5.0, acorn@^8.7.1: + version "8.8.0" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" + integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== address@^1.0.1: version "1.2.0" @@ -3000,7 +3005,7 @@ browser-assert@^1.2.1: resolved "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200" integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== -browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.20.2, browserslist@^4.20.4: +browserslist@^4.12.0, browserslist@^4.20.2, browserslist@^4.20.4: version "4.20.4" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.20.4.tgz#98096c9042af689ee1e0271333dbc564b8ce4477" integrity sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw== @@ -3011,6 +3016,16 @@ browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.20.2, browserslist@^ node-releases "^2.0.5" picocolors "^1.0.0" +browserslist@^4.14.5: + version "4.21.2" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.2.tgz#59a400757465535954946a400b841ed37e2b4ecf" + integrity sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA== + dependencies: + caniuse-lite "^1.0.30001366" + electron-to-chromium "^1.4.188" + node-releases "^2.0.6" + update-browserslist-db "^1.0.4" + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -3137,11 +3152,16 @@ camelcase@^6.2.0: resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001349: +caniuse-lite@^1.0.30001109: version "1.0.30001354" resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001354.tgz#95c5efdb64148bb4870771749b9a619304755ce5" integrity sha512-mImKeCkyGDAHNywYFA4bqnLAzTUvVkqPvhY4DV47X+Gl2c5Z8c3KNETnXp14GQt11LvxE8AwjzGxJ+rsikiOzg== +caniuse-lite@^1.0.30001349, caniuse-lite@^1.0.30001366: + version "1.0.30001370" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001370.tgz#0a30d4f20d38b9e108cc5ae7cc62df9fe66cd5ba" + integrity sha512-3PDmaP56wz/qz7G508xzjx8C+MC2qEm4SYhSEzC9IBROo+dGXFWRuaXkWti0A9tuI00g+toiriVqxtWMgl350g== + case-sensitive-paths-webpack-plugin@^2.3.0: version "2.4.0" resolved "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" @@ -3803,10 +3823,10 @@ ee-first@1.1.1: resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.147: - version "1.4.156" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.156.tgz#fc398e1bfbe586135351ebfaf198473a82923af5" - integrity sha512-/Wj5NC7E0wHaMCdqxWz9B0lv7CcycDTiHyXCtbbu3pXM9TV2AOp8BtMqkVuqvJNdEvltBG6LxT2Q+BxY4LUCIA== +electron-to-chromium@^1.4.147, electron-to-chromium@^1.4.188: + version "1.4.199" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.199.tgz#e0384fde79fdda89880e8be58196a9153e04db3b" + integrity sha512-WIGME0Cs7oob3mxsJwHbeWkH0tYkIE/sjkJ8ML2BYmuRcjhRl/q5kVDXG7W9LOOKwzPU5M0LBlXRq9rlSgnNlg== element-resize-detector@^1.2.2: version "1.2.4" @@ -3839,10 +3859,10 @@ endent@^2.0.1: fast-json-parse "^1.0.3" objectorarray "^1.0.5" -enhanced-resolve@^5.9.3: - version "5.9.3" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88" - integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow== +enhanced-resolve@^5.10.0: + version "5.10.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" + integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -6028,10 +6048,10 @@ node-fetch@^2.6.1, node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" -node-releases@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" - integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== +node-releases@^2.0.5, node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: version "2.5.0" @@ -7886,7 +7906,7 @@ terser@^4.6.3: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.10.0, terser@^5.3.4, terser@^5.7.2: +terser@^5.10.0, terser@^5.3.4: version "5.14.1" resolved "https://registry.npmjs.org/terser/-/terser-5.14.1.tgz#7c95eec36436cb11cf1902cc79ac564741d19eca" integrity sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ== @@ -7896,6 +7916,16 @@ terser@^5.10.0, terser@^5.3.4, terser@^5.7.2: commander "^2.20.0" source-map-support "~0.5.20" +terser@^5.7.2: + version "5.14.2" + resolved "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" + integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -8211,6 +8241,14 @@ untildify@^2.0.0: dependencies: os-homedir "^1.0.0" +update-browserslist-db@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" + integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -8315,7 +8353,7 @@ vfile@^4.0.0: unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" -watchpack@^2.2.0, watchpack@^2.3.1: +watchpack@^2.2.0, watchpack@^2.4.0: version "2.4.0" resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== @@ -8405,20 +8443,20 @@ webpack-virtual-modules@^0.4.1: integrity sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA== webpack@4, "webpack@>=4.43.0 <6.0.0", webpack@^5.73.0, webpack@^5.9.0: - version "5.73.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz#bbd17738f8a53ee5760ea2f59dce7f3431d35d38" - integrity sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA== + version "5.74.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" + integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^0.0.51" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" + acorn "^8.7.1" acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.9.3" + enhanced-resolve "^5.10.0" es-module-lexer "^0.9.0" eslint-scope "5.1.1" events "^3.2.0" @@ -8431,7 +8469,7 @@ webpack@4, "webpack@>=4.43.0 <6.0.0", webpack@^5.73.0, webpack@^5.9.0: schema-utils "^3.1.0" tapable "^2.1.1" terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" + watchpack "^2.4.0" webpack-sources "^3.2.3" whatwg-url@^5.0.0: diff --git a/yarn.lock b/yarn.lock index 13c60cf974..0fd8402664 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12242,10 +12242,10 @@ engine.io@~3.5.0: engine.io-parser "~2.2.0" ws "~7.4.2" -enhanced-resolve@^5.9.3: - version "5.9.3" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz#44a342c012cbc473254af5cc6ae20ebd0aae5d88" - integrity sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow== +enhanced-resolve@^5.10.0: + version "5.10.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" + integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -26075,7 +26075,7 @@ walker@^1.0.7: dependencies: makeerror "1.0.x" -watchpack@^2.0.0-beta.10: +watchpack@^2.0.0-beta.10, watchpack@^2.4.0: version "2.4.0" resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== @@ -26083,14 +26083,6 @@ watchpack@^2.0.0-beta.10: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -watchpack@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" - integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" @@ -26204,20 +26196,20 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5, webpack@^5.66.0: - version "5.73.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz#bbd17738f8a53ee5760ea2f59dce7f3431d35d38" - integrity sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA== + version "5.74.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" + integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^0.0.51" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.4.1" + acorn "^8.7.1" acorn-import-assertions "^1.7.6" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.9.3" + enhanced-resolve "^5.10.0" es-module-lexer "^0.9.0" eslint-scope "5.1.1" events "^3.2.0" @@ -26230,7 +26222,7 @@ webpack@^5, webpack@^5.66.0: schema-utils "^3.1.0" tapable "^2.1.1" terser-webpack-plugin "^5.1.3" - watchpack "^2.3.1" + watchpack "^2.4.0" webpack-sources "^3.2.3" websocket-driver@>=0.5.1, websocket-driver@^0.7.4: From e07619df34941dbc9c25dbf7d722327103237a65 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Jul 2022 11:04:50 +0000 Subject: [PATCH 082/131] fix(deps): update dependency @codemirror/view to v6.1.1 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 7ac75d15bb..9d4db08d42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2351,9 +2351,9 @@ "@lezer/highlight" "^1.0.0" "@codemirror/view@^6.0.0": - version "6.1.0" - resolved "https://registry.npmjs.org/@codemirror/view/-/view-6.1.0.tgz#a8b83545f6572323ee09fbf0891a647ecb8edab6" - integrity sha512-T5QTuzwxbQ+KnZzz1ef3e3QCNH2qMdTmQhA4tbsK62lJGyCMZHSaSAJpFAr67c6Wl34IBgx2M7ue6WxJpWPOPg== + version "6.1.1" + resolved "https://registry.npmjs.org/@codemirror/view/-/view-6.1.1.tgz#a9d085128263998b389682b11e75eb157a11011c" + integrity sha512-ZBLsphk+Tbqxv7Z1vZ+rky7QbHV/ILoCN4rtdcboBmSbkDmVwsU0wmfqTGZyrOw5ulBPu2aE8esQf6cIUZbWqQ== dependencies: "@codemirror/state" "^6.0.0" style-mod "^4.0.0" From 2c6e31fc5b2aa08f14590da89291d4f29d212919 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Jul 2022 11:50:33 +0000 Subject: [PATCH 083/131] chore(deps): update dependency @changesets/cli to v2.24.1 Signed-off-by: Renovate Bot --- yarn.lock | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/yarn.lock b/yarn.lock index 55c6d48af9..a1140da74b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2079,15 +2079,15 @@ resolved "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.0.tgz#fe364f025ba74f6de6c837a84ef44bdb1d61e68f" integrity sha512-mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w== -"@changesets/apply-release-plan@^6.0.2": - version "6.0.2" - resolved "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-6.0.2.tgz#6937f39425c93a70b1e155d76cfa06bf7255c992" - integrity sha512-s+rYNUTyC3FhTn8Gt35h65Bw/pwFevXLP/yOwzfrlfCd8Hj2FkX+1l3zPVkP+OpeMq7BAYtB6YfSkQe9awl4DQ== +"@changesets/apply-release-plan@^6.0.3": + version "6.0.3" + resolved "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-6.0.3.tgz#cd1113e57ac58d98ea9a52f2d39304c2d398a9dd" + integrity sha512-/3JKqtDefs2YSEQI6JQo43/MKTLfhPdrW/BFmqnRpW8UmPB+YXjjQgfjR/2KOaObLOkoixcL3WCK4wNkn/Krmw== dependencies: "@babel/runtime" "^7.10.4" "@changesets/config" "^2.1.0" "@changesets/get-version-range-type" "^0.3.2" - "@changesets/git" "^1.4.0" + "@changesets/git" "^1.4.1" "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" detect-indent "^6.0.0" @@ -2118,22 +2118,22 @@ "@changesets/types" "^5.1.0" "@changesets/cli@^2.14.0": - version "2.24.0" - resolved "https://registry.npmjs.org/@changesets/cli/-/cli-2.24.0.tgz#e37bda6948425f6de8663700f9b7ab136b5a653c" - integrity sha512-GlY8OGkwoTRupdV9L46NUhAZScJacRpY/ZUNHf+IQ65HoxgeT/OmgMIUnnippW4BtjlikayNV/HhkI/2HLsXcA== + version "2.24.1" + resolved "https://registry.npmjs.org/@changesets/cli/-/cli-2.24.1.tgz#cb4c13c7712a3cb62fa9199cdda04567faf3d3b2" + integrity sha512-7Lz1inqGQjBrXgnXlENtzQ7EmO/9c+09d9oi8XoK4ARqlJe8GpafjqKRobcjcA/TTI7Fn2+cke4CrXFZfVF8Rw== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/apply-release-plan" "^6.0.2" + "@changesets/apply-release-plan" "^6.0.3" "@changesets/assemble-release-plan" "^5.2.0" "@changesets/changelog-git" "^0.1.12" "@changesets/config" "^2.1.0" "@changesets/errors" "^0.1.4" "@changesets/get-dependents-graph" "^1.3.3" - "@changesets/get-release-plan" "^3.0.11" - "@changesets/git" "^1.4.0" + "@changesets/get-release-plan" "^3.0.12" + "@changesets/git" "^1.4.1" "@changesets/logger" "^0.0.5" "@changesets/pre" "^1.0.12" - "@changesets/read" "^0.5.6" + "@changesets/read" "^0.5.7" "@changesets/types" "^5.1.0" "@changesets/write" "^0.1.9" "@manypkg/get-packages" "^1.1.3" @@ -2187,16 +2187,16 @@ fs-extra "^7.0.1" semver "^5.4.1" -"@changesets/get-release-plan@^3.0.11": - version "3.0.11" - resolved "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-3.0.11.tgz#ad192466ff71df9dd868fd57e4d869d62426b9a5" - integrity sha512-WDVCuPIdIxLlITsCUEgQiiBitrcAqoOkyEkhkCGgzv4QBf87pJN15McOPKVy7Q2eiU3BfRDwYp4YtOPh4RUgCA== +"@changesets/get-release-plan@^3.0.12": + version "3.0.12" + resolved "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-3.0.12.tgz#15038a553c7ba9aa764f69cef4705bcfb1be2fdc" + integrity sha512-TlpEdpxV5ZQmNeHoD6KNKAc01wjRrcu9/CQqzmO4qAlX7ARA4pIuAxd8QZ1AQXv/l4qhHox7SUYH3VLHfarv5w== dependencies: "@babel/runtime" "^7.10.4" "@changesets/assemble-release-plan" "^5.2.0" "@changesets/config" "^2.1.0" "@changesets/pre" "^1.0.12" - "@changesets/read" "^0.5.6" + "@changesets/read" "^0.5.7" "@changesets/types" "^5.1.0" "@manypkg/get-packages" "^1.1.3" @@ -2205,10 +2205,10 @@ resolved "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz#8131a99035edd11aa7a44c341cbb05e668618c67" integrity sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg== -"@changesets/git@^1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@changesets/git/-/git-1.4.0.tgz#2ba38646eaaedb3a62540e431a11cc29a635574d" - integrity sha512-uaFWaxVSotgbqnc0DxBtqJl940QDNlzGaaGJUEhPuNiw6CrpFMKPV9Q4wgiDMGVaIkoUpDbLnLRYjVu/FlqLhA== +"@changesets/git@^1.4.1": + version "1.4.1" + resolved "https://registry.npmjs.org/@changesets/git/-/git-1.4.1.tgz#3f30330d94e8bcb45c4a221f34897a29cc72cd05" + integrity sha512-GWwRXEqBsQ3nEYcyvY/u2xUK86EKAevSoKV/IhELoZ13caZ1A1TSak/71vyKILtzuLnFPk5mepP5HjBxr7lZ9Q== dependencies: "@babel/runtime" "^7.10.4" "@changesets/errors" "^0.1.4" @@ -2243,13 +2243,13 @@ "@manypkg/get-packages" "^1.1.3" fs-extra "^7.0.1" -"@changesets/read@^0.5.6": - version "0.5.6" - resolved "https://registry.npmjs.org/@changesets/read/-/read-0.5.6.tgz#dc73b0c7aa7dd4348c87a710ed640ddb88253df3" - integrity sha512-0Y2/ym46Vv78Yp4vUuqkQRHo2wdDYvDLtD1t4yoNDZ3ELzgC9kkWYywncxi9rj9nilLrgaVujKfEVNyFYefFoQ== +"@changesets/read@^0.5.7": + version "0.5.7" + resolved "https://registry.npmjs.org/@changesets/read/-/read-0.5.7.tgz#ad2454ba8e2dfceb1230102aacffcbbe4d3d4291" + integrity sha512-Iteg0ccTPpkJ+qFzY97k7qqdVE5Kz30TqPo9GibpBk2g8tcLFUqf+Qd0iXPLcyhUZpPL1U6Hia1gINHNKIKx4g== dependencies: "@babel/runtime" "^7.10.4" - "@changesets/git" "^1.4.0" + "@changesets/git" "^1.4.1" "@changesets/logger" "^0.0.5" "@changesets/parse" "^0.3.14" "@changesets/types" "^5.1.0" From 764ba707a28f8f0737dceea151f31e9fed50a0f2 Mon Sep 17 00:00:00 2001 From: blam Date: Mon, 25 Jul 2022 13:53:54 +0200 Subject: [PATCH 084/131] chore: refactor and comment Signed-off-by: blam --- .changeset/nine-mails-crash.md | 2 +- packages/backend-common/src/reading/tree/ZipArchiveResponse.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.changeset/nine-mails-crash.md b/.changeset/nine-mails-crash.md index ecb047802e..ead5553d1c 100644 --- a/.changeset/nine-mails-crash.md +++ b/.changeset/nine-mails-crash.md @@ -6,4 +6,4 @@ The `ZipArchiveResponse` now correctly handles corrupt ZIP archives. Before this change, certain corrupt ZIP archives either cause the inflater to throw (as expected), or will hang the parser indefinitely. -By switching out the `zip` parsing library, we now write to a temporary directory, and load from disk which should ensure that the parsing of the `.zip` files are done correctly because `streaming` of `zip` paths is technically impossible without being able to parse the headers at the end of he file. +By switching out the `zip` parsing library, we now write to a temporary directory, and load from disk which should ensure that the parsing of the `.zip` files are done correctly because `streaming` of `zip` paths is technically impossible without being able to parse the headers at the end of the file. diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts index b25f6ad24e..1a6658b0c2 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.ts @@ -111,7 +111,8 @@ export class ZipArchiveResponse implements ReadTreeResponse { } zipfile.on('entry', async (entry: Entry) => { - if (!/\/$/.test(entry.fileName) && this.shouldBeIncluded(entry)) { + // Check that the file is not a directory, and that is matches the filter. + if (!entry.fileName.endsWith('/') && this.shouldBeIncluded(entry)) { zipfile.openReadStream(entry, async (openErr, readStream) => { if (openErr || !readStream) { reject( From d137c77a3d545d54674ebe725d2d6d67bce9dac8 Mon Sep 17 00:00:00 2001 From: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Date: Mon, 25 Jul 2022 07:28:44 -0500 Subject: [PATCH 085/131] Logged as warning Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> --- packages/cli/src/commands/info.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/commands/info.ts b/packages/cli/src/commands/info.ts index ba42b7f7a3..f3740de1a9 100644 --- a/packages/cli/src/commands/info.ts +++ b/packages/cli/src/commands/info.ts @@ -24,7 +24,6 @@ import fs from 'fs-extra'; export default async () => { await new Promise(async () => { const yarnVersion = await runPlain('yarn --version'); - // eslint-disable-next-line no-restricted-syntax const isLocal = fs.existsSync(paths.resolveOwn('./src')); const backstageFile = paths.resolveTargetRoot('backstage.json'); @@ -34,7 +33,8 @@ export default async () => { const backstageJson = await fs.readJSON(backstageFile); backstageVersion = backstageJson.version ?? 'N/A'; } catch (error) { - backstageVersion = 'N/A'; + console.warn('The "backstage.json" file is not in the expected format'); + console.log(); } } From 8af100ee0c8b65226d40432da57c0cc37d186a8b Mon Sep 17 00:00:00 2001 From: Ben Lambert Date: Mon, 25 Jul 2022 15:34:34 +0200 Subject: [PATCH 086/131] Fix spelling mistake in changeset Signed-off-by: blam --- .changeset/modern-shrimps-wave.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/modern-shrimps-wave.md b/.changeset/modern-shrimps-wave.md index 4750360915..9be8c49ca8 100644 --- a/.changeset/modern-shrimps-wave.md +++ b/.changeset/modern-shrimps-wave.md @@ -2,4 +2,4 @@ '@backstage/cli': patch --- -Added Backstage version to output of `yarn backstage-clie info` command +Added Backstage version to output of `yarn backstage-cli info` command From 593dea6710570f6e76d5fd03bacb8d969745cffa Mon Sep 17 00:00:00 2001 From: Patrick Jungermann Date: Tue, 19 Jul 2022 01:18:19 +0200 Subject: [PATCH 087/131] feat: support Basic Auth for Bitbucket Server Closes: #12586 Signed-off-by: Patrick Jungermann --- .changeset/fresh-hounds-argue.md | 6 + docs/integrations/bitbucket/locations.md | 14 +++ packages/integration/api-report.md | 2 + packages/integration/config.d.ts | 10 ++ .../src/bitbucketServer/config.test.ts | 19 ++- .../integration/src/bitbucketServer/config.ts | 22 ++++ .../src/bitbucketServer/core.test.ts | 14 ++- .../integration/src/bitbucketServer/core.ts | 4 + .../builtin/publish/bitbucketServer.test.ts | 118 ++++++++++++++++-- .../builtin/publish/bitbucketServer.ts | 35 ++++-- 10 files changed, 218 insertions(+), 26 deletions(-) create mode 100644 .changeset/fresh-hounds-argue.md diff --git a/.changeset/fresh-hounds-argue.md b/.changeset/fresh-hounds-argue.md new file mode 100644 index 0000000000..9291a99659 --- /dev/null +++ b/.changeset/fresh-hounds-argue.md @@ -0,0 +1,6 @@ +--- +'@backstage/integration': minor +'@backstage/plugin-scaffolder-backend': minor +--- + +Add support for Basic Auth for Bitbucket Server. diff --git a/docs/integrations/bitbucket/locations.md b/docs/integrations/bitbucket/locations.md index 878030a29c..4fbb96bb94 100644 --- a/docs/integrations/bitbucket/locations.md +++ b/docs/integrations/bitbucket/locations.md @@ -26,6 +26,16 @@ integrations: token: ${BITBUCKET_SERVER_TOKEN} ``` +or with Basic Auth + +```yaml +integrations: + bitbucketServer: + - host: bitbucket.company.com + username: ${BITBUCKET_SERVER_USERNAME} + password: ${BITBUCKET_SERVER_PASSWORD} +``` + Directly under the `bitbucketServer` key is a list of provider configurations, where you can list the Bitbucket Server providers you want to fetch data from. Each entry is a structure with the following elements: @@ -34,5 +44,9 @@ a structure with the following elements: - `token` (optional): An [personal access token](https://confluence.atlassian.com/bitbucketserver/personal-access-tokens-939515499.html) as expected by Bitbucket Server. +- `username` (optional): + use for [Basic Auth](https://developer.atlassian.com/server/bitbucket/how-tos/command-line-rest/#authentication) for Bitbucket Server. +- `password` (optional): + use for [Basic Auth](https://developer.atlassian.com/server/bitbucket/how-tos/command-line-rest/#authentication) for Bitbucket Server. - `apiBaseUrl` (optional): The URL of the Bitbucket Server API. For self-hosted installations, it is commonly at `https:///rest/api/1.0`. diff --git a/packages/integration/api-report.md b/packages/integration/api-report.md index 8d8d017095..cf52bec65b 100644 --- a/packages/integration/api-report.md +++ b/packages/integration/api-report.md @@ -150,6 +150,8 @@ export type BitbucketServerIntegrationConfig = { host: string; apiBaseUrl: string; token?: string; + username?: string; + password?: string; }; // @public diff --git a/packages/integration/config.d.ts b/packages/integration/config.d.ts index 22acc5cd70..7c897d637a 100644 --- a/packages/integration/config.d.ts +++ b/packages/integration/config.d.ts @@ -92,6 +92,16 @@ export interface Config { * @visibility secret */ token?: string; + /** + * Username used to authenticate requests with Basic Auth. + * @visibility secret + */ + username?: string; + /** + * Password (or token as password) used to authenticate requests with Basic Auth. + * @visibility secret + */ + password?: string; /** * The base url for the Bitbucket Server API, for example https:///rest/api/1.0 * @visibility frontend diff --git a/packages/integration/src/bitbucketServer/config.test.ts b/packages/integration/src/bitbucketServer/config.test.ts index 83c28f5e9d..985165f23f 100644 --- a/packages/integration/src/bitbucketServer/config.test.ts +++ b/packages/integration/src/bitbucketServer/config.test.ts @@ -55,7 +55,7 @@ describe('readBitbucketServerIntegrationConfig', () => { ); } - it('reads all values', () => { + it('reads all values, token', () => { const output = readBitbucketServerIntegrationConfig( buildConfig({ host: 'a.com', @@ -70,6 +70,23 @@ describe('readBitbucketServerIntegrationConfig', () => { }); }); + it('reads all values, basic auth', () => { + const output = readBitbucketServerIntegrationConfig( + buildConfig({ + host: 'a.com', + apiBaseUrl: 'https://a.com/api', + username: 'u', + password: 'p', + }), + ); + expect(output).toEqual({ + host: 'a.com', + apiBaseUrl: 'https://a.com/api', + username: 'u', + password: 'p', + }); + }); + it('rejects funky configs', () => { const valid: any = { host: 'a.com', diff --git a/packages/integration/src/bitbucketServer/config.ts b/packages/integration/src/bitbucketServer/config.ts index ec7930616c..2f93bdeb07 100644 --- a/packages/integration/src/bitbucketServer/config.ts +++ b/packages/integration/src/bitbucketServer/config.ts @@ -46,6 +46,24 @@ export type BitbucketServerIntegrationConfig = { * If no token is specified, anonymous access is used. */ token?: string; + + /** + * The credentials for Basic Authentication for requests to a Bitbucket Server provider. + * + * If `token` was provided, it will be preferred. + * + * See https://developer.atlassian.com/server/bitbucket/how-tos/command-line-rest/#authentication + */ + username?: string; + + /** + * The credentials for Basic Authentication for requests to a Bitbucket Server provider. + * + * If `token` was provided, it will be preferred. + * + * See https://developer.atlassian.com/server/bitbucket/how-tos/command-line-rest/#authentication + */ + password?: string; }; /** @@ -60,6 +78,8 @@ export function readBitbucketServerIntegrationConfig( const host = config.getString('host'); let apiBaseUrl = config.getOptionalString('apiBaseUrl'); const token = config.getOptionalString('token'); + const username = config.getOptionalString('username'); + const password = config.getOptionalString('password'); if (!isValidHost(host)) { throw new Error( @@ -77,6 +97,8 @@ export function readBitbucketServerIntegrationConfig( host, apiBaseUrl, token, + username, + password, }; } diff --git a/packages/integration/src/bitbucketServer/core.test.ts b/packages/integration/src/bitbucketServer/core.test.ts index 076a2c7a4f..de18dcd821 100644 --- a/packages/integration/src/bitbucketServer/core.test.ts +++ b/packages/integration/src/bitbucketServer/core.test.ts @@ -36,7 +36,13 @@ describe('bitbucketServer core', () => { apiBaseUrl: '', token: 'A', }; - const withoutToken: BitbucketServerIntegrationConfig = { + const withBasicAuth: BitbucketServerIntegrationConfig = { + host: '', + apiBaseUrl: '', + username: 'u', + password: 'p', + }; + const withoutCredentials: BitbucketServerIntegrationConfig = { host: '', apiBaseUrl: '', }; @@ -45,7 +51,11 @@ describe('bitbucketServer core', () => { .Authorization, ).toEqual('Bearer A'); expect( - (getBitbucketServerRequestOptions(withoutToken).headers as any) + (getBitbucketServerRequestOptions(withBasicAuth).headers as any) + .Authorization, + ).toEqual('Basic dTpw'); + expect( + (getBitbucketServerRequestOptions(withoutCredentials).headers as any) .Authorization, ).toBeUndefined(); }); diff --git a/packages/integration/src/bitbucketServer/core.ts b/packages/integration/src/bitbucketServer/core.ts index 0c57b0d3ed..5fca2aba68 100644 --- a/packages/integration/src/bitbucketServer/core.ts +++ b/packages/integration/src/bitbucketServer/core.ts @@ -140,6 +140,10 @@ export function getBitbucketServerRequestOptions( if (config.token) { headers.Authorization = `Bearer ${config.token}`; } + if (config.username && config.password) { + const buffer = Buffer.from(`${config.username}:${config.password}`, 'utf8'); + headers.Authorization = `Basic ${buffer.toString('base64')}`; + } return { headers, diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.test.ts index 338231ea55..7d4eb9b6c5 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.test.ts @@ -36,7 +36,13 @@ describe('publish:bitbucketServer', () => { apiBaseUrl: 'https://hosted.bitbucket.com/rest/api/1.0', }, { - host: 'notoken.bitbucket.com', + host: 'basic-auth.bitbucket.com', + username: 'test-user', + password: 'test-password', + apiBaseUrl: 'https://basic-auth.bitbucket.com/rest/api/1.0', + }, + { + host: 'no-credentials.bitbucket.com', }, ], }, @@ -96,21 +102,21 @@ describe('publish:bitbucketServer', () => { ).rejects.toThrow(/No matching integration configuration/); }); - it('should throw if there is no token in the integration config that is returned', async () => { + it('should throw if there no credentials in the integration config that is returned', async () => { await expect( action.handler({ ...mockContext, input: { ...mockContext.input, - repoUrl: 'notoken.bitbucket.com?project=project&repo=repo', + repoUrl: 'no-credentials.bitbucket.com?project=project&repo=repo', }, }), ).rejects.toThrow( - /Authorization has not been provided for notoken.bitbucket.com/, + /Authorization has not been provided for no-credentials.bitbucket.com/, ); }); - it('should call the correct APIs', async () => { + it('should call the correct APIs with token', async () => { expect.assertions(2); server.use( rest.post( @@ -150,12 +156,54 @@ describe('publish:bitbucketServer', () => { }); }); + it('should call the correct APIs with basic auth', async () => { + expect.assertions(2); + server.use( + rest.post( + 'https://basic-auth.bitbucket.com/rest/api/1.0/projects/project/repos', + (req, res, ctx) => { + expect(req.headers.get('Authorization')).toBe( + 'Basic dGVzdC11c2VyOnRlc3QtcGFzc3dvcmQ=', + ); + expect(req.body).toEqual({ public: false, name: 'repo' }); + return res( + ctx.status(201), + ctx.set('Content-Type', 'application/json'), + ctx.json({ + links: { + self: [ + { + href: 'https://bitbucket.mycompany.com/projects/project/repos/repo', + }, + ], + clone: [ + { + name: 'http', + href: 'https://bitbucket.mycompany.com/scm/project/repo', + }, + ], + }, + }), + ); + }, + ), + ); + + await action.handler({ + ...mockContext, + input: { + ...mockContext.input, + repoUrl: 'basic-auth.bitbucket.com?project=project&repo=repo', + }, + }); + }); + it('should work if the token is provided through ctx.input', async () => { expect.assertions(2); const token = 'user-token'; server.use( rest.post( - 'https://notoken.bitbucket.com/rest/api/1.0/projects/project/repos', + 'https://no-credentials.bitbucket.com/rest/api/1.0/projects/project/repos', (req, res, ctx) => { expect(req.headers.get('Authorization')).toBe(`Bearer ${token}`); expect(req.body).toEqual({ public: false, name: 'repo' }); @@ -185,7 +233,7 @@ describe('publish:bitbucketServer', () => { ...mockContext, input: { ...mockContext.input, - repoUrl: 'notoken.bitbucket.com?project=project&repo=repo', + repoUrl: 'no-credentials.bitbucket.com?project=project&repo=repo', token: token, }, }); @@ -273,7 +321,7 @@ describe('publish:bitbucketServer', () => { }); }); - it('should call initAndPush with the correct values', async () => { + it('should call initAndPush with the correct values with token', async () => { server.use( rest.post( 'https://hosted.bitbucket.com/rest/api/1.0/projects/project/repos', @@ -315,6 +363,56 @@ describe('publish:bitbucketServer', () => { }); }); + it('should call initAndPush with the correct values with basic auth', async () => { + server.use( + rest.post( + 'https://basic-auth.bitbucket.com/rest/api/1.0/projects/project/repos', + (req, res, ctx) => { + expect(req.headers.get('Authorization')).toBe( + 'Basic dGVzdC11c2VyOnRlc3QtcGFzc3dvcmQ=', + ); + expect(req.body).toEqual({ public: false, name: 'repo' }); + return res( + ctx.status(201), + ctx.set('Content-Type', 'application/json'), + ctx.json({ + links: { + self: [ + { + href: 'https://bitbucket.mycompany.com/projects/project/repos/repo', + }, + ], + clone: [ + { + name: 'http', + href: 'https://bitbucket.mycompany.com/scm/project/repo', + }, + ], + }, + }), + ); + }, + ), + ); + + await action.handler({ + ...mockContext, + input: { + ...mockContext.input, + repoUrl: 'basic-auth.bitbucket.com?project=project&repo=repo', + }, + }); + + expect(initRepoAndPush).toHaveBeenCalledWith({ + dir: mockContext.workspacePath, + remoteUrl: 'https://bitbucket.mycompany.com/scm/project/repo', + defaultBranch: 'master', + auth: { username: 'test-user', password: 'test-password' }, + logger: mockContext.logger, + gitAuthorInfo: {}, + }); + }); + it('should call initAndPush with the correct default branch', async () => { server.use( rest.post( @@ -373,7 +471,7 @@ describe('publish:bitbucketServer', () => { apiBaseUrl: 'https://hosted.bitbucket.com/rest/api/1.0', }, { - host: 'notoken.bitbucket.com', + host: 'no-credentials.bitbucket.com', }, ], }, @@ -443,7 +541,7 @@ describe('publish:bitbucketServer', () => { apiBaseUrl: 'https://hosted.bitbucket.com/rest/api/1.0', }, { - host: 'notoken.bitbucket.com', + host: 'no-credentials.bitbucket.com', }, ], }, diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.ts index 208403d6f4..10317766d4 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.ts @@ -15,7 +15,10 @@ */ import { InputError } from '@backstage/errors'; -import { ScmIntegrationRegistry } from '@backstage/integration'; +import { + getBitbucketServerRequestOptions, + ScmIntegrationRegistry, +} from '@backstage/integration'; import fetch, { Response, RequestInit } from 'node-fetch'; import { initRepoAndPush } from '../helpers'; import { createTemplateAction } from '../../createTemplateAction'; @@ -79,10 +82,6 @@ const createRepository = async (opts: { return { remoteUrl, repoContentsUrl }; }; -const getAuthorizationHeader = (config: { token: string }) => { - return `Bearer ${config.token}`; -}; - const performEnableLFS = async (opts: { authorization: string; host: string; @@ -213,14 +212,19 @@ export function createPublishBitbucketServerAction(options: { } const token = ctx.input.token ?? integrationConfig.config.token; - if (!token) { + + const authConfig = { + ...integrationConfig.config, + ...{ token }, + }; + const reqOpts = getBitbucketServerRequestOptions(authConfig); + const authorization = reqOpts.headers.Authorization; + if (!authorization) { throw new Error( - `Authorization has not been provided for ${integrationConfig.config.host}. Please add either token to the Integrations config or a user login auth token`, + `Authorization has not been provided for ${integrationConfig.config.host}. Please add either (a) a user login auth token, (b) a token or (c) username + password to the integration config.`, ); } - const authorization = getAuthorizationHeader({ token }); - const apiBaseUrl = integrationConfig.config.apiBaseUrl; const { remoteUrl, repoContentsUrl } = await createRepository({ @@ -237,10 +241,15 @@ export function createPublishBitbucketServerAction(options: { email: config.getOptionalString('scaffolder.defaultAuthor.email'), }; - const auth = { - username: 'x-token-auth', - password: token, - }; + const auth = authConfig.token + ? { + username: 'x-token-auth', + password: token!, + } + : { + username: authConfig.username!, + password: authConfig.password!, + }; await initRepoAndPush({ dir: getRepoSourceDirectory(ctx.workspacePath, ctx.input.sourcePath), From 3b7930b3e5309847a424f2145dbd117652f7049c Mon Sep 17 00:00:00 2001 From: Patrick Jungermann Date: Fri, 22 Jul 2022 12:33:02 +0200 Subject: [PATCH 088/131] feat: support Bearer auth header at git commands Support Bearer-based Authorization header for auth with token only (no username). Signed-off-by: Patrick Jungermann --- .changeset/metal-points-itch.md | 6 ++ packages/backend-common/api-report.md | 1 + packages/backend-common/src/scm/git.test.ts | 89 ++++++++++++++++++- packages/backend-common/src/scm/git.ts | 41 +++++---- .../actions/builtin/helpers.test.ts | 18 +++- .../src/scaffolder/actions/builtin/helpers.ts | 16 ++-- 6 files changed, 145 insertions(+), 26 deletions(-) create mode 100644 .changeset/metal-points-itch.md diff --git a/.changeset/metal-points-itch.md b/.changeset/metal-points-itch.md new file mode 100644 index 0000000000..752f52c269 --- /dev/null +++ b/.changeset/metal-points-itch.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-scaffolder-backend': minor +'@backstage/backend-common': patch +--- + +Add support for Bearer Authorization header / token-based auth at Git commands. diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md index f2b60ae19e..87bc3fca87 100644 --- a/packages/backend-common/api-report.md +++ b/packages/backend-common/api-report.md @@ -373,6 +373,7 @@ export class Git { static fromAuth: (options: { username?: string; password?: string; + token?: string; logger?: Logger; }) => Git; // (undocumented) diff --git a/packages/backend-common/src/scm/git.test.ts b/packages/backend-common/src/scm/git.test.ts index 40814607a9..e9c66a896e 100644 --- a/packages/backend-common/src/scm/git.test.ts +++ b/packages/backend-common/src/scm/git.test.ts @@ -26,6 +26,7 @@ describe('Git', () => { beforeEach(() => { jest.resetAllMocks(); }); + describe('add', () => { it('should call isomorphic-git add with the correct arguments', async () => { const git = Git.fromAuth({}); @@ -146,6 +147,33 @@ describe('Git', () => { onAuth: expect.any(Function), }); }); + + it('should call isomorphic-git with the correct arguments (Bearer)', async () => { + const url = 'http://github.com/some/repo'; + const dir = '/some/mock/dir'; + const auth = { + token: 'test', + }; + const git = Git.fromAuth(auth); + + await git.clone({ url, dir }); + + expect(isomorphic.clone).toHaveBeenCalledWith({ + fs, + http, + url, + dir, + singleBranch: true, + depth: 1, + onProgress: expect.any(Function), + headers: { + Authorization: 'Bearer test', + 'user-agent': 'git/@isomorphic-git', + }, + onAuth: expect.any(Function), + }); + }); + it('should pass a function that returns the authorization as the onAuth handler', async () => { const url = 'http://github.com/some/repo'; const dir = '/some/mock/dir'; @@ -164,7 +192,7 @@ describe('Git', () => { expect(onAuth()).toEqual(auth); }); - it('should propogate the data from the error handler', async () => { + it('should propagate the data from the error handler', async () => { const url = 'http://github.com/some/repo'; const dir = '/some/mock/dir'; const auth = { @@ -234,6 +262,31 @@ describe('Git', () => { onAuth: expect.any(Function), }); }); + + it('should call isomorphic-git with the correct arguments (Bearer)', async () => { + const remote = 'http://github.com/some/repo'; + const dir = '/some/mock/dir'; + const auth = { + token: 'test', + }; + const git = Git.fromAuth(auth); + + await git.fetch({ remote, dir }); + + expect(isomorphic.fetch).toHaveBeenCalledWith({ + fs, + http, + remote, + dir, + onProgress: expect.any(Function), + headers: { + Authorization: 'Bearer test', + 'user-agent': 'git/@isomorphic-git', + }, + onAuth: expect.any(Function), + }); + }); + it('should pass a function that returns the authorization as the onAuth handler', async () => { const remote = 'http://github.com/some/repo'; const dir = '/some/mock/dir'; @@ -252,7 +305,7 @@ describe('Git', () => { expect(onAuth()).toEqual(auth); }); - it('should propogate the data from the error handler', async () => { + it('should propagate the data from the error handler', async () => { const remote = 'http://github.com/some/repo'; const dir = '/some/mock/dir'; const auth = { @@ -348,6 +401,35 @@ describe('Git', () => { onAuth: expect.any(Function), }); }); + + it('should call isomorphic-git with the correct arguments (Bearer)', async () => { + const remote = 'origin'; + const dir = '/some/mock/dir'; + const auth = { + token: 'test', + }; + const git = Git.fromAuth(auth); + const remoteRef = 'master'; + const force = true; + + await git.push({ dir, remote, remoteRef, force }); + + expect(isomorphic.push).toHaveBeenCalledWith({ + fs, + http, + remote, + dir, + remoteRef, + force, + onProgress: expect.any(Function), + headers: { + Authorization: 'Bearer test', + 'user-agent': 'git/@isomorphic-git', + }, + onAuth: expect.any(Function), + }); + }); + it('should call isomorphic-git with remoteRef parameter', async () => { const remote = 'origin'; const remoteRef = 'refs/for/master'; @@ -373,6 +455,7 @@ describe('Git', () => { onAuth: expect.any(Function), }); }); + it('should pass a function that returns the authorization as the onAuth handler', async () => { const remote = 'origin'; const dir = '/some/mock/dir'; @@ -393,7 +476,7 @@ describe('Git', () => { expect(onAuth()).toEqual(auth); }); - it('should propogate the data from the error handler', async () => { + it('should propagate the data from the error handler', async () => { const remote = 'origin'; const dir = '/some/mock/dir'; const auth = { diff --git a/packages/backend-common/src/scm/git.ts b/packages/backend-common/src/scm/git.ts index c8e26420ec..8a72c7af89 100644 --- a/packages/backend-common/src/scm/git.ts +++ b/packages/backend-common/src/scm/git.ts @@ -24,13 +24,17 @@ import fs from 'fs-extra'; import { Logger } from 'winston'; /* -provider username password -GitHub 'x-access-token' token -BitBucket 'x-token-auth' token -GitLab 'oauth2' token +provider username password +Azure 'notempty' token +Bitbucket Cloud 'x-token-auth' token +Bitbucket Server username password or token +GitHub 'x-access-token' token +GitLab 'oauth2' token + From : https://isomorphic-git.org/docs/en/onAuth with fix for GitHub -Azure 'notempty' token +Or token provided as `token` for Bearer auth header +instead of Basic Auth (e.g., Bitbucket Server). */ /** @@ -39,13 +43,23 @@ Azure 'notempty' token * @public */ export class Git { + private readonly headers: { + [x: string]: string; + }; + private constructor( private readonly config: { username?: string; password?: string; + token?: string; logger?: Logger; }, - ) {} + ) { + this.headers = { + 'user-agent': 'git/@isomorphic-git', + ...(config.token ? { Authorization: `Bearer ${config.token}` } : {}), + }; + } async add(options: { dir: string; filepath: string }): Promise { const { dir, filepath } = options; @@ -116,9 +130,7 @@ export class Git { depth: depth ?? 1, noCheckout, onProgress: this.onProgressHandler(), - headers: { - 'user-agent': 'git/@isomorphic-git', - }, + headers: this.headers, onAuth: this.onAuth, }); } catch (ex) { @@ -155,7 +167,7 @@ export class Git { dir, remote, onProgress: this.onProgressHandler(), - headers: { 'user-agent': 'git/@isomorphic-git' }, + headers: this.headers, onAuth: this.onAuth, }); } catch (ex) { @@ -222,9 +234,7 @@ export class Git { onProgress: this.onProgressHandler(), remoteRef, force, - headers: { - 'user-agent': 'git/@isomorphic-git', - }, + headers: this.headers, remote, onAuth: this.onAuth, }); @@ -290,9 +300,10 @@ export class Git { static fromAuth = (options: { username?: string; password?: string; + token?: string; logger?: Logger; }) => { - const { username, password, logger } = options; - return new Git({ username, password, logger }); + const { username, password, token, logger } = options; + return new Git({ username, password, token, logger }); }; } diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.test.ts index efcf51c49c..b5a375d83d 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.test.ts @@ -33,8 +33,6 @@ jest.mock('@backstage/backend-common', () => ({ })); const mockedGit = Git.fromAuth({ - username: 'test-user', - password: 'test-password', logger: getVoidLogger(), }); @@ -101,6 +99,22 @@ describe('initRepoAndPush', () => { }); }); + it('with token', async () => { + await initRepoAndPush({ + dir: '/test/repo/dir/', + remoteUrl: 'git@github.com:test/repo.git', + auth: { + token: 'test-token', + }, + logger: getVoidLogger(), + }); + + expect(mockedGit.init).toHaveBeenCalledWith({ + dir: '/test/repo/dir/', + defaultBranch: 'master', + }); + }); + it('allows overriding the default branch', async () => { await initRepoAndPush({ dir: '/test/repo/dir/', diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.ts index 7a9127a206..d0cdcd627a 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.ts @@ -83,15 +83,17 @@ export async function initRepoAndPush({ }: { dir: string; remoteUrl: string; - auth: { username: string; password: string }; + // For use cases where token has to be used with Basic Auth + // it has to be provided as password together with a username + // which may be a fixed value defined by the provider. + auth: { username: string; password: string } | { token: string }; logger: Logger; defaultBranch?: string; commitMessage?: string; gitAuthorInfo?: { name?: string; email?: string }; }): Promise { const git = Git.fromAuth({ - username: auth.username, - password: auth.password, + ...auth, logger, }); @@ -137,7 +139,10 @@ export async function commitAndPushRepo({ remoteRef, }: { dir: string; - auth: { username: string; password: string }; + // For use cases where token has to be used with Basic Auth + // it has to be provided as password together with a username + // which may be a fixed value defined by the provider. + auth: { username: string; password: string } | { token: string }; logger: Logger; commitMessage: string; gitAuthorInfo?: { name?: string; email?: string }; @@ -145,8 +150,7 @@ export async function commitAndPushRepo({ remoteRef?: string; }): Promise { const git = Git.fromAuth({ - username: auth.username, - password: auth.password, + ...auth, logger, }); From 3f1316f1c52df34feea8a51d1c5bebfb65973ae2 Mon Sep 17 00:00:00 2001 From: Patrick Jungermann Date: Sat, 23 Jul 2022 01:04:28 +0200 Subject: [PATCH 089/131] feat: use Bearer auth header at git commands with Bitbucket Server token Use Bearer auth header at git commands with Bitbucket Server token instead of username + token as password. The username `x-token-auth` was not working with Bitbucket Server but is used at Bitbucket Cloud. Signed-off-by: Patrick Jungermann --- .changeset/short-trains-roll.md | 5 +++++ .../actions/builtin/publish/bitbucketServer.test.ts | 8 ++++---- .../scaffolder/actions/builtin/publish/bitbucketServer.ts | 5 ++--- 3 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 .changeset/short-trains-roll.md diff --git a/.changeset/short-trains-roll.md b/.changeset/short-trains-roll.md new file mode 100644 index 0000000000..709d534d57 --- /dev/null +++ b/.changeset/short-trains-roll.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': minor +--- + +User Bearer Authorization header at Git commands with token-based auth at Bitbucket Server. diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.test.ts index 7d4eb9b6c5..06d3dfb735 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.test.ts @@ -357,7 +357,7 @@ describe('publish:bitbucketServer', () => { dir: mockContext.workspacePath, remoteUrl: 'https://bitbucket.mycompany.com/scm/project/repo', defaultBranch: 'master', - auth: { username: 'x-token-auth', password: 'thing' }, + auth: { token: 'thing' }, logger: mockContext.logger, gitAuthorInfo: {}, }); @@ -455,7 +455,7 @@ describe('publish:bitbucketServer', () => { dir: mockContext.workspacePath, remoteUrl: 'https://bitbucket.mycompany.com/scm/project/repo', defaultBranch: 'main', - auth: { username: 'x-token-auth', password: 'thing' }, + auth: { token: 'thing' }, logger: mockContext.logger, gitAuthorInfo: {}, }); @@ -524,7 +524,7 @@ describe('publish:bitbucketServer', () => { expect(initRepoAndPush).toHaveBeenCalledWith({ dir: mockContext.workspacePath, remoteUrl: 'https://bitbucket.mycompany.com/scm/project/repo', - auth: { username: 'x-token-auth', password: 'thing' }, + auth: { token: 'thing' }, logger: mockContext.logger, defaultBranch: 'master', gitAuthorInfo: { name: 'Test', email: 'example@example.com' }, @@ -591,7 +591,7 @@ describe('publish:bitbucketServer', () => { expect(initRepoAndPush).toHaveBeenCalledWith({ dir: mockContext.workspacePath, remoteUrl: 'https://bitbucket.mycompany.com/scm/project/repo', - auth: { username: 'x-token-auth', password: 'thing' }, + auth: { token: 'thing' }, logger: mockContext.logger, defaultBranch: 'master', commitMessage: 'Test commit message', diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.ts index 10317766d4..712a17de70 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/bitbucketServer.ts @@ -221,7 +221,7 @@ export function createPublishBitbucketServerAction(options: { const authorization = reqOpts.headers.Authorization; if (!authorization) { throw new Error( - `Authorization has not been provided for ${integrationConfig.config.host}. Please add either (a) a user login auth token, (b) a token or (c) username + password to the integration config.`, + `Authorization has not been provided for ${integrationConfig.config.host}. Please add either (a) a user login auth token, or (b) a token or (c) username + password to the integration config.`, ); } @@ -243,8 +243,7 @@ export function createPublishBitbucketServerAction(options: { const auth = authConfig.token ? { - username: 'x-token-auth', - password: token!, + token: token!, } : { username: authConfig.username!, From 6b6f48aa6a0f6a1ad94342b09e7094fb8d1c5f78 Mon Sep 17 00:00:00 2001 From: Raffi Tamizian Date: Mon, 25 Jul 2022 16:32:19 +0100 Subject: [PATCH 090/131] Fix function name Signed-off-by: Raffi Tamizian --- docs/auth/identity-resolver.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/auth/identity-resolver.md b/docs/auth/identity-resolver.md index b9944508c6..681b2f9927 100644 --- a/docs/auth/identity-resolver.md +++ b/docs/auth/identity-resolver.md @@ -207,7 +207,7 @@ of lower-level calls: ```ts // File: packages/backend/src/plugins/auth.ts -import { getDefaultOwnershipRefs } from '@backstage/plugin-auth-backend'; +import { getDefaultOwnershipEntityRefs } from '@backstage/plugin-auth-backend'; export default async function createPlugin( // ... @@ -236,7 +236,7 @@ export default async function createPlugin( // an entity you will need to replace this step as well. // // You might also replace it if you for example want to filter out certain groups. - const ownershipRefs = getDefaultOwnershipRefs(entity); + const ownershipRefs = getDefaultOwnershipEntityRefs(entity); // The last step is to issue the token, where we might provide more options in the future. return ctx.issueToken({ From ef0505b6beb949155650523647f667a2259be9ee Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Jul 2022 18:41:44 +0000 Subject: [PATCH 091/131] fix(deps): update typescript-eslint monorepo to v5.31.0 Signed-off-by: Renovate Bot --- yarn.lock | 194 ++++++++++++++++-------------------------------------- 1 file changed, 57 insertions(+), 137 deletions(-) diff --git a/yarn.lock b/yarn.lock index ea8ec6ce0b..63c3988b50 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7559,13 +7559,6 @@ resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== -"@types/unzipper@^0.10.3": - version "0.10.5" - resolved "https://registry.npmjs.org/@types/unzipper/-/unzipper-0.10.5.tgz#36a963cf025162b4ac31642590cb4192971d633b" - integrity sha512-NrLJb29AdnBARpg9S/4ktfPEisbJ0AvaaAr3j7Q1tg8AgcEUsq2HqbNzvgLRoWyRtjzeLEv7vuL39u1mrNIyNA== - dependencies: - "@types/node" "*" - "@types/uuid@^8.0.0": version "8.3.4" resolved "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" @@ -7663,13 +7656,13 @@ integrity sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw== "@typescript-eslint/eslint-plugin@^5.9.0": - version "5.30.7" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.30.7.tgz#1621dabc1ae4084310e19e9efc80dfdbb97e7493" - integrity sha512-l4L6Do+tfeM2OK0GJsU7TUcM/1oN/N25xHm3Jb4z3OiDU4Lj8dIuxX9LpVMS9riSXQs42D1ieX7b85/r16H9Fw== + version "5.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.31.0.tgz#cae1967b1e569e6171bbc6bec2afa4e0c8efccfe" + integrity sha512-VKW4JPHzG5yhYQrQ1AzXgVgX8ZAJEvCz0QI6mLRX4tf7rnFfh5D8SKm0Pq6w5PyNfAWJk6sv313+nEt3ohWMBQ== dependencies: - "@typescript-eslint/scope-manager" "5.30.7" - "@typescript-eslint/type-utils" "5.30.7" - "@typescript-eslint/utils" "5.30.7" + "@typescript-eslint/scope-manager" "5.31.0" + "@typescript-eslint/type-utils" "5.31.0" + "@typescript-eslint/utils" "5.31.0" debug "^4.3.4" functional-red-black-tree "^1.0.1" ignore "^5.2.0" @@ -7690,13 +7683,13 @@ eslint-utils "^3.0.0" "@typescript-eslint/parser@^5.9.0": - version "5.30.7" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.30.7.tgz#99d09729392aec9e64b1de45cd63cb81a4ddd980" - integrity sha512-Rg5xwznHWWSy7v2o0cdho6n+xLhK2gntImp0rJroVVFkcYFYQ8C8UJTSuTw/3CnExBmPjycjmUJkxVmjXsld6A== + version "5.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.31.0.tgz#7f42d7dcc68a0a6d80a0f3d9a65063aee7bb8d2c" + integrity sha512-UStjQiZ9OFTFReTrN+iGrC6O/ko9LVDhreEK5S3edmXgR396JGq7CoX2TWIptqt/ESzU2iRKXAHfSF2WJFcWHw== dependencies: - "@typescript-eslint/scope-manager" "5.30.7" - "@typescript-eslint/types" "5.30.7" - "@typescript-eslint/typescript-estree" "5.30.7" + "@typescript-eslint/scope-manager" "5.31.0" + "@typescript-eslint/types" "5.31.0" + "@typescript-eslint/typescript-estree" "5.31.0" debug "^4.3.4" "@typescript-eslint/scope-manager@5.20.0": @@ -7707,13 +7700,13 @@ "@typescript-eslint/types" "5.20.0" "@typescript-eslint/visitor-keys" "5.20.0" -"@typescript-eslint/scope-manager@5.30.7": - version "5.30.7" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.30.7.tgz#8269a931ef1e5ae68b5eb80743cc515c4ffe3dd7" - integrity sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw== +"@typescript-eslint/scope-manager@5.31.0": + version "5.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.31.0.tgz#f47a794ba84d9b818ab7f8f44fff55a61016c606" + integrity sha512-8jfEzBYDBG88rcXFxajdVavGxb5/XKXyvWgvD8Qix3EEJLCFIdVloJw+r9ww0wbyNLOTYyBsR+4ALNGdlalLLg== dependencies: - "@typescript-eslint/types" "5.30.7" - "@typescript-eslint/visitor-keys" "5.30.7" + "@typescript-eslint/types" "5.31.0" + "@typescript-eslint/visitor-keys" "5.31.0" "@typescript-eslint/scope-manager@5.9.0": version "5.9.0" @@ -7723,12 +7716,12 @@ "@typescript-eslint/types" "5.9.0" "@typescript-eslint/visitor-keys" "5.9.0" -"@typescript-eslint/type-utils@5.30.7": - version "5.30.7" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.30.7.tgz#5693dc3db6f313f302764282d614cfdbc8a9fcfd" - integrity sha512-nD5qAE2aJX/YLyKMvOU5jvJyku4QN5XBVsoTynFrjQZaDgDV6i7QHFiYCx10wvn7hFvfuqIRNBtsgaLe0DbWhw== +"@typescript-eslint/type-utils@5.31.0": + version "5.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.31.0.tgz#70a0b7201360b5adbddb0c36080495aa08f6f3d9" + integrity sha512-7ZYqFbvEvYXFn9ax02GsPcEOmuWNg+14HIf4q+oUuLnMbpJ6eHAivCg7tZMVwzrIuzX3QCeAOqKoyMZCv5xe+w== dependencies: - "@typescript-eslint/utils" "5.30.7" + "@typescript-eslint/utils" "5.31.0" debug "^4.3.4" tsutils "^3.21.0" @@ -7737,10 +7730,10 @@ resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz#fa39c3c2aa786568302318f1cb51fcf64258c20c" integrity sha512-+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg== -"@typescript-eslint/types@5.30.7": - version "5.30.7" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.30.7.tgz#18331487cc92d0f1fb1a6f580c8ec832528079d0" - integrity sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg== +"@typescript-eslint/types@5.31.0": + version "5.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.31.0.tgz#7aa389122b64b18e473c1672fb3b8310e5f07a9a" + integrity sha512-/f/rMaEseux+I4wmR6mfpM2wvtNZb1p9hAV77hWfuKc3pmaANp5dLAZSiE3/8oXTYTt3uV9KW5yZKJsMievp6g== "@typescript-eslint/types@5.9.0": version "5.9.0" @@ -7760,13 +7753,13 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.30.7": - version "5.30.7" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.7.tgz#05da9f1b281985bfedcf62349847f8d168eecc07" - integrity sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA== +"@typescript-eslint/typescript-estree@5.31.0": + version "5.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.31.0.tgz#eb92970c9d6e3946690d50c346fb9b1d745ee882" + integrity sha512-3S625TMcARX71wBc2qubHaoUwMEn+l9TCsaIzYI/ET31Xm2c9YQ+zhGgpydjorwQO9pLfR/6peTzS/0G3J/hDw== dependencies: - "@typescript-eslint/types" "5.30.7" - "@typescript-eslint/visitor-keys" "5.30.7" + "@typescript-eslint/types" "5.31.0" + "@typescript-eslint/visitor-keys" "5.31.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -7786,15 +7779,15 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.30.7": - version "5.30.7" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.30.7.tgz#7135be070349e9f7caa262b0ca59dc96123351bb" - integrity sha512-Z3pHdbFw+ftZiGUnm1GZhkJgVqsDL5CYW2yj+TB2mfXDFOMqtbzQi2dNJIyPqPbx9mv2kUxS1gU+r2gKlKi1rQ== +"@typescript-eslint/utils@5.31.0": + version "5.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.31.0.tgz#e146fa00dca948bfe547d665b2138a2dc1b79acd" + integrity sha512-kcVPdQS6VIpVTQ7QnGNKMFtdJdvnStkqS5LeALr4rcwx11G6OWb2HB17NMPnlRHvaZP38hL9iK8DdE9Fne7NYg== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.30.7" - "@typescript-eslint/types" "5.30.7" - "@typescript-eslint/typescript-estree" "5.30.7" + "@typescript-eslint/scope-manager" "5.31.0" + "@typescript-eslint/types" "5.31.0" + "@typescript-eslint/typescript-estree" "5.31.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" @@ -7818,12 +7811,12 @@ "@typescript-eslint/types" "5.20.0" eslint-visitor-keys "^3.0.0" -"@typescript-eslint/visitor-keys@5.30.7": - version "5.30.7" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.7.tgz#c093abae75b4fd822bfbad9fc337f38a7a14909a" - integrity sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw== +"@typescript-eslint/visitor-keys@5.31.0": + version "5.31.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.31.0.tgz#b0eca264df01ce85dceb76aebff3784629258f54" + integrity sha512-ZK0jVxSjS4gnPirpVjXHz7mgdOsZUHzNYSfTw2yPa3agfbt9YfqaBiBZFSSxeBWnpWkzCxTfUpnzA3Vily/CSg== dependencies: - "@typescript-eslint/types" "5.30.7" + "@typescript-eslint/types" "5.31.0" eslint-visitor-keys "^3.3.0" "@typescript-eslint/visitor-keys@5.9.0": @@ -9125,7 +9118,7 @@ bfj@^7.0.2: hoopy "^0.1.4" tryer "^1.0.1" -big-integer@^1.6.16, big-integer@^1.6.17: +big-integer@^1.6.16: version "1.6.51" resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== @@ -9167,14 +9160,6 @@ binary-search@^1.3.5: resolved "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz#e32426016a0c5092f0f3598836a1c7da3560565c" integrity sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA== -binary@~0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" - integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk= - dependencies: - buffers "~0.1.1" - chainsaw "~0.1.0" - binaryextensions@^4.15.0, binaryextensions@^4.16.0: version "4.18.0" resolved "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.18.0.tgz#22aeada2d14de062c60e8ca59a504a5636a76ceb" @@ -9216,11 +9201,6 @@ bluebird@3.7.2, bluebird@^3.3.5, bluebird@^3.5.5, bluebird@^3.7.2: resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bluebird@~3.4.1: - version "3.4.7" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM= - bmp-js@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz#e05a63f796a6c1ff25f4771ec7adadc148c07233" @@ -9476,11 +9456,6 @@ buffer-from@^1.0.0: resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer-indexof-polyfill@~1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" - integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== - buffer-writer@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" @@ -9516,11 +9491,6 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -buffers@~0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" - integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= - builtin-modules@^3.0.0: version "3.2.0" resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" @@ -9774,13 +9744,6 @@ ccount@^2.0.0: resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.0.tgz#3d6fb55803832766a24c6f339abc507297eb5d25" integrity sha512-VOR0NWFYX65n9gELQdcpqsie5L5ihBXuZGAgaPEp/U7IOSjnPMEH6geE+2f6lcekaNEfWzAHS45mPvSo5bqsUA== -chainsaw@~0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" - integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg= - dependencies: - traverse ">=0.3.0 <0.4" - chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.2: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -12061,13 +12024,6 @@ dset@^3.1.2: resolved "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz#89c436ca6450398396dc6538ea00abc0c54cd45a" integrity sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q== -duplexer2@~0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= - dependencies: - readable-stream "^2.0.2" - duplexer@^0.1.1, duplexer@~0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" @@ -13853,16 +13809,6 @@ fsevents@^2.3.2, fsevents@~2.3.2: resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== -fstream@^1.0.12: - version "1.0.12" - resolved "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" - integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - function-bind@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -14428,7 +14374,7 @@ got@^11.8.3: p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.9" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== @@ -15263,7 +15209,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -17512,11 +17458,6 @@ lint-staged@^13.0.0: string-argv "^0.3.1" yaml "^2.1.1" -listenercount@~1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" - integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc= - listr2@^3.8.3: version "3.14.0" resolved "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" @@ -19029,7 +18970,7 @@ mkdirp@0.3.0: resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" integrity sha1-G79asbqCevI1dRQ0kEJkVfSB/h4= -"mkdirp@>=0.5 0", mkdirp@^0.5.1: +mkdirp@^0.5.1: version "0.5.5" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -22969,13 +22910,6 @@ rifm@^0.7.0: dependencies: "@babel/runtime" "^7.3.1" -rimraf@2, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -22983,6 +22917,13 @@ rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + rimraf@~2.6.2: version "2.6.3" resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -23437,7 +23378,7 @@ set-value@^4.1.0: is-plain-object "^2.0.4" is-primitive "^3.0.1" -setimmediate@^1.0.4, setimmediate@^1.0.5, setimmediate@~1.0.4: +setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -25096,11 +25037,6 @@ tr46@~0.0.3: resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= -"traverse@>=0.3.0 <0.4": - version "0.3.9" - resolved "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" - integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk= - traverse@^0.6.6, traverse@~0.6.6: version "0.6.6" resolved "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" @@ -25682,22 +25618,6 @@ untildify@^4.0.0: resolved "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== -unzipper@^0.10.11: - version "0.10.11" - resolved "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz#0b4991446472cbdb92ee7403909f26c2419c782e" - integrity sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw== - dependencies: - big-integer "^1.6.17" - binary "~0.3.0" - bluebird "~3.4.1" - buffer-indexof-polyfill "~1.0.0" - duplexer2 "~0.1.4" - fstream "^1.0.12" - graceful-fs "^4.2.2" - listenercount "~1.0.1" - readable-stream "~2.3.6" - setimmediate "~1.0.4" - upath@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" From bde245f0bfbc953003a8b8f795f5e7c6bd1251bf Mon Sep 17 00:00:00 2001 From: David Weber Date: Sat, 30 Apr 2022 20:05:58 +0200 Subject: [PATCH 092/131] feat: add dashboard URL feature and fix minor styling issues Signed-off-by: David Weber --- .changeset/odd-adults-smash.md | 5 + app-config.yaml | 1 + plugins/kafka/README.md | 30 ++++ plugins/kafka/config.d.ts | 31 ++++ plugins/kafka/package.json | 5 +- .../src/api/KafkaDashboardClient.test.ts | 138 ++++++++++++++++++ plugins/kafka/src/api/KafkaDashboardClient.ts | 66 +++++++++ plugins/kafka/src/api/types.ts | 13 ++ .../ConsumerGroupOffsets.tsx | 27 +++- .../useConsumerGroupsForEntity.test.tsx | 48 +++++- .../useConsumerGroupsForEntity.ts | 5 +- ...useConsumerGroupsOffsetsForEntity.test.tsx | 16 ++ .../useConsumerGroupsOffsetsForEntity.ts | 18 ++- plugins/kafka/src/constants.ts | 1 + plugins/kafka/src/plugin.ts | 9 +- 15 files changed, 394 insertions(+), 19 deletions(-) create mode 100644 .changeset/odd-adults-smash.md create mode 100644 plugins/kafka/config.d.ts create mode 100644 plugins/kafka/src/api/KafkaDashboardClient.test.ts create mode 100644 plugins/kafka/src/api/KafkaDashboardClient.ts diff --git a/.changeset/odd-adults-smash.md b/.changeset/odd-adults-smash.md new file mode 100644 index 0000000000..d0002094bd --- /dev/null +++ b/.changeset/odd-adults-smash.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kafka': patch +--- + +Add dashboard URL feature and fix minor styling issues. diff --git a/app-config.yaml b/app-config.yaml index 9a3206026e..cb865a52b9 100644 --- a/app-config.yaml +++ b/app-config.yaml @@ -161,6 +161,7 @@ kafka: clientId: backstage clusters: - name: cluster + dashboardUrl: https://akhq.io/ brokers: - localhost:9092 diff --git a/plugins/kafka/README.md b/plugins/kafka/README.md index 9de9bd7d71..77106baba7 100644 --- a/plugins/kafka/README.md +++ b/plugins/kafka/README.md @@ -73,6 +73,8 @@ kafka: 5. Add the `kafka.apache.org/consumer-groups` annotation to your services: +Can be a comma separated list. + ```yaml apiVersion: backstage.io/v1alpha1 kind: Component @@ -84,6 +86,34 @@ spec: type: service ``` +6. Configure dashboard urls: + +You have two options. +Either configure it with an annotation called `kafka.apache.org/dashboard-urls` + +```yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + # ... + annotations: + kafka.apache.org/dashboard-urls: cluster-name/consumer-group-name/dashboard-url +spec: + type: service +``` + +> The consumer-group-name is optional. + +or with configs in `app-config.yaml` + +```yaml +kafka: + # ... + clusters: + - name: cluster-name + dashboardUrl: https://dashboard.com +``` + ## Features - List topics offsets and consumer group offsets for configured services. diff --git a/plugins/kafka/config.d.ts b/plugins/kafka/config.d.ts new file mode 100644 index 0000000000..1ae6de7d75 --- /dev/null +++ b/plugins/kafka/config.d.ts @@ -0,0 +1,31 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export interface Config { + kafka?: { + clusters: Array<{ + /** + * Cluster name + * @visibility frontend + */ + name: string; + /** + * Cluster dashboard url + * @visibility frontend + */ + dashboardUrl?: string; + }>; + }; +} diff --git a/plugins/kafka/package.json b/plugins/kafka/package.json index 35f678c98b..dc69556716 100644 --- a/plugins/kafka/package.json +++ b/plugins/kafka/package.json @@ -13,6 +13,7 @@ "backstage": { "role": "frontend-plugin" }, + "configSchema": "config.d.ts", "scripts": { "build": "backstage-cli package build", "start": "backstage-cli package start", @@ -29,6 +30,7 @@ "@backstage/core-plugin-api": "^1.0.4", "@backstage/plugin-catalog-react": "^1.1.2", "@backstage/theme": "^0.2.16", + "@backstage/config": "^1.0.1", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.57", @@ -54,6 +56,7 @@ "msw": "^0.44.0" }, "files": [ - "dist" + "dist", + "config.d.ts" ] } diff --git a/plugins/kafka/src/api/KafkaDashboardClient.test.ts b/plugins/kafka/src/api/KafkaDashboardClient.test.ts new file mode 100644 index 0000000000..332b17cba6 --- /dev/null +++ b/plugins/kafka/src/api/KafkaDashboardClient.test.ts @@ -0,0 +1,138 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { Entity } from '@backstage/catalog-model'; +import { KafkaDashboardClient } from './KafkaDashboardClient'; +import { ConfigApi, configApiRef } from '@backstage/core-plugin-api'; +import { KAFKA_DASHBOARD_URL } from '../constants'; + +const mockConfigApi: jest.Mocked> = { + getConfigArray: jest.fn(_ => []), +}; + +describe('KafkaDashboardClient', () => { + let kafkaDashboardClient: KafkaDashboardClient; + + beforeEach(() => { + kafkaDashboardClient = new KafkaDashboardClient({ + configApi: mockConfigApi as ConfigApi, + }); + }); + + it('Should return undefined on empty annotation', async () => { + const mockEntity = { + metadata: { annotations: { [KAFKA_DASHBOARD_URL]: '' } }, + } as unknown as Entity; + + expect( + kafkaDashboardClient.getDashboardUrl('', '', mockEntity).url, + ).toBeUndefined(); + }); + + it('Should return consumer group and cluster based dashboard url', async () => { + const mockEntity = { + metadata: { + annotations: { + [KAFKA_DASHBOARD_URL]: 'cluster1/consumerGroup1/https://example.com', + }, + }, + } as unknown as Entity; + + expect( + kafkaDashboardClient.getDashboardUrl( + 'cluster1', + 'consumerGroup1', + mockEntity, + ).url, + ).toEqual('https://example.com'); + }); + + it('Should return cluster based dashboard url', async () => { + const mockEntity = { + metadata: { + annotations: { [KAFKA_DASHBOARD_URL]: 'cluster1/https://example.com' }, + }, + } as unknown as Entity; + + expect( + kafkaDashboardClient.getDashboardUrl( + 'cluster1', + 'consumerGroup1', + mockEntity, + ).url, + ).toEqual('https://example.com'); + }); + + it('Should return one dashboard url for list of dashboards', async () => { + const mockEntity = { + metadata: { + annotations: { + [KAFKA_DASHBOARD_URL]: + 'cluster1/https://example.com,cluster2/https://example2.com', + }, + }, + } as unknown as Entity; + + expect( + kafkaDashboardClient.getDashboardUrl('cluster2', '', mockEntity).url, + ).toEqual('https://example2.com'); + }); + + it('Should return most specific dashboard url for list of dashboards', async () => { + const mockEntity = { + metadata: { + annotations: { + [KAFKA_DASHBOARD_URL]: + 'cluster1/https://example.com,cluster1/consumerGroup1/https://example2.com', + }, + }, + } as unknown as Entity; + + expect( + kafkaDashboardClient.getDashboardUrl( + 'cluster1', + 'consumerGroup1', + mockEntity, + ).url, + ).toEqual('https://example2.com'); + }); + + it('Should return dashboard url with query parameters', async () => { + const mockEntity = { + metadata: { + annotations: { + [KAFKA_DASHBOARD_URL]: + 'cluster1/https://example.com?consumer-group=consumergroup1', + }, + }, + } as unknown as Entity; + + expect( + kafkaDashboardClient.getDashboardUrl('cluster1', '', mockEntity).url, + ).toEqual('https://example.com?consumer-group=consumergroup1'); + }); + + it('Should return should fallback to config', async () => { + const mockEntity = { + metadata: { + annotations: { [KAFKA_DASHBOARD_URL]: 'cluster1/https://example.com' }, + }, + } as unknown as Entity; + + kafkaDashboardClient.getDashboardUrl('cluster2', '', mockEntity); + expect(mockConfigApi.getConfigArray).toBeCalled(); + }); +}); diff --git a/plugins/kafka/src/api/KafkaDashboardClient.ts b/plugins/kafka/src/api/KafkaDashboardClient.ts new file mode 100644 index 0000000000..2ce428d446 --- /dev/null +++ b/plugins/kafka/src/api/KafkaDashboardClient.ts @@ -0,0 +1,66 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { KafkaDashboardApi } from './types'; +import { Entity } from '@backstage/catalog-model'; +import { ConfigApi } from '@backstage/core-plugin-api'; +import { KAFKA_DASHBOARD_URL } from '../constants'; + +export class KafkaDashboardClient implements KafkaDashboardApi { + private readonly configApi: ConfigApi; + private readonly regexPattern = + /^([a-z0-9._-]+)\/([a-z0-9._-]+)?\/?(https?.*)$/i; + + constructor(options: { configApi: ConfigApi }) { + this.configApi = options.configApi; + } + + getDashboardUrl( + clusterId: string, + consumerGroup: string, + entity: Entity, + ): { url?: string } { + const annotation = entity.metadata.annotations?.[KAFKA_DASHBOARD_URL] ?? ''; + + const dashboardList = annotation + .split(',') + .filter(value => value !== undefined && value !== '') + .map(value => value.match(this.regexPattern) as string[]) + .filter( + value => + value[1] === clusterId && + (value[2] === undefined || value[2] === consumerGroup), + ) + .sort((a, b) => { + if (a[2] === b[2]) return 0; + if (a[2] !== undefined) return -1; + return 1; + }); + + if (dashboardList.length > 0) { + return { url: dashboardList[0][3] }; + } + + return { + url: + this.configApi + .getConfigArray('kafka.clusters') + .filter(value => value.getString('name') === clusterId) + .map(value => value.getOptionalString('dashboardUrl'))[0] || + undefined, + }; + } +} diff --git a/plugins/kafka/src/api/types.ts b/plugins/kafka/src/api/types.ts index 7804574761..8bc79398d2 100644 --- a/plugins/kafka/src/api/types.ts +++ b/plugins/kafka/src/api/types.ts @@ -15,11 +15,16 @@ */ import { createApiRef } from '@backstage/core-plugin-api'; +import { Entity } from '@backstage/catalog-model'; export const kafkaApiRef = createApiRef({ id: 'plugin.kafka.service', }); +export const kafkaDashboardApiRef = createApiRef({ + id: 'plugin.kafka.dashboard', +}); + export type ConsumerGroupOffsetsResponse = { consumerId: string; offsets: { @@ -36,3 +41,11 @@ export interface KafkaApi { consumerGroup: string, ): Promise; } + +export interface KafkaDashboardApi { + getDashboardUrl( + clusterId: string, + consumerGroup: string, + entity: Entity, + ): { url?: string }; +} diff --git a/plugins/kafka/src/components/ConsumerGroupOffsets/ConsumerGroupOffsets.tsx b/plugins/kafka/src/components/ConsumerGroupOffsets/ConsumerGroupOffsets.tsx index 79f38af42f..17f7af3740 100644 --- a/plugins/kafka/src/components/ConsumerGroupOffsets/ConsumerGroupOffsets.tsx +++ b/plugins/kafka/src/components/ConsumerGroupOffsets/ConsumerGroupOffsets.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { Box, Grid, Typography } from '@material-ui/core'; +import { Box, Grid, Typography, Link } from '@material-ui/core'; import RetryIcon from '@material-ui/icons/Replay'; import React from 'react'; import { useConsumerGroupsOffsetsForEntity } from './useConsumerGroupsOffsetsForEntity'; @@ -74,6 +74,7 @@ type Props = { loading: boolean; retry: () => void; clusterId: string; + dashboardUrl?: string; consumerGroup: string; topics?: TopicPartitionInfo[]; }; @@ -82,6 +83,7 @@ export const ConsumerGroupOffsets = ({ loading, topics, clusterId, + dashboardUrl, consumerGroup, retry, }: Props) => { @@ -100,7 +102,14 @@ export const ConsumerGroupOffsets = ({ title={ - Consumed Topics for {consumerGroup} ({clusterId}) + Consumed Topics for {consumerGroup} ( + {(dashboardUrl && ( + + {clusterId} + + )) || + clusterId} + ) } @@ -112,13 +121,15 @@ export const ConsumerGroupOffsets = ({ export const KafkaTopicsForConsumer = () => { const [tableProps, { retry }] = useConsumerGroupsOffsetsForEntity(); return ( - + {tableProps.consumerGroupsTopics?.map(consumerGroup => ( - + + + ))} ); diff --git a/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsForEntity.test.tsx b/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsForEntity.test.tsx index d239370b6b..ead3e03934 100644 --- a/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsForEntity.test.tsx +++ b/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsForEntity.test.tsx @@ -18,12 +18,22 @@ import { EntityProvider } from '@backstage/plugin-catalog-react'; import { renderHook } from '@testing-library/react-hooks'; import React, { PropsWithChildren } from 'react'; import { useConsumerGroupsForEntity } from './useConsumerGroupsForEntity'; +import { TestApiProvider } from '@backstage/test-utils'; +import { configApiRef } from '@backstage/core-plugin-api'; + +const mockConfigApi: jest.Mocked> = { + getConfigArray: jest.fn(_ => []), +}; describe('useConsumerGroupOffsets', () => { let entity: Entity; const wrapper = ({ children }: PropsWithChildren<{}>) => { - return {children}; + return ( + + {children} + + ); }; const subject = () => renderHook(useConsumerGroupsForEntity, { wrapper }); @@ -53,6 +63,32 @@ describe('useConsumerGroupOffsets', () => { ]); }); + it('returns correct dashboard url for cluster for annotation', async () => { + entity = { + apiVersion: 'v1', + kind: 'Component', + metadata: { + name: 'test', + annotations: { + 'kafka.apache.org/consumer-groups': 'prod/consumer', + 'kafka.apache.org/dashboard-urls': 'prod/https://akhq.io', + }, + }, + spec: { + owner: 'guest', + type: 'Website', + lifecycle: 'development', + }, + }; + const { result } = subject(); + expect(result.current).toStrictEqual([ + { + clusterId: 'prod', + consumerGroup: 'consumer', + }, + ]); + }); + it('returns correct cluster and consumer group for multiple consumers', async () => { entity = { apiVersion: 'v1', @@ -72,7 +108,10 @@ describe('useConsumerGroupOffsets', () => { }; const { result } = subject(); expect(result.current).toStrictEqual([ - { clusterId: 'prod', consumerGroup: 'consumer' }, + { + clusterId: 'prod', + consumerGroup: 'consumer', + }, { clusterId: 'dev', consumerGroup: 'another-consumer', @@ -99,7 +138,10 @@ describe('useConsumerGroupOffsets', () => { }; const { result } = subject(); expect(result.current).toStrictEqual([ - { clusterId: 'prod', consumerGroup: 'consumer' }, + { + clusterId: 'prod', + consumerGroup: 'consumer', + }, { clusterId: 'dev', consumerGroup: 'another-consumer', diff --git a/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsForEntity.ts b/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsForEntity.ts index cc008d8e33..c0854d34cf 100644 --- a/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsForEntity.ts +++ b/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsForEntity.ts @@ -23,7 +23,7 @@ export const useConsumerGroupsForEntity = () => { const annotation = entity.metadata.annotations?.[KAFKA_CONSUMER_GROUP_ANNOTATION] ?? ''; - const consumerList = useMemo(() => { + return useMemo(() => { return annotation.split(',').map(consumer => { const [clusterId, consumerGroup] = consumer.split('/'); @@ -32,12 +32,11 @@ export const useConsumerGroupsForEntity = () => { `Failed to parse kafka consumer group annotation: got "${annotation}"`, ); } + return { clusterId: clusterId.trim(), consumerGroup: consumerGroup.trim(), }; }); }, [annotation]); - - return consumerList; }; diff --git a/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsOffsetsForEntity.test.tsx b/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsOffsetsForEntity.test.tsx index 0be9cabacd..8a7f28d69b 100644 --- a/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsOffsetsForEntity.test.tsx +++ b/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsOffsetsForEntity.test.tsx @@ -22,11 +22,14 @@ import { ConsumerGroupOffsetsResponse, KafkaApi, kafkaApiRef, + KafkaDashboardApi, + kafkaDashboardApiRef, } from '../../api/types'; import { useConsumerGroupsOffsetsForEntity } from './useConsumerGroupsOffsetsForEntity'; import * as data from './__fixtures__/consumer-group-offsets.json'; import { errorApiRef } from '@backstage/core-plugin-api'; +import { configApiRef } from '@backstage/core-plugin-api'; import { TestApiProvider } from '@backstage/test-utils'; const consumerGroupOffsets = data as ConsumerGroupOffsetsResponse; @@ -40,6 +43,15 @@ const mockKafkaApi: jest.Mocked = { getConsumerGroupOffsets: jest.fn(), }; +const mockKafkaDashboardApi: jest.Mocked = { + getDashboardUrl: jest.fn(), +}; + +// @ts-ignore +const mockConfigApi: jest.Mocked = { + getConfigArray: jest.fn(_ => []), +}; + describe('useConsumerGroupOffsets', () => { const entity: Entity = { apiVersion: 'v1', @@ -63,6 +75,8 @@ describe('useConsumerGroupOffsets', () => { apis={[ [errorApiRef, mockErrorApi], [kafkaApiRef, mockKafkaApi], + [kafkaDashboardApiRef, mockKafkaDashboardApi], + [configApiRef, mockConfigApi], ]} > {children} @@ -80,6 +94,7 @@ describe('useConsumerGroupOffsets', () => { when(mockKafkaApi.getConsumerGroupOffsets) .calledWith('prod', consumerGroupOffsets.consumerId) .mockResolvedValue(consumerGroupOffsets); + when(mockKafkaDashboardApi.getDashboardUrl).mockReturnValue({}); const { result, waitForNextUpdate } = subject(); await waitForNextUpdate(); @@ -89,6 +104,7 @@ describe('useConsumerGroupOffsets', () => { { clusterId: 'prod', consumerGroup: consumerGroupOffsets.consumerId, + dashboardUrl: undefined, topics: consumerGroupOffsets.offsets, }, ]); diff --git a/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsOffsetsForEntity.ts b/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsOffsetsForEntity.ts index 0be098c3f9..15d7beff2b 100644 --- a/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsOffsetsForEntity.ts +++ b/plugins/kafka/src/components/ConsumerGroupOffsets/useConsumerGroupsOffsetsForEntity.ts @@ -15,13 +15,16 @@ */ import useAsyncRetry from 'react-use/lib/useAsyncRetry'; -import { kafkaApiRef } from '../../api/types'; +import { kafkaApiRef, kafkaDashboardApiRef } from '../../api/types'; import { useConsumerGroupsForEntity } from './useConsumerGroupsForEntity'; import { errorApiRef, useApi } from '@backstage/core-plugin-api'; +import { useEntity } from '@backstage/plugin-catalog-react'; export const useConsumerGroupsOffsetsForEntity = () => { const consumers = useConsumerGroupsForEntity(); + const { entity } = useEntity(); const api = useApi(kafkaApiRef); + const apiDashboard = useApi(kafkaDashboardApiRef); const errorApi = useApi(errorApiRef); const { @@ -36,14 +39,23 @@ export const useConsumerGroupsOffsetsForEntity = () => { clusterId, consumerGroup, ); - return { clusterId, consumerGroup, topics: response.offsets }; + return { + clusterId, + dashboardUrl: apiDashboard.getDashboardUrl( + clusterId, + consumerGroup, + entity, + ).url, + consumerGroup, + topics: response.offsets, + }; }), ); } catch (e) { errorApi.post(e); throw e; } - }, [consumers, api, errorApi]); + }, [consumers, api, apiDashboard, errorApi, entity]); return [ { diff --git a/plugins/kafka/src/constants.ts b/plugins/kafka/src/constants.ts index 93db0835f6..b85a738888 100644 --- a/plugins/kafka/src/constants.ts +++ b/plugins/kafka/src/constants.ts @@ -15,3 +15,4 @@ */ export const KAFKA_CONSUMER_GROUP_ANNOTATION = 'kafka.apache.org/consumer-groups'; +export const KAFKA_DASHBOARD_URL = 'kafka.apache.org/dashboard-urls'; diff --git a/plugins/kafka/src/plugin.ts b/plugins/kafka/src/plugin.ts index 0c345cdabc..6caa4ca5ca 100644 --- a/plugins/kafka/src/plugin.ts +++ b/plugins/kafka/src/plugin.ts @@ -14,7 +14,7 @@ * limitations under the License. */ import { KafkaBackendClient } from './api/KafkaBackendClient'; -import { kafkaApiRef } from './api/types'; +import { kafkaApiRef, kafkaDashboardApiRef } from './api/types'; import { createApiFactory, createPlugin, @@ -22,7 +22,9 @@ import { createRouteRef, discoveryApiRef, identityApiRef, + configApiRef, } from '@backstage/core-plugin-api'; +import { KafkaDashboardClient } from './api/KafkaDashboardClient'; export const rootCatalogKafkaRouteRef = createRouteRef({ id: 'kafka', @@ -37,6 +39,11 @@ export const kafkaPlugin = createPlugin({ factory: ({ discoveryApi, identityApi }) => new KafkaBackendClient({ discoveryApi, identityApi }), }), + createApiFactory({ + api: kafkaDashboardApiRef, + deps: { configApi: configApiRef }, + factory: ({ configApi }) => new KafkaDashboardClient({ configApi }), + }), ], routes: { entityContent: rootCatalogKafkaRouteRef, From e9ac46fea596893f394fe7a11052ad2d9b78d919 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Jul 2022 22:51:51 +0000 Subject: [PATCH 093/131] fix(deps): update dependency isomorphic-git to v1.19.1 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 63c3988b50..46d1c7e85c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16054,9 +16054,9 @@ isomorphic-form-data@^2.0.0: form-data "^2.3.2" isomorphic-git@^1.8.0: - version "1.19.0" - resolved "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.19.0.tgz#1f109eb4e0383ca0553e712ffb5bd43d27118fc6" - integrity sha512-OL723KnfgCSMH0zRvCn3FV5eGIb9Xvs0tS2DbIVc6KuyyI2DOHcYe8S4yWiqQ09xuNXEmPiFgsX5KVpEyWNH8g== + version "1.19.1" + resolved "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.19.1.tgz#99e18db18826b07c40a4c4b32484e917a4c4fd31" + integrity sha512-enp69F9dIWtAAB+aEMV83AVDiOoi7zHTMr1kTP2Bzka/PlX0W6C74W2y9b9UToX65oXvipPzhY5An2+F5BXVQw== dependencies: async-lock "^1.1.0" clean-git-ref "^2.0.1" From 0a002e2c43b1197915b8fa2c39e379dbc250c078 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Jul 2022 08:36:52 +0000 Subject: [PATCH 094/131] fix(deps): update dependency rollup to v2.77.1 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 46d1c7e85c..8a4236af22 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23025,9 +23025,9 @@ rollup@^0.63.4: "@types/node" "*" rollup@^2.60.2: - version "2.77.0" - resolved "https://registry.npmjs.org/rollup/-/rollup-2.77.0.tgz#749eaa5ac09b6baa52acc076bc46613eddfd53f4" - integrity sha512-vL8xjY4yOQEw79DvyXLijhnhh+R/O9zpF/LEgkCebZFtb6ELeN9H3/2T0r8+mp+fFTBHZ5qGpOpW2ela2zRt3g== + version "2.77.1" + resolved "https://registry.npmjs.org/rollup/-/rollup-2.77.1.tgz#63463ebdbc04232fc42630ec72d137cd4400975d" + integrity sha512-GhutNJrvTYD6s1moo+kyq7lD9DeR5HDyXo4bDFlDSkepC9kVKY+KK/NSZFzCmeXeia3kEzVuToQmHRdugyZHxw== optionalDependencies: fsevents "~2.3.2" From 73cee58fc2c986763555219a76843392c65f81bc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 26 Jul 2022 08:37:39 +0000 Subject: [PATCH 095/131] Version Packages (next) --- .changeset/create-app-1658824524.md | 5 + .changeset/pre.json | 33 +- docs/releases/v1.5.0-next.0-changelog.md | 1400 +++++++++++++++++ package.json | 2 +- packages/app-defaults/CHANGELOG.md | 10 + packages/app-defaults/package.json | 14 +- packages/app/CHANGELOG.md | 56 + packages/app/package.json | 104 +- packages/backend-app-api/CHANGELOG.md | 10 + packages/backend-app-api/package.json | 12 +- packages/backend-common/CHANGELOG.md | 27 + packages/backend-common/package.json | 8 +- packages/backend-next/CHANGELOG.md | 9 + packages/backend-next/package.json | 10 +- packages/backend-plugin-api/CHANGELOG.md | 8 + packages/backend-plugin-api/package.json | 8 +- packages/backend-tasks/CHANGELOG.md | 8 + packages/backend-tasks/package.json | 8 +- packages/backend-test-utils/CHANGELOG.md | 8 + packages/backend-test-utils/package.json | 8 +- packages/backend/CHANGELOG.md | 36 + packages/backend/package.json | 62 +- packages/catalog-client/package.json | 2 +- packages/catalog-model/package.json | 2 +- packages/cli/CHANGELOG.md | 7 + packages/cli/package.json | 14 +- packages/config/package.json | 2 +- packages/core-app-api/CHANGELOG.md | 7 + packages/core-app-api/package.json | 8 +- packages/core-components/CHANGELOG.md | 7 + packages/core-components/package.json | 10 +- packages/core-plugin-api/CHANGELOG.md | 9 + packages/core-plugin-api/package.json | 8 +- packages/create-app/CHANGELOG.md | 6 + packages/create-app/package.json | 2 +- packages/dev-utils/CHANGELOG.md | 13 + packages/dev-utils/package.json | 18 +- packages/errors/package.json | 2 +- packages/integration-react/CHANGELOG.md | 9 + packages/integration-react/package.json | 14 +- packages/integration/CHANGELOG.md | 12 + packages/integration/package.json | 6 +- packages/release-manifests/package.json | 2 +- .../techdocs-cli-embedded-app/CHANGELOG.md | 16 + .../techdocs-cli-embedded-app/package.json | 24 +- packages/techdocs-cli/CHANGELOG.md | 8 + packages/techdocs-cli/package.json | 8 +- packages/test-utils/CHANGELOG.md | 9 + packages/test-utils/package.json | 10 +- packages/theme/package.json | 2 +- packages/types/package.json | 2 +- packages/version-bridge/package.json | 2 +- plugins/adr-backend/CHANGELOG.md | 9 + plugins/adr-backend/package.json | 10 +- plugins/adr-common/CHANGELOG.md | 7 + plugins/adr-common/package.json | 6 +- plugins/adr/CHANGELOG.md | 12 + plugins/adr/package.json | 22 +- plugins/airbrake-backend/CHANGELOG.md | 7 + plugins/airbrake-backend/package.json | 6 +- plugins/airbrake/CHANGELOG.md | 11 + plugins/airbrake/package.json | 20 +- plugins/allure/CHANGELOG.md | 9 + plugins/allure/package.json | 16 +- plugins/analytics-module-ga/CHANGELOG.md | 8 + plugins/analytics-module-ga/package.json | 14 +- plugins/apache-airflow/CHANGELOG.md | 8 + plugins/apache-airflow/package.json | 14 +- .../package.json | 2 +- plugins/api-docs/CHANGELOG.md | 10 + plugins/api-docs/package.json | 18 +- plugins/apollo-explorer/CHANGELOG.md | 8 + plugins/apollo-explorer/package.json | 14 +- plugins/app-backend/CHANGELOG.md | 7 + plugins/app-backend/package.json | 8 +- plugins/auth-backend/CHANGELOG.md | 8 + plugins/auth-backend/package.json | 10 +- plugins/auth-node/CHANGELOG.md | 7 + plugins/auth-node/package.json | 6 +- plugins/azure-devops-backend/CHANGELOG.md | 7 + plugins/azure-devops-backend/package.json | 6 +- plugins/azure-devops-common/package.json | 2 +- plugins/azure-devops/CHANGELOG.md | 9 + plugins/azure-devops/package.json | 16 +- plugins/badges-backend/CHANGELOG.md | 7 + plugins/badges-backend/package.json | 6 +- plugins/badges/CHANGELOG.md | 9 + plugins/badges/package.json | 16 +- plugins/bazaar-backend/CHANGELOG.md | 8 + plugins/bazaar-backend/package.json | 8 +- plugins/bazaar/CHANGELOG.md | 11 + plugins/bazaar/package.json | 16 +- plugins/bitbucket-cloud-common/CHANGELOG.md | 7 + plugins/bitbucket-cloud-common/package.json | 6 +- plugins/bitrise/CHANGELOG.md | 9 + plugins/bitrise/package.json | 16 +- .../catalog-backend-module-aws/CHANGELOG.md | 15 + .../catalog-backend-module-aws/package.json | 12 +- .../catalog-backend-module-azure/CHANGELOG.md | 10 + .../catalog-backend-module-azure/package.json | 14 +- .../CHANGELOG.md | 10 + .../package.json | 16 +- .../CHANGELOG.md | 10 + .../package.json | 14 +- .../CHANGELOG.md | 10 + .../package.json | 14 +- .../CHANGELOG.md | 10 + .../package.json | 14 +- .../CHANGELOG.md | 10 + .../package.json | 14 +- .../catalog-backend-module-ldap/CHANGELOG.md | 8 + .../catalog-backend-module-ldap/package.json | 8 +- .../CHANGELOG.md | 9 + .../package.json | 12 +- .../CHANGELOG.md | 9 + .../package.json | 12 +- plugins/catalog-backend/CHANGELOG.md | 11 + plugins/catalog-backend/package.json | 18 +- plugins/catalog-common/package.json | 2 +- plugins/catalog-customized/CHANGELOG.md | 9 + plugins/catalog-customized/package.json | 6 +- plugins/catalog-graph/CHANGELOG.md | 9 + plugins/catalog-graph/package.json | 18 +- plugins/catalog-graphql/package.json | 4 +- plugins/catalog-import/CHANGELOG.md | 11 + plugins/catalog-import/package.json | 20 +- plugins/catalog-node/CHANGELOG.md | 7 + plugins/catalog-node/package.json | 8 +- plugins/catalog-react/CHANGELOG.md | 10 + plugins/catalog-react/package.json | 16 +- plugins/catalog/CHANGELOG.md | 25 + plugins/catalog/package.json | 22 +- .../CHANGELOG.md | 8 + .../package.json | 8 +- plugins/cicd-statistics/CHANGELOG.md | 9 + plugins/cicd-statistics/package.json | 6 +- plugins/circleci/CHANGELOG.md | 9 + plugins/circleci/package.json | 16 +- plugins/cloudbuild/CHANGELOG.md | 9 + plugins/cloudbuild/package.json | 16 +- plugins/code-climate/CHANGELOG.md | 10 + plugins/code-climate/package.json | 14 +- plugins/code-coverage-backend/CHANGELOG.md | 8 + plugins/code-coverage-backend/package.json | 8 +- plugins/code-coverage/CHANGELOG.md | 9 + plugins/code-coverage/package.json | 16 +- plugins/codescene/CHANGELOG.md | 8 + plugins/codescene/package.json | 14 +- plugins/config-schema/CHANGELOG.md | 8 + plugins/config-schema/package.json | 14 +- plugins/cost-insights-common/package.json | 2 +- plugins/cost-insights/CHANGELOG.md | 8 + plugins/cost-insights/package.json | 14 +- plugins/dynatrace/CHANGELOG.md | 9 + plugins/dynatrace/package.json | 16 +- .../example-todo-list-backend/CHANGELOG.md | 8 + .../example-todo-list-backend/package.json | 8 +- plugins/example-todo-list-common/package.json | 8 +- plugins/example-todo-list/CHANGELOG.md | 8 + plugins/example-todo-list/package.json | 14 +- plugins/explore-react/CHANGELOG.md | 7 + plugins/explore-react/package.json | 10 +- plugins/explore/CHANGELOG.md | 10 + plugins/explore/package.json | 18 +- plugins/firehydrant/CHANGELOG.md | 9 + plugins/firehydrant/package.json | 16 +- plugins/fossa/CHANGELOG.md | 9 + plugins/fossa/package.json | 16 +- plugins/gcalendar/CHANGELOG.md | 8 + plugins/gcalendar/package.json | 14 +- plugins/gcp-projects/CHANGELOG.md | 8 + plugins/gcp-projects/package.json | 14 +- plugins/git-release-manager/CHANGELOG.md | 9 + plugins/git-release-manager/package.json | 16 +- plugins/github-actions/CHANGELOG.md | 10 + plugins/github-actions/package.json | 18 +- plugins/github-deployments/CHANGELOG.md | 11 + plugins/github-deployments/package.json | 20 +- .../github-pull-requests-board/CHANGELOG.md | 11 + .../github-pull-requests-board/package.json | 16 +- plugins/gitops-profiles/CHANGELOG.md | 8 + plugins/gitops-profiles/package.json | 14 +- plugins/gocd/CHANGELOG.md | 10 + plugins/gocd/package.json | 16 +- plugins/graphiql/CHANGELOG.md | 8 + plugins/graphiql/package.json | 14 +- plugins/graphql-backend/CHANGELOG.md | 7 + plugins/graphql-backend/package.json | 6 +- plugins/home/CHANGELOG.md | 10 + plugins/home/package.json | 18 +- plugins/ilert/CHANGELOG.md | 9 + plugins/ilert/package.json | 16 +- plugins/jenkins-backend/CHANGELOG.md | 8 + plugins/jenkins-backend/package.json | 8 +- plugins/jenkins-common/package.json | 2 +- plugins/jenkins/CHANGELOG.md | 9 + plugins/jenkins/package.json | 16 +- plugins/kafka-backend/CHANGELOG.md | 7 + plugins/kafka-backend/package.json | 6 +- plugins/kafka/CHANGELOG.md | 10 + plugins/kafka/package.json | 16 +- plugins/kubernetes-backend/CHANGELOG.md | 9 + plugins/kubernetes-backend/package.json | 8 +- plugins/kubernetes-common/package.json | 2 +- plugins/kubernetes/CHANGELOG.md | 9 + plugins/kubernetes/package.json | 16 +- plugins/lighthouse/CHANGELOG.md | 9 + plugins/lighthouse/package.json | 16 +- plugins/newrelic-dashboard/CHANGELOG.md | 9 + plugins/newrelic-dashboard/package.json | 12 +- plugins/newrelic/CHANGELOG.md | 8 + plugins/newrelic/package.json | 14 +- plugins/org/CHANGELOG.md | 9 + plugins/org/package.json | 16 +- plugins/pagerduty/CHANGELOG.md | 9 + plugins/pagerduty/package.json | 16 +- plugins/periskop-backend/CHANGELOG.md | 7 + plugins/periskop-backend/package.json | 6 +- plugins/periskop/CHANGELOG.md | 10 + plugins/periskop/package.json | 16 +- plugins/permission-backend/CHANGELOG.md | 9 + plugins/permission-backend/package.json | 10 +- plugins/permission-common/package.json | 2 +- plugins/permission-node/CHANGELOG.md | 8 + plugins/permission-node/package.json | 8 +- plugins/permission-react/CHANGELOG.md | 7 + plugins/permission-react/package.json | 8 +- plugins/proxy-backend/CHANGELOG.md | 7 + plugins/proxy-backend/package.json | 6 +- plugins/rollbar-backend/CHANGELOG.md | 7 + plugins/rollbar-backend/package.json | 8 +- plugins/rollbar/CHANGELOG.md | 9 + plugins/rollbar/package.json | 16 +- .../CHANGELOG.md | 9 + .../package.json | 10 +- .../CHANGELOG.md | 9 + .../package.json | 10 +- .../CHANGELOG.md | 7 + .../package.json | 6 +- plugins/scaffolder-backend/CHANGELOG.md | 20 + plugins/scaffolder-backend/package.json | 16 +- plugins/scaffolder-common/package.json | 2 +- plugins/scaffolder/CHANGELOG.md | 12 + plugins/scaffolder/package.json | 24 +- .../CHANGELOG.md | 7 + .../package.json | 8 +- plugins/search-backend-module-pg/CHANGELOG.md | 8 + plugins/search-backend-module-pg/package.json | 10 +- plugins/search-backend-node/CHANGELOG.md | 8 + plugins/search-backend-node/package.json | 10 +- plugins/search-backend/CHANGELOG.md | 10 + plugins/search-backend/package.json | 12 +- plugins/search-common/package.json | 2 +- plugins/search-react/CHANGELOG.md | 8 + plugins/search-react/package.json | 10 +- plugins/search/CHANGELOG.md | 10 + plugins/search/package.json | 18 +- plugins/sentry/CHANGELOG.md | 10 + plugins/sentry/package.json | 16 +- plugins/shortcuts/CHANGELOG.md | 21 + plugins/shortcuts/package.json | 14 +- plugins/sonarqube/CHANGELOG.md | 9 + plugins/sonarqube/package.json | 16 +- plugins/splunk-on-call/CHANGELOG.md | 10 + plugins/splunk-on-call/package.json | 16 +- plugins/stack-overflow-backend/CHANGELOG.md | 6 + plugins/stack-overflow-backend/package.json | 2 +- plugins/stack-overflow/CHANGELOG.md | 9 + plugins/stack-overflow/package.json | 16 +- .../CHANGELOG.md | 9 + .../package.json | 10 +- plugins/tech-insights-backend/CHANGELOG.md | 10 + plugins/tech-insights-backend/package.json | 14 +- plugins/tech-insights-common/CHANGELOG.md | 6 + plugins/tech-insights-common/package.json | 4 +- plugins/tech-insights-node/CHANGELOG.md | 9 + plugins/tech-insights-node/package.json | 8 +- plugins/tech-insights/CHANGELOG.md | 10 + plugins/tech-insights/package.json | 18 +- plugins/tech-radar/CHANGELOG.md | 8 + plugins/tech-radar/package.json | 14 +- .../techdocs-addons-test-utils/CHANGELOG.md | 15 + .../techdocs-addons-test-utils/package.json | 24 +- plugins/techdocs-backend/CHANGELOG.md | 9 + plugins/techdocs-backend/package.json | 14 +- .../CHANGELOG.md | 11 + .../package.json | 22 +- plugins/techdocs-node/CHANGELOG.md | 12 + plugins/techdocs-node/package.json | 8 +- plugins/techdocs-react/CHANGELOG.md | 8 + plugins/techdocs-react/package.json | 8 +- plugins/techdocs/CHANGELOG.md | 14 + plugins/techdocs/package.json | 24 +- plugins/todo-backend/CHANGELOG.md | 8 + plugins/todo-backend/package.json | 8 +- plugins/todo/CHANGELOG.md | 9 + plugins/todo/package.json | 16 +- plugins/user-settings/CHANGELOG.md | 8 + plugins/user-settings/package.json | 14 +- plugins/vault-backend/CHANGELOG.md | 9 + plugins/vault-backend/package.json | 10 +- plugins/vault/CHANGELOG.md | 9 + plugins/vault/package.json | 16 +- plugins/xcmetrics/CHANGELOG.md | 9 + plugins/xcmetrics/package.json | 14 +- yarn.lock | 291 +++- 306 files changed, 4054 insertions(+), 1056 deletions(-) create mode 100644 .changeset/create-app-1658824524.md create mode 100644 docs/releases/v1.5.0-next.0-changelog.md create mode 100644 plugins/catalog-customized/CHANGELOG.md diff --git a/.changeset/create-app-1658824524.md b/.changeset/create-app-1658824524.md new file mode 100644 index 0000000000..b50d431d4b --- /dev/null +++ b/.changeset/create-app-1658824524.md @@ -0,0 +1,5 @@ +--- +'@backstage/create-app': patch +--- + +Bumped create-app version. diff --git a/.changeset/pre.json b/.changeset/pre.json index e6935ffd67..6af2afaf45 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -164,7 +164,36 @@ "@backstage/plugin-user-settings": "0.4.6", "@backstage/plugin-vault": "0.1.1", "@backstage/plugin-vault-backend": "0.2.0", - "@backstage/plugin-xcmetrics": "0.2.27" + "@backstage/plugin-xcmetrics": "0.2.27", + "@internal/plugin-catalog-customized": "0.0.0" }, - "changesets": [] + "changesets": [ + "calm-clocks-drum", + "create-app-1658824524", + "dull-pumas-hope", + "dull-starfishes-chew", + "famous-bikes-brush", + "fast-panthers-fold", + "few-berries-deny", + "fresh-hounds-argue", + "friendly-sheep-flash", + "khaki-meals-hammer", + "loud-panthers-arrive", + "metal-points-itch", + "mighty-penguins-tap", + "modern-shrimps-wave", + "nine-mails-crash", + "odd-adults-smash", + "olive-tips-camp", + "pretty-gifts-do", + "purple-apricots-build", + "renovate-15030f1", + "renovate-5b7b62b", + "short-trains-roll", + "silver-poets-push", + "strange-crabs-confess", + "thick-readers-invite", + "violet-mayflies-mix", + "violet-trees-play" + ] } diff --git a/docs/releases/v1.5.0-next.0-changelog.md b/docs/releases/v1.5.0-next.0-changelog.md new file mode 100644 index 0000000000..72ca02de50 --- /dev/null +++ b/docs/releases/v1.5.0-next.0-changelog.md @@ -0,0 +1,1400 @@ +# Release v1.5.0-next.0 + +## @backstage/backend-common@0.15.0-next.0 + +### Minor Changes + +- 12e9b54f0e: Added back support for when no branch is provided to the `UrlReader` for Bitbucket Server +- 30012e7d8c: - Added `force` and `remoteRef` option to `push` method in `git` actions + - Added `addRemote` and `deleteRemote` methods to `git` actions + +### Patch Changes + +- fc8a5f797b: Improve `scm/git` wrapper around `isomorphic-git` library : + + - Add `checkout` function, + - Add optional `remoteRef` parameter in the `push` function. + +- 3b7930b3e5: Add support for Bearer Authorization header / token-based auth at Git commands. + +- cfa078e255: The `ZipArchiveResponse` now correctly handles corrupt ZIP archives. + + Before this change, certain corrupt ZIP archives either cause the inflater to throw (as expected), or will hang the parser indefinitely. + + By switching out the `zip` parsing library, we now write to a temporary directory, and load from disk which should ensure that the parsing of the `.zip` files are done correctly because `streaming` of `zip` paths is technically impossible without being able to parse the headers at the end of the file. + +- 770d3f92c4: The config prop `ensureExists` now applies to schema creation when `pluginDivisionMode` is set to `schema`. This means schemas will no longer accidentally be automatically created when `ensureExists` is set to `false`. + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + +## @backstage/integration@1.3.0-next.0 + +### Minor Changes + +- 593dea6710: Add support for Basic Auth for Bitbucket Server. + +### Patch Changes + +- 163243a4d1: Handle incorrect return type from Octokit paginate plugin to resolve reading URLs from GitHub +- c4b460a47d: Avoid double encoding of the file path in `getBitbucketDownloadUrl` +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. + +## @backstage/plugin-catalog@1.5.0-next.0 + +### Minor Changes + +- 80da5162c7: Plugin catalog has been modified to use an experimental feature where you can customize the title of the create button. + + You can modify it by doing: + + ```typescript jsx + import { catalogPlugin } from '@backstage/plugin-catalog'; + + catalogPlugin.__experimentalReconfigure({ + createButtonTitle: 'New', + }); + ``` + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-search-react@1.0.1-next.0 + +## @backstage/plugin-scaffolder-backend@1.5.0-next.0 + +### Minor Changes + +- 593dea6710: Add support for Basic Auth for Bitbucket Server. +- 3b7930b3e5: Add support for Bearer Authorization header / token-based auth at Git commands. +- 3f1316f1c5: User Bearer Authorization header at Git commands with token-based auth at Bitbucket Server. +- eeff5046ae: Updated `publish:gitlab:merge-request` action to allow commit updates and deletes + +### Patch Changes + +- fc8a5f797b: Add a `publish:gerrit:review` scaffolder action +- 014b3b7776: Add missing `res.end()` in scaffolder backend `EventStream` usage +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-plugin-api@0.1.1-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + - @backstage/plugin-catalog-node@1.0.1-next.0 + +## @backstage/plugin-shortcuts@0.3.0-next.0 + +### Minor Changes + +- 5b769fddb5: Internal observable replaced with a mapping from the storage API. This fixes shortcuts initialization when using firestore. + + `ShortcutApi.get` method, that returns an immediate snapshot of shortcuts, made public. + + Example of how to get and observe `shortcuts`: + + ```typescript + const shortcutApi = useApi(shortcutsApiRef); + const shortcuts = useObservable(shortcutApi.shortcut$(), shortcutApi.get()); + ``` + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/app-defaults@1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-app-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-permission-react@0.4.4-next.0 + +## @backstage/backend-app-api@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/backend-plugin-api@0.1.1-next.0 + - @backstage/plugin-permission-node@0.6.4-next.0 + +## @backstage/backend-plugin-api@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + +## @backstage/backend-tasks@0.3.4-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + +## @backstage/backend-test-utils@0.1.27-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/cli@0.18.1-next.0 + +## @backstage/cli@0.18.1-next.0 + +### Patch Changes + +- a539564c0d: Added Backstage version to output of `yarn backstage-cli info` command +- 94155a41e0: Updated dependencies `@svgr/*` to `6.3.x`. + +## @backstage/core-app-api@1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + +## @backstage/core-components@0.10.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + +## @backstage/core-plugin-api@1.0.5-next.0 + +### Patch Changes + +- 80da5162c7: Introduced a new experimental feature that allows you to declare plugin-wide options for your plugin by defining + `__experimentalConfigure` in your `createPlugin` options. See for more information. + + This is an experimental feature and it will have breaking changes in the future. + +## @backstage/create-app@0.4.30-next.0 + +### Patch Changes + +- Bumped create-app version. + +## @backstage/dev-utils@1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/app-defaults@1.0.5-next.0 + - @backstage/core-app-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/test-utils@1.1.3-next.0 + +## @backstage/integration-react@1.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @techdocs/cli@1.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-techdocs-node@1.2.1-next.0 + +## @backstage/test-utils@1.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-app-api@1.0.5-next.0 + - @backstage/plugin-permission-react@0.4.4-next.0 + +## @backstage/plugin-adr@0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-adr-common@0.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-search-react@1.0.1-next.0 + +## @backstage/plugin-adr-backend@0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-adr-common@0.1.3-next.0 + +## @backstage/plugin-adr-common@0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + +## @backstage/plugin-airbrake@0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/dev-utils@1.0.5-next.0 + - @backstage/test-utils@1.1.3-next.0 + +## @backstage/plugin-airbrake-backend@0.2.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + +## @backstage/plugin-allure@0.1.24-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-analytics-module-ga@0.1.19-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-apache-airflow@0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-api-docs@0.8.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog@1.5.0-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-apollo-explorer@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-app-backend@0.3.35-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + +## @backstage/plugin-auth-backend@0.15.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + +## @backstage/plugin-auth-node@0.2.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + +## @backstage/plugin-azure-devops@0.1.24-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-azure-devops-backend@0.3.14-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + +## @backstage/plugin-badges@0.2.32-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-badges-backend@0.1.29-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + +## @backstage/plugin-bazaar@0.1.23-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog@1.5.0-next.0 + - @backstage/cli@0.18.1-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-bazaar-backend@0.1.19-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/backend-test-utils@0.1.27-next.0 + +## @backstage/plugin-bitbucket-cloud-common@0.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + +## @backstage/plugin-bitrise@0.1.35-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-catalog-backend@1.3.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-plugin-api@0.1.1-next.0 + - @backstage/plugin-catalog-node@1.0.1-next.0 + - @backstage/plugin-permission-node@0.6.4-next.0 + +## @backstage/plugin-catalog-backend-module-aws@0.1.8-next.0 + +### Patch Changes + +- 17d45dbf10: Deprecate `AwsS3DiscoveryProcessor` in favor of `AwsS3EntityProvider` (since v0.1.4). + + You can find a migration guide at + [the release notes for v0.1.4](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-aws/CHANGELOG.md#014). + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + +## @backstage/plugin-catalog-backend-module-azure@0.1.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + +## @backstage/plugin-catalog-backend-module-bitbucket@0.2.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.1.2-next.0 + +## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.1.2-next.0 + +## @backstage/plugin-catalog-backend-module-gerrit@0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + +## @backstage/plugin-catalog-backend-module-github@0.1.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + +## @backstage/plugin-catalog-backend-module-gitlab@0.1.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + +## @backstage/plugin-catalog-backend-module-ldap@0.5.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + +## @backstage/plugin-catalog-backend-module-msgraph@0.4.1-next.0 + +### Patch Changes + +- b1995df9f3: Adjust references in deprecation warnings to point to stable URL/document. +- Updated dependencies + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + +## @backstage/plugin-catalog-backend-module-openapi@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + +## @backstage/plugin-catalog-graph@0.2.20-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-catalog-import@0.8.11-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-catalog-node@1.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.1.1-next.0 + +## @backstage/plugin-catalog-react@1.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-permission-react@0.4.4-next.0 + +## @backstage/plugin-cicd-statistics@0.1.10-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + +## @backstage/plugin-cicd-statistics-module-gitlab@0.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-cicd-statistics@0.1.10-next.0 + +## @backstage/plugin-circleci@0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-cloudbuild@0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-code-climate@0.1.8-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-code-coverage@0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-code-coverage-backend@0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + +## @backstage/plugin-codescene@0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-config-schema@0.1.31-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-cost-insights@0.11.30-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-dynatrace@0.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-explore@0.3.39-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-explore-react@0.0.20-next.0 + +## @backstage/plugin-explore-react@0.0.20-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + +## @backstage/plugin-firehydrant@0.1.25-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-fossa@0.2.40-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-gcalendar@0.3.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-gcp-projects@0.3.27-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-git-release-manager@0.3.21-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-github-actions@0.5.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-github-deployments@0.1.39-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-github-pull-requests-board@0.1.2-next.0 + +### Patch Changes + +- 73268a67ff: Fixed rendering when PR contains references to deleted Github accounts +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-gitops-profiles@0.3.26-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-gocd@0.1.14-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-graphiql@0.2.40-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-graphql-backend@0.1.25-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + +## @backstage/plugin-home@0.4.24-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-stack-overflow@0.1.4-next.0 + +## @backstage/plugin-ilert@0.1.34-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-jenkins@0.7.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-jenkins-backend@0.1.25-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + +## @backstage/plugin-kafka@0.3.8-next.0 + +### Patch Changes + +- bde245f0bf: Add dashboard URL feature and fix minor styling issues. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-kafka-backend@0.2.28-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + +## @backstage/plugin-kubernetes@0.7.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-kubernetes-backend@0.7.1-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + +## @backstage/plugin-lighthouse@0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-newrelic@0.3.26-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-newrelic-dashboard@0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-org@0.5.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-pagerduty@0.5.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-periskop@0.1.6-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-periskop-backend@0.1.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + +## @backstage/plugin-permission-backend@0.5.10-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + - @backstage/plugin-permission-node@0.6.4-next.0 + +## @backstage/plugin-permission-node@0.6.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + +## @backstage/plugin-permission-react@0.4.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + +## @backstage/plugin-proxy-backend@0.2.29-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + +## @backstage/plugin-rollbar@0.4.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-rollbar-backend@0.1.32-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + +## @backstage/plugin-scaffolder@1.4.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-permission-react@0.4.4-next.0 + +## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.10-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-scaffolder-backend@1.5.0-next.0 + +## @backstage/plugin-scaffolder-backend-module-rails@0.4.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-scaffolder-backend@1.5.0-next.0 + +## @backstage/plugin-scaffolder-backend-module-yeoman@0.2.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.5.0-next.0 + +## @backstage/plugin-search@1.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-search-react@1.0.1-next.0 + +## @backstage/plugin-search-backend@1.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + - @backstage/plugin-permission-node@0.6.4-next.0 + - @backstage/plugin-search-backend-node@1.0.1-next.0 + +## @backstage/plugin-search-backend-module-elasticsearch@1.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.1-next.0 + +## @backstage/plugin-search-backend-module-pg@0.3.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-search-backend-node@1.0.1-next.0 + +## @backstage/plugin-search-backend-node@1.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + +## @backstage/plugin-search-react@1.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-sentry@0.4.1-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-sonarqube@0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-splunk-on-call@0.3.32-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-stack-overflow@0.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-home@0.4.24-next.0 + +## @backstage/plugin-stack-overflow-backend@0.1.4-next.0 + +### Patch Changes + +- ea5631a8b2: Added API key as separate configuration + +## @backstage/plugin-tech-insights@0.2.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-tech-insights-common@0.2.6-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-tech-insights-backend@0.5.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-tech-insights-common@0.2.6-next.0 + - @backstage/plugin-tech-insights-node@0.3.3-next.0 + +## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.19-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-tech-insights-common@0.2.6-next.0 + - @backstage/plugin-tech-insights-node@0.3.3-next.0 + +## @backstage/plugin-tech-insights-common@0.2.6-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. + +## @backstage/plugin-tech-insights-node@0.3.3-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-tech-insights-common@0.2.6-next.0 + +## @backstage/plugin-tech-radar@0.5.15-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-techdocs@1.3.1-next.0 + +### Patch Changes + +- 7a98c73dc8: Fixed techdocs sidebar layout bug for medium devices. +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-search-react@1.0.1-next.0 + - @backstage/plugin-techdocs-react@1.0.3-next.0 + +## @backstage/plugin-techdocs-addons-test-utils@1.0.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog@1.5.0-next.0 + - @backstage/plugin-techdocs@1.3.1-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/core-app-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/test-utils@1.1.3-next.0 + - @backstage/plugin-search-react@1.0.1-next.0 + - @backstage/plugin-techdocs-react@1.0.3-next.0 + +## @backstage/plugin-techdocs-backend@1.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-techdocs-node@1.2.1-next.0 + +## @backstage/plugin-techdocs-module-addons-contrib@1.0.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-techdocs-react@1.0.3-next.0 + +## @backstage/plugin-techdocs-node@1.2.1-next.0 + +### Patch Changes + +- c8196bd37d: Fix AWS S3 404 NotFound error + + When reading an object from the S3 bucket through a stream, the aws-sdk getObject() API may throw a 404 NotFound Error with no error message or, in fact, any sort of HTTP-layer error responses. These fail the @backstage/error's assertError() checks, so they must be wrapped. The test for this case was also updated to match the wrapped error message. + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + +## @backstage/plugin-techdocs-react@1.0.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-todo@0.2.10-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-todo-backend@0.1.32-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + +## @backstage/plugin-user-settings@0.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-vault@0.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @backstage/plugin-vault-backend@0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/backend-test-utils@0.1.27-next.0 + +## @backstage/plugin-xcmetrics@0.2.28-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## example-app@0.2.74-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-techdocs@1.3.1-next.0 + - @backstage/cli@0.18.1-next.0 + - @backstage/plugin-kafka@0.3.8-next.0 + - @backstage/plugin-gocd@0.1.14-next.0 + - @backstage/plugin-sentry@0.4.1-next.0 + - @backstage/plugin-shortcuts@0.3.0-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-import@0.8.11-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/plugin-github-actions@0.5.8-next.0 + - @backstage/plugin-scaffolder@1.4.1-next.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.0.3-next.0 + - @backstage/app-defaults@1.0.5-next.0 + - @backstage/core-app-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-airbrake@0.3.8-next.0 + - @backstage/plugin-apache-airflow@0.2.1-next.0 + - @backstage/plugin-api-docs@0.8.8-next.0 + - @backstage/plugin-azure-devops@0.1.24-next.0 + - @backstage/plugin-badges@0.2.32-next.0 + - @backstage/plugin-catalog-graph@0.2.20-next.0 + - @backstage/plugin-circleci@0.3.8-next.0 + - @backstage/plugin-cloudbuild@0.3.8-next.0 + - @backstage/plugin-code-coverage@0.2.1-next.0 + - @backstage/plugin-cost-insights@0.11.30-next.0 + - @backstage/plugin-dynatrace@0.1.2-next.0 + - @backstage/plugin-explore@0.3.39-next.0 + - @backstage/plugin-gcalendar@0.3.4-next.0 + - @backstage/plugin-gcp-projects@0.3.27-next.0 + - @backstage/plugin-graphiql@0.2.40-next.0 + - @backstage/plugin-home@0.4.24-next.0 + - @backstage/plugin-jenkins@0.7.7-next.0 + - @backstage/plugin-kubernetes@0.7.1-next.0 + - @backstage/plugin-lighthouse@0.3.8-next.0 + - @backstage/plugin-newrelic@0.3.26-next.0 + - @backstage/plugin-newrelic-dashboard@0.2.1-next.0 + - @backstage/plugin-org@0.5.8-next.0 + - @backstage/plugin-pagerduty@0.5.1-next.0 + - @backstage/plugin-permission-react@0.4.4-next.0 + - @backstage/plugin-rollbar@0.4.8-next.0 + - @backstage/plugin-search@1.0.1-next.0 + - @backstage/plugin-search-react@1.0.1-next.0 + - @backstage/plugin-stack-overflow@0.1.4-next.0 + - @backstage/plugin-tech-insights@0.2.4-next.0 + - @backstage/plugin-tech-radar@0.5.15-next.0 + - @backstage/plugin-techdocs-react@1.0.3-next.0 + - @backstage/plugin-todo@0.2.10-next.0 + - @backstage/plugin-user-settings@0.4.7-next.0 + - @internal/plugin-catalog-customized@0.0.1-next.0 + +## example-backend@0.2.74-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-scaffolder-backend@1.5.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-kubernetes-backend@0.7.1-next.0 + - @backstage/plugin-tech-insights-node@0.3.3-next.0 + - @backstage/plugin-app-backend@0.3.35-next.0 + - @backstage/plugin-auth-backend@0.15.1-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + - @backstage/plugin-azure-devops-backend@0.3.14-next.0 + - @backstage/plugin-badges-backend@0.1.29-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + - @backstage/plugin-code-coverage-backend@0.2.1-next.0 + - @backstage/plugin-graphql-backend@0.1.25-next.0 + - @backstage/plugin-jenkins-backend@0.1.25-next.0 + - @backstage/plugin-kafka-backend@0.2.28-next.0 + - @backstage/plugin-permission-backend@0.5.10-next.0 + - @backstage/plugin-permission-node@0.6.4-next.0 + - @backstage/plugin-proxy-backend@0.2.29-next.0 + - @backstage/plugin-rollbar-backend@0.1.32-next.0 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.3-next.0 + - @backstage/plugin-search-backend@1.0.1-next.0 + - @backstage/plugin-search-backend-module-elasticsearch@1.0.1-next.0 + - @backstage/plugin-search-backend-module-pg@0.3.6-next.0 + - @backstage/plugin-search-backend-node@1.0.1-next.0 + - @backstage/plugin-tech-insights-backend@0.5.1-next.0 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.19-next.0 + - @backstage/plugin-techdocs-backend@1.2.1-next.0 + - @backstage/plugin-todo-backend@0.1.32-next.0 + - example-app@0.2.74-next.0 + +## example-backend-next@0.0.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.5.0-next.0 + - @backstage/backend-app-api@0.1.1-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + +## techdocs-cli-embedded-app@0.2.73-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog@1.5.0-next.0 + - @backstage/plugin-techdocs@1.3.1-next.0 + - @backstage/cli@0.18.1-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/app-defaults@1.0.5-next.0 + - @backstage/core-app-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/test-utils@1.1.3-next.0 + - @backstage/plugin-techdocs-react@1.0.3-next.0 + +## @internal/plugin-catalog-customized@0.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog@1.5.0-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + +## @internal/plugin-todo-list@1.0.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + +## @internal/plugin-todo-list-backend@1.0.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 diff --git a/package.json b/package.json index 7995eeda30..8c8c643879 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@types/react": "^17", "@types/react-dom": "^17" }, - "version": "1.4.0", + "version": "1.5.0-next.0", "dependencies": { "@manypkg/get-packages": "^1.1.3", "@microsoft/api-documenter": "^7.17.11", diff --git a/packages/app-defaults/CHANGELOG.md b/packages/app-defaults/CHANGELOG.md index a0c63e710d..8d7b236eb5 100644 --- a/packages/app-defaults/CHANGELOG.md +++ b/packages/app-defaults/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/app-defaults +## 1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-app-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-permission-react@0.4.4-next.0 + ## 1.0.4 ### Patch Changes diff --git a/packages/app-defaults/package.json b/packages/app-defaults/package.json index fcfaf06b91..f941aeb5a9 100644 --- a/packages/app-defaults/package.json +++ b/packages/app-defaults/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/app-defaults", "description": "Provides the default wiring of a Backstage App", - "version": "1.0.4", + "version": "1.0.5-next.0", "private": false, "publishConfig": { "access": "public", @@ -33,10 +33,10 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-permission-react": "^0.4.3", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-permission-react": "^0.4.4-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -46,8 +46,8 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@types/jest": "^26.0.7", diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index 083a6cd3f0..2f4c0e7bff 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -1,5 +1,61 @@ # example-app +## 0.2.74-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-techdocs@1.3.1-next.0 + - @backstage/cli@0.18.1-next.0 + - @backstage/plugin-kafka@0.3.8-next.0 + - @backstage/plugin-gocd@0.1.14-next.0 + - @backstage/plugin-sentry@0.4.1-next.0 + - @backstage/plugin-shortcuts@0.3.0-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-import@0.8.11-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/plugin-github-actions@0.5.8-next.0 + - @backstage/plugin-scaffolder@1.4.1-next.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.0.3-next.0 + - @backstage/app-defaults@1.0.5-next.0 + - @backstage/core-app-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-airbrake@0.3.8-next.0 + - @backstage/plugin-apache-airflow@0.2.1-next.0 + - @backstage/plugin-api-docs@0.8.8-next.0 + - @backstage/plugin-azure-devops@0.1.24-next.0 + - @backstage/plugin-badges@0.2.32-next.0 + - @backstage/plugin-catalog-graph@0.2.20-next.0 + - @backstage/plugin-circleci@0.3.8-next.0 + - @backstage/plugin-cloudbuild@0.3.8-next.0 + - @backstage/plugin-code-coverage@0.2.1-next.0 + - @backstage/plugin-cost-insights@0.11.30-next.0 + - @backstage/plugin-dynatrace@0.1.2-next.0 + - @backstage/plugin-explore@0.3.39-next.0 + - @backstage/plugin-gcalendar@0.3.4-next.0 + - @backstage/plugin-gcp-projects@0.3.27-next.0 + - @backstage/plugin-graphiql@0.2.40-next.0 + - @backstage/plugin-home@0.4.24-next.0 + - @backstage/plugin-jenkins@0.7.7-next.0 + - @backstage/plugin-kubernetes@0.7.1-next.0 + - @backstage/plugin-lighthouse@0.3.8-next.0 + - @backstage/plugin-newrelic@0.3.26-next.0 + - @backstage/plugin-newrelic-dashboard@0.2.1-next.0 + - @backstage/plugin-org@0.5.8-next.0 + - @backstage/plugin-pagerduty@0.5.1-next.0 + - @backstage/plugin-permission-react@0.4.4-next.0 + - @backstage/plugin-rollbar@0.4.8-next.0 + - @backstage/plugin-search@1.0.1-next.0 + - @backstage/plugin-search-react@1.0.1-next.0 + - @backstage/plugin-stack-overflow@0.1.4-next.0 + - @backstage/plugin-tech-insights@0.2.4-next.0 + - @backstage/plugin-tech-radar@0.5.15-next.0 + - @backstage/plugin-techdocs-react@1.0.3-next.0 + - @backstage/plugin-todo@0.2.10-next.0 + - @backstage/plugin-user-settings@0.4.7-next.0 + - @internal/plugin-catalog-customized@0.0.1-next.0 + ## 0.2.73 ### Patch Changes diff --git a/packages/app/package.json b/packages/app/package.json index 306f91508b..738dbc2246 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,65 +1,65 @@ { "name": "example-app", - "version": "0.2.73", + "version": "0.2.74-next.0", "private": true, "backstage": { "role": "frontend" }, "bundled": true, "dependencies": { - "@backstage/app-defaults": "^1.0.4", + "@backstage/app-defaults": "^1.0.5-next.0", "@backstage/catalog-model": "^1.1.0", - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@backstage/config": "^1.0.1", - "@backstage/core-app-api": "^1.0.4", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/integration-react": "^1.1.2", - "@backstage/plugin-airbrake": "^0.3.7", - "@backstage/plugin-api-docs": "^0.8.7", - "@backstage/plugin-azure-devops": "^0.1.23", - "@backstage/plugin-apache-airflow": "^0.2.0", - "@backstage/plugin-badges": "^0.2.31", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/integration-react": "^1.1.3-next.0", + "@backstage/plugin-airbrake": "^0.3.8-next.0", + "@backstage/plugin-api-docs": "^0.8.8-next.0", + "@backstage/plugin-azure-devops": "^0.1.24-next.0", + "@backstage/plugin-apache-airflow": "^0.2.1-next.0", + "@backstage/plugin-badges": "^0.2.32-next.0", "@backstage/plugin-catalog-common": "^1.0.4", - "@backstage/plugin-catalog-graph": "^0.2.19", - "@backstage/plugin-catalog-import": "^0.8.10", - "@backstage/plugin-catalog-react": "^1.1.2", - "@backstage/plugin-circleci": "^0.3.7", - "@backstage/plugin-cloudbuild": "^0.3.7", - "@backstage/plugin-code-coverage": "^0.2.0", - "@backstage/plugin-cost-insights": "^0.11.29", - "@backstage/plugin-dynatrace": "^0.1.1", - "@backstage/plugin-explore": "^0.3.38", - "@backstage/plugin-gcalendar": "^0.3.3", - "@backstage/plugin-gcp-projects": "^0.3.26", - "@backstage/plugin-github-actions": "^0.5.7", - "@backstage/plugin-gocd": "^0.1.13", - "@backstage/plugin-graphiql": "^0.2.39", - "@backstage/plugin-home": "^0.4.23", - "@backstage/plugin-jenkins": "^0.7.6", - "@backstage/plugin-kafka": "^0.3.7", - "@backstage/plugin-kubernetes": "^0.7.0", - "@backstage/plugin-lighthouse": "^0.3.7", - "@backstage/plugin-newrelic": "^0.3.25", - "@backstage/plugin-newrelic-dashboard": "^0.2.0", - "@backstage/plugin-org": "^0.5.7", - "@backstage/plugin-pagerduty": "0.5.0", - "@backstage/plugin-permission-react": "^0.4.3", - "@backstage/plugin-rollbar": "^0.4.7", - "@backstage/plugin-scaffolder": "^1.4.0", - "@backstage/plugin-search": "^1.0.0", + "@backstage/plugin-catalog-graph": "^0.2.20-next.0", + "@backstage/plugin-catalog-import": "^0.8.11-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", + "@backstage/plugin-circleci": "^0.3.8-next.0", + "@backstage/plugin-cloudbuild": "^0.3.8-next.0", + "@backstage/plugin-code-coverage": "^0.2.1-next.0", + "@backstage/plugin-cost-insights": "^0.11.30-next.0", + "@backstage/plugin-dynatrace": "^0.1.2-next.0", + "@backstage/plugin-explore": "^0.3.39-next.0", + "@backstage/plugin-gcalendar": "^0.3.4-next.0", + "@backstage/plugin-gcp-projects": "^0.3.27-next.0", + "@backstage/plugin-github-actions": "^0.5.8-next.0", + "@backstage/plugin-gocd": "^0.1.14-next.0", + "@backstage/plugin-graphiql": "^0.2.40-next.0", + "@backstage/plugin-home": "^0.4.24-next.0", + "@backstage/plugin-jenkins": "^0.7.7-next.0", + "@backstage/plugin-kafka": "^0.3.8-next.0", + "@backstage/plugin-kubernetes": "^0.7.1-next.0", + "@backstage/plugin-lighthouse": "^0.3.8-next.0", + "@backstage/plugin-newrelic": "^0.3.26-next.0", + "@backstage/plugin-newrelic-dashboard": "^0.2.1-next.0", + "@backstage/plugin-org": "^0.5.8-next.0", + "@backstage/plugin-pagerduty": "0.5.1-next.0", + "@backstage/plugin-permission-react": "^0.4.4-next.0", + "@backstage/plugin-rollbar": "^0.4.8-next.0", + "@backstage/plugin-scaffolder": "^1.4.1-next.0", + "@backstage/plugin-search": "^1.0.1-next.0", "@backstage/plugin-search-common": "^1.0.0", - "@backstage/plugin-search-react": "^1.0.0", - "@backstage/plugin-sentry": "^0.4.0", - "@backstage/plugin-shortcuts": "^0.2.8", - "@backstage/plugin-stack-overflow": "^0.1.3", - "@backstage/plugin-tech-insights": "^0.2.3", - "@backstage/plugin-tech-radar": "^0.5.14", - "@backstage/plugin-techdocs": "^1.3.0", - "@backstage/plugin-techdocs-module-addons-contrib": "^1.0.2", - "@backstage/plugin-techdocs-react": "^1.0.2", - "@backstage/plugin-todo": "^0.2.9", - "@backstage/plugin-user-settings": "^0.4.6", + "@backstage/plugin-search-react": "^1.0.1-next.0", + "@backstage/plugin-sentry": "^0.4.1-next.0", + "@backstage/plugin-shortcuts": "^0.3.0-next.0", + "@backstage/plugin-stack-overflow": "^0.1.4-next.0", + "@backstage/plugin-tech-insights": "^0.2.4-next.0", + "@backstage/plugin-tech-radar": "^0.5.15-next.0", + "@backstage/plugin-techdocs": "^1.3.1-next.0", + "@backstage/plugin-techdocs-module-addons-contrib": "^1.0.3-next.0", + "@backstage/plugin-techdocs-react": "^1.0.3-next.0", + "@backstage/plugin-todo": "^0.2.10-next.0", + "@backstage/plugin-user-settings": "^0.4.7-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -69,7 +69,7 @@ "@roadiehq/backstage-plugin-github-insights": "^2.0.0", "@roadiehq/backstage-plugin-github-pull-requests": "^2.0.0", "@roadiehq/backstage-plugin-travis-ci": "^2.0.0", - "@internal/plugin-catalog-customized": "0.0.0", + "@internal/plugin-catalog-customized": "0.0.1-next.0", "history": "^5.0.0", "prop-types": "^15.7.2", "react": "^17.0.2", @@ -81,7 +81,7 @@ "zen-observable": "^0.8.15" }, "devDependencies": { - "@backstage/test-utils": "^1.1.2", + "@backstage/test-utils": "^1.1.3-next.0", "@rjsf/core": "^3.2.1", "@testing-library/cypress": "^8.0.2", "@testing-library/jest-dom": "^5.10.1", diff --git a/packages/backend-app-api/CHANGELOG.md b/packages/backend-app-api/CHANGELOG.md index c6a9a77b04..6794161f1d 100644 --- a/packages/backend-app-api/CHANGELOG.md +++ b/packages/backend-app-api/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/backend-app-api +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/backend-plugin-api@0.1.1-next.0 + - @backstage/plugin-permission-node@0.6.4-next.0 + ## 0.1.0 ### Minor Changes diff --git a/packages/backend-app-api/package.json b/packages/backend-app-api/package.json index 9cd3a77204..1655d9ea87 100644 --- a/packages/backend-app-api/package.json +++ b/packages/backend-app-api/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-app-api", "description": "Core API used by Backstage backend apps", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "private": false, @@ -34,16 +34,16 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-plugin-api": "^0.1.0", - "@backstage/backend-common": "^0.14.1", - "@backstage/backend-tasks": "^0.3.3", - "@backstage/plugin-permission-node": "^0.6.3", + "@backstage/backend-plugin-api": "^0.1.1-next.0", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/backend-tasks": "^0.3.4-next.0", + "@backstage/plugin-permission-node": "^0.6.4-next.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist", diff --git a/packages/backend-common/CHANGELOG.md b/packages/backend-common/CHANGELOG.md index 5c6019cb04..790bb0eedd 100644 --- a/packages/backend-common/CHANGELOG.md +++ b/packages/backend-common/CHANGELOG.md @@ -1,5 +1,32 @@ # @backstage/backend-common +## 0.15.0-next.0 + +### Minor Changes + +- 12e9b54f0e: Added back support for when no branch is provided to the `UrlReader` for Bitbucket Server +- 30012e7d8c: - Added `force` and `remoteRef` option to `push` method in `git` actions + - Added `addRemote` and `deleteRemote` methods to `git` actions + +### Patch Changes + +- fc8a5f797b: Improve `scm/git` wrapper around `isomorphic-git` library : + + - Add `checkout` function, + - Add optional `remoteRef` parameter in the `push` function. + +- 3b7930b3e5: Add support for Bearer Authorization header / token-based auth at Git commands. +- cfa078e255: The `ZipArchiveResponse` now correctly handles corrupt ZIP archives. + + Before this change, certain corrupt ZIP archives either cause the inflater to throw (as expected), or will hang the parser indefinitely. + + By switching out the `zip` parsing library, we now write to a temporary directory, and load from disk which should ensure that the parsing of the `.zip` files are done correctly because `streaming` of `zip` paths is technically impossible without being able to parse the headers at the end of the file. + +- 770d3f92c4: The config prop `ensureExists` now applies to schema creation when `pluginDivisionMode` is set to `schema`. This means schemas will no longer accidentally be automatically created when `ensureExists` is set to `false`. +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + ## 0.14.1 ### Patch Changes diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index a21f66ccfa..7a0d492638 100644 --- a/packages/backend-common/package.json +++ b/packages/backend-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-common", "description": "Common functionality library for Backstage backends", - "version": "0.14.1", + "version": "0.15.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "private": false, @@ -38,7 +38,7 @@ "@backstage/config": "^1.0.1", "@backstage/config-loader": "^1.1.3", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", + "@backstage/integration": "^1.3.0-next.0", "@backstage/types": "^1.0.0", "@google-cloud/storage": "^6.0.0", "@keyv/redis": "^2.2.3", @@ -91,8 +91,8 @@ } }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/archiver": "^5.1.0", "@types/base64-stream": "^1.0.2", "@types/compression": "^1.7.0", diff --git a/packages/backend-next/CHANGELOG.md b/packages/backend-next/CHANGELOG.md index 89a5874ee9..4226d86709 100644 --- a/packages/backend-next/CHANGELOG.md +++ b/packages/backend-next/CHANGELOG.md @@ -1,5 +1,14 @@ # example-backend-next +## 0.0.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.5.0-next.0 + - @backstage/backend-app-api@0.1.1-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + ## 0.0.1 ### Patch Changes diff --git a/packages/backend-next/package.json b/packages/backend-next/package.json index 2267166ca3..934ddd3a71 100644 --- a/packages/backend-next/package.json +++ b/packages/backend-next/package.json @@ -1,6 +1,6 @@ { "name": "example-backend-next", - "version": "0.0.1", + "version": "0.0.2-next.0", "main": "dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,12 +25,12 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-app-api": "^0.1.0", - "@backstage/plugin-catalog-backend": "^1.3.0", - "@backstage/plugin-scaffolder-backend": "^1.4.0" + "@backstage/backend-app-api": "^0.1.1-next.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", + "@backstage/plugin-scaffolder-backend": "^1.5.0-next.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist" diff --git a/packages/backend-plugin-api/CHANGELOG.md b/packages/backend-plugin-api/CHANGELOG.md index 80253439a5..f6003e3f59 100644 --- a/packages/backend-plugin-api/CHANGELOG.md +++ b/packages/backend-plugin-api/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/backend-plugin-api +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + ## 0.1.0 ### Minor Changes diff --git a/packages/backend-plugin-api/package.json b/packages/backend-plugin-api/package.json index de1e7cc802..9bb6fba154 100644 --- a/packages/backend-plugin-api/package.json +++ b/packages/backend-plugin-api/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-plugin-api", "description": "Core API used by Backstage backend plugins", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "private": false, @@ -35,16 +35,16 @@ }, "dependencies": { "@backstage/config": "^1.0.1", - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/plugin-permission-common": "^0.6.3", - "@backstage/backend-tasks": "^0.3.3", + "@backstage/backend-tasks": "^0.3.4-next.0", "@types/express": "^4.17.6", "express": "^4.17.1", "winston": "^3.2.1", "winston-transport": "^4.5.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist", diff --git a/packages/backend-tasks/CHANGELOG.md b/packages/backend-tasks/CHANGELOG.md index d48d5d5733..96e03f0232 100644 --- a/packages/backend-tasks/CHANGELOG.md +++ b/packages/backend-tasks/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/backend-tasks +## 0.3.4-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + ## 0.3.3 ### Patch Changes diff --git a/packages/backend-tasks/package.json b/packages/backend-tasks/package.json index 526a63d261..7322446c40 100644 --- a/packages/backend-tasks/package.json +++ b/packages/backend-tasks/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-tasks", "description": "Common distributed task management library for Backstage backends", - "version": "0.3.3", + "version": "0.3.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "private": false, @@ -33,7 +33,7 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", "@backstage/types": "^1.0.0", @@ -48,8 +48,8 @@ "zod": "^3.9.5" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/cron": "^2.0.0", "wait-for-expect": "^3.0.2" }, diff --git a/packages/backend-test-utils/CHANGELOG.md b/packages/backend-test-utils/CHANGELOG.md index bb8aacea7a..1b37f615ee 100644 --- a/packages/backend-test-utils/CHANGELOG.md +++ b/packages/backend-test-utils/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/backend-test-utils +## 0.1.27-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/cli@0.18.1-next.0 + ## 0.1.26 ### Patch Changes diff --git a/packages/backend-test-utils/package.json b/packages/backend-test-utils/package.json index ca862bc19b..c3ba763bd2 100644 --- a/packages/backend-test-utils/package.json +++ b/packages/backend-test-utils/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-test-utils", "description": "Test helpers library for Backstage backends", - "version": "0.1.26", + "version": "0.1.27-next.0", "main": "src/index.ts", "types": "src/index.ts", "private": false, @@ -34,8 +34,8 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/cli": "^0.18.0", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/cli": "^0.18.1-next.0", "@backstage/config": "^1.0.1", "better-sqlite3": "^7.5.0", "knex": "^2.0.0", @@ -46,7 +46,7 @@ "uuid": "^8.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist" diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md index d6c50a0807..56266d0a0e 100644 --- a/packages/backend/CHANGELOG.md +++ b/packages/backend/CHANGELOG.md @@ -1,5 +1,41 @@ # example-backend +## 0.2.74-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-scaffolder-backend@1.5.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-kubernetes-backend@0.7.1-next.0 + - @backstage/plugin-tech-insights-node@0.3.3-next.0 + - @backstage/plugin-app-backend@0.3.35-next.0 + - @backstage/plugin-auth-backend@0.15.1-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + - @backstage/plugin-azure-devops-backend@0.3.14-next.0 + - @backstage/plugin-badges-backend@0.1.29-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + - @backstage/plugin-code-coverage-backend@0.2.1-next.0 + - @backstage/plugin-graphql-backend@0.1.25-next.0 + - @backstage/plugin-jenkins-backend@0.1.25-next.0 + - @backstage/plugin-kafka-backend@0.2.28-next.0 + - @backstage/plugin-permission-backend@0.5.10-next.0 + - @backstage/plugin-permission-node@0.6.4-next.0 + - @backstage/plugin-proxy-backend@0.2.29-next.0 + - @backstage/plugin-rollbar-backend@0.1.32-next.0 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.3-next.0 + - @backstage/plugin-search-backend@1.0.1-next.0 + - @backstage/plugin-search-backend-module-elasticsearch@1.0.1-next.0 + - @backstage/plugin-search-backend-module-pg@0.3.6-next.0 + - @backstage/plugin-search-backend-node@1.0.1-next.0 + - @backstage/plugin-tech-insights-backend@0.5.1-next.0 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.19-next.0 + - @backstage/plugin-techdocs-backend@1.2.1-next.0 + - @backstage/plugin-todo-backend@0.1.32-next.0 + - example-app@0.2.74-next.0 + ## 0.2.73 ### Patch Changes diff --git a/packages/backend/package.json b/packages/backend/package.json index 4c46e41c16..415a966242 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -1,6 +1,6 @@ { "name": "example-backend", - "version": "0.2.73", + "version": "0.2.74-next.0", "main": "dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", @@ -26,40 +26,40 @@ "build-image": "docker build ../.. -f Dockerfile --tag example-backend" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/backend-tasks": "^0.3.3", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/backend-tasks": "^0.3.4-next.0", "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-app-backend": "^0.3.34", - "@backstage/plugin-auth-backend": "^0.15.0", - "@backstage/plugin-auth-node": "^0.2.3", - "@backstage/plugin-azure-devops-backend": "^0.3.13", - "@backstage/plugin-badges-backend": "^0.1.28", - "@backstage/plugin-catalog-backend": "^1.3.0", - "@backstage/plugin-code-coverage-backend": "^0.2.0", - "@backstage/plugin-graphql-backend": "^0.1.24", - "@backstage/plugin-jenkins-backend": "^0.1.24", - "@backstage/plugin-kubernetes-backend": "^0.7.0", - "@backstage/plugin-kafka-backend": "^0.2.27", - "@backstage/plugin-permission-backend": "^0.5.9", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-app-backend": "^0.3.35-next.0", + "@backstage/plugin-auth-backend": "^0.15.1-next.0", + "@backstage/plugin-auth-node": "^0.2.4-next.0", + "@backstage/plugin-azure-devops-backend": "^0.3.14-next.0", + "@backstage/plugin-badges-backend": "^0.1.29-next.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", + "@backstage/plugin-code-coverage-backend": "^0.2.1-next.0", + "@backstage/plugin-graphql-backend": "^0.1.25-next.0", + "@backstage/plugin-jenkins-backend": "^0.1.25-next.0", + "@backstage/plugin-kubernetes-backend": "^0.7.1-next.0", + "@backstage/plugin-kafka-backend": "^0.2.28-next.0", + "@backstage/plugin-permission-backend": "^0.5.10-next.0", "@backstage/plugin-permission-common": "^0.6.3", - "@backstage/plugin-permission-node": "^0.6.3", - "@backstage/plugin-proxy-backend": "^0.2.28", - "@backstage/plugin-rollbar-backend": "^0.1.31", - "@backstage/plugin-scaffolder-backend": "^1.4.0", - "@backstage/plugin-scaffolder-backend-module-rails": "^0.4.2", - "@backstage/plugin-search-backend": "^1.0.0", + "@backstage/plugin-permission-node": "^0.6.4-next.0", + "@backstage/plugin-proxy-backend": "^0.2.29-next.0", + "@backstage/plugin-rollbar-backend": "^0.1.32-next.0", + "@backstage/plugin-scaffolder-backend": "^1.5.0-next.0", + "@backstage/plugin-scaffolder-backend-module-rails": "^0.4.3-next.0", + "@backstage/plugin-search-backend": "^1.0.1-next.0", "@backstage/plugin-search-common": "^1.0.0", - "@backstage/plugin-search-backend-node": "^1.0.0", - "@backstage/plugin-search-backend-module-elasticsearch": "^1.0.0", - "@backstage/plugin-search-backend-module-pg": "^0.3.5", - "@backstage/plugin-techdocs-backend": "^1.2.0", - "@backstage/plugin-tech-insights-backend": "^0.5.0", - "@backstage/plugin-tech-insights-node": "^0.3.2", - "@backstage/plugin-tech-insights-backend-module-jsonfc": "^0.1.18", - "@backstage/plugin-todo-backend": "^0.1.31", + "@backstage/plugin-search-backend-node": "^1.0.1-next.0", + "@backstage/plugin-search-backend-module-elasticsearch": "^1.0.1-next.0", + "@backstage/plugin-search-backend-module-pg": "^0.3.6-next.0", + "@backstage/plugin-techdocs-backend": "^1.2.1-next.0", + "@backstage/plugin-tech-insights-backend": "^0.5.1-next.0", + "@backstage/plugin-tech-insights-node": "^0.3.3-next.0", + "@backstage/plugin-tech-insights-backend-module-jsonfc": "^0.1.19-next.0", + "@backstage/plugin-todo-backend": "^0.1.32-next.0", "@gitbeaker/node": "^35.1.0", "@octokit/rest": "^19.0.3", "better-sqlite3": "^7.5.0", @@ -76,7 +76,7 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/dockerode": "^3.3.0", "@types/express": "^4.17.6", "@types/express-serve-static-core": "^4.17.5", diff --git a/packages/catalog-client/package.json b/packages/catalog-client/package.json index a6c92cde77..448e5cfb83 100644 --- a/packages/catalog-client/package.json +++ b/packages/catalog-client/package.json @@ -38,7 +38,7 @@ "cross-fetch": "^3.1.5" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/jest": "^26.0.7", "msw": "^0.44.0" }, diff --git a/packages/catalog-model/package.json b/packages/catalog-model/package.json index 7c2d89c216..40eb5419b3 100644 --- a/packages/catalog-model/package.json +++ b/packages/catalog-model/package.json @@ -43,7 +43,7 @@ "uuid": "^8.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/jest": "^26.0.7", "@types/json-schema": "^7.0.5", "@types/lodash": "^4.14.151", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index c408949050..f2e1af08e1 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/cli +## 0.18.1-next.0 + +### Patch Changes + +- a539564c0d: Added Backstage version to output of `yarn backstage-cli info` command +- 94155a41e0: Updated dependencies `@svgr/*` to `6.3.x`. + ## 0.18.0 ### Minor Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 9adcf2f988..e8108f5f7d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/cli", "description": "CLI for developing Backstage plugins and apps", - "version": "0.18.0", + "version": "0.18.1-next.0", "private": false, "publishConfig": { "access": "public" @@ -126,13 +126,13 @@ "zod": "^3.11.6" }, "devDependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", - "@backstage/core-app-api": "^1.0.4", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@types/diff": "^5.0.0", "@types/express": "^4.17.6", diff --git a/packages/config/package.json b/packages/config/package.json index fc99531bb4..eebebf0b59 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -37,7 +37,7 @@ "lodash": "^4.17.21" }, "devDependencies": { - "@backstage/test-utils": "^1.1.2-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@types/jest": "^26.0.7", "@types/node": "^16.0.0" }, diff --git a/packages/core-app-api/CHANGELOG.md b/packages/core-app-api/CHANGELOG.md index d171941d87..c78206bbea 100644 --- a/packages/core-app-api/CHANGELOG.md +++ b/packages/core-app-api/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/core-app-api +## 1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + ## 1.0.4 ### Patch Changes diff --git a/packages/core-app-api/package.json b/packages/core-app-api/package.json index b770b516b3..3df868ad3d 100644 --- a/packages/core-app-api/package.json +++ b/packages/core-app-api/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/core-app-api", "description": "Core app API used by Backstage apps", - "version": "1.0.4", + "version": "1.0.5-next.0", "private": false, "publishConfig": { "access": "public", @@ -34,7 +34,7 @@ }, "dependencies": { "@backstage/config": "^1.0.1", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/types": "^1.0.0", "@backstage/version-bridge": "^1.0.1", "@types/prop-types": "^15.7.3", @@ -49,8 +49,8 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/packages/core-components/CHANGELOG.md b/packages/core-components/CHANGELOG.md index f5ba3d02b0..8edd7e8242 100644 --- a/packages/core-components/CHANGELOG.md +++ b/packages/core-components/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/core-components +## 0.10.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + ## 0.10.0 ### Minor Changes diff --git a/packages/core-components/package.json b/packages/core-components/package.json index d038a5673a..5a67fa32c3 100644 --- a/packages/core-components/package.json +++ b/packages/core-components/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/core-components", "description": "Core components used by Backstage plugins and apps", - "version": "0.10.0", + "version": "0.10.1-next.0", "private": false, "publishConfig": { "access": "public", @@ -34,7 +34,7 @@ }, "dependencies": { "@backstage/config": "^1.0.1", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", "@backstage/theme": "^0.2.16", "@backstage/version-bridge": "^1.0.1", @@ -79,9 +79,9 @@ "react-dom": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/core-app-api": "^1.0.4", - "@backstage/cli": "^0.18.0", - "@backstage/test-utils": "^1.1.2", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/packages/core-plugin-api/CHANGELOG.md b/packages/core-plugin-api/CHANGELOG.md index 6659c4670c..ce81ff83dc 100644 --- a/packages/core-plugin-api/CHANGELOG.md +++ b/packages/core-plugin-api/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/core-plugin-api +## 1.0.5-next.0 + +### Patch Changes + +- 80da5162c7: Introduced a new experimental feature that allows you to declare plugin-wide options for your plugin by defining + `__experimentalConfigure` in your `createPlugin` options. See https://backstage.io/docs/plugins/customization.md for more information. + + This is an experimental feature and it will have breaking changes in the future. + ## 1.0.4 ### Patch Changes diff --git a/packages/core-plugin-api/package.json b/packages/core-plugin-api/package.json index 4062ecf79f..fdf49e2e82 100644 --- a/packages/core-plugin-api/package.json +++ b/packages/core-plugin-api/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/core-plugin-api", "description": "Core API used by Backstage plugins", - "version": "1.0.4", + "version": "1.0.5-next.0", "private": false, "publishConfig": { "access": "public", @@ -47,9 +47,9 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/packages/create-app/CHANGELOG.md b/packages/create-app/CHANGELOG.md index 5066e917f2..adbd0c50fd 100644 --- a/packages/create-app/CHANGELOG.md +++ b/packages/create-app/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/create-app +## 0.4.30-next.0 + +### Patch Changes + +- Bumped create-app version. + ## 0.4.29 ### Patch Changes diff --git a/packages/create-app/package.json b/packages/create-app/package.json index c2179f88eb..3182e2e83a 100644 --- a/packages/create-app/package.json +++ b/packages/create-app/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/create-app", "description": "A CLI that helps you create your own Backstage app", - "version": "0.4.29", + "version": "0.4.30-next.0", "private": false, "publishConfig": { "access": "public" diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md index 9cbb309539..c6a51cc55b 100644 --- a/packages/dev-utils/CHANGELOG.md +++ b/packages/dev-utils/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/dev-utils +## 1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/app-defaults@1.0.5-next.0 + - @backstage/core-app-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/test-utils@1.1.3-next.0 + ## 1.0.4 ### Patch Changes diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index ca5c67a4bd..0e5bce2f02 100644 --- a/packages/dev-utils/package.json +++ b/packages/dev-utils/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/dev-utils", "description": "Utilities for developing Backstage plugins.", - "version": "1.0.4", + "version": "1.0.5-next.0", "private": false, "publishConfig": { "access": "public", @@ -33,14 +33,14 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/app-defaults": "^1.0.4", - "@backstage/core-app-api": "^1.0.4", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/app-defaults": "^1.0.5-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/catalog-model": "^1.1.0", - "@backstage/integration-react": "^1.1.2", - "@backstage/plugin-catalog-react": "^1.1.2", - "@backstage/test-utils": "^1.1.2", + "@backstage/integration-react": "^1.1.3-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -59,7 +59,7 @@ "react-dom": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/jest": "^26.0.7", "@types/node": "^16.0.0" }, diff --git a/packages/errors/package.json b/packages/errors/package.json index b7a8a2b517..8bd53e0848 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -38,7 +38,7 @@ "serialize-error": "^8.0.1" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/jest": "^26.0.7" }, "files": [ diff --git a/packages/integration-react/CHANGELOG.md b/packages/integration-react/CHANGELOG.md index 8800f42262..0114c5fb0b 100644 --- a/packages/integration-react/CHANGELOG.md +++ b/packages/integration-react/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/integration-react +## 1.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 1.1.2 ### Patch Changes diff --git a/packages/integration-react/package.json b/packages/integration-react/package.json index 08c70c46d1..f4d9e3a0d1 100644 --- a/packages/integration-react/package.json +++ b/packages/integration-react/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/integration-react", "description": "Frontend package for managing integrations towards external systems", - "version": "1.1.2", + "version": "1.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,9 +25,9 @@ }, "dependencies": { "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/integration": "^1.2.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/integration": "^1.3.0-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -38,9 +38,9 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/packages/integration/CHANGELOG.md b/packages/integration/CHANGELOG.md index ce075f9bba..e2487eb1fb 100644 --- a/packages/integration/CHANGELOG.md +++ b/packages/integration/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/integration +## 1.3.0-next.0 + +### Minor Changes + +- 593dea6710: Add support for Basic Auth for Bitbucket Server. + +### Patch Changes + +- 163243a4d1: Handle incorrect return type from Octokit paginate plugin to resolve reading URLs from GitHub +- c4b460a47d: Avoid double encoding of the file path in `getBitbucketDownloadUrl` +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. + ## 1.2.2 ### Patch Changes diff --git a/packages/integration/package.json b/packages/integration/package.json index e1a7919979..ade3399415 100644 --- a/packages/integration/package.json +++ b/packages/integration/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/integration", "description": "Helpers for managing integrations towards external systems", - "version": "1.2.2", + "version": "1.3.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -43,9 +43,9 @@ "lodash": "^4.17.21" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@backstage/config-loader": "^1.1.3", - "@backstage/test-utils": "^1.1.2", + "@backstage/test-utils": "^1.1.3-next.0", "@types/jest": "^26.0.7", "@types/luxon": "^3.0.0", "msw": "^0.44.0" diff --git a/packages/release-manifests/package.json b/packages/release-manifests/package.json index e075a18b19..330f89b5ac 100644 --- a/packages/release-manifests/package.json +++ b/packages/release-manifests/package.json @@ -36,7 +36,7 @@ "cross-fetch": "^3.1.5" }, "devDependencies": { - "@backstage/test-utils": "^1.1.2", + "@backstage/test-utils": "^1.1.3-next.0", "msw": "^0.44.0", "@types/jest": "^26.0.7", "@types/node": "^16.0.0" diff --git a/packages/techdocs-cli-embedded-app/CHANGELOG.md b/packages/techdocs-cli-embedded-app/CHANGELOG.md index 2360944694..1b05441c42 100644 --- a/packages/techdocs-cli-embedded-app/CHANGELOG.md +++ b/packages/techdocs-cli-embedded-app/CHANGELOG.md @@ -1,5 +1,21 @@ # techdocs-cli-embedded-app +## 0.2.73-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog@1.5.0-next.0 + - @backstage/plugin-techdocs@1.3.1-next.0 + - @backstage/cli@0.18.1-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/app-defaults@1.0.5-next.0 + - @backstage/core-app-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/test-utils@1.1.3-next.0 + - @backstage/plugin-techdocs-react@1.0.3-next.0 + ## 0.2.72 ### Patch Changes diff --git a/packages/techdocs-cli-embedded-app/package.json b/packages/techdocs-cli-embedded-app/package.json index c847fe8581..9d294b5c04 100644 --- a/packages/techdocs-cli-embedded-app/package.json +++ b/packages/techdocs-cli-embedded-app/package.json @@ -1,24 +1,24 @@ { "name": "techdocs-cli-embedded-app", - "version": "0.2.72", + "version": "0.2.73-next.0", "private": true, "backstage": { "role": "frontend" }, "bundled": true, "dependencies": { - "@backstage/app-defaults": "^1.0.4", + "@backstage/app-defaults": "^1.0.5-next.0", "@backstage/catalog-model": "^1.1.0", - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@backstage/config": "^1.0.1", - "@backstage/core-app-api": "^1.0.4", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/integration-react": "^1.1.2", - "@backstage/plugin-catalog": "^1.4.0", - "@backstage/plugin-techdocs": "^1.3.0", - "@backstage/plugin-techdocs-react": "^1.0.2", - "@backstage/test-utils": "^1.1.2", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/integration-react": "^1.1.3-next.0", + "@backstage/plugin-catalog": "^1.5.0-next.0", + "@backstage/plugin-techdocs": "^1.3.1-next.0", + "@backstage/plugin-techdocs-react": "^1.0.3-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.11.0", "@material-ui/icons": "^4.9.1", @@ -30,7 +30,7 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/packages/techdocs-cli/CHANGELOG.md b/packages/techdocs-cli/CHANGELOG.md index 59856a48fe..fe5db6db4c 100644 --- a/packages/techdocs-cli/CHANGELOG.md +++ b/packages/techdocs-cli/CHANGELOG.md @@ -1,5 +1,13 @@ # @techdocs/cli +## 1.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-techdocs-node@1.2.1-next.0 + ## 1.1.3 ### Patch Changes diff --git a/packages/techdocs-cli/package.json b/packages/techdocs-cli/package.json index 9c76240653..14e09515ea 100644 --- a/packages/techdocs-cli/package.json +++ b/packages/techdocs-cli/package.json @@ -1,7 +1,7 @@ { "name": "@techdocs/cli", "description": "Utility CLI for managing TechDocs sites in Backstage.", - "version": "1.1.3", + "version": "1.1.4-next.0", "private": false, "publishConfig": { "access": "public" @@ -37,7 +37,7 @@ "techdocs-cli": "bin/techdocs-cli" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/commander": "^2.12.2", "@types/fs-extra": "^9.0.6", "@types/http-proxy": "^1.17.4", @@ -62,11 +62,11 @@ "ext": "ts" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-model": "^1.1.0", "@backstage/cli-common": "^0.1.9", "@backstage/config": "^1.0.1", - "@backstage/plugin-techdocs-node": "^1.2.0", + "@backstage/plugin-techdocs-node": "^1.2.1-next.0", "@types/dockerode": "^3.3.0", "commander": "^9.1.0", "dockerode": "^3.3.1", diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md index 2bc4766bc9..7162c293dd 100644 --- a/packages/test-utils/CHANGELOG.md +++ b/packages/test-utils/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/test-utils +## 1.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-app-api@1.0.5-next.0 + - @backstage/plugin-permission-react@0.4.4-next.0 + ## 1.1.2 ### Patch Changes diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 5ae16fba60..d7558a8c57 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/test-utils", "description": "Utilities to test Backstage plugins and apps.", - "version": "1.1.2", + "version": "1.1.3-next.0", "private": false, "publishConfig": { "access": "public", @@ -34,10 +34,10 @@ }, "dependencies": { "@backstage/config": "^1.0.1", - "@backstage/core-app-api": "^1.0.4", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/plugin-permission-common": "^0.6.3", - "@backstage/plugin-permission-react": "^0.4.3", + "@backstage/plugin-permission-react": "^0.4.4-next.0", "@backstage/theme": "^0.2.16", "@backstage/types": "^1.0.0", "@material-ui/core": "^4.12.2", @@ -55,7 +55,7 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/jest": "^26.0.7", "@types/node": "^16.11.26", "msw": "^0.44.0" diff --git a/packages/theme/package.json b/packages/theme/package.json index 866b8e11dd..4323549ffb 100644 --- a/packages/theme/package.json +++ b/packages/theme/package.json @@ -36,7 +36,7 @@ "@material-ui/core": "^4.12.2" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist" diff --git a/packages/types/package.json b/packages/types/package.json index d1410631bd..697c9f17f3 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -34,7 +34,7 @@ }, "dependencies": {}, "devDependencies": { - "@backstage/cli": "^0.18.0-next.1", + "@backstage/cli": "^0.18.1-next.0", "@types/zen-observable": "^0.8.0", "zen-observable": "^0.8.15" }, diff --git a/packages/version-bridge/package.json b/packages/version-bridge/package.json index 4b9ce2ed11..37d23238ba 100644 --- a/packages/version-bridge/package.json +++ b/packages/version-bridge/package.json @@ -37,7 +37,7 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0-next.1", + "@backstage/cli": "^0.18.1-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0" diff --git a/plugins/adr-backend/CHANGELOG.md b/plugins/adr-backend/CHANGELOG.md index 26deb6811a..b68f6f3bd2 100644 --- a/plugins/adr-backend/CHANGELOG.md +++ b/plugins/adr-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-adr-backend +## 0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-adr-common@0.1.3-next.0 + ## 0.1.2 ### Patch Changes diff --git a/plugins/adr-backend/package.json b/plugins/adr-backend/package.json index 43811cdb1d..137a94a66d 100644 --- a/plugins/adr-backend/package.json +++ b/plugins/adr-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-adr-backend", - "version": "0.1.2", + "version": "0.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -29,13 +29,13 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-adr-common": "^0.1.2", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-adr-common": "^0.1.3-next.0", "@backstage/plugin-search-common": "^1.0.0", "luxon": "^3.0.0", "marked": "^4.0.14", @@ -44,7 +44,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/marked": "^4.0.0", "@types/supertest": "^2.0.8", "supertest": "^6.1.3", diff --git a/plugins/adr-common/CHANGELOG.md b/plugins/adr-common/CHANGELOG.md index 10c6a7d938..a5f58a7ed4 100644 --- a/plugins/adr-common/CHANGELOG.md +++ b/plugins/adr-common/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-adr-common +## 0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + ## 0.1.2 ### Patch Changes diff --git a/plugins/adr-common/package.json b/plugins/adr-common/package.json index 86b06ebc7e..f1418000d6 100644 --- a/plugins/adr-common/package.json +++ b/plugins/adr-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-adr-common", "description": "Common functionalities for the adr plugin", - "version": "0.1.2", + "version": "0.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,11 +31,11 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/integration": "^1.2.2", + "@backstage/integration": "^1.3.0-next.0", "@backstage/plugin-search-common": "^1.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist" diff --git a/plugins/adr/CHANGELOG.md b/plugins/adr/CHANGELOG.md index c0b8817c31..12feb4e6cd 100644 --- a/plugins/adr/CHANGELOG.md +++ b/plugins/adr/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-adr +## 0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-adr-common@0.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-search-react@1.0.1-next.0 + ## 0.1.2 ### Patch Changes diff --git a/plugins/adr/package.json b/plugins/adr/package.json index 025c85782e..4fd6c399cd 100644 --- a/plugins/adr/package.json +++ b/plugins/adr/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-adr", - "version": "0.1.2", + "version": "0.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -22,13 +22,13 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/integration-react": "^1.1.2", - "@backstage/plugin-adr-common": "^0.1.2", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/integration-react": "^1.1.3-next.0", + "@backstage/plugin-adr-common": "^0.1.3-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/plugin-search-common": "^1.0.0", - "@backstage/plugin-search-react": "^1.0.0", + "@backstage/plugin-search-react": "^1.0.1-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -44,10 +44,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/airbrake-backend/CHANGELOG.md b/plugins/airbrake-backend/CHANGELOG.md index a27f6cf761..1513dd88ac 100644 --- a/plugins/airbrake-backend/CHANGELOG.md +++ b/plugins/airbrake-backend/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-airbrake-backend +## 0.2.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + ## 0.2.7 ### Patch Changes diff --git a/plugins/airbrake-backend/package.json b/plugins/airbrake-backend/package.json index 750826512b..888cf84cfa 100644 --- a/plugins/airbrake-backend/package.json +++ b/plugins/airbrake-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-airbrake-backend", - "version": "0.2.7", + "version": "0.2.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -22,7 +22,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@types/express": "*", "express": "^4.17.1", @@ -33,7 +33,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/http-proxy-middleware": "^0.19.3", "@types/supertest": "^2.0.8", "supertest": "^6.1.6", diff --git a/plugins/airbrake/CHANGELOG.md b/plugins/airbrake/CHANGELOG.md index 3302ba9f87..fefe587abe 100644 --- a/plugins/airbrake/CHANGELOG.md +++ b/plugins/airbrake/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-airbrake +## 0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/dev-utils@1.0.5-next.0 + - @backstage/test-utils@1.1.3-next.0 + ## 0.3.7 ### Patch Changes diff --git a/plugins/airbrake/package.json b/plugins/airbrake/package.json index 236800d444..25e36a0a35 100644 --- a/plugins/airbrake/package.json +++ b/plugins/airbrake/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-airbrake", - "version": "0.3.7", + "version": "0.3.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,11 +24,11 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", - "@backstage/test-utils": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -40,10 +40,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/app-defaults": "^1.0.4", - "@backstage/cli": "^0.18.0", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/app-defaults": "^1.0.5-next.0", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/allure/CHANGELOG.md b/plugins/allure/CHANGELOG.md index 33c4275960..62a17f240b 100644 --- a/plugins/allure/CHANGELOG.md +++ b/plugins/allure/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-allure +## 0.1.24-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.23 ### Patch Changes diff --git a/plugins/allure/package.json b/plugins/allure/package.json index 06c310bbd2..77c175f12d 100644 --- a/plugins/allure/package.json +++ b/plugins/allure/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-allure", "description": "A Backstage plugin that integrates with Allure", - "version": "0.1.23", + "version": "0.1.24-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -26,9 +26,9 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -40,10 +40,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/analytics-module-ga/CHANGELOG.md b/plugins/analytics-module-ga/CHANGELOG.md index ff46c73278..6ea8760a2b 100644 --- a/plugins/analytics-module-ga/CHANGELOG.md +++ b/plugins/analytics-module-ga/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-analytics-module-ga +## 0.1.19-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.18 ### Patch Changes diff --git a/plugins/analytics-module-ga/package.json b/plugins/analytics-module-ga/package.json index 4052363f11..300402bc83 100644 --- a/plugins/analytics-module-ga/package.json +++ b/plugins/analytics-module-ga/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-analytics-module-ga", - "version": "0.1.18", + "version": "0.1.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,8 +25,8 @@ }, "dependencies": { "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -38,10 +38,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/apache-airflow/CHANGELOG.md b/plugins/apache-airflow/CHANGELOG.md index 939aa14ac2..eeea48e192 100644 --- a/plugins/apache-airflow/CHANGELOG.md +++ b/plugins/apache-airflow/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-apache-airflow +## 0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.2.0 ### Minor Changes diff --git a/plugins/apache-airflow/package.json b/plugins/apache-airflow/package.json index 1243795812..29448beef5 100644 --- a/plugins/apache-airflow/package.json +++ b/plugins/apache-airflow/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-apache-airflow", - "version": "0.2.0", + "version": "0.2.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,8 +23,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.57", @@ -36,10 +36,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/api-docs-module-protoc-gen-doc/package.json b/plugins/api-docs-module-protoc-gen-doc/package.json index 5f46909d62..925f81219f 100644 --- a/plugins/api-docs-module-protoc-gen-doc/package.json +++ b/plugins/api-docs-module-protoc-gen-doc/package.json @@ -37,7 +37,7 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@testing-library/jest-dom": "^5.16.4", "@types/react": "^16.13.1 || ^17.0.0" }, diff --git a/plugins/api-docs/CHANGELOG.md b/plugins/api-docs/CHANGELOG.md index e644150f8c..ca61827a0a 100644 --- a/plugins/api-docs/CHANGELOG.md +++ b/plugins/api-docs/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-api-docs +## 0.8.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog@1.5.0-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.8.7 ### Patch Changes diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json index 7aff8bbd2c..a690e819ad 100644 --- a/plugins/api-docs/package.json +++ b/plugins/api-docs/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-api-docs", "description": "A Backstage plugin that helps represent API entities in the frontend", - "version": "0.8.7", + "version": "0.8.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,10 +35,10 @@ "dependencies": { "@asyncapi/react-component": "1.0.0-next.39", "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog": "^1.4.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog": "^1.5.0-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -57,10 +57,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/apollo-explorer/CHANGELOG.md b/plugins/apollo-explorer/CHANGELOG.md index 99d7973683..abc2865c01 100644 --- a/plugins/apollo-explorer/CHANGELOG.md +++ b/plugins/apollo-explorer/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-apollo-explorer +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/apollo-explorer/package.json b/plugins/apollo-explorer/package.json index 40f6fcaa27..67e6394adf 100644 --- a/plugins/apollo-explorer/package.json +++ b/plugins/apollo-explorer/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-apollo-explorer", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -22,8 +22,8 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.9.13", "@material-ui/icons": "^4.9.1", @@ -36,10 +36,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/app-backend/CHANGELOG.md b/plugins/app-backend/CHANGELOG.md index 8db23101bd..6b18abee30 100644 --- a/plugins/app-backend/CHANGELOG.md +++ b/plugins/app-backend/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-app-backend +## 0.3.35-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + ## 0.3.34 ### Patch Changes diff --git a/plugins/app-backend/package.json b/plugins/app-backend/package.json index fab5ae97fb..a6c7649d40 100644 --- a/plugins/app-backend/package.json +++ b/plugins/app-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-app-backend", "description": "A Backstage backend plugin that serves the Backstage frontend app", - "version": "0.3.34", + "version": "0.3.35-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,7 +33,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config-loader": "^1.1.3", "@backstage/config": "^1.0.1", "@backstage/types": "^1.0.0", @@ -50,8 +50,8 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@backstage/types": "^1.0.0", "@types/supertest": "^2.0.8", "mock-fs": "^5.1.0", diff --git a/plugins/auth-backend/CHANGELOG.md b/plugins/auth-backend/CHANGELOG.md index ac5890f92e..fda3eb1a6c 100644 --- a/plugins/auth-backend/CHANGELOG.md +++ b/plugins/auth-backend/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-auth-backend +## 0.15.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + ## 0.15.0 ### Minor Changes diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json index 88bc7b5f2d..330d617bcf 100644 --- a/plugins/auth-backend/package.json +++ b/plugins/auth-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-auth-backend", "description": "A Backstage backend plugin that handles authentication", - "version": "0.15.0", + "version": "0.15.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,8 +33,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/plugin-auth-node": "^0.2.3", - "@backstage/backend-common": "^0.14.1", + "@backstage/plugin-auth-node": "^0.2.4-next.0", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", @@ -76,8 +76,8 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/body-parser": "^1.19.0", "@types/cookie-parser": "^1.4.2", "@types/express-session": "^1.17.2", diff --git a/plugins/auth-node/CHANGELOG.md b/plugins/auth-node/CHANGELOG.md index f38125f928..1251030658 100644 --- a/plugins/auth-node/CHANGELOG.md +++ b/plugins/auth-node/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-auth-node +## 0.2.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + ## 0.2.3 ### Patch Changes diff --git a/plugins/auth-node/package.json b/plugins/auth-node/package.json index 8e0585663b..294bc08889 100644 --- a/plugins/auth-node/package.json +++ b/plugins/auth-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-auth-node", - "version": "0.2.3", + "version": "0.2.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,7 +23,7 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", "jose": "^4.6.0", @@ -31,7 +31,7 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "lodash": "^4.17.21", "msw": "^0.44.0", "uuid": "^8.0.0" diff --git a/plugins/azure-devops-backend/CHANGELOG.md b/plugins/azure-devops-backend/CHANGELOG.md index 4ca6d040d6..5171a92bf7 100644 --- a/plugins/azure-devops-backend/CHANGELOG.md +++ b/plugins/azure-devops-backend/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-azure-devops-backend +## 0.3.14-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + ## 0.3.13 ### Patch Changes diff --git a/plugins/azure-devops-backend/package.json b/plugins/azure-devops-backend/package.json index 65937dccf2..d960c1e311 100644 --- a/plugins/azure-devops-backend/package.json +++ b/plugins/azure-devops-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-azure-devops-backend", - "version": "0.3.13", + "version": "0.3.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,7 +23,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@backstage/plugin-azure-devops-common": "^0.2.4", "@types/express": "^4.17.6", @@ -35,7 +35,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/supertest": "^2.0.8", "supertest": "^6.1.6", "msw": "^0.44.0" diff --git a/plugins/azure-devops-common/package.json b/plugins/azure-devops-common/package.json index fa29937726..40803ae633 100644 --- a/plugins/azure-devops-common/package.json +++ b/plugins/azure-devops-common/package.json @@ -32,7 +32,7 @@ "clean": "backstage-cli package clean" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist" diff --git a/plugins/azure-devops/CHANGELOG.md b/plugins/azure-devops/CHANGELOG.md index 209ec81545..baed6b3958 100644 --- a/plugins/azure-devops/CHANGELOG.md +++ b/plugins/azure-devops/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-azure-devops +## 0.1.24-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.23 ### Patch Changes diff --git a/plugins/azure-devops/package.json b/plugins/azure-devops/package.json index 92db8f1add..bf782919a0 100644 --- a/plugins/azure-devops/package.json +++ b/plugins/azure-devops/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-azure-devops", - "version": "0.1.23", + "version": "0.1.24-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,11 +31,11 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", "@backstage/plugin-azure-devops-common": "^0.2.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -49,10 +49,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/badges-backend/CHANGELOG.md b/plugins/badges-backend/CHANGELOG.md index 2bb913e198..a4ab10f37d 100644 --- a/plugins/badges-backend/CHANGELOG.md +++ b/plugins/badges-backend/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-badges-backend +## 0.1.29-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + ## 0.1.28 ### Patch Changes diff --git a/plugins/badges-backend/package.json b/plugins/badges-backend/package.json index 22ae3df489..ba8d0221b6 100644 --- a/plugins/badges-backend/package.json +++ b/plugins/badges-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-badges-backend", "description": "A Backstage backend plugin that generates README badges for your entities", - "version": "0.1.28", + "version": "0.1.29-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,7 +34,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", @@ -48,7 +48,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/supertest": "^2.0.8", "supertest": "^6.1.3" }, diff --git a/plugins/badges/CHANGELOG.md b/plugins/badges/CHANGELOG.md index 37dcd214fa..67ca470268 100644 --- a/plugins/badges/CHANGELOG.md +++ b/plugins/badges/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-badges +## 0.2.32-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.2.31 ### Patch Changes diff --git a/plugins/badges/package.json b/plugins/badges/package.json index 6192d547d2..d7b6bd6489 100644 --- a/plugins/badges/package.json +++ b/plugins/badges/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-badges", "description": "A Backstage plugin that generates README badges for your entities", - "version": "0.2.31", + "version": "0.2.32-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,10 +31,10 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -46,10 +46,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/bazaar-backend/CHANGELOG.md b/plugins/bazaar-backend/CHANGELOG.md index 45a7a167b3..e72e36100d 100644 --- a/plugins/bazaar-backend/CHANGELOG.md +++ b/plugins/bazaar-backend/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-bazaar-backend +## 0.1.19-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/backend-test-utils@0.1.27-next.0 + ## 0.1.18 ### Patch Changes diff --git a/plugins/bazaar-backend/package.json b/plugins/bazaar-backend/package.json index 67fe4e43a7..e0484c86ee 100644 --- a/plugins/bazaar-backend/package.json +++ b/plugins/bazaar-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-bazaar-backend", - "version": "0.1.18", + "version": "0.1.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,8 +23,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/backend-test-utils": "^0.1.26", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", "@backstage/config": "^1.0.1", "@types/express": "^4.17.6", "express": "^4.17.1", @@ -34,7 +34,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist", diff --git a/plugins/bazaar/CHANGELOG.md b/plugins/bazaar/CHANGELOG.md index 3449e53ce9..d99afa93ec 100644 --- a/plugins/bazaar/CHANGELOG.md +++ b/plugins/bazaar/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-bazaar +## 0.1.23-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog@1.5.0-next.0 + - @backstage/cli@0.18.1-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.22 ### Patch Changes diff --git a/plugins/bazaar/package.json b/plugins/bazaar/package.json index cb8b24ead9..d08ca17676 100644 --- a/plugins/bazaar/package.json +++ b/plugins/bazaar/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-bazaar", - "version": "0.1.22", + "version": "0.1.23-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -26,11 +26,11 @@ "dependencies": { "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", - "@backstage/cli": "^0.18.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog": "^1.4.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog": "^1.5.0-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@date-io/luxon": "1.x", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -47,8 +47,8 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/dev-utils": "^1.0.4", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", "@testing-library/jest-dom": "^5.10.1", "cross-fetch": "^3.1.5" }, diff --git a/plugins/bitbucket-cloud-common/CHANGELOG.md b/plugins/bitbucket-cloud-common/CHANGELOG.md index 413928dcab..6e55f5e507 100644 --- a/plugins/bitbucket-cloud-common/CHANGELOG.md +++ b/plugins/bitbucket-cloud-common/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-bitbucket-cloud-common +## 0.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + ## 0.1.1 ### Patch Changes diff --git a/plugins/bitbucket-cloud-common/package.json b/plugins/bitbucket-cloud-common/package.json index 16856782de..a03324d3af 100644 --- a/plugins/bitbucket-cloud-common/package.json +++ b/plugins/bitbucket-cloud-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-bitbucket-cloud-common", "description": "Common functionalities for bitbucket-cloud plugins", - "version": "0.1.1", + "version": "0.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -28,11 +28,11 @@ "update-models": "yarn refresh-schema && yarn generate-models && yarn reduce-models" }, "dependencies": { - "@backstage/integration": "^1.2.2", + "@backstage/integration": "^1.3.0-next.0", "cross-fetch": "^3.1.5" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@openapitools/openapi-generator-cli": "^2.4.26", "msw": "^0.44.0", "ts-morph": "^15.0.0" diff --git a/plugins/bitrise/CHANGELOG.md b/plugins/bitrise/CHANGELOG.md index d8dbf12bdd..0f4f2cb893 100644 --- a/plugins/bitrise/CHANGELOG.md +++ b/plugins/bitrise/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-bitrise +## 0.1.35-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.34 ### Patch Changes diff --git a/plugins/bitrise/package.json b/plugins/bitrise/package.json index c82435621b..0517a594f8 100644 --- a/plugins/bitrise/package.json +++ b/plugins/bitrise/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-bitrise", "description": "A Backstage plugin that integrates towards Bitrise", - "version": "0.1.34", + "version": "0.1.35-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,9 +25,9 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -43,10 +43,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/catalog-backend-module-aws/CHANGELOG.md b/plugins/catalog-backend-module-aws/CHANGELOG.md index 011431fc8d..faf6d2abea 100644 --- a/plugins/catalog-backend-module-aws/CHANGELOG.md +++ b/plugins/catalog-backend-module-aws/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-catalog-backend-module-aws +## 0.1.8-next.0 + +### Patch Changes + +- 17d45dbf10: Deprecate `AwsS3DiscoveryProcessor` in favor of `AwsS3EntityProvider` (since v0.1.4). + + You can find a migration guide at + [the release notes for v0.1.4](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-aws/CHANGELOG.md#014). + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + ## 0.1.7 ### Patch Changes diff --git a/plugins/catalog-backend-module-aws/package.json b/plugins/catalog-backend-module-aws/package.json index 5382daa57f..53224a0408 100644 --- a/plugins/catalog-backend-module-aws/package.json +++ b/plugins/catalog-backend-module-aws/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-aws", "description": "A Backstage catalog backend module that helps integrate towards AWS", - "version": "0.1.7", + "version": "0.1.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,13 +33,13 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/backend-tasks": "^0.3.3", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/backend-tasks": "^0.3.4-next.0", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-catalog-backend": "^1.3.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", "@backstage/types": "^1.0.0", "aws-sdk": "^2.840.0", "lodash": "^4.17.21", @@ -48,7 +48,7 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/lodash": "^4.14.151", "aws-sdk-mock": "^5.2.1", "yaml": "^2.0.0" diff --git a/plugins/catalog-backend-module-azure/CHANGELOG.md b/plugins/catalog-backend-module-azure/CHANGELOG.md index e9ff4178d0..f8f1553359 100644 --- a/plugins/catalog-backend-module-azure/CHANGELOG.md +++ b/plugins/catalog-backend-module-azure/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-catalog-backend-module-azure +## 0.1.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + ## 0.1.5 ### Patch Changes diff --git a/plugins/catalog-backend-module-azure/package.json b/plugins/catalog-backend-module-azure/package.json index 1fa59b0723..2d23f6190e 100644 --- a/plugins/catalog-backend-module-azure/package.json +++ b/plugins/catalog-backend-module-azure/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-azure", "description": "A Backstage catalog backend module that helps integrate towards Azure", - "version": "0.1.5", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,13 +33,13 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-model": "^1.1.0", - "@backstage/backend-tasks": "^0.3.3", + "@backstage/backend-tasks": "^0.3.4-next.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-catalog-backend": "^1.3.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", "@backstage/types": "^1.0.0", "lodash": "^4.17.21", "msw": "^0.44.0", @@ -48,8 +48,8 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/lodash": "^4.14.151" }, "files": [ diff --git a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md index 7c38e500c7..4d3f05ad30 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-catalog-backend-module-bitbucket-cloud +## 0.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.1.2-next.0 + ## 0.1.1 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket-cloud/package.json b/plugins/catalog-backend-module-bitbucket-cloud/package.json index fe85039d6b..2d991e21b4 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/package.json +++ b/plugins/catalog-backend-module-bitbucket-cloud/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-bitbucket-cloud", "description": "A Backstage catalog backend module that helps integrate towards Bitbucket Cloud", - "version": "0.1.1", + "version": "0.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,18 +33,18 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-tasks": "^0.3.3", + "@backstage/backend-tasks": "^0.3.4-next.0", "@backstage/config": "^1.0.1", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-bitbucket-cloud-common": "^0.1.1", - "@backstage/plugin-catalog-backend": "^1.3.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-bitbucket-cloud-common": "^0.1.2-next.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", "uuid": "^8.0.0", "winston": "^3.2.1" }, "devDependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "msw": "^0.44.0" }, "files": [ diff --git a/plugins/catalog-backend-module-bitbucket/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md index 996c21bef8..65f9da80d6 100644 --- a/plugins/catalog-backend-module-bitbucket/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-catalog-backend-module-bitbucket +## 0.2.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.1.2-next.0 + ## 0.2.1 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket/package.json b/plugins/catalog-backend-module-bitbucket/package.json index e101a2330e..0cc8d38833 100644 --- a/plugins/catalog-backend-module-bitbucket/package.json +++ b/plugins/catalog-backend-module-bitbucket/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-bitbucket", "description": "A Backstage catalog backend module that helps integrate towards Bitbucket", - "version": "0.2.1", + "version": "0.2.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,13 +33,13 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-bitbucket-cloud-common": "^0.1.1", - "@backstage/plugin-catalog-backend": "^1.3.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-bitbucket-cloud-common": "^0.1.2-next.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", "@backstage/types": "^1.0.0", "lodash": "^4.17.21", "msw": "^0.44.0", @@ -47,8 +47,8 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/lodash": "^4.14.151" }, "files": [ diff --git a/plugins/catalog-backend-module-gerrit/CHANGELOG.md b/plugins/catalog-backend-module-gerrit/CHANGELOG.md index 4b15865163..13a0ec487f 100644 --- a/plugins/catalog-backend-module-gerrit/CHANGELOG.md +++ b/plugins/catalog-backend-module-gerrit/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-catalog-backend-module-gerrit +## 0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + ## 0.1.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-gerrit/package.json b/plugins/catalog-backend-module-gerrit/package.json index 9a3c3c82ed..946bd3099f 100644 --- a/plugins/catalog-backend-module-gerrit/package.json +++ b/plugins/catalog-backend-module-gerrit/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-gerrit", - "version": "0.1.2", + "version": "0.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -28,13 +28,13 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/backend-tasks": "^0.3.3", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/backend-tasks": "^0.3.4-next.0", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-catalog-backend": "^1.3.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", "fs-extra": "10.1.0", "msw": "^0.44.0", "node-fetch": "^2.6.7", @@ -42,8 +42,8 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/fs-extra": "^9.0.1" }, "files": [ diff --git a/plugins/catalog-backend-module-github/CHANGELOG.md b/plugins/catalog-backend-module-github/CHANGELOG.md index 05d8e4019e..aabee0b1eb 100644 --- a/plugins/catalog-backend-module-github/CHANGELOG.md +++ b/plugins/catalog-backend-module-github/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-catalog-backend-module-github +## 0.1.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + ## 0.1.5 ### Patch Changes diff --git a/plugins/catalog-backend-module-github/package.json b/plugins/catalog-backend-module-github/package.json index 0f1e716047..ed45d98b73 100644 --- a/plugins/catalog-backend-module-github/package.json +++ b/plugins/catalog-backend-module-github/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-github", "description": "A Backstage catalog backend module that helps integrate towards GitHub", - "version": "0.1.5", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,13 +33,13 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/backend-tasks": "^0.3.3", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/backend-tasks": "^0.3.4-next.0", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-catalog-backend": "^1.3.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", "@backstage/types": "^1.0.0", "@octokit/graphql": "^5.0.0", "lodash": "^4.17.21", @@ -49,8 +49,8 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/lodash": "^4.14.151" }, "files": [ diff --git a/plugins/catalog-backend-module-gitlab/CHANGELOG.md b/plugins/catalog-backend-module-gitlab/CHANGELOG.md index db00dcc84a..d123fb01bc 100644 --- a/plugins/catalog-backend-module-gitlab/CHANGELOG.md +++ b/plugins/catalog-backend-module-gitlab/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-catalog-backend-module-gitlab +## 0.1.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + ## 0.1.5 ### Patch Changes diff --git a/plugins/catalog-backend-module-gitlab/package.json b/plugins/catalog-backend-module-gitlab/package.json index 1dba184b3c..2e30380f0f 100644 --- a/plugins/catalog-backend-module-gitlab/package.json +++ b/plugins/catalog-backend-module-gitlab/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-gitlab", "description": "A Backstage catalog backend module that helps integrate towards GitLab", - "version": "0.1.5", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,13 +33,13 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-model": "^1.1.0", - "@backstage/backend-tasks": "^0.3.3", + "@backstage/backend-tasks": "^0.3.4-next.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-catalog-backend": "^1.3.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", "@backstage/types": "^1.0.0", "lodash": "^4.17.21", "msw": "^0.44.0", @@ -48,8 +48,8 @@ "uuid": "^8.0.0" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/lodash": "^4.14.151", "@types/uuid": "^8.0.0" }, diff --git a/plugins/catalog-backend-module-ldap/CHANGELOG.md b/plugins/catalog-backend-module-ldap/CHANGELOG.md index 40f94d53c1..7c71053e0d 100644 --- a/plugins/catalog-backend-module-ldap/CHANGELOG.md +++ b/plugins/catalog-backend-module-ldap/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-catalog-backend-module-ldap +## 0.5.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + ## 0.5.1 ### Patch Changes diff --git a/plugins/catalog-backend-module-ldap/package.json b/plugins/catalog-backend-module-ldap/package.json index 3fb86d97f6..cfb867b69b 100644 --- a/plugins/catalog-backend-module-ldap/package.json +++ b/plugins/catalog-backend-module-ldap/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-ldap", "description": "A Backstage catalog backend module that helps integrate towards LDAP", - "version": "0.5.1", + "version": "0.5.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,11 +33,11 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-tasks": "^0.3.3", + "@backstage/backend-tasks": "^0.3.4-next.0", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-backend": "^1.3.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", "@backstage/types": "^1.0.0", "@types/ldapjs": "^2.2.0", "ldapjs": "^2.2.0", @@ -46,7 +46,7 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/lodash": "^4.14.151" }, "files": [ diff --git a/plugins/catalog-backend-module-msgraph/CHANGELOG.md b/plugins/catalog-backend-module-msgraph/CHANGELOG.md index e05e249af8..3ff8a4d90d 100644 --- a/plugins/catalog-backend-module-msgraph/CHANGELOG.md +++ b/plugins/catalog-backend-module-msgraph/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-catalog-backend-module-msgraph +## 0.4.1-next.0 + +### Patch Changes + +- b1995df9f3: Adjust references in deprecation warnings to point to stable URL/document. +- Updated dependencies + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + ## 0.4.0 ### Minor Changes diff --git a/plugins/catalog-backend-module-msgraph/package.json b/plugins/catalog-backend-module-msgraph/package.json index 9831d0106c..f96c95854a 100644 --- a/plugins/catalog-backend-module-msgraph/package.json +++ b/plugins/catalog-backend-module-msgraph/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-msgraph", "description": "A Backstage catalog backend module that helps integrate towards Microsoft Graph", - "version": "0.4.0", + "version": "0.4.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,10 +34,10 @@ }, "dependencies": { "@azure/identity": "^2.1.0", - "@backstage/backend-tasks": "^0.3.3", + "@backstage/backend-tasks": "^0.3.4-next.0", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", - "@backstage/plugin-catalog-backend": "^1.3.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", "@microsoft/microsoft-graph-types": "^2.6.0", "@types/node-fetch": "^2.5.12", "lodash": "^4.17.21", @@ -48,9 +48,9 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/lodash": "^4.14.151", "msw": "^0.44.0" }, diff --git a/plugins/catalog-backend-module-openapi/CHANGELOG.md b/plugins/catalog-backend-module-openapi/CHANGELOG.md index 4d3890c49a..85a14917d8 100644 --- a/plugins/catalog-backend-module-openapi/CHANGELOG.md +++ b/plugins/catalog-backend-module-openapi/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-catalog-backend-module-openapi +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/catalog-backend-module-openapi/package.json b/plugins/catalog-backend-module-openapi/package.json index f48c30710c..d2d4d4989c 100644 --- a/plugins/catalog-backend-module-openapi/package.json +++ b/plugins/catalog-backend-module-openapi/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend-module-openapi", "description": "A Backstage catalog backend module that helps with OpenAPI specifications", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,17 +34,17 @@ }, "dependencies": { "@apidevtools/swagger-parser": "^10.1.0", - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-catalog-backend": "^1.3.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", "winston": "^3.2.1", "yaml": "^2.1.1" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "openapi-types": "^12.0.0" }, "files": [ diff --git a/plugins/catalog-backend/CHANGELOG.md b/plugins/catalog-backend/CHANGELOG.md index 35e54b764c..287ab75267 100644 --- a/plugins/catalog-backend/CHANGELOG.md +++ b/plugins/catalog-backend/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-catalog-backend +## 1.3.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-plugin-api@0.1.1-next.0 + - @backstage/plugin-catalog-node@1.0.1-next.0 + - @backstage/plugin-permission-node@0.6.4-next.0 + ## 1.3.0 ### Minor Changes diff --git a/plugins/catalog-backend/package.json b/plugins/catalog-backend/package.json index 7e6c5a986f..fbc9dabf85 100644 --- a/plugins/catalog-backend/package.json +++ b/plugins/catalog-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-backend", "description": "The Backstage backend plugin that provides the Backstage catalog", - "version": "1.3.0", + "version": "1.3.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,17 +34,17 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-plugin-api": "^0.1.0", - "@backstage/plugin-catalog-node": "^1.0.0", - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-plugin-api": "^0.1.1-next.0", + "@backstage/plugin-catalog-node": "^1.0.1-next.0", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", + "@backstage/integration": "^1.3.0-next.0", "@backstage/plugin-catalog-common": "^1.0.4", "@backstage/plugin-permission-common": "^0.6.3", - "@backstage/plugin-permission-node": "^0.6.3", + "@backstage/plugin-permission-node": "^0.6.4-next.0", "@backstage/plugin-scaffolder-common": "^1.1.2", "@backstage/plugin-search-common": "^1.0.0", "@backstage/types": "^1.0.0", @@ -70,10 +70,10 @@ "zod": "^3.11.6" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@backstage/plugin-permission-common": "^0.6.3", - "@backstage/plugin-search-backend-node": "1.0.0", + "@backstage/plugin-search-backend-node": "1.0.1-next.0", "@types/core-js": "^2.5.4", "@types/git-url-parse": "^9.0.0", "@types/lodash": "^4.14.151", diff --git a/plugins/catalog-common/package.json b/plugins/catalog-common/package.json index e07776c7de..329db25c75 100644 --- a/plugins/catalog-common/package.json +++ b/plugins/catalog-common/package.json @@ -38,7 +38,7 @@ "@backstage/plugin-search-common": "^1.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist", diff --git a/plugins/catalog-customized/CHANGELOG.md b/plugins/catalog-customized/CHANGELOG.md new file mode 100644 index 0000000000..c6e3c86ff4 --- /dev/null +++ b/plugins/catalog-customized/CHANGELOG.md @@ -0,0 +1,9 @@ +# @internal/plugin-catalog-customized + +## 0.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog@1.5.0-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 diff --git a/plugins/catalog-customized/package.json b/plugins/catalog-customized/package.json index 537d6858c6..ee4d22eb09 100644 --- a/plugins/catalog-customized/package.json +++ b/plugins/catalog-customized/package.json @@ -1,7 +1,7 @@ { "name": "@internal/plugin-catalog-customized", "description": "The internal Backstage Customizable plugin for browsing the Backstage catalog", - "version": "0.0.0", + "version": "0.0.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,8 +34,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/plugin-catalog": "^1.4.0", - "@backstage/plugin-catalog-react": "^1.1.2" + "@backstage/plugin-catalog": "^1.5.0-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0" }, "devDependencies": { "@types/react": "^16.13.1 || ^17.0.0" diff --git a/plugins/catalog-graph/CHANGELOG.md b/plugins/catalog-graph/CHANGELOG.md index e467e33684..6df82d987c 100644 --- a/plugins/catalog-graph/CHANGELOG.md +++ b/plugins/catalog-graph/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-catalog-graph +## 0.2.20-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.2.19 ### Patch Changes diff --git a/plugins/catalog-graph/package.json b/plugins/catalog-graph/package.json index 82745f969a..e444c84713 100644 --- a/plugins/catalog-graph/package.json +++ b/plugins/catalog-graph/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-graph", - "version": "0.2.19", + "version": "0.2.20-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -26,9 +26,9 @@ "dependencies": { "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -45,11 +45,11 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/plugin-catalog": "^1.4.0", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/plugin-catalog": "^1.5.0-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@backstage/types": "^1.0.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", diff --git a/plugins/catalog-graphql/package.json b/plugins/catalog-graphql/package.json index ad77bb063e..082bd43c34 100644 --- a/plugins/catalog-graphql/package.json +++ b/plugins/catalog-graphql/package.json @@ -46,8 +46,8 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@graphql-codegen/cli": "^2.3.1", "@graphql-codegen/graphql-modules-preset": "^2.3.2", "@graphql-codegen/typescript": "^2.4.2", diff --git a/plugins/catalog-import/CHANGELOG.md b/plugins/catalog-import/CHANGELOG.md index 637c529d77..18f74d447f 100644 --- a/plugins/catalog-import/CHANGELOG.md +++ b/plugins/catalog-import/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-catalog-import +## 0.8.11-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.8.10 ### Patch Changes diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json index 2e471c76a4..d44b9aaa67 100644 --- a/plugins/catalog-import/package.json +++ b/plugins/catalog-import/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-import", "description": "A Backstage plugin the helps you import entities into your catalog", - "version": "0.8.10", + "version": "0.8.11-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -37,12 +37,12 @@ "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/integration-react": "^1.1.2", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/integration-react": "^1.1.3-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.57", @@ -60,10 +60,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/plugins/catalog-node/CHANGELOG.md b/plugins/catalog-node/CHANGELOG.md index 0e41b54a6b..78fe4d3873 100644 --- a/plugins/catalog-node/CHANGELOG.md +++ b/plugins/catalog-node/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-catalog-node +## 1.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.1.1-next.0 + ## 1.0.0 ### Major Changes diff --git a/plugins/catalog-node/package.json b/plugins/catalog-node/package.json index 27ccc30292..0684112075 100644 --- a/plugins/catalog-node/package.json +++ b/plugins/catalog-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-node", "description": "The plugin-catalog-node module for @backstage/plugin-catalog-backend", - "version": "1.0.0", + "version": "1.0.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,14 +25,14 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-plugin-api": "^0.1.0", + "@backstage/backend-plugin-api": "^0.1.1-next.0", "@backstage/catalog-model": "^1.1.0", "@backstage/errors": "1.1.0", "@backstage/types": "^1.0.0" }, "devDependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/cli": "^0.18.0" + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist", diff --git a/plugins/catalog-react/CHANGELOG.md b/plugins/catalog-react/CHANGELOG.md index 70cb127156..51ef8b15a0 100644 --- a/plugins/catalog-react/CHANGELOG.md +++ b/plugins/catalog-react/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-catalog-react +## 1.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-permission-react@0.4.4-next.0 + ## 1.1.2 ### Patch Changes diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json index f080dbc1f8..8bc5f1dfd0 100644 --- a/plugins/catalog-react/package.json +++ b/plugins/catalog-react/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-react", "description": "A frontend library that helps other Backstage plugins interact with the catalog", - "version": "1.1.2", + "version": "1.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,13 +36,13 @@ "dependencies": { "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", + "@backstage/integration": "^1.3.0-next.0", "@backstage/plugin-catalog-common": "^1.0.4", "@backstage/plugin-permission-common": "^0.6.3", - "@backstage/plugin-permission-react": "^0.4.3", + "@backstage/plugin-permission-react": "^0.4.4-next.0", "@backstage/theme": "^0.2.16", "@backstage/types": "^1.0.0", "@backstage/version-bridge": "^1.0.1", @@ -63,11 +63,11 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", "@backstage/plugin-catalog-common": "^1.0.4", "@backstage/plugin-scaffolder-common": "^1.1.2", - "@backstage/test-utils": "^1.1.2", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/plugins/catalog/CHANGELOG.md b/plugins/catalog/CHANGELOG.md index 8c95ec1590..e1583cb69e 100644 --- a/plugins/catalog/CHANGELOG.md +++ b/plugins/catalog/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-catalog +## 1.5.0-next.0 + +### Minor Changes + +- 80da5162c7: Plugin catalog has been modified to use an experimental feature where you can customize the title of the create button. + + You can modify it by doing: + + ```typescript jsx + import { catalogPlugin } from '@backstage/plugin-catalog'; + + catalogPlugin.__experimentalReconfigure({ + createButtonTitle: 'New', + }); + ``` + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-search-react@1.0.1-next.0 + ## 1.4.0 ### Minor Changes diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index b9e919544d..7bf2c9d5ec 100644 --- a/plugins/catalog/package.json +++ b/plugins/catalog/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog", "description": "The Backstage plugin for browsing the Backstage catalog", - "version": "1.4.0", + "version": "1.5.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,14 +36,14 @@ "dependencies": { "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/integration-react": "^1.1.2", + "@backstage/integration-react": "^1.1.3-next.0", "@backstage/plugin-catalog-common": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/plugin-search-common": "^1.0.0", - "@backstage/plugin-search-react": "^1.0.0", + "@backstage/plugin-search-react": "^1.0.1-next.0", "@backstage/theme": "^0.2.16", "@backstage/types": "^1.0.0", "@material-ui/core": "^4.12.2", @@ -61,11 +61,11 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/plugin-permission-react": "^0.4.3", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/plugin-permission-react": "^0.4.4-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/cicd-statistics-module-gitlab/CHANGELOG.md b/plugins/cicd-statistics-module-gitlab/CHANGELOG.md index 5c3631ec69..24fa1a0e2e 100644 --- a/plugins/cicd-statistics-module-gitlab/CHANGELOG.md +++ b/plugins/cicd-statistics-module-gitlab/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-cicd-statistics-module-gitlab +## 0.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-cicd-statistics@0.1.10-next.0 + ## 0.1.3 ### Patch Changes diff --git a/plugins/cicd-statistics-module-gitlab/package.json b/plugins/cicd-statistics-module-gitlab/package.json index 3c3e1d205b..2d3db01baf 100644 --- a/plugins/cicd-statistics-module-gitlab/package.json +++ b/plugins/cicd-statistics-module-gitlab/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-cicd-statistics-module-gitlab", "description": "CI/CD Statistics plugin module; Gitlab CICD", - "version": "0.1.3", + "version": "0.1.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -29,16 +29,16 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/plugin-cicd-statistics": "^0.1.9", + "@backstage/plugin-cicd-statistics": "^0.1.10-next.0", "@gitbeaker/browser": "^35.6.0", "@gitbeaker/core": "^35.6.0", "luxon": "^3.0.0", "p-limit": "^4.0.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/catalog-model": "^1.1.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist" diff --git a/plugins/cicd-statistics/CHANGELOG.md b/plugins/cicd-statistics/CHANGELOG.md index e2915c32ff..ac12967919 100644 --- a/plugins/cicd-statistics/CHANGELOG.md +++ b/plugins/cicd-statistics/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-cicd-statistics +## 0.1.10-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + ## 0.1.9 ### Patch Changes diff --git a/plugins/cicd-statistics/package.json b/plugins/cicd-statistics/package.json index 61625840e9..40dd26fcd8 100644 --- a/plugins/cicd-statistics/package.json +++ b/plugins/cicd-statistics/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-cicd-statistics", "description": "A frontend plugin visualizing CI/CD pipeline statistics (build time)", - "version": "0.1.9", + "version": "0.1.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,8 +38,8 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@date-io/luxon": "^1.3.13", "@material-ui/core": "^4.9.13", "@material-ui/icons": "^4.11.2", diff --git a/plugins/circleci/CHANGELOG.md b/plugins/circleci/CHANGELOG.md index 2af583c209..36e078b38d 100644 --- a/plugins/circleci/CHANGELOG.md +++ b/plugins/circleci/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-circleci +## 0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.3.7 ### Patch Changes diff --git a/plugins/circleci/package.json b/plugins/circleci/package.json index 96cb9888c8..8810aca917 100644 --- a/plugins/circleci/package.json +++ b/plugins/circleci/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-circleci", "description": "A Backstage plugin that integrates towards Circle CI", - "version": "0.3.7", + "version": "0.3.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,9 +36,9 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -55,10 +55,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/cloudbuild/CHANGELOG.md b/plugins/cloudbuild/CHANGELOG.md index 61f5740624..ef60bc0855 100644 --- a/plugins/cloudbuild/CHANGELOG.md +++ b/plugins/cloudbuild/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-cloudbuild +## 0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.3.7 ### Patch Changes diff --git a/plugins/cloudbuild/package.json b/plugins/cloudbuild/package.json index b71aa30e85..8107d4c411 100644 --- a/plugins/cloudbuild/package.json +++ b/plugins/cloudbuild/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-cloudbuild", "description": "A Backstage plugin that integrates towards Google Cloud Build", - "version": "0.3.7", + "version": "0.3.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,9 +35,9 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -52,10 +52,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/code-climate/CHANGELOG.md b/plugins/code-climate/CHANGELOG.md index 14f4888a1f..5addc18681 100644 --- a/plugins/code-climate/CHANGELOG.md +++ b/plugins/code-climate/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-code-climate +## 0.1.8-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.7 ### Patch Changes diff --git a/plugins/code-climate/package.json b/plugins/code-climate/package.json index 3588a9db34..5e1313a8f8 100644 --- a/plugins/code-climate/package.json +++ b/plugins/code-climate/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-code-climate", - "version": "0.1.7", + "version": "0.1.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,9 +24,9 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -40,9 +40,9 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/code-coverage-backend/CHANGELOG.md b/plugins/code-coverage-backend/CHANGELOG.md index 99e96b89ca..0a7653cb81 100644 --- a/plugins/code-coverage-backend/CHANGELOG.md +++ b/plugins/code-coverage-backend/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-code-coverage-backend +## 0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + ## 0.2.0 ### Minor Changes diff --git a/plugins/code-coverage-backend/package.json b/plugins/code-coverage-backend/package.json index ee86fccca2..29a7c84512 100644 --- a/plugins/code-coverage-backend/package.json +++ b/plugins/code-coverage-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-code-coverage-backend", "description": "A Backstage backend plugin that helps you keep track of your code coverage", - "version": "0.2.0", + "version": "0.2.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,12 +23,12 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", + "@backstage/integration": "^1.3.0-next.0", "@types/express": "^4.17.6", "express": "^4.17.1", "express-promise-router": "^4.1.0", @@ -39,7 +39,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/express-xml-bodyparser": "^0.3.2", "@types/supertest": "^2.0.8", "msw": "^0.44.0", diff --git a/plugins/code-coverage/CHANGELOG.md b/plugins/code-coverage/CHANGELOG.md index 24fba79f1a..7c4b2f8541 100644 --- a/plugins/code-coverage/CHANGELOG.md +++ b/plugins/code-coverage/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-code-coverage +## 0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.2.0 ### Minor Changes diff --git a/plugins/code-coverage/package.json b/plugins/code-coverage/package.json index b99c42c9b3..d6e67ae320 100644 --- a/plugins/code-coverage/package.json +++ b/plugins/code-coverage/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-code-coverage", "description": "A Backstage plugin that helps you keep track of your code coverage", - "version": "0.2.0", + "version": "0.2.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -26,10 +26,10 @@ "dependencies": { "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -46,10 +46,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/codescene/CHANGELOG.md b/plugins/codescene/CHANGELOG.md index 91ead18409..9a859ca0dc 100644 --- a/plugins/codescene/CHANGELOG.md +++ b/plugins/codescene/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-codescene +## 0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.2 ### Patch Changes diff --git a/plugins/codescene/package.json b/plugins/codescene/package.json index cc4fa2da01..519839b9c9 100644 --- a/plugins/codescene/package.json +++ b/plugins/codescene/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-codescene", - "version": "0.1.2", + "version": "0.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,8 +23,8 @@ }, "dependencies": { "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.9.10", @@ -38,10 +38,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/config-schema/CHANGELOG.md b/plugins/config-schema/CHANGELOG.md index 37345d36e5..12a6a1f4e8 100644 --- a/plugins/config-schema/CHANGELOG.md +++ b/plugins/config-schema/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-config-schema +## 0.1.31-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.30 ### Patch Changes diff --git a/plugins/config-schema/package.json b/plugins/config-schema/package.json index b5e73ee700..80fdaf693c 100644 --- a/plugins/config-schema/package.json +++ b/plugins/config-schema/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-config-schema", "description": "A Backstage plugin that lets you browse the configuration schema of your app", - "version": "0.1.30", + "version": "0.1.31-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,8 +25,8 @@ }, "dependencies": { "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", "@backstage/theme": "^0.2.16", "@backstage/types": "^1.0.0", @@ -41,10 +41,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/cost-insights-common/package.json b/plugins/cost-insights-common/package.json index 66d8faf426..b06b7032e0 100644 --- a/plugins/cost-insights-common/package.json +++ b/plugins/cost-insights-common/package.json @@ -34,7 +34,7 @@ }, "dependencies": {}, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist" diff --git a/plugins/cost-insights/CHANGELOG.md b/plugins/cost-insights/CHANGELOG.md index 3211f3027d..cf24d21df7 100644 --- a/plugins/cost-insights/CHANGELOG.md +++ b/plugins/cost-insights/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-cost-insights +## 0.11.30-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.11.29 ### Patch Changes diff --git a/plugins/cost-insights/package.json b/plugins/cost-insights/package.json index 405007c852..980b916e31 100644 --- a/plugins/cost-insights/package.json +++ b/plugins/cost-insights/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-cost-insights", "description": "A Backstage plugin that helps you keep track of your cloud spend", - "version": "0.11.29", + "version": "0.11.30-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,8 +36,8 @@ "dependencies": { "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/plugin-cost-insights-common": "^0.1.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", @@ -61,10 +61,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/dynatrace/CHANGELOG.md b/plugins/dynatrace/CHANGELOG.md index 0ca278344f..6148b15877 100644 --- a/plugins/dynatrace/CHANGELOG.md +++ b/plugins/dynatrace/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-dynatrace +## 0.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.1 ### Patch Changes diff --git a/plugins/dynatrace/package.json b/plugins/dynatrace/package.json index e3fb1a113e..673a9d07bc 100644 --- a/plugins/dynatrace/package.json +++ b/plugins/dynatrace/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-dynatrace", - "version": "0.1.1", + "version": "0.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,8 +23,8 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.9.13", "@material-ui/icons": "^4.9.1", @@ -33,14 +33,14 @@ "react-use": "^17.2.4" }, "peerDependencies": { - "@backstage/plugin-catalog-react": "^1.1.2-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/example-todo-list-backend/CHANGELOG.md b/plugins/example-todo-list-backend/CHANGELOG.md index 42e9c58b2a..dec5c014e4 100644 --- a/plugins/example-todo-list-backend/CHANGELOG.md +++ b/plugins/example-todo-list-backend/CHANGELOG.md @@ -1,5 +1,13 @@ # @internal/plugin-todo-list-backend +## 1.0.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + ## 1.0.3 ### Patch Changes diff --git a/plugins/example-todo-list-backend/package.json b/plugins/example-todo-list-backend/package.json index 87754300a7..d72f238bba 100644 --- a/plugins/example-todo-list-backend/package.json +++ b/plugins/example-todo-list-backend/package.json @@ -1,6 +1,6 @@ { "name": "@internal/plugin-todo-list-backend", - "version": "1.0.3", + "version": "1.0.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,10 +23,10 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/plugin-auth-node": "^0.2.3", + "@backstage/plugin-auth-node": "^0.2.4-next.0", "@types/express": "^4.17.6", "cross-fetch": "^3.1.5", "express": "^4.17.1", @@ -36,7 +36,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/supertest": "^2.0.8", "@types/uuid": "^8.0.0", "msw": "^0.44.0", diff --git a/plugins/example-todo-list-common/package.json b/plugins/example-todo-list-common/package.json index 489365bd09..34154fd174 100644 --- a/plugins/example-todo-list-common/package.json +++ b/plugins/example-todo-list-common/package.json @@ -26,10 +26,10 @@ "@backstage/plugin-permission-common": "^0.6.3" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@types/node": "^16.11.26", "msw": "^0.44.0", "cross-fetch": "^3.1.5" diff --git a/plugins/example-todo-list/CHANGELOG.md b/plugins/example-todo-list/CHANGELOG.md index 711806cba3..e1d74010ec 100644 --- a/plugins/example-todo-list/CHANGELOG.md +++ b/plugins/example-todo-list/CHANGELOG.md @@ -1,5 +1,13 @@ # @internal/plugin-todo-list +## 1.0.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 1.0.3 ### Patch Changes diff --git a/plugins/example-todo-list/package.json b/plugins/example-todo-list/package.json index 0cb97422bc..e767c59cd4 100644 --- a/plugins/example-todo-list/package.json +++ b/plugins/example-todo-list/package.json @@ -1,6 +1,6 @@ { "name": "@internal/plugin-todo-list", - "version": "1.0.3", + "version": "1.0.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,8 +24,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -36,10 +36,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/explore-react/CHANGELOG.md b/plugins/explore-react/CHANGELOG.md index 4ca34afa8e..9a560155ca 100644 --- a/plugins/explore-react/CHANGELOG.md +++ b/plugins/explore-react/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-explore-react +## 0.0.20-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + ## 0.0.19 ### Patch Changes diff --git a/plugins/explore-react/package.json b/plugins/explore-react/package.json index e216b92558..ae4bd3a918 100644 --- a/plugins/explore-react/package.json +++ b/plugins/explore-react/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-explore-react", "description": "A frontend library for Backstage plugins that want to interact with the explore plugin", - "version": "0.0.19", + "version": "0.0.20-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,12 +33,12 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/core-plugin-api": "^1.0.4" + "@backstage/core-plugin-api": "^1.0.5-next.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/explore/CHANGELOG.md b/plugins/explore/CHANGELOG.md index 9485fae3de..d3663aa82c 100644 --- a/plugins/explore/CHANGELOG.md +++ b/plugins/explore/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-explore +## 0.3.39-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-explore-react@0.0.20-next.0 + ## 0.3.38 ### Patch Changes diff --git a/plugins/explore/package.json b/plugins/explore/package.json index 56ece3098b..209a22ff39 100644 --- a/plugins/explore/package.json +++ b/plugins/explore/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-explore", "description": "A Backstage plugin for building an exploration page of your software ecosystem", - "version": "0.3.38", + "version": "0.3.39-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,10 +35,10 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", - "@backstage/plugin-explore-react": "^0.0.19", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", + "@backstage/plugin-explore-react": "^0.0.20-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -53,10 +53,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/firehydrant/CHANGELOG.md b/plugins/firehydrant/CHANGELOG.md index 39e9092f6f..e52b331db8 100644 --- a/plugins/firehydrant/CHANGELOG.md +++ b/plugins/firehydrant/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-firehydrant +## 0.1.25-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.24 ### Patch Changes diff --git a/plugins/firehydrant/package.json b/plugins/firehydrant/package.json index 676f9dc6df..100ed11839 100644 --- a/plugins/firehydrant/package.json +++ b/plugins/firehydrant/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-firehydrant", "description": "A Backstage plugin that integrates towards FireHydrant", - "version": "0.1.24", + "version": "0.1.25-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,9 +25,9 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -39,10 +39,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/fossa/CHANGELOG.md b/plugins/fossa/CHANGELOG.md index 81df695de8..67b0e32bba 100644 --- a/plugins/fossa/CHANGELOG.md +++ b/plugins/fossa/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-fossa +## 0.2.40-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.2.39 ### Patch Changes diff --git a/plugins/fossa/package.json b/plugins/fossa/package.json index ce4f621699..b24f02fa71 100644 --- a/plugins/fossa/package.json +++ b/plugins/fossa/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-fossa", "description": "A Backstage plugin that integrates towards FOSSA", - "version": "0.2.39", + "version": "0.2.40-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,10 +36,10 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -53,10 +53,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/gcalendar/CHANGELOG.md b/plugins/gcalendar/CHANGELOG.md index 8125bf4317..5b171e4e56 100644 --- a/plugins/gcalendar/CHANGELOG.md +++ b/plugins/gcalendar/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-gcalendar +## 0.3.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.3.3 ### Patch Changes diff --git a/plugins/gcalendar/package.json b/plugins/gcalendar/package.json index 57a7e4c5b2..e55268a4eb 100644 --- a/plugins/gcalendar/package.json +++ b/plugins/gcalendar/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-gcalendar", - "version": "0.3.3", + "version": "0.3.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -22,8 +22,8 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", @@ -43,10 +43,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/gcp-projects/CHANGELOG.md b/plugins/gcp-projects/CHANGELOG.md index 648db64e00..1e5e274bc8 100644 --- a/plugins/gcp-projects/CHANGELOG.md +++ b/plugins/gcp-projects/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-gcp-projects +## 0.3.27-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.3.26 ### Patch Changes diff --git a/plugins/gcp-projects/package.json b/plugins/gcp-projects/package.json index 37a361d5ac..3f78ea6609 100644 --- a/plugins/gcp-projects/package.json +++ b/plugins/gcp-projects/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-gcp-projects", "description": "A Backstage plugin that helps you manage projects in GCP", - "version": "0.3.26", + "version": "0.3.27-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,8 +34,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -47,10 +47,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/git-release-manager/CHANGELOG.md b/plugins/git-release-manager/CHANGELOG.md index 7d9b814fca..1a5bb54447 100644 --- a/plugins/git-release-manager/CHANGELOG.md +++ b/plugins/git-release-manager/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-git-release-manager +## 0.3.21-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.3.20 ### Patch Changes diff --git a/plugins/git-release-manager/package.json b/plugins/git-release-manager/package.json index 349e323566..fb357a2944 100644 --- a/plugins/git-release-manager/package.json +++ b/plugins/git-release-manager/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-git-release-manager", "description": "A Backstage plugin that helps you manage releases in git", - "version": "0.3.20", + "version": "0.3.21-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,9 +24,9 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/integration": "^1.2.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/integration": "^1.3.0-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -43,10 +43,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/plugins/github-actions/CHANGELOG.md b/plugins/github-actions/CHANGELOG.md index f0a4cadc57..0732f6bfb7 100644 --- a/plugins/github-actions/CHANGELOG.md +++ b/plugins/github-actions/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-github-actions +## 0.5.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.5.7 ### Patch Changes diff --git a/plugins/github-actions/package.json b/plugins/github-actions/package.json index e60a160206..a589741d33 100644 --- a/plugins/github-actions/package.json +++ b/plugins/github-actions/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-github-actions", "description": "A Backstage plugin that integrates towards GitHub Actions", - "version": "0.5.7", + "version": "0.5.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -37,10 +37,10 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -55,10 +55,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/github-deployments/CHANGELOG.md b/plugins/github-deployments/CHANGELOG.md index c979e2f7eb..436e329263 100644 --- a/plugins/github-deployments/CHANGELOG.md +++ b/plugins/github-deployments/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-github-deployments +## 0.1.39-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.38 ### Patch Changes diff --git a/plugins/github-deployments/package.json b/plugins/github-deployments/package.json index 8a7c37999a..75b7fcbb92 100644 --- a/plugins/github-deployments/package.json +++ b/plugins/github-deployments/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-github-deployments", "description": "A Backstage plugin that integrates towards GitHub Deployments", - "version": "0.1.38", + "version": "0.1.39-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,12 +25,12 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/integration-react": "^1.1.2", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/integration-react": "^1.1.3-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -43,10 +43,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/github-pull-requests-board/CHANGELOG.md b/plugins/github-pull-requests-board/CHANGELOG.md index cf073ff873..985380782f 100644 --- a/plugins/github-pull-requests-board/CHANGELOG.md +++ b/plugins/github-pull-requests-board/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-github-pull-requests-board +## 0.1.2-next.0 + +### Patch Changes + +- 73268a67ff: Fixed rendering when PR contains references to deleted Github accounts +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.1 ### Patch Changes diff --git a/plugins/github-pull-requests-board/package.json b/plugins/github-pull-requests-board/package.json index 7e0f27bdd8..ee48ebc9fe 100644 --- a/plugins/github-pull-requests-board/package.json +++ b/plugins/github-pull-requests-board/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-github-pull-requests-board", "description": "A Backstage plugin that allows you to see all open Pull Requests for all the repositories owned by your team", - "version": "0.1.1", + "version": "0.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,10 +36,10 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -49,9 +49,9 @@ "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/gitops-profiles/CHANGELOG.md b/plugins/gitops-profiles/CHANGELOG.md index 32b3a42abc..ff5dee0460 100644 --- a/plugins/gitops-profiles/CHANGELOG.md +++ b/plugins/gitops-profiles/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-gitops-profiles +## 0.3.26-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.3.25 ### Patch Changes diff --git a/plugins/gitops-profiles/package.json b/plugins/gitops-profiles/package.json index 950a8c3129..630c4ded07 100644 --- a/plugins/gitops-profiles/package.json +++ b/plugins/gitops-profiles/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-gitops-profiles", "description": "A Backstage plugin that helps you manage GitOps profiles", - "version": "0.3.25", + "version": "0.3.26-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,8 +35,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -48,10 +48,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/gocd/CHANGELOG.md b/plugins/gocd/CHANGELOG.md index 838971fa6b..de55f23583 100644 --- a/plugins/gocd/CHANGELOG.md +++ b/plugins/gocd/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-gocd +## 0.1.14-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.13 ### Patch Changes diff --git a/plugins/gocd/package.json b/plugins/gocd/package.json index 246c984b66..ecc8d8a4d0 100644 --- a/plugins/gocd/package.json +++ b/plugins/gocd/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-gocd", "description": "A Backstage plugin that integrates towards GoCD", - "version": "0.1.13", + "version": "0.1.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,10 +32,10 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -49,10 +49,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/graphiql/CHANGELOG.md b/plugins/graphiql/CHANGELOG.md index 2e278d8496..5206051fc6 100644 --- a/plugins/graphiql/CHANGELOG.md +++ b/plugins/graphiql/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-graphiql +## 0.2.40-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.2.39 ### Patch Changes diff --git a/plugins/graphiql/package.json b/plugins/graphiql/package.json index d9c9dd823f..5d0c221ed5 100644 --- a/plugins/graphiql/package.json +++ b/plugins/graphiql/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-graphiql", "description": "Backstage plugin for browsing GraphQL APIs", - "version": "0.2.39", + "version": "0.2.40-next.0", "private": false, "publishConfig": { "access": "public", @@ -34,8 +34,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -49,10 +49,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/graphql-backend/CHANGELOG.md b/plugins/graphql-backend/CHANGELOG.md index adebbee6d9..e41866c272 100644 --- a/plugins/graphql-backend/CHANGELOG.md +++ b/plugins/graphql-backend/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-graphql-backend +## 0.1.25-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + ## 0.1.24 ### Patch Changes diff --git a/plugins/graphql-backend/package.json b/plugins/graphql-backend/package.json index 333f7453fb..64cd268e00 100644 --- a/plugins/graphql-backend/package.json +++ b/plugins/graphql-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-graphql-backend", "description": "An experimental Backstage backend plugin for GraphQL", - "version": "0.1.24", + "version": "0.1.25-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,7 +34,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@backstage/plugin-catalog-graphql": "^0.3.11", "@graphql-tools/schema": "^8.3.1", @@ -51,7 +51,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/supertest": "^2.0.8", "msw": "^0.44.0", "supertest": "^6.1.3" diff --git a/plugins/home/CHANGELOG.md b/plugins/home/CHANGELOG.md index fa0de00a6b..69b215106a 100644 --- a/plugins/home/CHANGELOG.md +++ b/plugins/home/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-home +## 0.4.24-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-stack-overflow@0.1.4-next.0 + ## 0.4.23 ### Patch Changes diff --git a/plugins/home/package.json b/plugins/home/package.json index 066aab4397..f11a7d33fb 100644 --- a/plugins/home/package.json +++ b/plugins/home/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-home", "description": "A Backstage plugin that helps you build a home page", - "version": "0.4.23", + "version": "0.4.24-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,10 +36,10 @@ "dependencies": { "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", - "@backstage/plugin-stack-overflow": "^0.1.3", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", + "@backstage/plugin-stack-overflow": "^0.1.4-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -53,10 +53,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/ilert/CHANGELOG.md b/plugins/ilert/CHANGELOG.md index 6066c4cab6..1aeb85d6b6 100644 --- a/plugins/ilert/CHANGELOG.md +++ b/plugins/ilert/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-ilert +## 0.1.34-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.33 ### Patch Changes diff --git a/plugins/ilert/package.json b/plugins/ilert/package.json index c29125bd30..9b73003de7 100644 --- a/plugins/ilert/package.json +++ b/plugins/ilert/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-ilert", "description": "A Backstage plugin that integrates towards iLert", - "version": "0.1.33", + "version": "0.1.34-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,10 +25,10 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@date-io/luxon": "1.x", "@material-ui/core": "^4.12.2", @@ -43,10 +43,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/jenkins-backend/CHANGELOG.md b/plugins/jenkins-backend/CHANGELOG.md index 3d6ee2de5b..f1c6ed84e9 100644 --- a/plugins/jenkins-backend/CHANGELOG.md +++ b/plugins/jenkins-backend/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-jenkins-backend +## 0.1.25-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + ## 0.1.24 ### Patch Changes diff --git a/plugins/jenkins-backend/package.json b/plugins/jenkins-backend/package.json index 3dee73ba22..4877a73093 100644 --- a/plugins/jenkins-backend/package.json +++ b/plugins/jenkins-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-jenkins-backend", "description": "A Backstage backend plugin that integrates towards Jenkins", - "version": "0.1.24", + "version": "0.1.25-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,12 +25,12 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/plugin-auth-node": "^0.2.3", + "@backstage/plugin-auth-node": "^0.2.4-next.0", "@backstage/plugin-jenkins-common": "^0.1.6", "@backstage/plugin-permission-common": "^0.6.3", "@types/express": "^4.17.6", @@ -42,7 +42,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/jenkins": "^0.23.1", "@types/supertest": "^2.0.8", "msw": "^0.44.0", diff --git a/plugins/jenkins-common/package.json b/plugins/jenkins-common/package.json index d28186abde..75a4c60b35 100644 --- a/plugins/jenkins-common/package.json +++ b/plugins/jenkins-common/package.json @@ -26,7 +26,7 @@ "@backstage/plugin-permission-common": "^0.6.3" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist" diff --git a/plugins/jenkins/CHANGELOG.md b/plugins/jenkins/CHANGELOG.md index f9496f44b6..bee2b3ca63 100644 --- a/plugins/jenkins/CHANGELOG.md +++ b/plugins/jenkins/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-jenkins +## 0.7.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.7.6 ### Patch Changes diff --git a/plugins/jenkins/package.json b/plugins/jenkins/package.json index 0687857110..a3f0b2b533 100644 --- a/plugins/jenkins/package.json +++ b/plugins/jenkins/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-jenkins", "description": "A Backstage plugin that integrates towards Jenkins", - "version": "0.7.6", + "version": "0.7.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,10 +36,10 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/plugin-jenkins-common": "^0.1.6", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", @@ -54,10 +54,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/kafka-backend/CHANGELOG.md b/plugins/kafka-backend/CHANGELOG.md index b3d641823e..658959494c 100644 --- a/plugins/kafka-backend/CHANGELOG.md +++ b/plugins/kafka-backend/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-kafka-backend +## 0.2.28-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + ## 0.2.27 ### Patch Changes diff --git a/plugins/kafka-backend/package.json b/plugins/kafka-backend/package.json index b2ca7a5725..c2ddfd4cad 100644 --- a/plugins/kafka-backend/package.json +++ b/plugins/kafka-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-kafka-backend", "description": "A Backstage backend plugin that integrates towards Kafka", - "version": "0.2.27", + "version": "0.2.28-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,7 +35,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", @@ -47,7 +47,7 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/jest-when": "^3.5.0", "@types/lodash": "^4.14.151", "jest-when": "^3.1.0", diff --git a/plugins/kafka/CHANGELOG.md b/plugins/kafka/CHANGELOG.md index 62d83ed577..5e50d58a98 100644 --- a/plugins/kafka/CHANGELOG.md +++ b/plugins/kafka/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-kafka +## 0.3.8-next.0 + +### Patch Changes + +- bde245f0bf: Add dashboard URL feature and fix minor styling issues. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.3.7 ### Patch Changes diff --git a/plugins/kafka/package.json b/plugins/kafka/package.json index dc69556716..68c05a0a4c 100644 --- a/plugins/kafka/package.json +++ b/plugins/kafka/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-kafka", "description": "A Backstage plugin that integrates towards Kafka", - "version": "0.3.7", + "version": "0.3.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -26,9 +26,9 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@backstage/config": "^1.0.1", "@material-ui/core": "^4.12.2", @@ -41,10 +41,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/plugins/kubernetes-backend/CHANGELOG.md b/plugins/kubernetes-backend/CHANGELOG.md index 13a633fbd3..7468feadd5 100644 --- a/plugins/kubernetes-backend/CHANGELOG.md +++ b/plugins/kubernetes-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-kubernetes-backend +## 0.7.1-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + ## 0.7.0 ### Minor Changes diff --git a/plugins/kubernetes-backend/package.json b/plugins/kubernetes-backend/package.json index 412f891859..1f36ee0fc3 100644 --- a/plugins/kubernetes-backend/package.json +++ b/plugins/kubernetes-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-kubernetes-backend", "description": "A Backstage backend plugin that integrates towards Kubernetes", - "version": "0.7.0", + "version": "0.7.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,12 +36,12 @@ }, "dependencies": { "@azure/identity": "^2.0.4", - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/plugin-auth-node": "^0.2.3", + "@backstage/plugin-auth-node": "^0.2.4-next.0", "@backstage/plugin-kubernetes-common": "^0.4.0", "@google-cloud/container": "^4.0.0", "@kubernetes/client-node": "^0.17.0", @@ -63,7 +63,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/aws4": "^1.5.1", "aws-sdk-mock": "^5.2.1", "supertest": "^6.1.3" diff --git a/plugins/kubernetes-common/package.json b/plugins/kubernetes-common/package.json index eb87e12a9b..3dd0be7670 100644 --- a/plugins/kubernetes-common/package.json +++ b/plugins/kubernetes-common/package.json @@ -42,7 +42,7 @@ "@kubernetes/client-node": "^0.17.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "jest": { "roots": [ diff --git a/plugins/kubernetes/CHANGELOG.md b/plugins/kubernetes/CHANGELOG.md index 601eebd99a..0784be7f50 100644 --- a/plugins/kubernetes/CHANGELOG.md +++ b/plugins/kubernetes/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-kubernetes +## 0.7.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.7.0 ### Minor Changes diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json index 981c6139d0..c46b56809c 100644 --- a/plugins/kubernetes/package.json +++ b/plugins/kubernetes/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-kubernetes", "description": "A Backstage plugin that integrates towards Kubernetes", - "version": "0.7.0", + "version": "0.7.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,9 +36,9 @@ "dependencies": { "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/plugin-kubernetes-common": "^0.4.0", "@backstage/theme": "^0.2.16", "@kubernetes/client-node": "^0.17.0", @@ -57,10 +57,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/plugins/lighthouse/CHANGELOG.md b/plugins/lighthouse/CHANGELOG.md index c2a366f04b..afe71853b4 100644 --- a/plugins/lighthouse/CHANGELOG.md +++ b/plugins/lighthouse/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-lighthouse +## 0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.3.7 ### Patch Changes diff --git a/plugins/lighthouse/package.json b/plugins/lighthouse/package.json index 6b9ccef130..eae133af16 100644 --- a/plugins/lighthouse/package.json +++ b/plugins/lighthouse/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-lighthouse", "description": "A Backstage plugin that integrates towards Lighthouse", - "version": "0.3.7", + "version": "0.3.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -37,9 +37,9 @@ "dependencies": { "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -51,10 +51,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/plugins/newrelic-dashboard/CHANGELOG.md b/plugins/newrelic-dashboard/CHANGELOG.md index 3c811d28ef..d027680170 100644 --- a/plugins/newrelic-dashboard/CHANGELOG.md +++ b/plugins/newrelic-dashboard/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-newrelic-dashboard +## 0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.2.0 ### Minor Changes diff --git a/plugins/newrelic-dashboard/package.json b/plugins/newrelic-dashboard/package.json index 6e0d56c342..7c977ad733 100644 --- a/plugins/newrelic-dashboard/package.json +++ b/plugins/newrelic-dashboard/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-newrelic-dashboard", - "version": "0.2.0", + "version": "0.2.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,18 +24,18 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.57", "react-use": "^17.2.4" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/dev-utils": "^1.0.4", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", "@testing-library/jest-dom": "^5.10.1", "@types/react": "^16.13.1 || ^17.0.0", "cross-fetch": "^3.1.5" diff --git a/plugins/newrelic/CHANGELOG.md b/plugins/newrelic/CHANGELOG.md index 7b5b4e08ec..8e9359798f 100644 --- a/plugins/newrelic/CHANGELOG.md +++ b/plugins/newrelic/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-newrelic +## 0.3.26-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.3.25 ### Patch Changes diff --git a/plugins/newrelic/package.json b/plugins/newrelic/package.json index a4c04088c3..32d6397940 100644 --- a/plugins/newrelic/package.json +++ b/plugins/newrelic/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-newrelic", "description": "A Backstage plugin that integrates towards New Relic", - "version": "0.3.25", + "version": "0.3.26-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,8 +35,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -47,10 +47,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/org/CHANGELOG.md b/plugins/org/CHANGELOG.md index ec6073f29d..96b650bdd4 100644 --- a/plugins/org/CHANGELOG.md +++ b/plugins/org/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-org +## 0.5.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.5.7 ### Patch Changes diff --git a/plugins/org/package.json b/plugins/org/package.json index cd68842f68..49b0d78821 100644 --- a/plugins/org/package.json +++ b/plugins/org/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-org", "description": "A Backstage plugin that helps you create entity pages for your organization", - "version": "0.5.7", + "version": "0.5.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,9 +30,9 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -49,10 +49,10 @@ }, "devDependencies": { "@backstage/catalog-client": "^1.0.4", - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/pagerduty/CHANGELOG.md b/plugins/pagerduty/CHANGELOG.md index 682ae0f43a..7ae0109110 100644 --- a/plugins/pagerduty/CHANGELOG.md +++ b/plugins/pagerduty/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-pagerduty +## 0.5.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.5.0 ### Minor Changes diff --git a/plugins/pagerduty/package.json b/plugins/pagerduty/package.json index d35c2866e2..ae4819b5e6 100644 --- a/plugins/pagerduty/package.json +++ b/plugins/pagerduty/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-pagerduty", "description": "A Backstage plugin that integrates towards PagerDuty", - "version": "0.5.0", + "version": "0.5.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,10 +35,10 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -53,10 +53,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/periskop-backend/CHANGELOG.md b/plugins/periskop-backend/CHANGELOG.md index eabafce57d..15fe0034d7 100644 --- a/plugins/periskop-backend/CHANGELOG.md +++ b/plugins/periskop-backend/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-periskop-backend +## 0.1.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + ## 0.1.5 ### Patch Changes diff --git a/plugins/periskop-backend/package.json b/plugins/periskop-backend/package.json index a7abecc7e4..dca1ac34ce 100644 --- a/plugins/periskop-backend/package.json +++ b/plugins/periskop-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-periskop-backend", - "version": "0.1.5", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,7 +24,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@types/express": "*", "cross-fetch": "^3.0.6", @@ -35,7 +35,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/supertest": "^2.0.8", "msw": "^0.44.0", "supertest": "^6.1.6" diff --git a/plugins/periskop/CHANGELOG.md b/plugins/periskop/CHANGELOG.md index 0c3c080b20..ce916eb035 100644 --- a/plugins/periskop/CHANGELOG.md +++ b/plugins/periskop/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-periskop +## 0.1.6-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.5 ### Patch Changes diff --git a/plugins/periskop/package.json b/plugins/periskop/package.json index 1b1022a0c1..9e9f94bda9 100644 --- a/plugins/periskop/package.json +++ b/plugins/periskop/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-periskop", - "version": "0.1.5", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -26,10 +26,10 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -42,10 +42,10 @@ "react-dom": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/permission-backend/CHANGELOG.md b/plugins/permission-backend/CHANGELOG.md index 76046634f8..22ef7b3b24 100644 --- a/plugins/permission-backend/CHANGELOG.md +++ b/plugins/permission-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-permission-backend +## 0.5.10-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + - @backstage/plugin-permission-node@0.6.4-next.0 + ## 0.5.9 ### Patch Changes diff --git a/plugins/permission-backend/package.json b/plugins/permission-backend/package.json index acf63202f4..20b508c833 100644 --- a/plugins/permission-backend/package.json +++ b/plugins/permission-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-permission-backend", - "version": "0.5.9", + "version": "0.5.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -22,12 +22,12 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/plugin-auth-node": "^0.2.3", + "@backstage/plugin-auth-node": "^0.2.4-next.0", "@backstage/plugin-permission-common": "^0.6.3", - "@backstage/plugin-permission-node": "^0.6.3", + "@backstage/plugin-permission-node": "^0.6.4-next.0", "@types/express": "*", "dataloader": "^2.0.0", "express": "^4.17.1", @@ -39,7 +39,7 @@ "zod": "^3.11.6" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/lodash": "^4.14.151", "@types/supertest": "^2.0.8", "supertest": "^6.1.6", diff --git a/plugins/permission-common/package.json b/plugins/permission-common/package.json index 8211b4e940..2ae26ad6f9 100644 --- a/plugins/permission-common/package.json +++ b/plugins/permission-common/package.json @@ -48,7 +48,7 @@ "zod": "^3.11.6" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/jest": "^26.0.7", "msw": "^0.44.0" } diff --git a/plugins/permission-node/CHANGELOG.md b/plugins/permission-node/CHANGELOG.md index 1d5ce268b9..177522ab2f 100644 --- a/plugins/permission-node/CHANGELOG.md +++ b/plugins/permission-node/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-permission-node +## 0.6.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + ## 0.6.3 ### Patch Changes diff --git a/plugins/permission-node/package.json b/plugins/permission-node/package.json index 482aa7437e..be15aff4ce 100644 --- a/plugins/permission-node/package.json +++ b/plugins/permission-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-permission-node", "description": "Common permission and authorization utilities for backend plugins", - "version": "0.6.3", + "version": "0.6.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,10 +33,10 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/plugin-auth-node": "^0.2.3", + "@backstage/plugin-auth-node": "^0.2.4-next.0", "@backstage/plugin-permission-common": "^0.6.3", "@types/express": "^4.17.6", "express": "^4.17.1", @@ -44,7 +44,7 @@ "zod": "^3.11.6" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/supertest": "^2.0.8", "msw": "^0.44.0", "supertest": "^6.1.3" diff --git a/plugins/permission-react/CHANGELOG.md b/plugins/permission-react/CHANGELOG.md index df696be7fb..8d5a99b1ba 100644 --- a/plugins/permission-react/CHANGELOG.md +++ b/plugins/permission-react/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-permission-react +## 0.4.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + ## 0.4.3 ### Patch Changes diff --git a/plugins/permission-react/package.json b/plugins/permission-react/package.json index ab04b87a4a..9a077a5bea 100644 --- a/plugins/permission-react/package.json +++ b/plugins/permission-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-permission-react", - "version": "0.4.3", + "version": "0.4.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,7 +32,7 @@ }, "dependencies": { "@backstage/config": "^1.0.1", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/plugin-permission-common": "^0.6.3", "cross-fetch": "^3.1.5", "react-router": "6.0.0-beta.0", @@ -44,8 +44,8 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@types/jest": "^26.0.7" diff --git a/plugins/proxy-backend/CHANGELOG.md b/plugins/proxy-backend/CHANGELOG.md index e80c07c0de..1c124fcf8c 100644 --- a/plugins/proxy-backend/CHANGELOG.md +++ b/plugins/proxy-backend/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-proxy-backend +## 0.2.29-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + ## 0.2.28 ### Patch Changes diff --git a/plugins/proxy-backend/package.json b/plugins/proxy-backend/package.json index 7e308744ad..52cae9d7c9 100644 --- a/plugins/proxy-backend/package.json +++ b/plugins/proxy-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-proxy-backend", "description": "A Backstage backend plugin that helps you set up proxy endpoints in the backend", - "version": "0.2.28", + "version": "0.2.29-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,7 +32,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@types/express": "^4.17.6", "express": "^4.17.1", @@ -46,7 +46,7 @@ "yup": "^0.32.9" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/http-proxy-middleware": "^0.19.3", "@types/supertest": "^2.0.8", "@types/uuid": "^8.0.0", diff --git a/plugins/rollbar-backend/CHANGELOG.md b/plugins/rollbar-backend/CHANGELOG.md index 47b8d21c3e..2c9f3c7665 100644 --- a/plugins/rollbar-backend/CHANGELOG.md +++ b/plugins/rollbar-backend/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-rollbar-backend +## 0.1.32-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + ## 0.1.31 ### Patch Changes diff --git a/plugins/rollbar-backend/package.json b/plugins/rollbar-backend/package.json index 7c8643b0e1..e2150eb67c 100644 --- a/plugins/rollbar-backend/package.json +++ b/plugins/rollbar-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-rollbar-backend", "description": "A Backstage backend plugin that integrates towards Rollbar", - "version": "0.1.31", + "version": "0.1.32-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,7 +34,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@types/express": "^4.17.6", "camelcase-keys": "^7.0.1", @@ -50,8 +50,8 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/supertest": "^2.0.8", "msw": "^0.44.0", "supertest": "^6.1.3" diff --git a/plugins/rollbar/CHANGELOG.md b/plugins/rollbar/CHANGELOG.md index d1d6c9c3fa..6ad6ef4fb5 100644 --- a/plugins/rollbar/CHANGELOG.md +++ b/plugins/rollbar/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-rollbar +## 0.4.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.4.7 ### Patch Changes diff --git a/plugins/rollbar/package.json b/plugins/rollbar/package.json index 49afe3928d..e343d841af 100644 --- a/plugins/rollbar/package.json +++ b/plugins/rollbar/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-rollbar", "description": "A Backstage plugin that integrates towards Rollbar", - "version": "0.4.7", + "version": "0.4.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,9 +36,9 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -53,10 +53,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md index 349c06c267..22c4364082 100644 --- a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-scaffolder-backend-module-cookiecutter +## 0.2.10-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-scaffolder-backend@1.5.0-next.0 + ## 0.2.9 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-cookiecutter/package.json b/plugins/scaffolder-backend-module-cookiecutter/package.json index dc16ecf560..41afcdabe4 100644 --- a/plugins/scaffolder-backend-module-cookiecutter/package.json +++ b/plugins/scaffolder-backend-module-cookiecutter/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-backend-module-cookiecutter", "description": "A module for the scaffolder backend that lets you template projects using cookiecutter", - "version": "0.2.9", + "version": "0.2.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,10 +23,10 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-scaffolder-backend": "^1.4.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-scaffolder-backend": "^1.5.0-next.0", "@backstage/config": "^1.0.1", "@backstage/types": "^1.0.0", "command-exists": "^1.2.9", @@ -35,7 +35,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/fs-extra": "^9.0.1", "@types/mock-fs": "^4.13.0", "@types/jest": "^26.0.7", diff --git a/plugins/scaffolder-backend-module-rails/CHANGELOG.md b/plugins/scaffolder-backend-module-rails/CHANGELOG.md index ef5c7e7bce..65e91bb9d3 100644 --- a/plugins/scaffolder-backend-module-rails/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-rails/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-scaffolder-backend-module-rails +## 0.4.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-scaffolder-backend@1.5.0-next.0 + ## 0.4.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-rails/package.json b/plugins/scaffolder-backend-module-rails/package.json index c693b8c9bc..6c4b6e3a58 100644 --- a/plugins/scaffolder-backend-module-rails/package.json +++ b/plugins/scaffolder-backend-module-rails/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-backend-module-rails", "description": "A module for the scaffolder backend that lets you template projects using Rails", - "version": "0.4.2", + "version": "0.4.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,17 +24,17 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/plugin-scaffolder-backend": "^1.4.0", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/plugin-scaffolder-backend": "^1.5.0-next.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", + "@backstage/integration": "^1.3.0-next.0", "@backstage/types": "^1.0.0", "command-exists": "^1.2.9", "fs-extra": "^10.0.1" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/jest": "^26.0.7", "@types/node": "^16.11.26", "@types/command-exists": "^1.2.0", diff --git a/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md b/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md index b256d8493a..6155eaf3da 100644 --- a/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-scaffolder-backend-module-yeoman +## 0.2.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.5.0-next.0 + ## 0.2.7 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-yeoman/package.json b/plugins/scaffolder-backend-module-yeoman/package.json index e99005895a..a1f9ac9fc9 100644 --- a/plugins/scaffolder-backend-module-yeoman/package.json +++ b/plugins/scaffolder-backend-module-yeoman/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-scaffolder-backend-module-yeoman", - "version": "0.2.7", + "version": "0.2.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,13 +24,13 @@ }, "dependencies": { "@backstage/config": "^1.0.1", - "@backstage/plugin-scaffolder-backend": "^1.4.0", + "@backstage/plugin-scaffolder-backend": "^1.5.0-next.0", "@backstage/types": "^1.0.0", "winston": "^3.2.1", "yeoman-environment": "^3.9.1" }, "devDependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@types/jest": "^26.0.7" }, "files": [ diff --git a/plugins/scaffolder-backend/CHANGELOG.md b/plugins/scaffolder-backend/CHANGELOG.md index ef099473a4..e2c5b51281 100644 --- a/plugins/scaffolder-backend/CHANGELOG.md +++ b/plugins/scaffolder-backend/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-scaffolder-backend +## 1.5.0-next.0 + +### Minor Changes + +- 593dea6710: Add support for Basic Auth for Bitbucket Server. +- 3b7930b3e5: Add support for Bearer Authorization header / token-based auth at Git commands. +- 3f1316f1c5: User Bearer Authorization header at Git commands with token-based auth at Bitbucket Server. +- eeff5046ae: Updated `publish:gitlab:merge-request` action to allow commit updates and deletes + +### Patch Changes + +- fc8a5f797b: Add a `publish:gerrit:review` scaffolder action +- 014b3b7776: Add missing `res.end()` in scaffolder backend `EventStream` usage +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/backend-plugin-api@0.1.1-next.0 + - @backstage/plugin-catalog-backend@1.3.1-next.0 + - @backstage/plugin-catalog-node@1.0.1-next.0 + ## 1.4.0 ### Minor Changes diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json index 54e1fb4b68..7c2b2b4401 100644 --- a/plugins/scaffolder-backend/package.json +++ b/plugins/scaffolder-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-backend", "description": "The Backstage backend plugin that helps you create new things", - "version": "1.4.0", + "version": "1.5.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,16 +35,16 @@ "build:assets": "node scripts/build-nunjucks.js" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/plugin-catalog-backend": "^1.3.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/plugin-catalog-backend": "^1.3.1-next.0", "@backstage/plugin-scaffolder-common": "^1.1.2", - "@backstage/backend-plugin-api": "^0.1.0", - "@backstage/plugin-catalog-node": "^1.0.0", + "@backstage/backend-plugin-api": "^0.1.1-next.0", + "@backstage/plugin-catalog-node": "^1.0.1-next.0", "@backstage/types": "^1.0.0", "@gitbeaker/core": "^35.6.0", "@gitbeaker/node": "^35.1.0", @@ -79,8 +79,8 @@ "zod": "^3.11.6" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/command-exists": "^1.2.0", "@types/fs-extra": "^9.0.1", "@types/git-url-parse": "^9.0.0", diff --git a/plugins/scaffolder-common/package.json b/plugins/scaffolder-common/package.json index d7474f8446..6e12684ef1 100644 --- a/plugins/scaffolder-common/package.json +++ b/plugins/scaffolder-common/package.json @@ -43,6 +43,6 @@ "@backstage/types": "^1.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" } } diff --git a/plugins/scaffolder/CHANGELOG.md b/plugins/scaffolder/CHANGELOG.md index 8967a44ec5..a1f7c1a68d 100644 --- a/plugins/scaffolder/CHANGELOG.md +++ b/plugins/scaffolder/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-scaffolder +## 1.4.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-permission-react@0.4.4-next.0 + ## 1.4.0 ### Minor Changes diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index b9d1122aad..ca54750dd0 100644 --- a/plugins/scaffolder/package.json +++ b/plugins/scaffolder/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder", "description": "The Backstage plugin that helps you create new things", - "version": "1.4.0", + "version": "1.4.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,14 +38,14 @@ "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/integration-react": "^1.1.2", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/integration-react": "^1.1.3-next.0", "@backstage/plugin-catalog-common": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", - "@backstage/plugin-permission-react": "^0.4.3", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", + "@backstage/plugin-permission-react": "^0.4.4-next.0", "@backstage/plugin-scaffolder-common": "^1.1.2", "@backstage/theme": "^0.2.16", "@backstage/types": "^1.0.0", @@ -80,11 +80,11 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/plugin-catalog": "^1.4.0", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/plugin-catalog": "^1.5.0-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/plugins/search-backend-module-elasticsearch/CHANGELOG.md b/plugins/search-backend-module-elasticsearch/CHANGELOG.md index b789e14e3f..686166e11c 100644 --- a/plugins/search-backend-module-elasticsearch/CHANGELOG.md +++ b/plugins/search-backend-module-elasticsearch/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-search-backend-module-elasticsearch +## 1.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.1-next.0 + ## 1.0.0 ### Major Changes diff --git a/plugins/search-backend-module-elasticsearch/package.json b/plugins/search-backend-module-elasticsearch/package.json index e31c1f944b..1592f2c3d6 100644 --- a/plugins/search-backend-module-elasticsearch/package.json +++ b/plugins/search-backend-module-elasticsearch/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-module-elasticsearch", "description": "A module for the search backend that implements search using ElasticSearch", - "version": "1.0.0", + "version": "1.0.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,7 +24,7 @@ }, "dependencies": { "@backstage/config": "^1.0.1", - "@backstage/plugin-search-backend-node": "^1.0.0", + "@backstage/plugin-search-backend-node": "^1.0.1-next.0", "@backstage/plugin-search-common": "^1.0.0", "@elastic/elasticsearch": "^7.13.0", "@opensearch-project/opensearch": "^2.0.0", @@ -36,8 +36,8 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/cli": "^0.18.0", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/cli": "^0.18.1-next.0", "@elastic/elasticsearch-mock": "^1.0.0", "@short.io/opensearch-mock": "^0.3.1" }, diff --git a/plugins/search-backend-module-pg/CHANGELOG.md b/plugins/search-backend-module-pg/CHANGELOG.md index 32f585f4c3..737babecff 100644 --- a/plugins/search-backend-module-pg/CHANGELOG.md +++ b/plugins/search-backend-module-pg/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-search-backend-module-pg +## 0.3.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-search-backend-node@1.0.1-next.0 + ## 0.3.5 ### Patch Changes diff --git a/plugins/search-backend-module-pg/package.json b/plugins/search-backend-module-pg/package.json index e9e02e6c0c..273f3b5e8f 100644 --- a/plugins/search-backend-module-pg/package.json +++ b/plugins/search-backend-module-pg/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-module-pg", "description": "A module for the search backend that implements search using PostgreSQL", - "version": "0.3.5", + "version": "0.3.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,17 +23,17 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", - "@backstage/plugin-search-backend-node": "^1.0.0", + "@backstage/plugin-search-backend-node": "^1.0.1-next.0", "@backstage/plugin-search-common": "^1.0.0", "lodash": "^4.17.21", "knex": "^2.0.0", "uuid": "^8.3.2" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0" + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist", diff --git a/plugins/search-backend-node/CHANGELOG.md b/plugins/search-backend-node/CHANGELOG.md index 8d9b2ae441..49835bd31c 100644 --- a/plugins/search-backend-node/CHANGELOG.md +++ b/plugins/search-backend-node/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-search-backend-node +## 1.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + ## 1.0.0 ### Major Changes diff --git a/plugins/search-backend-node/package.json b/plugins/search-backend-node/package.json index 536af3a3cf..7772837347 100644 --- a/plugins/search-backend-node/package.json +++ b/plugins/search-backend-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-node", "description": "A library for Backstage backend plugins that want to interact with the search backend plugin", - "version": "1.0.0", + "version": "1.0.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,8 +23,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/backend-tasks": "^0.3.3", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/backend-tasks": "^0.3.4-next.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", "@backstage/plugin-permission-common": "^0.6.3", @@ -38,8 +38,8 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/cli": "^0.18.0", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/ndjson": "^2.0.1" }, "files": [ diff --git a/plugins/search-backend/CHANGELOG.md b/plugins/search-backend/CHANGELOG.md index 47b23012ae..9a48c96755 100644 --- a/plugins/search-backend/CHANGELOG.md +++ b/plugins/search-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-search-backend +## 1.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-auth-node@0.2.4-next.0 + - @backstage/plugin-permission-node@0.6.4-next.0 + - @backstage/plugin-search-backend-node@1.0.1-next.0 + ## 1.0.0 ### Major Changes diff --git a/plugins/search-backend/package.json b/plugins/search-backend/package.json index 6018c00b78..49aa696f58 100644 --- a/plugins/search-backend/package.json +++ b/plugins/search-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend", "description": "The Backstage backend plugin that provides your backstage app with search", - "version": "1.0.0", + "version": "1.0.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -23,13 +23,13 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/plugin-auth-node": "^0.2.3", + "@backstage/plugin-auth-node": "^0.2.4-next.0", "@backstage/plugin-permission-common": "^0.6.3", - "@backstage/plugin-permission-node": "^0.6.3", - "@backstage/plugin-search-backend-node": "^1.0.0", + "@backstage/plugin-permission-node": "^0.6.4-next.0", + "@backstage/plugin-search-backend-node": "^1.0.1-next.0", "@backstage/plugin-search-common": "^1.0.0", "@backstage/types": "^1.0.0", "@types/express": "^4.17.6", @@ -43,7 +43,7 @@ "zod": "^3.11.6" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/supertest": "^2.0.8", "supertest": "^6.1.3" }, diff --git a/plugins/search-common/package.json b/plugins/search-common/package.json index a7942f5fa2..ae643941b7 100644 --- a/plugins/search-common/package.json +++ b/plugins/search-common/package.json @@ -43,7 +43,7 @@ "@backstage/plugin-permission-common": "^0.6.3" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "jest": { "roots": [ diff --git a/plugins/search-react/CHANGELOG.md b/plugins/search-react/CHANGELOG.md index dc597516c4..1c5bc6b2ed 100644 --- a/plugins/search-react/CHANGELOG.md +++ b/plugins/search-react/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-search-react +## 1.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 1.0.0 ### Major Changes diff --git a/plugins/search-react/package.json b/plugins/search-react/package.json index 11d9106e9a..e57816582a 100644 --- a/plugins/search-react/package.json +++ b/plugins/search-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-react", - "version": "1.0.0", + "version": "1.0.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,8 +32,8 @@ }, "dependencies": { "@backstage/plugin-search-common": "^1.0.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/version-bridge": "^1.0.1", "@backstage/theme": "^0.2.16", "@backstage/types": "^1.0.0", @@ -48,8 +48,8 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/core-app-api": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", "@testing-library/jest-dom": "^5.10.1", diff --git a/plugins/search/CHANGELOG.md b/plugins/search/CHANGELOG.md index b3aec896d8..f37169a212 100644 --- a/plugins/search/CHANGELOG.md +++ b/plugins/search/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-search +## 1.0.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-search-react@1.0.1-next.0 + ## 1.0.0 ### Major Changes diff --git a/plugins/search/package.json b/plugins/search/package.json index 48eba4bbde..994d9c3f1f 100644 --- a/plugins/search/package.json +++ b/plugins/search/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search", "description": "The Backstage plugin that provides your backstage app with search", - "version": "1.0.0", + "version": "1.0.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,12 +35,12 @@ "dependencies": { "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/plugin-search-common": "^1.0.0", - "@backstage/plugin-search-react": "^1.0.0", + "@backstage/plugin-search-react": "^1.0.1-next.0", "@backstage/theme": "^0.2.16", "@backstage/types": "^1.0.0", "@backstage/version-bridge": "^1.0.1", @@ -57,10 +57,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/plugins/sentry/CHANGELOG.md b/plugins/sentry/CHANGELOG.md index fc0bab0a3d..f8f8887ac1 100644 --- a/plugins/sentry/CHANGELOG.md +++ b/plugins/sentry/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-sentry +## 0.4.1-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.4.0 ### Minor Changes diff --git a/plugins/sentry/package.json b/plugins/sentry/package.json index 65115fe52b..2f7243dead 100644 --- a/plugins/sentry/package.json +++ b/plugins/sentry/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-sentry", "description": "A Backstage plugin that integrates towards Sentry", - "version": "0.4.0", + "version": "0.4.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,9 +36,9 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-table/core": "^3.1.0", "@material-ui/core": "^4.12.2", @@ -53,10 +53,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/shortcuts/CHANGELOG.md b/plugins/shortcuts/CHANGELOG.md index beae0399bb..ddaddfc537 100644 --- a/plugins/shortcuts/CHANGELOG.md +++ b/plugins/shortcuts/CHANGELOG.md @@ -1,5 +1,26 @@ # @backstage/plugin-shortcuts +## 0.3.0-next.0 + +### Minor Changes + +- 5b769fddb5: Internal observable replaced with a mapping from the storage API. This fixes shortcuts initialization when using firestore. + + `ShortcutApi.get` method, that returns an immediate snapshot of shortcuts, made public. + + Example of how to get and observe `shortcuts`: + + ```typescript + const shortcutApi = useApi(shortcutsApiRef); + const shortcuts = useObservable(shortcutApi.shortcut$(), shortcutApi.get()); + ``` + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.2.8 ### Patch Changes diff --git a/plugins/shortcuts/package.json b/plugins/shortcuts/package.json index a47280f64c..6ff802fd22 100644 --- a/plugins/shortcuts/package.json +++ b/plugins/shortcuts/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-shortcuts", "description": "A Backstage plugin that provides a shortcuts feature to the sidebar", - "version": "0.2.8", + "version": "0.3.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,8 +24,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/theme": "^0.2.16", "@backstage/types": "^1.0.0", "@material-ui/core": "^4.12.2", @@ -42,10 +42,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/sonarqube/CHANGELOG.md b/plugins/sonarqube/CHANGELOG.md index f63342285f..8f2f86fc1a 100644 --- a/plugins/sonarqube/CHANGELOG.md +++ b/plugins/sonarqube/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-sonarqube +## 0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.3.7 ### Patch Changes diff --git a/plugins/sonarqube/package.json b/plugins/sonarqube/package.json index c3f7df960c..c5c27d800a 100644 --- a/plugins/sonarqube/package.json +++ b/plugins/sonarqube/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-sonarqube", "description": "", - "version": "0.3.7", + "version": "0.3.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -37,9 +37,9 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -53,10 +53,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/splunk-on-call/CHANGELOG.md b/plugins/splunk-on-call/CHANGELOG.md index 4b772e69ed..35cf497a0e 100644 --- a/plugins/splunk-on-call/CHANGELOG.md +++ b/plugins/splunk-on-call/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-splunk-on-call +## 0.3.32-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.3.31 ### Patch Changes diff --git a/plugins/splunk-on-call/package.json b/plugins/splunk-on-call/package.json index 6a0729f1bd..63b4ddf1e2 100644 --- a/plugins/splunk-on-call/package.json +++ b/plugins/splunk-on-call/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-splunk-on-call", "description": "A Backstage plugin that integrates towards Splunk On-Call", - "version": "0.3.31", + "version": "0.3.32-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,9 +35,9 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -51,10 +51,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/stack-overflow-backend/CHANGELOG.md b/plugins/stack-overflow-backend/CHANGELOG.md index 1b952f8414..478d7f5ac3 100644 --- a/plugins/stack-overflow-backend/CHANGELOG.md +++ b/plugins/stack-overflow-backend/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/plugin-stack-overflow-backend +## 0.1.4-next.0 + +### Patch Changes + +- ea5631a8b2: Added API key as separate configuration + ## 0.1.3 ### Patch Changes diff --git a/plugins/stack-overflow-backend/package.json b/plugins/stack-overflow-backend/package.json index 079c4961e6..5b11dbdaab 100644 --- a/plugins/stack-overflow-backend/package.json +++ b/plugins/stack-overflow-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-stack-overflow-backend", - "version": "0.1.3", + "version": "0.1.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/stack-overflow/CHANGELOG.md b/plugins/stack-overflow/CHANGELOG.md index 553c7ae5b9..0a38c211a7 100644 --- a/plugins/stack-overflow/CHANGELOG.md +++ b/plugins/stack-overflow/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-stack-overflow +## 0.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-home@0.4.24-next.0 + ## 0.1.3 ### Patch Changes diff --git a/plugins/stack-overflow/package.json b/plugins/stack-overflow/package.json index 3023d47190..8c896fb602 100644 --- a/plugins/stack-overflow/package.json +++ b/plugins/stack-overflow/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-stack-overflow", - "version": "0.1.3", + "version": "0.1.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,9 +24,9 @@ }, "dependencies": { "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/plugin-home": "^0.4.23", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/plugin-home": "^0.4.24-next.0", "@backstage/plugin-search-common": "^1.0.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", @@ -42,10 +42,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", "@types/jest": "^26.0.7", diff --git a/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md b/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md index bdbcfd34c4..f666bb2fa9 100644 --- a/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md +++ b/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-tech-insights-backend-module-jsonfc +## 0.1.19-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-tech-insights-common@0.2.6-next.0 + - @backstage/plugin-tech-insights-node@0.3.3-next.0 + ## 0.1.18 ### Patch Changes diff --git a/plugins/tech-insights-backend-module-jsonfc/package.json b/plugins/tech-insights-backend-module-jsonfc/package.json index 17506bfdf1..890b521daf 100644 --- a/plugins/tech-insights-backend-module-jsonfc/package.json +++ b/plugins/tech-insights-backend-module-jsonfc/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-tech-insights-backend-module-jsonfc", - "version": "0.1.18", + "version": "0.1.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,11 +34,11 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/plugin-tech-insights-common": "^0.2.5", - "@backstage/plugin-tech-insights-node": "^0.3.2", + "@backstage/plugin-tech-insights-common": "^0.2.6-next.0", + "@backstage/plugin-tech-insights-node": "^0.3.3-next.0", "ajv": "^8.10.0", "json-rules-engine": "^6.1.2", "lodash": "^4.17.21", @@ -46,7 +46,7 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist" diff --git a/plugins/tech-insights-backend/CHANGELOG.md b/plugins/tech-insights-backend/CHANGELOG.md index 1aa753a236..e5d471a439 100644 --- a/plugins/tech-insights-backend/CHANGELOG.md +++ b/plugins/tech-insights-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-tech-insights-backend +## 0.5.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/plugin-tech-insights-common@0.2.6-next.0 + - @backstage/plugin-tech-insights-node@0.3.3-next.0 + ## 0.5.0 ### Minor Changes diff --git a/plugins/tech-insights-backend/package.json b/plugins/tech-insights-backend/package.json index 646e7f6068..44b84d5fd3 100644 --- a/plugins/tech-insights-backend/package.json +++ b/plugins/tech-insights-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-tech-insights-backend", - "version": "0.5.0", + "version": "0.5.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,14 +34,14 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/backend-tasks": "^0.3.3", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/backend-tasks": "^0.3.4-next.0", "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/plugin-tech-insights-common": "^0.2.5", - "@backstage/plugin-tech-insights-node": "^0.3.2", + "@backstage/plugin-tech-insights-common": "^0.2.6-next.0", + "@backstage/plugin-tech-insights-node": "^0.3.3-next.0", "@types/express": "^4.17.6", "express": "^4.17.1", "express-promise-router": "^4.1.0", @@ -54,8 +54,8 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", "@types/supertest": "^2.0.8", "@types/semver": "^7.3.8", "supertest": "^6.1.3", diff --git a/plugins/tech-insights-common/CHANGELOG.md b/plugins/tech-insights-common/CHANGELOG.md index 241954b039..09a21f5386 100644 --- a/plugins/tech-insights-common/CHANGELOG.md +++ b/plugins/tech-insights-common/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/plugin-tech-insights-common +## 0.2.6-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. + ## 0.2.5 ### Patch Changes diff --git a/plugins/tech-insights-common/package.json b/plugins/tech-insights-common/package.json index 395ca8bd8f..172344d005 100644 --- a/plugins/tech-insights-common/package.json +++ b/plugins/tech-insights-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-tech-insights-common", - "version": "0.2.5", + "version": "0.2.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,7 +38,7 @@ "@backstage/types": "^1.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist" diff --git a/plugins/tech-insights-node/CHANGELOG.md b/plugins/tech-insights-node/CHANGELOG.md index f60e6abb29..817eb1def5 100644 --- a/plugins/tech-insights-node/CHANGELOG.md +++ b/plugins/tech-insights-node/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-tech-insights-node +## 0.3.3-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/plugin-tech-insights-common@0.2.6-next.0 + ## 0.3.2 ### Patch Changes diff --git a/plugins/tech-insights-node/package.json b/plugins/tech-insights-node/package.json index 528eff420a..3d65d662c3 100644 --- a/plugins/tech-insights-node/package.json +++ b/plugins/tech-insights-node/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-tech-insights-node", - "version": "0.3.2", + "version": "0.3.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,16 +33,16 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/config": "^1.0.1", - "@backstage/plugin-tech-insights-common": "^0.2.5", + "@backstage/plugin-tech-insights-common": "^0.2.6-next.0", "@backstage/types": "^1.0.0", "@types/luxon": "^3.0.0", "luxon": "^3.0.0", "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.18.0" + "@backstage/cli": "^0.18.1-next.0" }, "files": [ "dist" diff --git a/plugins/tech-insights/CHANGELOG.md b/plugins/tech-insights/CHANGELOG.md index 3603de6b7d..c18f60c696 100644 --- a/plugins/tech-insights/CHANGELOG.md +++ b/plugins/tech-insights/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-tech-insights +## 0.2.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-tech-insights-common@0.2.6-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.2.3 ### Patch Changes diff --git a/plugins/tech-insights/package.json b/plugins/tech-insights/package.json index 78aed08b60..bf6c21fcdf 100644 --- a/plugins/tech-insights/package.json +++ b/plugins/tech-insights/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-tech-insights", - "version": "0.2.3", + "version": "0.2.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -29,11 +29,11 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", - "@backstage/plugin-tech-insights-common": "^0.2.5", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", + "@backstage/plugin-tech-insights-common": "^0.2.6-next.0", "@backstage/theme": "^0.2.16", "@backstage/types": "^1.0.0", "@material-ui/core": "^4.12.2", @@ -47,10 +47,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/tech-radar/CHANGELOG.md b/plugins/tech-radar/CHANGELOG.md index 607fafac45..77a6efb764 100644 --- a/plugins/tech-radar/CHANGELOG.md +++ b/plugins/tech-radar/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-tech-radar +## 0.5.15-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.5.14 ### Patch Changes diff --git a/plugins/tech-radar/package.json b/plugins/tech-radar/package.json index 23d613c870..1c73979600 100644 --- a/plugins/tech-radar/package.json +++ b/plugins/tech-radar/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-tech-radar", "description": "A Backstage plugin that lets you display a Tech Radar for your organization", - "version": "0.5.14", + "version": "0.5.15-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,8 +34,8 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -49,10 +49,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/techdocs-addons-test-utils/CHANGELOG.md b/plugins/techdocs-addons-test-utils/CHANGELOG.md index 637dde1f5a..5dd3c9da8c 100644 --- a/plugins/techdocs-addons-test-utils/CHANGELOG.md +++ b/plugins/techdocs-addons-test-utils/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-techdocs-addons-test-utils +## 1.0.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog@1.5.0-next.0 + - @backstage/plugin-techdocs@1.3.1-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/core-app-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/test-utils@1.1.3-next.0 + - @backstage/plugin-search-react@1.0.1-next.0 + - @backstage/plugin-techdocs-react@1.0.3-next.0 + ## 1.0.2 ### Patch Changes diff --git a/plugins/techdocs-addons-test-utils/package.json b/plugins/techdocs-addons-test-utils/package.json index 6804d5532f..217ed5a935 100644 --- a/plugins/techdocs-addons-test-utils/package.json +++ b/plugins/techdocs-addons-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-techdocs-addons-test-utils", - "version": "1.0.2", + "version": "1.0.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,15 +32,15 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/integration-react": "^1.1.2", - "@backstage/plugin-catalog": "^1.4.0", - "@backstage/plugin-search-react": "^1.0.0", - "@backstage/plugin-techdocs": "^1.3.0", - "@backstage/plugin-techdocs-react": "^1.0.2", - "@backstage/test-utils": "^1.1.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/integration-react": "^1.1.3-next.0", + "@backstage/plugin-catalog": "^1.5.0-next.0", + "@backstage/plugin-search-react": "^1.0.1-next.0", + "@backstage/plugin-techdocs": "^1.3.1-next.0", + "@backstage/plugin-techdocs-react": "^1.0.3-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.9.13", "@material-ui/icons": "^4.9.1", @@ -56,8 +56,8 @@ "react-dom": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/dev-utils": "^1.0.4", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/techdocs-backend/CHANGELOG.md b/plugins/techdocs-backend/CHANGELOG.md index 75a50cdda2..56b01d5bf0 100644 --- a/plugins/techdocs-backend/CHANGELOG.md +++ b/plugins/techdocs-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-techdocs-backend +## 1.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + - @backstage/plugin-techdocs-node@1.2.1-next.0 + ## 1.2.0 ### Minor Changes diff --git a/plugins/techdocs-backend/package.json b/plugins/techdocs-backend/package.json index ebf93a2443..6b724686c9 100644 --- a/plugins/techdocs-backend/package.json +++ b/plugins/techdocs-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-techdocs-backend", "description": "The Backstage backend plugin that renders technical documentation for your components", - "version": "1.2.0", + "version": "1.2.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,16 +34,16 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", + "@backstage/integration": "^1.3.0-next.0", "@backstage/plugin-catalog-common": "^1.0.4", "@backstage/plugin-permission-common": "^0.6.3", "@backstage/plugin-search-common": "^1.0.0", - "@backstage/plugin-techdocs-node": "^1.2.0", + "@backstage/plugin-techdocs-node": "^1.2.1-next.0", "@types/express": "^4.17.6", "dockerode": "^3.3.1", "express": "^4.17.1", @@ -56,9 +56,9 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/backend-test-utils": "^0.1.26", - "@backstage/cli": "^0.18.0", - "@backstage/plugin-search-backend-node": "1.0.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/plugin-search-backend-node": "1.0.1-next.0", "@types/dockerode": "^3.3.0", "msw": "^0.44.0", "supertest": "^6.1.3" diff --git a/plugins/techdocs-module-addons-contrib/CHANGELOG.md b/plugins/techdocs-module-addons-contrib/CHANGELOG.md index 255d21bf48..a7756a3221 100644 --- a/plugins/techdocs-module-addons-contrib/CHANGELOG.md +++ b/plugins/techdocs-module-addons-contrib/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-techdocs-module-addons-contrib +## 1.0.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-techdocs-react@1.0.3-next.0 + ## 1.0.2 ### Patch Changes diff --git a/plugins/techdocs-module-addons-contrib/package.json b/plugins/techdocs-module-addons-contrib/package.json index cc15040830..635037bb81 100644 --- a/plugins/techdocs-module-addons-contrib/package.json +++ b/plugins/techdocs-module-addons-contrib/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-techdocs-module-addons-contrib", "description": "Plugin module for contributed TechDocs Addons", - "version": "1.0.2", + "version": "1.0.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,11 +34,11 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", - "@backstage/integration": "^1.2.2", - "@backstage/integration-react": "^1.1.2", - "@backstage/plugin-techdocs-react": "^1.0.2", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/integration-react": "^1.1.3-next.0", + "@backstage/plugin-techdocs-react": "^1.0.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.9.13", "@material-ui/icons": "^4.9.1", @@ -51,11 +51,11 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/plugin-techdocs-addons-test-utils": "^1.0.2", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/plugin-techdocs-addons-test-utils": "^1.0.3-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/techdocs-node/CHANGELOG.md b/plugins/techdocs-node/CHANGELOG.md index 3db4118b00..4405c103af 100644 --- a/plugins/techdocs-node/CHANGELOG.md +++ b/plugins/techdocs-node/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-techdocs-node +## 1.2.1-next.0 + +### Patch Changes + +- c8196bd37d: Fix AWS S3 404 NotFound error + + When reading an object from the S3 bucket through a stream, the aws-sdk getObject() API may throw a 404 NotFound Error with no error message or, in fact, any sort of HTTP-layer error responses. These fail the @backstage/error's assertError() checks, so they must be wrapped. The test for this case was also updated to match the wrapped error message. + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + ## 1.2.0 ### Minor Changes diff --git a/plugins/techdocs-node/package.json b/plugins/techdocs-node/package.json index 6563acb8e3..9f61fa54a0 100644 --- a/plugins/techdocs-node/package.json +++ b/plugins/techdocs-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-techdocs-node", "description": "Common node.js functionalities for TechDocs, to be shared between techdocs-backend plugin and techdocs-cli", - "version": "1.2.0", + "version": "1.2.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "private": false, @@ -42,11 +42,11 @@ "dependencies": { "@azure/identity": "^2.0.1", "@azure/storage-blob": "^12.5.0", - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", + "@backstage/integration": "^1.3.0-next.0", "@backstage/plugin-search-common": "^1.0.0", "@google-cloud/storage": "^6.0.0", "@trendyol-js/openstack-swift-sdk": "^0.0.5", @@ -64,7 +64,7 @@ "winston": "^3.2.1" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/fs-extra": "^9.0.5", "@types/js-yaml": "^4.0.0", "@types/mime-types": "^2.1.0", diff --git a/plugins/techdocs-react/CHANGELOG.md b/plugins/techdocs-react/CHANGELOG.md index d2d82c83c9..f11f3a6ae3 100644 --- a/plugins/techdocs-react/CHANGELOG.md +++ b/plugins/techdocs-react/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-techdocs-react +## 1.0.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 1.0.2 ### Patch Changes diff --git a/plugins/techdocs-react/package.json b/plugins/techdocs-react/package.json index f8f3344438..b844270e2f 100644 --- a/plugins/techdocs-react/package.json +++ b/plugins/techdocs-react/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-techdocs-react", "description": "Shared frontend utilities for TechDocs and Addons", - "version": "1.0.2", + "version": "1.0.3-next.0", "private": false, "publishConfig": { "access": "public", @@ -36,8 +36,8 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/version-bridge": "^1.0.1", "@material-ui/core": "^4.12.2", "@material-ui/lab": "4.0.0-alpha.57", @@ -56,7 +56,7 @@ "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", - "@backstage/test-utils": "^1.1.2", + "@backstage/test-utils": "^1.1.3-next.0", "@backstage/theme": "^0.2.16" }, "files": [ diff --git a/plugins/techdocs/CHANGELOG.md b/plugins/techdocs/CHANGELOG.md index 36b43c24ae..bbc5b31139 100644 --- a/plugins/techdocs/CHANGELOG.md +++ b/plugins/techdocs/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-techdocs +## 1.3.1-next.0 + +### Patch Changes + +- 7a98c73dc8: Fixed techdocs sidebar layout bug for medium devices. +- Updated dependencies + - @backstage/integration@1.3.0-next.0 + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/integration-react@1.1.3-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + - @backstage/plugin-search-react@1.0.1-next.0 + - @backstage/plugin-techdocs-react@1.0.3-next.0 + ## 1.3.0 ### Minor Changes diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index da8085b91b..1cf6dd7bd8 100644 --- a/plugins/techdocs/package.json +++ b/plugins/techdocs/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-techdocs", "description": "The Backstage plugin that renders technical documentation for your components", - "version": "1.3.0", + "version": "1.3.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -37,15 +37,15 @@ "dependencies": { "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", - "@backstage/integration-react": "^1.1.2", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/integration": "^1.3.0-next.0", + "@backstage/integration-react": "^1.1.3-next.0", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/plugin-search-common": "^1.0.0", - "@backstage/plugin-search-react": "^1.0.0", - "@backstage/plugin-techdocs-react": "^1.0.2", + "@backstage/plugin-search-react": "^1.0.1-next.0", + "@backstage/plugin-techdocs-react": "^1.0.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -67,10 +67,10 @@ "react-dom": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/react-hooks": "^8.0.0", diff --git a/plugins/todo-backend/CHANGELOG.md b/plugins/todo-backend/CHANGELOG.md index 5cec68ed0a..8d086e4608 100644 --- a/plugins/todo-backend/CHANGELOG.md +++ b/plugins/todo-backend/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-todo-backend +## 0.1.32-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/integration@1.3.0-next.0 + ## 0.1.31 ### Patch Changes diff --git a/plugins/todo-backend/package.json b/plugins/todo-backend/package.json index 713805a0e4..fc99d715b1 100644 --- a/plugins/todo-backend/package.json +++ b/plugins/todo-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-todo-backend", "description": "A Backstage backend plugin that lets you browse TODO comments in your source code", - "version": "0.1.31", + "version": "0.1.32-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -29,12 +29,12 @@ "start": "backstage-cli package start" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", + "@backstage/backend-common": "^0.15.0-next.0", "@backstage/catalog-client": "^1.0.4", "@backstage/catalog-model": "^1.1.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", - "@backstage/integration": "^1.2.2", + "@backstage/integration": "^1.3.0-next.0", "@types/express": "^4.17.6", "express": "^4.17.1", "express-promise-router": "^4.1.0", @@ -43,7 +43,7 @@ "yn": "^4.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/supertest": "^2.0.8", "msw": "^0.44.0", "supertest": "^6.1.3" diff --git a/plugins/todo/CHANGELOG.md b/plugins/todo/CHANGELOG.md index a27dd5ce19..b77a46c738 100644 --- a/plugins/todo/CHANGELOG.md +++ b/plugins/todo/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-todo +## 0.2.10-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.2.9 ### Patch Changes diff --git a/plugins/todo/package.json b/plugins/todo/package.json index 3f791f06e0..6e1d555ab0 100644 --- a/plugins/todo/package.json +++ b/plugins/todo/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-todo", "description": "A Backstage plugin that lets you browse TODO comments in your source code", - "version": "0.2.9", + "version": "0.2.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -31,10 +31,10 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -45,10 +45,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/user-settings/CHANGELOG.md b/plugins/user-settings/CHANGELOG.md index 5acbcf4277..c563afaa2f 100644 --- a/plugins/user-settings/CHANGELOG.md +++ b/plugins/user-settings/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-user-settings +## 0.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.4.6 ### Patch Changes diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index 5dbc82aeac..2a16a80332 100644 --- a/plugins/user-settings/package.json +++ b/plugins/user-settings/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-user-settings", "description": "A Backstage plugin that provides a settings page", - "version": "0.4.6", + "version": "0.4.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,8 +34,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -48,10 +48,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/vault-backend/CHANGELOG.md b/plugins/vault-backend/CHANGELOG.md index 8c61c9c01e..00d5360ca4 100644 --- a/plugins/vault-backend/CHANGELOG.md +++ b/plugins/vault-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-vault-backend +## 0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.15.0-next.0 + - @backstage/backend-tasks@0.3.4-next.0 + - @backstage/backend-test-utils@0.1.27-next.0 + ## 0.2.0 ### Minor Changes diff --git a/plugins/vault-backend/package.json b/plugins/vault-backend/package.json index 72967ccfd6..1e6292fa00 100644 --- a/plugins/vault-backend/package.json +++ b/plugins/vault-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-vault-backend", "description": "A Backstage backend plugin that integrates towards Vault", - "version": "0.2.0", + "version": "0.2.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -34,9 +34,9 @@ "postpack": "backstage-cli package postpack" }, "dependencies": { - "@backstage/backend-common": "^0.14.1", - "@backstage/backend-tasks": "^0.3.3", - "@backstage/backend-test-utils": "^0.1.26", + "@backstage/backend-common": "^0.15.0-next.0", + "@backstage/backend-tasks": "^0.3.4-next.0", + "@backstage/backend-test-utils": "^0.1.27-next.0", "@backstage/config": "^1.0.1", "@backstage/errors": "^1.1.0", "@types/express": "*", @@ -51,7 +51,7 @@ "yn": "^5.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", + "@backstage/cli": "^0.18.1-next.0", "@types/compression": "^1.7.2", "@types/supertest": "^2.0.8", "msw": "^0.44.0", diff --git a/plugins/vault/CHANGELOG.md b/plugins/vault/CHANGELOG.md index ebdb08938a..a5f1820f6d 100644 --- a/plugins/vault/CHANGELOG.md +++ b/plugins/vault/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-vault +## 0.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/plugin-catalog-react@1.1.3-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.1.1 ### Patch Changes diff --git a/plugins/vault/package.json b/plugins/vault/package.json index 8a3e02b072..9bb3b86bd2 100644 --- a/plugins/vault/package.json +++ b/plugins/vault/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-vault", "description": "A Backstage plugin that integrates towards Vault", - "version": "0.1.1", + "version": "0.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,10 +35,10 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", - "@backstage/plugin-catalog-react": "^1.1.2", + "@backstage/plugin-catalog-react": "^1.1.3-next.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", @@ -49,10 +49,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/plugins/xcmetrics/CHANGELOG.md b/plugins/xcmetrics/CHANGELOG.md index 07a7c98327..1b16f43e8d 100644 --- a/plugins/xcmetrics/CHANGELOG.md +++ b/plugins/xcmetrics/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-xcmetrics +## 0.2.28-next.0 + +### Patch Changes + +- 29f782eb37: Updated dependency `@types/luxon` to `^3.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.0.5-next.0 + - @backstage/core-components@0.10.1-next.0 + ## 0.2.27 ### Patch Changes diff --git a/plugins/xcmetrics/package.json b/plugins/xcmetrics/package.json index 138f83b590..2dbc98a290 100644 --- a/plugins/xcmetrics/package.json +++ b/plugins/xcmetrics/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-xcmetrics", "description": "A Backstage plugin that shows XCode build metrics for your components", - "version": "0.2.27", + "version": "0.2.28-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -24,8 +24,8 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@backstage/core-components": "^0.10.0", - "@backstage/core-plugin-api": "^1.0.4", + "@backstage/core-components": "^0.10.1-next.0", + "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/errors": "^1.1.0", "@backstage/theme": "^0.2.16", "@material-ui/core": "^4.12.2", @@ -40,10 +40,10 @@ "react": "^16.13.1 || ^17.0.0" }, "devDependencies": { - "@backstage/cli": "^0.18.0", - "@backstage/core-app-api": "^1.0.4", - "@backstage/dev-utils": "^1.0.4", - "@backstage/test-utils": "^1.1.2", + "@backstage/cli": "^0.18.1-next.0", + "@backstage/core-app-api": "^1.0.5-next.0", + "@backstage/dev-utils": "^1.0.5-next.0", + "@backstage/test-utils": "^1.1.3-next.0", "@testing-library/jest-dom": "^5.10.1", "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", diff --git a/yarn.lock b/yarn.lock index 46d1c7e85c..63f43698c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2019,6 +2019,51 @@ "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" +"@backstage/core-components@^0.10.0": + version "0.10.0" + resolved "https://registry.npmjs.org/@backstage/core-components/-/core-components-0.10.0.tgz#d7f802eee82c49677f5d9b63d8c33b7405096caa" + integrity sha512-aG41uf05Jrq44nv8i9WyzRGMEKmQmM1n0MRKz4YUhBksFexXMd+pPST7D9aSFivNm/92o7obPLjcKfx2QYbJqg== + dependencies: + "@backstage/config" "^1.0.1" + "@backstage/core-plugin-api" "^1.0.4" + "@backstage/errors" "^1.1.0" + "@backstage/theme" "^0.2.16" + "@backstage/version-bridge" "^1.0.1" + "@material-table/core" "^3.1.0" + "@material-ui/core" "^4.12.2" + "@material-ui/icons" "^4.9.1" + "@material-ui/lab" "4.0.0-alpha.57" + "@react-hookz/web" "^15.0.0" + "@types/react-sparklines" "^1.7.0" + "@types/react-text-truncate" "^0.14.0" + ansi-regex "^6.0.1" + classnames "^2.2.6" + d3-selection "^3.0.0" + d3-shape "^3.0.0" + d3-zoom "^3.0.0" + dagre "^0.8.5" + history "^5.0.0" + immer "^9.0.1" + lodash "^4.17.21" + pluralize "^8.0.0" + prop-types "^15.7.2" + qs "^6.9.4" + rc-progress "3.4.0" + react-helmet "6.1.0" + react-hook-form "^7.12.2" + react-markdown "^8.0.0" + react-router "6.0.0-beta.0" + react-router-dom "6.0.0-beta.0" + react-sparklines "^1.7.0" + react-syntax-highlighter "^15.4.5" + react-text-truncate "^0.19.0" + react-use "^17.3.2" + react-virtualized-auto-sizer "^1.0.6" + react-window "^1.8.6" + remark-gfm "^3.0.1" + zen-observable "^0.8.15" + zod "^3.11.6" + "@backstage/core-components@^0.9.0": version "0.9.5" resolved "https://registry.npmjs.org/@backstage/core-components/-/core-components-0.9.5.tgz#5a0b34867aaee0549bfa67b39a69c09588fa3c7a" @@ -2064,6 +2109,128 @@ zen-observable "^0.8.15" zod "^3.11.6" +"@backstage/core-plugin-api@^1.0.0", "@backstage/core-plugin-api@^1.0.3", "@backstage/core-plugin-api@^1.0.4": + version "1.0.4" + resolved "https://registry.npmjs.org/@backstage/core-plugin-api/-/core-plugin-api-1.0.4.tgz#0dbe80be1d298273df0299ef69baa18522d9a808" + integrity sha512-fMMpjqW2RjwclnHUJsSyPCTguplflQYEWv7wsk7IoanEkWx39pensi8OsdIBawXrOixXEnI47dgxtVMOQUxOKA== + dependencies: + "@backstage/config" "^1.0.1" + "@backstage/types" "^1.0.0" + "@backstage/version-bridge" "^1.0.1" + history "^5.0.0" + prop-types "^15.7.2" + react-router-dom "6.0.0-beta.0" + zen-observable "^0.8.15" + +"@backstage/integration-react@^1.0.0": + version "1.1.2" + resolved "https://registry.npmjs.org/@backstage/integration-react/-/integration-react-1.1.2.tgz#001a736f5ce222bf770a26c2c15b42705012e495" + integrity sha512-5MA9cuIDRviQ2Qi9slbHE2i2tBnIcs4JdRukc3sTw7zarcmYaVkDI7N2pQiBkVxATKwXoY8gDuEQD8VYr62cnw== + dependencies: + "@backstage/config" "^1.0.1" + "@backstage/core-components" "^0.10.0" + "@backstage/core-plugin-api" "^1.0.4" + "@backstage/integration" "^1.2.2" + "@backstage/theme" "^0.2.16" + "@material-ui/core" "^4.12.2" + "@material-ui/icons" "^4.9.1" + "@material-ui/lab" "4.0.0-alpha.57" + react-use "^17.2.4" + +"@backstage/integration@^1.2.2": + version "1.2.2" + resolved "https://registry.npmjs.org/@backstage/integration/-/integration-1.2.2.tgz#f0a9cb6ae31444832505d9f57dfa3f921fb0c6c0" + integrity sha512-MIttnW6xEIun94muo0nmJ3hK9ks9IgUvBsYGNwfxsKpWBv3g3zZ4cU0pXpUdtvzhWOHw7w3HQrSPEVmm6MSqbA== + dependencies: + "@backstage/config" "^1.0.1" + "@backstage/errors" "^1.1.0" + "@octokit/auth-app" "^4.0.0" + "@octokit/rest" "^19.0.3" + cross-fetch "^3.1.5" + git-url-parse "^12.0.0" + lodash "^4.17.21" + luxon "^3.0.0" + +"@backstage/plugin-catalog-react@^1.0.0", "@backstage/plugin-catalog-react@^1.1.2": + version "1.1.2" + resolved "https://registry.npmjs.org/@backstage/plugin-catalog-react/-/plugin-catalog-react-1.1.2.tgz#253a99d9ced5d751f9d1fb3d278511d754aaed4e" + integrity sha512-4O9TotC4aWuLA8gFcgvq/HeKXA80LUZ98WTdIqSA6iFjzh1BZbD/nvaG7Hw7X8m5C/Z7Ck4PM+ocB4XxxlVAZw== + dependencies: + "@backstage/catalog-client" "^1.0.4" + "@backstage/catalog-model" "^1.1.0" + "@backstage/core-components" "^0.10.0" + "@backstage/core-plugin-api" "^1.0.4" + "@backstage/errors" "^1.1.0" + "@backstage/integration" "^1.2.2" + "@backstage/plugin-catalog-common" "^1.0.4" + "@backstage/plugin-permission-common" "^0.6.3" + "@backstage/plugin-permission-react" "^0.4.3" + "@backstage/theme" "^0.2.16" + "@backstage/types" "^1.0.0" + "@backstage/version-bridge" "^1.0.1" + "@material-ui/core" "^4.12.2" + "@material-ui/icons" "^4.9.1" + "@material-ui/lab" "4.0.0-alpha.57" + classnames "^2.2.6" + jwt-decode "^3.1.0" + lodash "^4.17.21" + qs "^6.9.4" + react-router "6.0.0-beta.0" + react-use "^17.2.4" + yaml "^2.0.0" + zen-observable "^0.8.15" + +"@backstage/plugin-home@^0.4.19", "@backstage/plugin-home@^0.4.23": + version "0.4.23" + resolved "https://registry.npmjs.org/@backstage/plugin-home/-/plugin-home-0.4.23.tgz#5b6a105615bdd63292470ca3906920d8fc810cc1" + integrity sha512-LrNc88Px2HjjVXe5VUBU3TuayJCibiju8GoEDerVk4aL9IW8pom0MMVBGj6qB7NvWOoOUSL19GmSA1ysZ5NN/g== + dependencies: + "@backstage/catalog-model" "^1.1.0" + "@backstage/config" "^1.0.1" + "@backstage/core-components" "^0.10.0" + "@backstage/core-plugin-api" "^1.0.4" + "@backstage/plugin-catalog-react" "^1.1.2" + "@backstage/plugin-stack-overflow" "^0.1.3" + "@backstage/theme" "^0.2.16" + "@material-ui/core" "^4.12.2" + "@material-ui/icons" "^4.9.1" + "@material-ui/lab" "4.0.0-alpha.57" + lodash "^4.17.21" + react-router "6.0.0-beta.0" + react-use "^17.2.4" + +"@backstage/plugin-permission-react@^0.4.3": + version "0.4.3" + resolved "https://registry.npmjs.org/@backstage/plugin-permission-react/-/plugin-permission-react-0.4.3.tgz#9d844e178aa01b838e80ce3a4716211f79a3dec8" + integrity sha512-ZyvZ+39fw0WBFbgWYgkbfITCm9vz2onf5FAYAhzSpO3uXarKm8FXtioV93/VkOcA6uJVzkU8AvFjKW2Chd1cfA== + dependencies: + "@backstage/config" "^1.0.1" + "@backstage/core-plugin-api" "^1.0.4" + "@backstage/plugin-permission-common" "^0.6.3" + cross-fetch "^3.1.5" + react-router "6.0.0-beta.0" + react-use "^17.2.4" + swr "^1.1.2" + +"@backstage/plugin-stack-overflow@^0.1.3": + version "0.1.3" + resolved "https://registry.npmjs.org/@backstage/plugin-stack-overflow/-/plugin-stack-overflow-0.1.3.tgz#6a345f02b56443fb10303176882a6b32e83a6fdd" + integrity sha512-Oy1YNnfZB6MUVOgH5zd28yyCMKlU78aZQS1RNX34Plpf6xd+wb0Ihqhno3B0+Slp1EIAHpQBQAsGnZWPIToDhg== + dependencies: + "@backstage/config" "^1.0.1" + "@backstage/core-components" "^0.10.0" + "@backstage/core-plugin-api" "^1.0.4" + "@backstage/plugin-home" "^0.4.23" + "@backstage/plugin-search-common" "^1.0.0" + "@backstage/theme" "^0.2.16" + "@material-ui/core" "^4.12.2" + "@material-ui/icons" "^4.9.1" + "@testing-library/jest-dom" "^5.10.1" + cross-fetch "^3.1.5" + lodash "^4.17.21" + qs "^6.9.4" + react-use "^17.2.4" + "@balena/dockerignore@^1.0.2": version "1.0.2" resolved "https://registry.npmjs.org/@balena/dockerignore/-/dockerignore-1.0.2.tgz#9ffe4726915251e8eb69f44ef3547e0da2c03e0d" @@ -12885,63 +13052,63 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: safe-buffer "^5.1.1" "example-app@link:packages/app": - version "0.2.73" + version "0.2.74-next.0" dependencies: - "@backstage/app-defaults" "^1.0.4" + "@backstage/app-defaults" "^1.0.5-next.0" "@backstage/catalog-model" "^1.1.0" - "@backstage/cli" "^0.18.0" + "@backstage/cli" "^0.18.1-next.0" "@backstage/config" "^1.0.1" - "@backstage/core-app-api" "^1.0.4" - "@backstage/core-components" "^0.10.0" - "@backstage/core-plugin-api" "^1.0.4" - "@backstage/integration-react" "^1.1.2" - "@backstage/plugin-airbrake" "^0.3.7" - "@backstage/plugin-apache-airflow" "^0.2.0" - "@backstage/plugin-api-docs" "^0.8.7" - "@backstage/plugin-azure-devops" "^0.1.23" - "@backstage/plugin-badges" "^0.2.31" + "@backstage/core-app-api" "^1.0.5-next.0" + "@backstage/core-components" "^0.10.1-next.0" + "@backstage/core-plugin-api" "^1.0.5-next.0" + "@backstage/integration-react" "^1.1.3-next.0" + "@backstage/plugin-airbrake" "^0.3.8-next.0" + "@backstage/plugin-apache-airflow" "^0.2.1-next.0" + "@backstage/plugin-api-docs" "^0.8.8-next.0" + "@backstage/plugin-azure-devops" "^0.1.24-next.0" + "@backstage/plugin-badges" "^0.2.32-next.0" "@backstage/plugin-catalog-common" "^1.0.4" - "@backstage/plugin-catalog-graph" "^0.2.19" - "@backstage/plugin-catalog-import" "^0.8.10" - "@backstage/plugin-catalog-react" "^1.1.2" - "@backstage/plugin-circleci" "^0.3.7" - "@backstage/plugin-cloudbuild" "^0.3.7" - "@backstage/plugin-code-coverage" "^0.2.0" - "@backstage/plugin-cost-insights" "^0.11.29" - "@backstage/plugin-dynatrace" "^0.1.1" - "@backstage/plugin-explore" "^0.3.38" - "@backstage/plugin-gcalendar" "^0.3.3" - "@backstage/plugin-gcp-projects" "^0.3.26" - "@backstage/plugin-github-actions" "^0.5.7" - "@backstage/plugin-gocd" "^0.1.13" - "@backstage/plugin-graphiql" "^0.2.39" - "@backstage/plugin-home" "^0.4.23" - "@backstage/plugin-jenkins" "^0.7.6" - "@backstage/plugin-kafka" "^0.3.7" - "@backstage/plugin-kubernetes" "^0.7.0" - "@backstage/plugin-lighthouse" "^0.3.7" - "@backstage/plugin-newrelic" "^0.3.25" - "@backstage/plugin-newrelic-dashboard" "^0.2.0" - "@backstage/plugin-org" "^0.5.7" - "@backstage/plugin-pagerduty" "0.5.0" - "@backstage/plugin-permission-react" "^0.4.3" - "@backstage/plugin-rollbar" "^0.4.7" - "@backstage/plugin-scaffolder" "^1.4.0" - "@backstage/plugin-search" "^1.0.0" + "@backstage/plugin-catalog-graph" "^0.2.20-next.0" + "@backstage/plugin-catalog-import" "^0.8.11-next.0" + "@backstage/plugin-catalog-react" "^1.1.3-next.0" + "@backstage/plugin-circleci" "^0.3.8-next.0" + "@backstage/plugin-cloudbuild" "^0.3.8-next.0" + "@backstage/plugin-code-coverage" "^0.2.1-next.0" + "@backstage/plugin-cost-insights" "^0.11.30-next.0" + "@backstage/plugin-dynatrace" "^0.1.2-next.0" + "@backstage/plugin-explore" "^0.3.39-next.0" + "@backstage/plugin-gcalendar" "^0.3.4-next.0" + "@backstage/plugin-gcp-projects" "^0.3.27-next.0" + "@backstage/plugin-github-actions" "^0.5.8-next.0" + "@backstage/plugin-gocd" "^0.1.14-next.0" + "@backstage/plugin-graphiql" "^0.2.40-next.0" + "@backstage/plugin-home" "^0.4.24-next.0" + "@backstage/plugin-jenkins" "^0.7.7-next.0" + "@backstage/plugin-kafka" "^0.3.8-next.0" + "@backstage/plugin-kubernetes" "^0.7.1-next.0" + "@backstage/plugin-lighthouse" "^0.3.8-next.0" + "@backstage/plugin-newrelic" "^0.3.26-next.0" + "@backstage/plugin-newrelic-dashboard" "^0.2.1-next.0" + "@backstage/plugin-org" "^0.5.8-next.0" + "@backstage/plugin-pagerduty" "0.5.1-next.0" + "@backstage/plugin-permission-react" "^0.4.4-next.0" + "@backstage/plugin-rollbar" "^0.4.8-next.0" + "@backstage/plugin-scaffolder" "^1.4.1-next.0" + "@backstage/plugin-search" "^1.0.1-next.0" "@backstage/plugin-search-common" "^1.0.0" - "@backstage/plugin-search-react" "^1.0.0" - "@backstage/plugin-sentry" "^0.4.0" - "@backstage/plugin-shortcuts" "^0.2.8" - "@backstage/plugin-stack-overflow" "^0.1.3" - "@backstage/plugin-tech-insights" "^0.2.3" - "@backstage/plugin-tech-radar" "^0.5.14" - "@backstage/plugin-techdocs" "^1.3.0" - "@backstage/plugin-techdocs-module-addons-contrib" "^1.0.2" - "@backstage/plugin-techdocs-react" "^1.0.2" - "@backstage/plugin-todo" "^0.2.9" - "@backstage/plugin-user-settings" "^0.4.6" + "@backstage/plugin-search-react" "^1.0.1-next.0" + "@backstage/plugin-sentry" "^0.4.1-next.0" + "@backstage/plugin-shortcuts" "^0.3.0-next.0" + "@backstage/plugin-stack-overflow" "^0.1.4-next.0" + "@backstage/plugin-tech-insights" "^0.2.4-next.0" + "@backstage/plugin-tech-radar" "^0.5.15-next.0" + "@backstage/plugin-techdocs" "^1.3.1-next.0" + "@backstage/plugin-techdocs-module-addons-contrib" "^1.0.3-next.0" + "@backstage/plugin-techdocs-react" "^1.0.3-next.0" + "@backstage/plugin-todo" "^0.2.10-next.0" + "@backstage/plugin-user-settings" "^0.4.7-next.0" "@backstage/theme" "^0.2.16" - "@internal/plugin-catalog-customized" "0.0.0" + "@internal/plugin-catalog-customized" "0.0.1-next.0" "@material-ui/core" "^4.12.2" "@material-ui/icons" "^4.9.1" "@material-ui/lab" "4.0.0-alpha.57" @@ -24664,20 +24831,20 @@ tdigest@^0.1.1: bintrees "1.0.1" "techdocs-cli-embedded-app@link:packages/techdocs-cli-embedded-app": - version "0.2.72" + version "0.2.73-next.0" dependencies: - "@backstage/app-defaults" "^1.0.4" + "@backstage/app-defaults" "^1.0.5-next.0" "@backstage/catalog-model" "^1.1.0" - "@backstage/cli" "^0.18.0" + "@backstage/cli" "^0.18.1-next.0" "@backstage/config" "^1.0.1" - "@backstage/core-app-api" "^1.0.4" - "@backstage/core-components" "^0.10.0" - "@backstage/core-plugin-api" "^1.0.4" - "@backstage/integration-react" "^1.1.2" - "@backstage/plugin-catalog" "^1.4.0" - "@backstage/plugin-techdocs" "^1.3.0" - "@backstage/plugin-techdocs-react" "^1.0.2" - "@backstage/test-utils" "^1.1.2" + "@backstage/core-app-api" "^1.0.5-next.0" + "@backstage/core-components" "^0.10.1-next.0" + "@backstage/core-plugin-api" "^1.0.5-next.0" + "@backstage/integration-react" "^1.1.3-next.0" + "@backstage/plugin-catalog" "^1.5.0-next.0" + "@backstage/plugin-techdocs" "^1.3.1-next.0" + "@backstage/plugin-techdocs-react" "^1.0.3-next.0" + "@backstage/test-utils" "^1.1.3-next.0" "@backstage/theme" "^0.2.16" "@material-ui/core" "^4.11.0" "@material-ui/icons" "^4.9.1" From f0d040bb57f147a726000f0dd17fdd7b57be6ea1 Mon Sep 17 00:00:00 2001 From: Jake Crews Date: Tue, 26 Jul 2022 07:55:23 -0500 Subject: [PATCH 096/131] fix merge issue Signed-off-by: Jake Crews --- plugins/techdocs-react/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/techdocs-react/package.json b/plugins/techdocs-react/package.json index 4dd45f7942..75821eac88 100644 --- a/plugins/techdocs-react/package.json +++ b/plugins/techdocs-react/package.json @@ -36,7 +36,7 @@ }, "dependencies": { "@backstage/catalog-model": "^1.1.0", - "@backstage/config": "^1.0.1" + "@backstage/config": "^1.0.1", "@backstage/core-components": "^0.10.1-next.0", "@backstage/core-plugin-api": "^1.0.5-next.0", "@backstage/version-bridge": "^1.0.1", From 6fd1911140e4d386f69fd7810f29c6038e9a342f Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Tue, 26 Jul 2022 14:21:17 +0100 Subject: [PATCH 097/131] add okta entity provider plugin to microsite Signed-off-by: Brian Fletcher --- microsite/data/plugins/okta-entity-providers.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 microsite/data/plugins/okta-entity-providers.yaml diff --git a/microsite/data/plugins/okta-entity-providers.yaml b/microsite/data/plugins/okta-entity-providers.yaml new file mode 100644 index 0000000000..714a1e4b68 --- /dev/null +++ b/microsite/data/plugins/okta-entity-providers.yaml @@ -0,0 +1,9 @@ +--- +title: Okta Organization Entity Provider +author: roadie.io +authorUrl: https://roadie.io/?utm_source=backstage.io&utm_medium=marketplace&utm_campaign=okta-entity-provider +category: Identity +description: Load users and groups from Okta into the Backstage catalog. +documentation: https://github.com/RoadieHQ/roadie-backstage-plugins/tree/main/plugins/backend/catalog-backend-module-okta +iconUrl: https://roadie.io/images/logos/github.png +npmPackageName: '@roadiehq/catalog-backend-module-okta' From b874bd03bb03b15d640ff9a4753e169f7e1089f0 Mon Sep 17 00:00:00 2001 From: Jake Crews Date: Tue, 26 Jul 2022 09:12:54 -0500 Subject: [PATCH 098/131] change wrapper back to global declaration Signed-off-by: Jake Crews --- plugins/techdocs-react/src/context.test.tsx | 208 +++++++++----------- 1 file changed, 88 insertions(+), 120 deletions(-) diff --git a/plugins/techdocs-react/src/context.test.tsx b/plugins/techdocs-react/src/context.test.tsx index efc695bff0..6cc5537d9e 100644 --- a/plugins/techdocs-react/src/context.test.tsx +++ b/plugins/techdocs-react/src/context.test.tsx @@ -56,137 +56,105 @@ const techdocsApiMock = { getTechDocsMetadata: jest.fn().mockResolvedValue(mockTechDocsMetadata), }; -describe('useTechDocsReaderPage', () => { - describe('when legacyUseCaseSensitiveTripletPaths is false', () => { - const configApiMock = { - getOptionalBoolean: jest.fn().mockReturnValue(undefined), - }; +const configApiMock = { + getOptionalBoolean: jest.fn().mockReturnValue(undefined), +}; - const wrapper = ({ - entityRef = { - kind: mockEntityMetadata.kind, - name: mockEntityMetadata.metadata.name, - namespace: mockEntityMetadata.metadata.namespace!!, - }, - children, - }: { - entityRef?: CompoundEntityRef; - children: React.ReactNode; - }) => ( - - - - {children} - - - +const wrapper = ({ + entityRef = { + kind: mockEntityMetadata.kind, + name: mockEntityMetadata.metadata.name, + namespace: mockEntityMetadata.metadata.namespace!!, + }, + children, +}: { + entityRef?: CompoundEntityRef; + children: React.ReactNode; +}) => ( + + + + {children} + + + +); + +describe('useTechDocsReaderPage', () => { + it('should set title', async () => { + const { result, waitForNextUpdate } = renderHook( + () => useTechDocsReaderPage(), + { wrapper }, ); - it('should set title', async () => { - const { result, waitForNextUpdate } = renderHook( - () => useTechDocsReaderPage(), - { wrapper }, - ); + expect(result.current.title).toBe(''); - expect(result.current.title).toBe(''); + act(() => result.current.setTitle('test site title')); - act(() => result.current.setTitle('test site title')); + await waitForNextUpdate(); - await waitForNextUpdate(); - - expect(result.current.title).toBe('test site title'); - }); - - it('should set subtitle', async () => { - const { result, waitForNextUpdate } = renderHook( - () => useTechDocsReaderPage(), - { wrapper }, - ); - - expect(result.current.subtitle).toBe(''); - - act(() => result.current.setSubtitle('test site subtitle')); - - await waitForNextUpdate(); - - expect(result.current.subtitle).toBe('test site subtitle'); - }); - - it('should set shadow root', async () => { - const { result, waitForNextUpdate } = renderHook( - () => useTechDocsReaderPage(), - { wrapper }, - ); - - // mock shadowroot - const shadowRoot = mockShadowRoot(); - - act(() => result.current.setShadowRoot(shadowRoot)); - - await waitForNextUpdate(); - - expect(result.current.shadowRoot?.innerHTML).toBe( - '

Shadow DOM Mock

', - ); - }); - - it('should set entityRef as lowercase', async () => { - const lowercaseEntityRef = { - kind: mockEntityMetadata.kind.toLocaleLowerCase(), - name: mockEntityMetadata.metadata.name.toLocaleLowerCase(), - namespace: mockEntityMetadata.metadata.namespace?.toLocaleLowerCase(), - }; - const { result } = renderHook(() => useTechDocsReaderPage(), { wrapper }); - - expect(result.current.entityRef).toStrictEqual(lowercaseEntityRef); - }); + expect(result.current.title).toBe('test site title'); }); - describe('when legacyUseCaseSensitiveTripletPaths is true', () => { - const configApiMock = { - getOptionalBoolean: jest.fn().mockReturnValue(true), - }; - - const wrapper = ({ - entityRef = { - kind: mockEntityMetadata.kind, - name: mockEntityMetadata.metadata.name, - namespace: mockEntityMetadata.metadata.namespace!!, - }, - children, - }: { - entityRef?: CompoundEntityRef; - children: React.ReactNode; - }) => ( - - - - {children} - - - + it('should set subtitle', async () => { + const { result, waitForNextUpdate } = renderHook( + () => useTechDocsReaderPage(), + { wrapper }, ); - it('entityRef is not modified', async () => { - const caseSensitiveEntityRef = { - kind: mockEntityMetadata.kind, - name: mockEntityMetadata.metadata.name, - namespace: mockEntityMetadata.metadata.namespace!!, - }; + expect(result.current.subtitle).toBe(''); - const { result } = renderHook(() => useTechDocsReaderPage(), { wrapper }); + act(() => result.current.setSubtitle('test site subtitle')); - expect(result.current.entityRef).toStrictEqual(caseSensitiveEntityRef); - }); + await waitForNextUpdate(); + + expect(result.current.subtitle).toBe('test site subtitle'); + }); + + it('should set shadow root', async () => { + const { result, waitForNextUpdate } = renderHook( + () => useTechDocsReaderPage(), + { wrapper }, + ); + + // mock shadowroot + const shadowRoot = mockShadowRoot(); + + act(() => result.current.setShadowRoot(shadowRoot)); + + await waitForNextUpdate(); + + expect(result.current.shadowRoot?.innerHTML).toBe( + '

Shadow DOM Mock

', + ); + }); + + it('should set entityRef as lowercase when legacyUseCaseSensitiveTripletPaths is false', async () => { + const lowercaseEntityRef = { + kind: mockEntityMetadata.kind.toLocaleLowerCase(), + name: mockEntityMetadata.metadata.name.toLocaleLowerCase(), + namespace: mockEntityMetadata.metadata.namespace?.toLocaleLowerCase(), + }; + const { result } = renderHook(() => useTechDocsReaderPage(), { wrapper }); + + expect(result.current.entityRef).toStrictEqual(lowercaseEntityRef); + }); + + it('entityRef is not modified when legacyUseCaseSensitiveTripletPaths is true', async () => { + configApiMock.getOptionalBoolean.mockReturnValueOnce(true); + const caseSensitiveEntityRef = { + kind: mockEntityMetadata.kind, + name: mockEntityMetadata.metadata.name, + namespace: mockEntityMetadata.metadata.namespace!!, + }; + + const { result } = renderHook(() => useTechDocsReaderPage(), { wrapper }); + + expect(result.current.entityRef).toStrictEqual(caseSensitiveEntityRef); }); }); From b5a965a086a8bba2c8c3ef104bb367d2ad4ebd5b Mon Sep 17 00:00:00 2001 From: Brian Fletcher Date: Tue, 26 Jul 2022 15:25:27 +0100 Subject: [PATCH 099/131] Update okta-entity-providers.yaml Signed-off-by: Brian Fletcher --- microsite/data/plugins/okta-entity-providers.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/microsite/data/plugins/okta-entity-providers.yaml b/microsite/data/plugins/okta-entity-providers.yaml index 714a1e4b68..93e4473fde 100644 --- a/microsite/data/plugins/okta-entity-providers.yaml +++ b/microsite/data/plugins/okta-entity-providers.yaml @@ -5,5 +5,5 @@ authorUrl: https://roadie.io/?utm_source=backstage.io&utm_medium=marketplace&utm category: Identity description: Load users and groups from Okta into the Backstage catalog. documentation: https://github.com/RoadieHQ/roadie-backstage-plugins/tree/main/plugins/backend/catalog-backend-module-okta -iconUrl: https://roadie.io/images/logos/github.png +iconUrl: https://roadie.io/images/logos/okta.png npmPackageName: '@roadiehq/catalog-backend-module-okta' From f588773cc37f655b1c8ab1384969bfc9a9c837c5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Jul 2022 15:49:41 +0000 Subject: [PATCH 100/131] chore(deps): update dependency @graphql-codegen/cli to v2.10.0 Signed-off-by: Renovate Bot --- yarn.lock | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index a1e5c018aa..2b741443a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2827,9 +2827,9 @@ meros "^1.1.4" "@graphql-codegen/cli@^2.3.1": - version "2.9.1" - resolved "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-2.9.1.tgz#f3a0edd462cbefb69f9db7789b142a696a2930b4" - integrity sha512-RyGrJTKySi5irJjdgg/9GTnFSCJtKh1YGD9idh2CIsEbkbUx3M7aBk4A+W7Q1afLmC16l59KSXodG8Bqi2eJmg== + version "2.10.0" + resolved "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-2.10.0.tgz#82f716590333bcb7965cd4ae373972068b2d0787" + integrity sha512-v87yzrQ4Q/PpGPC59O0xusQknWWKtUdITqahpUBDddT8ZWHNhadx2BjvPkinFoPZmCkG8yVoAHx7FJ2uLzqjww== dependencies: "@graphql-codegen/core" "2.6.0" "@graphql-codegen/plugin-helpers" "^2.6.0" @@ -2843,11 +2843,11 @@ "@graphql-tools/prisma-loader" "^7.2.2" "@graphql-tools/url-loader" "^7.12.1" "@graphql-tools/utils" "^8.8.0" + "@whatwg-node/fetch" "^0.0.2" ansi-escapes "^4.3.1" chalk "^4.1.0" chokidar "^3.5.2" cosmiconfig "^7.0.0" - cross-undici-fetch "^0.4.11" debounce "^1.2.0" detect-indent "^6.0.0" graphql-config "^4.3.1" @@ -8138,6 +8138,19 @@ "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" +"@whatwg-node/fetch@^0.0.2": + version "0.0.2" + resolved "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.0.2.tgz#4242c4e36714b5018ccac0ab76f4ab5a208fbc1c" + integrity sha512-qiZn8dYRg0POzUvmHBs7blLxl6DPL+b+Z0JUsGaj7/8PFe2BJG9onrUVX6OWh6Z9YhcYw8yu+wtCAme5ZMiCKQ== + dependencies: + abort-controller "^3.0.0" + busboy "^1.6.0" + form-data-encoder "^1.7.1" + formdata-node "^4.3.1" + node-fetch "^2.6.7" + undici "5.5.1" + web-streams-polyfill "^3.2.0" + "@xmldom/xmldom@^0.7.0", "@xmldom/xmldom@^0.7.5": version "0.7.5" resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz#09fa51e356d07d0be200642b0e4f91d8e6dd408d" From 16342870718aec7b2dcaa78d502fa102061d43d0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Jul 2022 19:59:44 +0000 Subject: [PATCH 101/131] fix(deps): update dependency aws-sdk to v2.1182.0 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index a1e5c018aa..3443bd3b25 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8926,9 +8926,9 @@ aws-sdk-mock@^5.2.1: traverse "^0.6.6" aws-sdk@^2.1122.0, aws-sdk@^2.814.0, aws-sdk@^2.840.0, aws-sdk@^2.948.0: - version "2.1181.0" - resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1181.0.tgz#6ec2997881ae3df76e56d7150fc2992f12ce43dc" - integrity sha512-AAHSknRFAIjXBA/XNAL7gS79agr1LbS0oGimOJqJauGSJfWNaOpDc7z6OLNUQqGa5Joc3maD5QJcSKp1Pm/deQ== + version "2.1182.0" + resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1182.0.tgz#7364e3e104f62b61018a00f19f2ffc989b1780ed" + integrity sha512-iemVvLTc2iy0rz3xTp8zc/kD27gIfDF/mk6bxY8/35xMulKCVANWUkAH8jWRKReHh5F/gX4bp33dnfG63ny1Ww== dependencies: buffer "4.9.2" events "1.1.1" From 3f35423e3c6c6b8b03daaac145ccd5c663f63964 Mon Sep 17 00:00:00 2001 From: Lucas Teligioridis Date: Wed, 27 Jul 2022 08:10:29 +1000 Subject: [PATCH 102/131] Add instructions to prevent 403 on API read The latest plugin requires a the "limitranges" API to be available for read-only otherwise a 403 error will return on the Kubernetes pane. Signed-off-by: Lucas Teligioridis --- docs/features/kubernetes/configuration.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/features/kubernetes/configuration.md b/docs/features/kubernetes/configuration.md index 86c6ea61b4..c3559585f7 100644 --- a/docs/features/kubernetes/configuration.md +++ b/docs/features/kubernetes/configuration.md @@ -395,6 +395,7 @@ rules: - horizontalpodautoscalers - ingresses - statefulsets + - limitranges verbs: - get - list From 5d4c87cf16316705c774fbc202868751bbb1f78f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Jul 2022 02:47:58 +0000 Subject: [PATCH 103/131] fix(deps): update dependency @maxim_mazurok/gapi.client.calendar to v3.0.20220722 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 31232cede2..bdde9661a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4867,9 +4867,9 @@ react-is "^16.8.0 || ^17.0.0" "@maxim_mazurok/gapi.client.calendar@^3.0.20220408": - version "3.0.20220715" - resolved "https://registry.npmjs.org/@maxim_mazurok/gapi.client.calendar/-/gapi.client.calendar-3.0.20220715.tgz#a187185a8d52f210acd8bef223e3150877e00285" - integrity sha512-ZnjM4PiB4Pu2SGYXYglUK+dv1rOUmaEK6tEMedSAdzdYq0H7HBUsWayzAl8Zuo1CfkiUWZe6j0g25L5e//RhYw== + version "3.0.20220722" + resolved "https://registry.npmjs.org/@maxim_mazurok/gapi.client.calendar/-/gapi.client.calendar-3.0.20220722.tgz#cfcf40676c2bd07175db688cf96c9377f1b55e1b" + integrity sha512-/ft7PMhBYW6zEFkV1r5WekxzJrxEXVwqSPBssOneTBzgE/MMV2hkbFPocnQ1z9YRH8TAsskv/DQlpDbmmbK9JA== dependencies: "@types/gapi.client" "*" From 81db86b6b61523bcdf1930691caa66d661725a9c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Jul 2022 05:56:50 +0000 Subject: [PATCH 104/131] fix(deps): update dependency rollup to v2.77.2 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index bdde9661a9..c1c3f67994 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23205,9 +23205,9 @@ rollup@^0.63.4: "@types/node" "*" rollup@^2.60.2: - version "2.77.1" - resolved "https://registry.npmjs.org/rollup/-/rollup-2.77.1.tgz#63463ebdbc04232fc42630ec72d137cd4400975d" - integrity sha512-GhutNJrvTYD6s1moo+kyq7lD9DeR5HDyXo4bDFlDSkepC9kVKY+KK/NSZFzCmeXeia3kEzVuToQmHRdugyZHxw== + version "2.77.2" + resolved "https://registry.npmjs.org/rollup/-/rollup-2.77.2.tgz#6b6075c55f9cc2040a5912e6e062151e42e2c4e3" + integrity sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g== optionalDependencies: fsevents "~2.3.2" From f159a8506031063b5cefbfafe32a85728265487e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Jul 2022 06:44:10 +0000 Subject: [PATCH 105/131] chore(deps): update dependency @types/react-syntax-highlighter to v15.5.4 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index c1c3f67994..aefe66bbac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7397,9 +7397,9 @@ "@types/react" "*" "@types/react-syntax-highlighter@^15.0.0": - version "15.5.3" - resolved "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-15.5.3.tgz#6f23839167ac254d922a0db918cb0d37bd2abff0" - integrity sha512-N5bgZxolo+wFuYnx4nOvIQO2P0E+KYHt3dDwb8ydUvZ96QN8Lpq60ReT+0W0JmXKZjp4udkYkIDYt9GIygBY1Q== + version "15.5.4" + resolved "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-15.5.4.tgz#c76dd9cab769484bb7360849074eb340421183ca" + integrity sha512-GYXA4nRBG4jTGFfYMLO2/yuqyOyaQ415oeJWw6akE5gipOEsGhvXFvWhsctGVMHzAfRI7e/J0B9cpqrfMOwZhA== dependencies: "@types/react" "*" From dcf2f9ec8348935882c2edd02a6f2f304cbe642c Mon Sep 17 00:00:00 2001 From: Andrea Giannantonio Date: Wed, 27 Jul 2022 11:23:37 +0200 Subject: [PATCH 106/131] chore: add immobiliarelabs adopter Signed-off-by: Andrea Giannantonio --- ADOPTERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ADOPTERS.md b/ADOPTERS.md index 7b6b56874e..c73d5f5407 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -199,3 +199,4 @@ _You can do this by using the [Adopter form](https://form.typeform.com/to/zcOaKi | [https://www.clear.sale](https://www.clear.sale) | [Paulo Baima](mailto:paulo.filho@clear.sale) | Central Hub for all the company modules, enabling the track of ownership of components and resources and how they relate to each other. | | [www.leroymerlin.com.br](https://www.leroymerlin.com.br) | [Rodrigo Franzoni](mailto:rfranzoni@leroymerlin.com.br) | Our engineers use the Backstage to solve problems around ownership and visibility of our applications, access service catalog, documentation, observability and infrastructure. | | [Intility](https://intility.no/en/) | [@daniwk](https://github.com/daniwk) | We are creating a developer portal powered by Backstage, with software catalog, documentation, templates and integrations to our infrastructure and internal tools. | +| [ImmobiliareLabs](https://labs.immobiliare.it/) | [@JellyBellyDev](https://github.com/JellyBellyDev) | Centralized portal with our internal services, infrastructures, relationships between systems, technical documentation, templates, monitoring and custom integrations with our own DX tools. | From 1a83238e65cd2f2b231ae0fa72b7fd71f81b372a Mon Sep 17 00:00:00 2001 From: Peiman Jafari <18074432+peimanja@users.noreply.github.com> Date: Wed, 27 Jul 2022 07:32:52 -0700 Subject: [PATCH 107/131] chore: add Skillz adopter Signed-off-by: Peiman Jafari <18074432+peimanja@users.noreply.github.com> --- ADOPTERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ADOPTERS.md b/ADOPTERS.md index c73d5f5407..8cf258e6bd 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -200,3 +200,4 @@ _You can do this by using the [Adopter form](https://form.typeform.com/to/zcOaKi | [www.leroymerlin.com.br](https://www.leroymerlin.com.br) | [Rodrigo Franzoni](mailto:rfranzoni@leroymerlin.com.br) | Our engineers use the Backstage to solve problems around ownership and visibility of our applications, access service catalog, documentation, observability and infrastructure. | | [Intility](https://intility.no/en/) | [@daniwk](https://github.com/daniwk) | We are creating a developer portal powered by Backstage, with software catalog, documentation, templates and integrations to our infrastructure and internal tools. | | [ImmobiliareLabs](https://labs.immobiliare.it/) | [@JellyBellyDev](https://github.com/JellyBellyDev) | Centralized portal with our internal services, infrastructures, relationships between systems, technical documentation, templates, monitoring and custom integrations with our own DX tools. | +| [Skillz](https://skillz.com/) | [Peiman Jafari](https://github.com/peimanja) | Internal developers portal for technical documentations, components ownership and relationship, software templates and integrations with internal tools | From df7b9158b858c33c83fb4485a1a497534bed2d03 Mon Sep 17 00:00:00 2001 From: Parth Shukla Date: Wed, 27 Jul 2022 14:26:20 +0200 Subject: [PATCH 108/131] Add wrap-around for tool lists in Home plugin Signed-off-by: Parth Shukla --- .changeset/dull-owls-grab.md | 5 +++++ plugins/home/src/homePageComponents/Toolkit/Content.tsx | 2 ++ 2 files changed, 7 insertions(+) create mode 100644 .changeset/dull-owls-grab.md diff --git a/.changeset/dull-owls-grab.md b/.changeset/dull-owls-grab.md new file mode 100644 index 0000000000..e71db46827 --- /dev/null +++ b/.changeset/dull-owls-grab.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-home': patch +--- + +Add wrap-around for the listing of tools to prevent increasing width with name length. diff --git a/plugins/home/src/homePageComponents/Toolkit/Content.tsx b/plugins/home/src/homePageComponents/Toolkit/Content.tsx index 21affc57f1..e73a834a7e 100644 --- a/plugins/home/src/homePageComponents/Toolkit/Content.tsx +++ b/plugins/home/src/homePageComponents/Toolkit/Content.tsx @@ -35,8 +35,10 @@ const useStyles = makeStyles(theme => ({ }, label: { marginTop: theme.spacing(1), + width: '72px', fontSize: '0.9em', lineHeight: '1.25', + overflowWrap: 'break-word', color: theme.palette.text.secondary, }, icon: { From 8168aff80a4082b20772dada944e2bd19b936e69 Mon Sep 17 00:00:00 2001 From: Leo Li <38969532+Leo-Li-B@users.noreply.github.com> Date: Wed, 27 Jul 2022 08:16:36 -0700 Subject: [PATCH 109/131] docs: Added Telus as adopter & contributor Signed-off-by: Leo Li <38969532+Leo-Li-B@users.noreply.github.com> --- ADOPTERS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/ADOPTERS.md b/ADOPTERS.md index 8cf258e6bd..7e0fb297a2 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -201,3 +201,4 @@ _You can do this by using the [Adopter form](https://form.typeform.com/to/zcOaKi | [Intility](https://intility.no/en/) | [@daniwk](https://github.com/daniwk) | We are creating a developer portal powered by Backstage, with software catalog, documentation, templates and integrations to our infrastructure and internal tools. | | [ImmobiliareLabs](https://labs.immobiliare.it/) | [@JellyBellyDev](https://github.com/JellyBellyDev) | Centralized portal with our internal services, infrastructures, relationships between systems, technical documentation, templates, monitoring and custom integrations with our own DX tools. | | [Skillz](https://skillz.com/) | [Peiman Jafari](https://github.com/peimanja) | Internal developers portal for technical documentations, components ownership and relationship, software templates and integrations with internal tools | +| [Telus](https://www.telus.com/en/) | [Leo Li](mailto:leo.li@telus.com) and [Laurent Robichaud](mailto:laurent.robichaud@telus.com) | Simplifying the developer experience through centralized team member portals. Our current focus includes the adoption of Tech Docs, Software Catalog, Software Templates, the plethora of plugins, and contributing features back to Backstage. 🤖 | From b347a0a68d56aef2139bb8c56c0fb711f69fee94 Mon Sep 17 00:00:00 2001 From: Leo Li <38969532+Leo-Li-B@users.noreply.github.com> Date: Wed, 27 Jul 2022 08:21:28 -0700 Subject: [PATCH 110/131] docs: edited line formatting Signed-off-by: Leo Li <38969532+Leo-Li-B@users.noreply.github.com> --- ADOPTERS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ADOPTERS.md b/ADOPTERS.md index 7e0fb297a2..8fef7803a4 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -201,4 +201,4 @@ _You can do this by using the [Adopter form](https://form.typeform.com/to/zcOaKi | [Intility](https://intility.no/en/) | [@daniwk](https://github.com/daniwk) | We are creating a developer portal powered by Backstage, with software catalog, documentation, templates and integrations to our infrastructure and internal tools. | | [ImmobiliareLabs](https://labs.immobiliare.it/) | [@JellyBellyDev](https://github.com/JellyBellyDev) | Centralized portal with our internal services, infrastructures, relationships between systems, technical documentation, templates, monitoring and custom integrations with our own DX tools. | | [Skillz](https://skillz.com/) | [Peiman Jafari](https://github.com/peimanja) | Internal developers portal for technical documentations, components ownership and relationship, software templates and integrations with internal tools | -| [Telus](https://www.telus.com/en/) | [Leo Li](mailto:leo.li@telus.com) and [Laurent Robichaud](mailto:laurent.robichaud@telus.com) | Simplifying the developer experience through centralized team member portals. Our current focus includes the adoption of Tech Docs, Software Catalog, Software Templates, the plethora of plugins, and contributing features back to Backstage. 🤖 | +| [Telus](https://www.telus.com/en/) | [Leo Li](mailto:leo.li@telus.com) and [Laurent Robichaud](mailto:laurent.robichaud@telus.com) | Simplifying the developer experience through centralized team member portals. Our current focus includes the adoption of Tech Docs, Software Catalog, Software Templates, the plethora of plugins, and contributing features back to Backstage. 🤖 | From 96f3a1cb02e283d3533cc6997104ca69c19e6c24 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Jul 2022 15:35:25 +0000 Subject: [PATCH 111/131] chore(deps): update dependency @graphql-codegen/cli to v2.11.0 Signed-off-by: Renovate Bot --- yarn.lock | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/yarn.lock b/yarn.lock index aefe66bbac..35e18be91a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2827,12 +2827,12 @@ meros "^1.1.4" "@graphql-codegen/cli@^2.3.1": - version "2.10.0" - resolved "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-2.10.0.tgz#82f716590333bcb7965cd4ae373972068b2d0787" - integrity sha512-v87yzrQ4Q/PpGPC59O0xusQknWWKtUdITqahpUBDddT8ZWHNhadx2BjvPkinFoPZmCkG8yVoAHx7FJ2uLzqjww== + version "2.11.0" + resolved "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-2.11.0.tgz#a3b981e1471e3c696058a0eb87fcd82f49ad2bc4" + integrity sha512-5twZs3PVSPg9mfaptoNFm1x0YQQsF4WPmgu0zbB4XSuIZ/gaAKA4LT1WEiuFSQNcgvbBbD9cpFdauyD4GS+Wwg== dependencies: "@graphql-codegen/core" "2.6.0" - "@graphql-codegen/plugin-helpers" "^2.6.0" + "@graphql-codegen/plugin-helpers" "^2.6.1" "@graphql-tools/apollo-engine-loader" "^7.3.1" "@graphql-tools/code-file-loader" "^7.3.0" "@graphql-tools/git-loader" "^7.2.0" @@ -2909,6 +2909,18 @@ lodash "~4.17.0" tslib "~2.4.0" +"@graphql-codegen/plugin-helpers@^2.6.1": + version "2.6.1" + resolved "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-2.6.1.tgz#0e3abf1a13843abecd1d795fe85a61b7459a7e3a" + integrity sha512-RbkCPu8rZo+d3tWPUzqnZhgGutp15GVcs9UhaOcenKpCDDQxNxqGGTn76LuAAymT9y7BSnXdY20k1CW59z4nTw== + dependencies: + "@graphql-tools/utils" "^8.8.0" + change-case-all "1.0.14" + common-tags "1.8.2" + import-from "4.0.0" + lodash "~4.17.0" + tslib "~2.4.0" + "@graphql-codegen/schema-ast@^2.5.0": version "2.5.0" resolved "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-2.5.0.tgz#1b33a17924f0dd4c78d4f2c9dfce215d0bdd29ae" From e8c5aacbe058f879d9614ecc39e0ac3a33388b41 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Jul 2022 16:29:20 +0000 Subject: [PATCH 112/131] fix(deps): update dependency @codemirror/view to v6.1.2 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 35e18be91a..328d2301f3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2518,9 +2518,9 @@ "@lezer/highlight" "^1.0.0" "@codemirror/view@^6.0.0": - version "6.1.1" - resolved "https://registry.npmjs.org/@codemirror/view/-/view-6.1.1.tgz#a9d085128263998b389682b11e75eb157a11011c" - integrity sha512-ZBLsphk+Tbqxv7Z1vZ+rky7QbHV/ILoCN4rtdcboBmSbkDmVwsU0wmfqTGZyrOw5ulBPu2aE8esQf6cIUZbWqQ== + version "6.1.2" + resolved "https://registry.npmjs.org/@codemirror/view/-/view-6.1.2.tgz#22dd4f6867581aa09dc1d952253f655c1a44bd91" + integrity sha512-puUydfKwfmOo+ixtuB+uN/ZpcteEYSnpjHmMaow1sOQhNICsKtGBup3i9ybVqyzDagARRYzSHTWjbdeHqmn31w== dependencies: "@codemirror/state" "^6.0.0" style-mod "^4.0.0" From ac35eff29f8c9e896cf244b36fe95b00ceb8fce6 Mon Sep 17 00:00:00 2001 From: Tim Hansen Date: Wed, 27 Jul 2022 10:49:13 -0600 Subject: [PATCH 113/131] Add warning label to generated Docker images Signed-off-by: Tim Hansen --- .github/workflows/deploy_docker-image.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy_docker-image.yml b/.github/workflows/deploy_docker-image.yml index 93d59b64bd..f61c51ab32 100644 --- a/.github/workflows/deploy_docker-image.yml +++ b/.github/workflows/deploy_docker-image.yml @@ -1,4 +1,4 @@ -name: Build and push Docker Hub image +name: Build and push Docker image on: repository_dispatch: types: [release-published] @@ -87,3 +87,5 @@ jobs: tags: | ghcr.io/${{ github.repository_owner }}/backstage:latest ghcr.io/${{ github.repository_owner }}/backstage:${{ github.event.client_payload.version }} + labels: | + org.opencontainers.image.description=Docker image generated from the latest Backstage release; this contains what you would get out of the box by running npx @backstage/create-app and building a Docker image from the generated source. This is meant to ease the process of evaluating Backstage for the first time, but also has the severe limitation that there is no way to install additional plugins relevant to your infrastructure. From 8d43d374fbeefc20f3b3ea931f29ba5203e7d5a4 Mon Sep 17 00:00:00 2001 From: Damola Obaleke <45045727+damolaobaleke@users.noreply.github.com> Date: Wed, 27 Jul 2022 11:06:26 -0700 Subject: [PATCH 114/131] Update app-custom-theme.md Updating syntax in doc for clean up of Theme object Signed-off-by: Damola Obaleke <45045727+damolaobaleke@users.noreply.github.com> --- docs/getting-started/app-custom-theme.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/getting-started/app-custom-theme.md b/docs/getting-started/app-custom-theme.md index 1a6658f0b2..79fd37ee94 100644 --- a/docs/getting-started/app-custom-theme.md +++ b/docs/getting-started/app-custom-theme.md @@ -136,15 +136,15 @@ const myTheme = createTheme({ fontFamily: 'Comic Sans MS', /* below drives the header colors */ pageTheme: { - home: genPageTheme(['#8c4351', '#343b58'], shapes.wave), - documentation: genPageTheme(['#8c4351', '#343b58'], shapes.wave2), - tool: genPageTheme(['#8c4351', '#343b58'], shapes.round), - service: genPageTheme(['#8c4351', '#343b58'], shapes.wave), - website: genPageTheme(['#8c4351', '#343b58'], shapes.wave), - library: genPageTheme(['#8c4351', '#343b58'], shapes.wave), - other: genPageTheme(['#8c4351', '#343b58'], shapes.wave), - app: genPageTheme(['#8c4351', '#343b58'], shapes.wave), - apis: genPageTheme(['#8c4351', '#343b58'], shapes.wave), + home: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), + documentation: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave2}), + tool: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.round}), + service: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), + website: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), + library: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), + other: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), + app: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), + apis: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), }, }); ``` From c4ec920dd3faa77a0f979bf07e103eed9a1e4796 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Jul 2022 20:17:23 +0000 Subject: [PATCH 115/131] fix(deps): update dependency aws-sdk to v2.1183.0 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 328d2301f3..0c868e0927 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8951,9 +8951,9 @@ aws-sdk-mock@^5.2.1: traverse "^0.6.6" aws-sdk@^2.1122.0, aws-sdk@^2.814.0, aws-sdk@^2.840.0, aws-sdk@^2.948.0: - version "2.1182.0" - resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1182.0.tgz#7364e3e104f62b61018a00f19f2ffc989b1780ed" - integrity sha512-iemVvLTc2iy0rz3xTp8zc/kD27gIfDF/mk6bxY8/35xMulKCVANWUkAH8jWRKReHh5F/gX4bp33dnfG63ny1Ww== + version "2.1183.0" + resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1183.0.tgz#9a34b99a9accaff96c0530fcd2cfcc9296c23329" + integrity sha512-KtFXbZrEzMrCPH3wF0Qj/3eqJlNKeTiLO2jERmYDSaybY9mB5F1SCugBu2LkvIT+rA+K15d6qZTl84AoOQinEg== dependencies: buffer "4.9.2" events "1.1.1" From d78395a0c18f3872cf0edc4b42f0f69c68ff4916 Mon Sep 17 00:00:00 2001 From: Jonathan Stacks Date: Wed, 27 Jul 2022 01:01:54 -0500 Subject: [PATCH 116/131] Fixes #12847 - Handle kubernetes cron job aliases Signed-off-by: Jonathan Stacks --- .../CronJobsAccordions/CronJobsAccordions.tsx | 4 +- plugins/kubernetes/src/utils/crons.test.ts | 52 +++++++++++++++++++ plugins/kubernetes/src/utils/crons.ts | 40 ++++++++++++++ 3 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 plugins/kubernetes/src/utils/crons.test.ts create mode 100644 plugins/kubernetes/src/utils/crons.ts diff --git a/plugins/kubernetes/src/components/CronJobsAccordions/CronJobsAccordions.tsx b/plugins/kubernetes/src/components/CronJobsAccordions/CronJobsAccordions.tsx index 2581678928..ce2dc340e7 100644 --- a/plugins/kubernetes/src/components/CronJobsAccordions/CronJobsAccordions.tsx +++ b/plugins/kubernetes/src/components/CronJobsAccordions/CronJobsAccordions.tsx @@ -29,7 +29,7 @@ import { CronJobDrawer } from './CronJobsDrawer'; import { getOwnedResources } from '../../utils/owner'; import { GroupedResponsesContext } from '../../hooks'; import { StatusError, StatusOK } from '@backstage/core-components'; -import cronstrue from 'cronstrue'; +import { humanizeCron } from '../../utils/crons'; type CronJobsAccordionsProps = { children?: React.ReactNode; @@ -79,7 +79,7 @@ const CronJobSummary = ({ cronJob }: CronJobSummaryProps) => { Schedule:{' '} {cronJob.spec?.schedule - ? `${cronJob.spec.schedule} (${cronstrue.toString( + ? `${cronJob.spec.schedule} (${humanizeCron( cronJob.spec.schedule, )})` : 'N/A'} diff --git a/plugins/kubernetes/src/utils/crons.test.ts b/plugins/kubernetes/src/utils/crons.test.ts new file mode 100644 index 0000000000..1617a20e1f --- /dev/null +++ b/plugins/kubernetes/src/utils/crons.test.ts @@ -0,0 +1,52 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { humanizeCron } from './crons'; + +describe('crons', () => { + describe('humanizeCron', () => { + it('should handle kubernetes aliases', () => { + expect(humanizeCron('@yearly')).toBe( + 'At 12:00 AM, on day 1 of the month, only in January', + ); + expect(humanizeCron('@annually')).toBe( + 'At 12:00 AM, on day 1 of the month, only in January', + ); + expect(humanizeCron('@monthly')).toBe( + 'At 12:00 AM, on day 1 of the month', + ); + expect(humanizeCron('@weekly')).toBe('At 12:00 AM, only on Sunday'); + expect(humanizeCron('@daily')).toBe('At 12:00 AM'); + expect(humanizeCron('@midnight')).toBe('At 12:00 AM'); + expect(humanizeCron('@hourly')).toBe('Every hour'); + }); + + it('should handle regular crons', () => { + expect(humanizeCron('0 23 * * *')).toBe('At 11:00 PM'); + expect(humanizeCron('0 0 13 * 5')).toBe( + 'At 12:00 AM, on day 13 of the month, and on Friday', + ); + }); + + it('should handle empty strings', () => { + expect(humanizeCron('')).toBe(''); + }); + + it('should return the original schedule rather than throwing an error', () => { + expect(humanizeCron('@invalid')).toBe('@invalid'); + }); + }); +}); diff --git a/plugins/kubernetes/src/utils/crons.ts b/plugins/kubernetes/src/utils/crons.ts new file mode 100644 index 0000000000..be383c41ca --- /dev/null +++ b/plugins/kubernetes/src/utils/crons.ts @@ -0,0 +1,40 @@ +/* + * Copyright 2021 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import cronstrue from 'cronstrue'; + +// Defined at https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/ +const k8sCronAliases = new Map([ + ['@yearly', '0 0 1 1 *'], + ['@annually', '0 0 1 1 *'], + ['@monthly', '0 0 1 * *'], + ['@weekly', '0 0 * * 0'], + ['@daily', '0 0 * * *'], + ['@midnight', '0 0 * * *'], + ['@hourly', '0 * * * *'], +]); + +// humanizeCron takes into account the aliases provided by kubernetes before +// calling cronstrue. In an effort to not throw an error, it will return the +// original cron formatted schedule if the cronstrue call fails. +export const humanizeCron = (schedule: string): string => { + const deAliasedSchedule = k8sCronAliases.get(schedule) || schedule; + try { + return cronstrue.toString(deAliasedSchedule); + } catch (e) { + return deAliasedSchedule; + } +}; From 860ed6834340ebed53f6c5fb31a524f8499c0817 Mon Sep 17 00:00:00 2001 From: Jonathan Stacks Date: Wed, 27 Jul 2022 21:46:19 -0500 Subject: [PATCH 117/131] Add Changeset Signed-off-by: Jonathan Stacks --- .changeset/big-mirrors-play.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/big-mirrors-play.md diff --git a/.changeset/big-mirrors-play.md b/.changeset/big-mirrors-play.md new file mode 100644 index 0000000000..7478363a46 --- /dev/null +++ b/.changeset/big-mirrors-play.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kubernetes': patch +--- + +Fixed bug in CronJobsAccordions component that causes an error when cronjobs use a kubernetes alias, such as `@hourly` or `@daily` instead of standard cron syntax. From 7220f743b52d49543af2b5d28c8e1c95aec82bd9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Jul 2022 05:43:07 +0000 Subject: [PATCH 118/131] chore(deps): update dependency @types/node to v16.11.46 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0c868e0927..ec3de78ed5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7243,9 +7243,9 @@ integrity sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A== "@types/node@^16.0.0", "@types/node@^16.11.26", "@types/node@^16.9.2": - version "16.11.45" - resolved "https://registry.npmjs.org/@types/node/-/node-16.11.45.tgz#155b13a33c665ef2b136f7f245fa525da419e810" - integrity sha512-3rKg/L5x0rofKuuUt5zlXzOnKyIHXmIu5R8A0TuNDMF2062/AOIDBciFIjToLEJ/9F9DzkHNot+BpNsMI1OLdQ== + version "16.11.46" + resolved "https://registry.npmjs.org/@types/node/-/node-16.11.46.tgz#26047602eefa47b36759d9ebb1b55ad08ce97a73" + integrity sha512-x+sfpb2dMrhCQPL4NAGs64Z9hh0t72aP0dg+PuZidmPr/0Gj5ELQTjD/t46dq3DF/8ZvSHOaIyDIbAsdPshyVQ== "@types/normalize-package-data@^2.4.0": version "2.4.1" From f2d0ea9f42c37cc61554ff301b2adfe01b988e52 Mon Sep 17 00:00:00 2001 From: Miguel Alexandre Date: Thu, 28 Jul 2022 10:40:37 +0200 Subject: [PATCH 119/131] Allow setting the subtitle in the CatalogTable component Signed-off-by: Miguel Alexandre --- .../CatalogTable/CatalogTable.test.tsx | 29 ++++++++++++++-- .../components/CatalogTable/CatalogTable.tsx | 34 ++++++++++--------- 2 files changed, 45 insertions(+), 18 deletions(-) diff --git a/plugins/catalog/src/components/CatalogTable/CatalogTable.test.tsx b/plugins/catalog/src/components/CatalogTable/CatalogTable.test.tsx index c59b10281c..bd78cecaf0 100644 --- a/plugins/catalog/src/components/CatalogTable/CatalogTable.test.tsx +++ b/plugins/catalog/src/components/CatalogTable/CatalogTable.test.tsx @@ -21,12 +21,12 @@ import { } from '@backstage/catalog-model'; import { ApiProvider } from '@backstage/core-app-api'; import { + EntityKindFilter, entityRouteRef, MockEntityListContextProvider, + MockStarredEntitiesApi, starredEntitiesApiRef, UserListFilter, - EntityKindFilter, - MockStarredEntitiesApi, } from '@backstage/plugin-catalog-react'; import { renderInTestApp, TestApiRegistry } from '@backstage/test-utils'; import { act, fireEvent } from '@testing-library/react'; @@ -306,4 +306,29 @@ describe('CatalogTable component', () => { }, 20_000, ); + it('should render the subtitle when it is specified', async () => { + const entity = { + apiVersion: 'backstage.io/v1alpha1', + kind: 'Component', + metadata: { + name: 'component1', + annotations: { [ANNOTATION_EDIT_URL]: 'https://other.place' }, + }, + }; + + const { getByText } = await renderInTestApp( + + + + + , + { + mountedRoutes: { + '/catalog/:namespace/:kind/:name': entityRouteRef, + }, + }, + ); + + expect(getByText('Should be rendered')).toBeInTheDocument(); + }); }); diff --git a/plugins/catalog/src/components/CatalogTable/CatalogTable.tsx b/plugins/catalog/src/components/CatalogTable/CatalogTable.tsx index 005a00c48e..6bc18d7a90 100644 --- a/plugins/catalog/src/components/CatalogTable/CatalogTable.tsx +++ b/plugins/catalog/src/components/CatalogTable/CatalogTable.tsx @@ -19,18 +19,6 @@ import { RELATION_OWNED_BY, RELATION_PART_OF, } from '@backstage/catalog-model'; -import { - humanizeEntityRef, - getEntityRelations, - useEntityList, - useStarredEntities, -} from '@backstage/plugin-catalog-react'; -import Edit from '@material-ui/icons/Edit'; -import OpenInNew from '@material-ui/icons/OpenInNew'; -import { capitalize } from 'lodash'; -import React, { useMemo } from 'react'; -import { columnFactories } from './columns'; -import { CatalogTableRow } from './types'; import { CodeSnippet, Table, @@ -38,10 +26,22 @@ import { TableProps, WarningPanel, } from '@backstage/core-components'; -import StarBorder from '@material-ui/icons/StarBorder'; -import { withStyles } from '@material-ui/core/styles'; -import Star from '@material-ui/icons/Star'; +import { + getEntityRelations, + humanizeEntityRef, + useEntityList, + useStarredEntities, +} from '@backstage/plugin-catalog-react'; import { Typography } from '@material-ui/core'; +import { withStyles } from '@material-ui/core/styles'; +import Edit from '@material-ui/icons/Edit'; +import OpenInNew from '@material-ui/icons/OpenInNew'; +import Star from '@material-ui/icons/Star'; +import StarBorder from '@material-ui/icons/StarBorder'; +import { capitalize } from 'lodash'; +import React, { useMemo } from 'react'; +import { columnFactories } from './columns'; +import { CatalogTableRow } from './types'; /** * Props for {@link CatalogTable}. @@ -52,6 +52,7 @@ export interface CatalogTableProps { columns?: TableColumn[]; actions?: TableProps['actions']; tableOptions?: TableProps['options']; + subtitle?: string; } const YellowStar = withStyles({ @@ -62,7 +63,7 @@ const YellowStar = withStyles({ /** @public */ export const CatalogTable = (props: CatalogTableProps) => { - const { columns, actions, tableOptions } = props; + const { columns, actions, tableOptions, subtitle } = props; const { isStarredEntity, toggleStarredEntity } = useStarredEntities(); const { loading, error, entities, filters } = useEntityList(); @@ -226,6 +227,7 @@ export const CatalogTable = (props: CatalogTableProps) => { title={`${titlePreamble} (${entities.length})`} data={rows} actions={actions || defaultActions} + subtitle={subtitle} /> ); }; From fe94398418a148dfc7fd82fbd0795b564bfceb34 Mon Sep 17 00:00:00 2001 From: Miguel Alexandre Date: Thu, 28 Jul 2022 10:44:58 +0200 Subject: [PATCH 120/131] Add changeset Signed-off-by: Miguel Alexandre --- .changeset/little-laws-heal.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/little-laws-heal.md diff --git a/.changeset/little-laws-heal.md b/.changeset/little-laws-heal.md new file mode 100644 index 0000000000..d701a6e763 --- /dev/null +++ b/.changeset/little-laws-heal.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog': minor +--- + +Allow changing the subtitle of the CatalogTable component From c333ffd2c3bdc7fb4a2d4bddb0f0388ef781d09c Mon Sep 17 00:00:00 2001 From: blam Date: Thu, 28 Jul 2022 11:13:19 +0200 Subject: [PATCH 121/131] =?UTF-8?q?chore:=20prettify!=20=F0=9F=AA=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: blam --- docs/getting-started/app-custom-theme.md | 30 +++++++++++++++++------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/docs/getting-started/app-custom-theme.md b/docs/getting-started/app-custom-theme.md index 79fd37ee94..da4f10a64b 100644 --- a/docs/getting-started/app-custom-theme.md +++ b/docs/getting-started/app-custom-theme.md @@ -136,15 +136,27 @@ const myTheme = createTheme({ fontFamily: 'Comic Sans MS', /* below drives the header colors */ pageTheme: { - home: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), - documentation: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave2}), - tool: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.round}), - service: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), - website: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), - library: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), - other: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), - app: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), - apis: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave}), + home: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave }), + documentation: genPageTheme({ + colors: ['#8c4351', '#343b58'], + shape: shapes.wave2, + }), + tool: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.round }), + service: genPageTheme({ + colors: ['#8c4351', '#343b58'], + shape: shapes.wave, + }), + website: genPageTheme({ + colors: ['#8c4351', '#343b58'], + shape: shapes.wave, + }), + library: genPageTheme({ + colors: ['#8c4351', '#343b58'], + shape: shapes.wave, + }), + other: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave }), + app: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave }), + apis: genPageTheme({ colors: ['#8c4351', '#343b58'], shape: shapes.wave }), }, }); ``` From 97108b948b198f6fe9eb8ec2bb5790f5aae2b464 Mon Sep 17 00:00:00 2001 From: Miguel Alexandre Date: Thu, 28 Jul 2022 11:16:40 +0200 Subject: [PATCH 122/131] Add API report Signed-off-by: Miguel Alexandre --- plugins/catalog/api-report.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/catalog/api-report.md b/plugins/catalog/api-report.md index d13f2acbc2..98bc7ab89e 100644 --- a/plugins/catalog/api-report.md +++ b/plugins/catalog/api-report.md @@ -157,6 +157,8 @@ export interface CatalogTableProps { // (undocumented) columns?: TableColumn[]; // (undocumented) + subtitle?: string; + // (undocumented) tableOptions?: TableProps['options']; } From 5abeb3df2d5f09ccbc5bcc5a8f85312dc93833c0 Mon Sep 17 00:00:00 2001 From: Ben Lambert Date: Thu, 28 Jul 2022 11:32:27 +0200 Subject: [PATCH 123/131] code block the changeset Signed-off-by: Ben Lambert --- .changeset/little-laws-heal.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/little-laws-heal.md b/.changeset/little-laws-heal.md index d701a6e763..cd1505540e 100644 --- a/.changeset/little-laws-heal.md +++ b/.changeset/little-laws-heal.md @@ -2,4 +2,4 @@ '@backstage/plugin-catalog': minor --- -Allow changing the subtitle of the CatalogTable component +Allow changing the subtitle of the `CatalogTable` component From 130aaec10566a6d0f85da135bc0f9e576f87e425 Mon Sep 17 00:00:00 2001 From: Charge71 Date: Thu, 28 Jul 2022 11:26:58 +0200 Subject: [PATCH 124/131] Update .changeset/mean-ants-hang.md Co-authored-by: Ben Lambert Signed-off-by: Diego Bardari --- .changeset/mean-ants-hang.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/mean-ants-hang.md b/.changeset/mean-ants-hang.md index 1dbbc63de0..e3beca051e 100644 --- a/.changeset/mean-ants-hang.md +++ b/.changeset/mean-ants-hang.md @@ -1,5 +1,5 @@ --- -'@backstage/backend-common': minor +'@backstage/backend-common': patch --- Exported redactLogLine function to be able to use it in custom loggers. From a01168b4660fdf07d722d736cd457a178b83cfb6 Mon Sep 17 00:00:00 2001 From: Charge71 Date: Thu, 28 Jul 2022 11:27:05 +0200 Subject: [PATCH 125/131] Update .changeset/mean-ants-hang.md Co-authored-by: Ben Lambert Signed-off-by: Diego Bardari --- .changeset/mean-ants-hang.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/mean-ants-hang.md b/.changeset/mean-ants-hang.md index e3beca051e..6fe5c50420 100644 --- a/.changeset/mean-ants-hang.md +++ b/.changeset/mean-ants-hang.md @@ -2,4 +2,4 @@ '@backstage/backend-common': patch --- -Exported redactLogLine function to be able to use it in custom loggers. +Exported `redactLogLine` function to be able to use it in custom loggers. From ef4fd4abd1a039b950b18dcb23c8e4d6e51885ff Mon Sep 17 00:00:00 2001 From: Diego Bardari Date: Thu, 28 Jul 2022 11:56:07 +0200 Subject: [PATCH 126/131] feat(logging): renamed redactLogLine function to redactWinstonLogLine Signed-off-by: Diego Bardari --- .changeset/mean-ants-hang.md | 2 +- packages/backend-common/api-report.md | 2 +- packages/backend-common/src/logging/index.ts | 2 +- packages/backend-common/src/logging/rootLogger.ts | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.changeset/mean-ants-hang.md b/.changeset/mean-ants-hang.md index 6fe5c50420..e9c3bc4eaf 100644 --- a/.changeset/mean-ants-hang.md +++ b/.changeset/mean-ants-hang.md @@ -2,4 +2,4 @@ '@backstage/backend-common': patch --- -Exported `redactLogLine` function to be able to use it in custom loggers. +Exported `redactLogLine` function to be able to use it in custom loggers and renamed it to `redactWinstonLogLine`. diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md index ff79e106e0..82263fba07 100644 --- a/packages/backend-common/api-report.md +++ b/packages/backend-common/api-report.md @@ -569,7 +569,7 @@ export type ReadUrlResponseFactoryFromStreamOptions = { }; // @public -export function redactLogLine( +export function redactWinstonLogLine( info: winston.Logform.TransformableInfo, ): winston.Logform.TransformableInfo; diff --git a/packages/backend-common/src/logging/index.ts b/packages/backend-common/src/logging/index.ts index a3b87237ec..4657dd4101 100644 --- a/packages/backend-common/src/logging/index.ts +++ b/packages/backend-common/src/logging/index.ts @@ -19,6 +19,6 @@ export { createRootLogger, getRootLogger, setRootLogger, - redactLogLine, + redactWinstonLogLine, } from './rootLogger'; export * from './voidLogger'; diff --git a/packages/backend-common/src/logging/rootLogger.ts b/packages/backend-common/src/logging/rootLogger.ts index a24dea3c00..6077662dcf 100644 --- a/packages/backend-common/src/logging/rootLogger.ts +++ b/packages/backend-common/src/logging/rootLogger.ts @@ -72,7 +72,7 @@ export function setRootLoggerRedactionList(redactionList: string[]) { * * @public */ -export function redactLogLine(info: winston.Logform.TransformableInfo) { +export function redactWinstonLogLine(info: winston.Logform.TransformableInfo) { // TODO(hhogg): The logger is created before the config is loaded, because the // logger is needed in the config loader. There is a risk of a secret being // logged out during the config loading stage. @@ -106,7 +106,7 @@ export function createRootLogger( { level: env.LOG_LEVEL || 'info', format: winston.format.combine( - winston.format(redactLogLine)(), + winston.format(redactWinstonLogLine)(), env.NODE_ENV === 'production' ? winston.format.json() : coloredFormat, ), defaultMeta: { From dae12c71cff4d958bdc35f99f67ba0a2a1dccc32 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Jul 2022 12:48:11 +0000 Subject: [PATCH 127/131] fix(deps): update dependency @asyncapi/react-component to v1.0.0-next.40 Signed-off-by: Renovate Bot --- .changeset/renovate-5ba3a71.md | 5 +++++ plugins/api-docs/package.json | 2 +- yarn.lock | 14 ++++++++++---- 3 files changed, 16 insertions(+), 5 deletions(-) create mode 100644 .changeset/renovate-5ba3a71.md diff --git a/.changeset/renovate-5ba3a71.md b/.changeset/renovate-5ba3a71.md new file mode 100644 index 0000000000..ba1bdd3b73 --- /dev/null +++ b/.changeset/renovate-5ba3a71.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-api-docs': patch +--- + +Updated dependency `@asyncapi/react-component` to `1.0.0-next.40`. diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json index a690e819ad..5c0f3dfce5 100644 --- a/plugins/api-docs/package.json +++ b/plugins/api-docs/package.json @@ -33,7 +33,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@asyncapi/react-component": "1.0.0-next.39", + "@asyncapi/react-component": "1.0.0-next.40", "@backstage/catalog-model": "^1.1.0", "@backstage/core-components": "^0.10.1-next.0", "@backstage/core-plugin-api": "^1.0.5-next.0", diff --git a/yarn.lock b/yarn.lock index ec3de78ed5..e68ede91da 100644 --- a/yarn.lock +++ b/yarn.lock @@ -201,10 +201,10 @@ node-fetch "^2.6.0" tiny-merge-patch "^0.1.2" -"@asyncapi/react-component@1.0.0-next.39": - version "1.0.0-next.39" - resolved "https://registry.npmjs.org/@asyncapi/react-component/-/react-component-1.0.0-next.39.tgz#2aa236b1783f36249752b3c30e0c7e0125af8c1f" - integrity sha512-UQYmzbvKwDm3HVGjLL1znK35bOKlWNiTUw29oSe6Xdil/Y7RODLctGQrbwKSCeP0VwtsokhwivQ3QHuL3byjVw== +"@asyncapi/react-component@1.0.0-next.40": + version "1.0.0-next.40" + resolved "https://registry.npmjs.org/@asyncapi/react-component/-/react-component-1.0.0-next.40.tgz#91cb16008f18b6614f00095029f37380a1ad557b" + integrity sha512-C46TXu1agGWEKE6gAdJ+Nf+agdXPeoUUFhpfR03IaCU108kOw05HarHm6VX4y3/nDuNv36p4UmbU4dY6n2t0aA== dependencies: "@asyncapi/avro-schema-parser" "^0.3.0" "@asyncapi/openapi-schema-parser" "^2.0.0" @@ -213,6 +213,7 @@ isomorphic-dompurify "^0.13.0" marked "^4.0.14" openapi-sampler "^1.2.1" + react-icons "^4.4.0" use-resize-observer "^8.0.0" "@asyncapi/specs@^2.14.0": @@ -22097,6 +22098,11 @@ react-hot-loader@^4.13.0: shallowequal "^1.1.0" source-map "^0.7.3" +react-icons@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/react-icons/-/react-icons-4.4.0.tgz#a13a8a20c254854e1ec9aecef28a95cdf24ef703" + integrity sha512-fSbvHeVYo/B5/L4VhB7sBA1i2tS8MkT0Hb9t2H1AVPkwGfVHLJCqyr2Py9dKMxsyM63Eng1GkdZfbWj+Fmv8Rg== + react-immutable-proptypes@2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/react-immutable-proptypes/-/react-immutable-proptypes-2.2.0.tgz#cce96d68cc3c18e89617cbf3092d08e35126af4a" From 91c2a8ac8cf58ff8ea88479bd7630e90ea96110b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Jul 2022 14:58:30 +0000 Subject: [PATCH 128/131] chore(deps): update dependency @graphql-codegen/cli to v2.11.1 Signed-off-by: Renovate Bot --- yarn.lock | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/yarn.lock b/yarn.lock index e68ede91da..4ed1f9ab54 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2828,9 +2828,9 @@ meros "^1.1.4" "@graphql-codegen/cli@^2.3.1": - version "2.11.0" - resolved "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-2.11.0.tgz#a3b981e1471e3c696058a0eb87fcd82f49ad2bc4" - integrity sha512-5twZs3PVSPg9mfaptoNFm1x0YQQsF4WPmgu0zbB4XSuIZ/gaAKA4LT1WEiuFSQNcgvbBbD9cpFdauyD4GS+Wwg== + version "2.11.1" + resolved "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-2.11.1.tgz#89e7e6e58f6171f5aa4ddd87f411c2a4aae8ef19" + integrity sha512-WPVzIQnNSa35R7/i3kg4tEDWVesqzpYFEq2HbJoL2YGmTcoE3oedqiXYJ0YMjG4tJF6o8EL+UwHfA7zV38XLxg== dependencies: "@graphql-codegen/core" "2.6.0" "@graphql-codegen/plugin-helpers" "^2.6.1" @@ -2838,7 +2838,7 @@ "@graphql-tools/code-file-loader" "^7.3.0" "@graphql-tools/git-loader" "^7.2.0" "@graphql-tools/github-loader" "^7.3.1" - "@graphql-tools/graphql-file-loader" "^7.4.0" + "@graphql-tools/graphql-file-loader" "^7.5.0" "@graphql-tools/json-file-loader" "^7.4.0" "@graphql-tools/load" "^7.7.0" "@graphql-tools/prisma-loader" "^7.2.2" @@ -3059,7 +3059,7 @@ sync-fetch "0.4.1" tslib "^2.4.0" -"@graphql-tools/graphql-file-loader@^7.3.7", "@graphql-tools/graphql-file-loader@^7.4.0": +"@graphql-tools/graphql-file-loader@^7.3.7": version "7.4.0" resolved "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.4.0.tgz#c06e36248dd6a2025de65a1cfce03222ad0e74c2" integrity sha512-r1lslE5GlWO/nbDX82enHjvva7qQiZEIPm+LC9JSgKaYuVoYHuIuIAVYkpBHeaRK1Kbh/86pEhL7PuBZ/cIWSA== @@ -3070,6 +3070,17 @@ tslib "^2.4.0" unixify "^1.0.0" +"@graphql-tools/graphql-file-loader@^7.5.0": + version "7.5.0" + resolved "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.5.0.tgz#b08e2a7c64a1fecb5fc01d557a07116a3151ee14" + integrity sha512-X3wcC+ZljbXTwdTTSp3oUHJd66mFLDKI750uhB0HidBxE6+wyw7fhmJVJiYROXPswaGliuabpo0JEyLj7hhWKA== + dependencies: + "@graphql-tools/import" "6.7.1" + "@graphql-tools/utils" "8.9.0" + globby "^11.0.3" + tslib "^2.4.0" + unixify "^1.0.0" + "@graphql-tools/graphql-tag-pluck@7.3.0": version "7.3.0" resolved "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.3.0.tgz#e83b568151b2cd0f8678489bb927e2bf9cf24af9" @@ -3090,6 +3101,15 @@ resolve-from "5.0.0" tslib "^2.4.0" +"@graphql-tools/import@6.7.1": + version "6.7.1" + resolved "https://registry.npmjs.org/@graphql-tools/import/-/import-6.7.1.tgz#bb62a109503266f25e6dd8799763eddaeba8da3a" + integrity sha512-StLosFVhdw+eZkL+v9dBabszxCAZtEYW4Oy1+750fDkH39GrmzOB8mWiYna7rm9+GMisC9atJtXuAfMF02Aoag== + dependencies: + "@graphql-tools/utils" "8.9.0" + resolve-from "5.0.0" + tslib "^2.4.0" + "@graphql-tools/json-file-loader@^7.3.7", "@graphql-tools/json-file-loader@^7.4.0": version "7.4.0" resolved "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.4.0.tgz#c25059ebce34db6190a11580e2bc7c66df68a7b9" @@ -3233,6 +3253,13 @@ dependencies: tslib "^2.4.0" +"@graphql-tools/utils@8.9.0": + version "8.9.0" + resolved "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz#c6aa5f651c9c99e1aca55510af21b56ec296cdb7" + integrity sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg== + dependencies: + tslib "^2.4.0" + "@graphql-tools/wrap@8.5.0": version "8.5.0" resolved "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.5.0.tgz#ce1b0d775e1fc3a17404df566f4d2196d31c6e20" From 6d1731e8b3eed0f3a1195b38b7cbaf49b31e3a64 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Jul 2022 18:05:22 +0000 Subject: [PATCH 129/131] chore(deps): update dependency @graphql-codegen/cli to v2.11.2 Signed-off-by: Renovate Bot --- yarn.lock | 298 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 231 insertions(+), 67 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4ed1f9ab54..72422aabdf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -174,6 +174,13 @@ signedsource "^1.0.0" yargs "^15.3.1" +"@ardatan/sync-fetch@0.0.1": + version "0.0.1" + resolved "https://registry.npmjs.org/@ardatan/sync-fetch/-/sync-fetch-0.0.1.tgz#3385d3feedceb60a896518a1db857ec1e945348f" + integrity sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA== + dependencies: + node-fetch "^2.6.1" + "@asyncapi/avro-schema-parser@^0.3.0": version "0.3.0" resolved "https://registry.npmjs.org/@asyncapi/avro-schema-parser/-/avro-schema-parser-0.3.0.tgz#6922acc559ef999c57e81297d78ffe680fc92b3c" @@ -2828,23 +2835,23 @@ meros "^1.1.4" "@graphql-codegen/cli@^2.3.1": - version "2.11.1" - resolved "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-2.11.1.tgz#89e7e6e58f6171f5aa4ddd87f411c2a4aae8ef19" - integrity sha512-WPVzIQnNSa35R7/i3kg4tEDWVesqzpYFEq2HbJoL2YGmTcoE3oedqiXYJ0YMjG4tJF6o8EL+UwHfA7zV38XLxg== + version "2.11.2" + resolved "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-2.11.2.tgz#f502d0e9e19305acffca5f07789dde8d4e0fa656" + integrity sha512-dt70+et0QFmhL3krrlYWcsp7T6pvChEQ1vEGoNn46Rn53velGDwP546DtSPpHJmajY/eJ11CueoI0J/3o0/BTA== dependencies: "@graphql-codegen/core" "2.6.0" "@graphql-codegen/plugin-helpers" "^2.6.1" - "@graphql-tools/apollo-engine-loader" "^7.3.1" - "@graphql-tools/code-file-loader" "^7.3.0" - "@graphql-tools/git-loader" "^7.2.0" - "@graphql-tools/github-loader" "^7.3.1" + "@graphql-tools/apollo-engine-loader" "^7.3.6" + "@graphql-tools/code-file-loader" "^7.3.1" + "@graphql-tools/git-loader" "^7.2.1" + "@graphql-tools/github-loader" "^7.3.6" "@graphql-tools/graphql-file-loader" "^7.5.0" - "@graphql-tools/json-file-loader" "^7.4.0" - "@graphql-tools/load" "^7.7.0" - "@graphql-tools/prisma-loader" "^7.2.2" - "@graphql-tools/url-loader" "^7.12.1" - "@graphql-tools/utils" "^8.8.0" - "@whatwg-node/fetch" "^0.0.2" + "@graphql-tools/json-file-loader" "^7.4.1" + "@graphql-tools/load" "^7.7.1" + "@graphql-tools/prisma-loader" "^7.2.7" + "@graphql-tools/url-loader" "^7.13.2" + "@graphql-tools/utils" "^8.9.0" + "@whatwg-node/fetch" "^0.2.3" ansi-escapes "^4.3.1" chalk "^4.1.0" chokidar "^3.5.2" @@ -2970,14 +2977,14 @@ parse-filepath "^1.0.2" tslib "~2.4.0" -"@graphql-tools/apollo-engine-loader@^7.3.1": - version "7.3.1" - resolved "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.3.1.tgz#535cb259fa6e0dbf1cf960e7212d58b8294bb370" - integrity sha512-PJhX4gQeoPtR2BJFYHYVLdLYkqQHB94r9IC64GamFV+kxR+jzQYZJdDTgnFZxvpvGJ7rEgYKNjcfWS+r+CQisQ== +"@graphql-tools/apollo-engine-loader@^7.3.6": + version "7.3.6" + resolved "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-7.3.6.tgz#a2bd7cbae69975bb8ccd33e7ca4c6a705671dc30" + integrity sha512-r7YU1X9Ce/sr+tPzSuZqVqlK7knGDpiRfB9HB2uVmbm+kPrlISQ0LuamFoT1g1nkfDZUNZn2p18ag512P1aVVw== dependencies: - "@graphql-tools/utils" "8.8.0" - cross-undici-fetch "^0.4.11" - sync-fetch "0.4.1" + "@ardatan/sync-fetch" "0.0.1" + "@graphql-tools/utils" "8.9.0" + "@whatwg-node/fetch" "^0.2.4" tslib "^2.4.0" "@graphql-tools/batch-execute@8.4.6": @@ -3000,13 +3007,23 @@ tslib "^2.4.0" value-or-promise "1.0.11" -"@graphql-tools/code-file-loader@^7.3.0": - version "7.3.0" - resolved "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-7.3.0.tgz#4a9cc213bb726ab049aad806a51707689bd7340a" - integrity sha512-mzevVv5JYyyRIbE6R0mxIniCAZWUGdoNYX97HdVgqChLOl2XRf9I8MarVPewHLmjLTZuWrdQx4ta4sPTLk4tUQ== +"@graphql-tools/batch-execute@8.5.1": + version "8.5.1" + resolved "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.5.1.tgz#fa3321d58c64041650be44250b1ebc3aab0ba7a9" + integrity sha512-hRVDduX0UDEneVyEWtc2nu5H2PxpfSfM/riUlgZvo/a/nG475uyehxR5cFGvTEPEQUKY3vGIlqvtRigzqTfCew== dependencies: - "@graphql-tools/graphql-tag-pluck" "7.3.0" - "@graphql-tools/utils" "8.8.0" + "@graphql-tools/utils" "8.9.0" + dataloader "2.1.0" + tslib "^2.4.0" + value-or-promise "1.0.11" + +"@graphql-tools/code-file-loader@^7.3.1": + version "7.3.1" + resolved "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-7.3.1.tgz#82cf1e7c5366fd6e084f607e6c14a4447110f035" + integrity sha512-nyr0zln7fi4E8lK98THdb8k3gPsSCiyXRFTTNhPRUCPeOD2RCpUZCClM5AB0xv8HjILAipdaxjhb2elPvnY5dw== + dependencies: + "@graphql-tools/graphql-tag-pluck" "7.3.1" + "@graphql-tools/utils" "8.9.0" globby "^11.0.3" tslib "^2.4.0" unixify "^1.0.0" @@ -3036,27 +3053,39 @@ tslib "~2.4.0" value-or-promise "1.0.11" -"@graphql-tools/git-loader@^7.2.0": - version "7.2.0" - resolved "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-7.2.0.tgz#d96c294818abc315d8fcd033ebb6d59afbf319f5" - integrity sha512-aFJ5Py9sCIhiSyE+EK4zC+mQ4zRUNGGNwosqlCYNcmhtGFwlXArB13/rdj2b4p3RsmTe31Mso9VfsEZXQ6CGCw== +"@graphql-tools/delegate@8.8.1": + version "8.8.1" + resolved "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.8.1.tgz#0653a72f38947f38ab7917dfac50ebf6a6b883e9" + integrity sha512-NDcg3GEQmdEHlnF7QS8b4lM1PSF+DKeFcIlLEfZFBvVq84791UtJcDj8734sIHLukmyuAxXMfA1qLd2l4lZqzA== dependencies: - "@graphql-tools/graphql-tag-pluck" "7.3.0" - "@graphql-tools/utils" "8.8.0" + "@graphql-tools/batch-execute" "8.5.1" + "@graphql-tools/schema" "8.5.1" + "@graphql-tools/utils" "8.9.0" + dataloader "2.1.0" + tslib "~2.4.0" + value-or-promise "1.0.11" + +"@graphql-tools/git-loader@^7.2.1": + version "7.2.1" + resolved "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-7.2.1.tgz#e0eaa77f1696199a780f32035646489e57a017dd" + integrity sha512-grfLO3CqKO8hlymqBQeNsjGCzjMXH+n+epM6vH2OW1tUM9UmPrH+En0BynJCap9VYVZ0KcbYz03o5ZJNYkbaCg== + dependencies: + "@graphql-tools/graphql-tag-pluck" "7.3.1" + "@graphql-tools/utils" "8.9.0" is-glob "4.0.3" micromatch "^4.0.4" tslib "^2.4.0" unixify "^1.0.0" -"@graphql-tools/github-loader@^7.3.1": - version "7.3.1" - resolved "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-7.3.1.tgz#faa1bf84ccafba20e9300d19155add312e63b22f" - integrity sha512-sus/YOZKhhbcBQTCWFvUdIzFThm/LiAlSh9+Bt+hNz2K05PWzR6XD7Fo2ejh6bSAZvevJBvsH/4xf1YSK86Fkg== +"@graphql-tools/github-loader@^7.3.6": + version "7.3.6" + resolved "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-7.3.6.tgz#9c49ef902760895cd683927b9ef358168efd4dab" + integrity sha512-TovDdZ0dxShIfnP3/02+aVfPzhYHedtCVU4GB7rajExdOlNEUAfMAjpDKgTReENzD0ZaehqBnGj2BpR+/b4C1Q== dependencies: - "@graphql-tools/graphql-tag-pluck" "7.3.0" - "@graphql-tools/utils" "8.8.0" - cross-undici-fetch "^0.4.11" - sync-fetch "0.4.1" + "@ardatan/sync-fetch" "0.0.1" + "@graphql-tools/graphql-tag-pluck" "7.3.1" + "@graphql-tools/utils" "8.9.0" + "@whatwg-node/fetch" "^0.2.4" tslib "^2.4.0" "@graphql-tools/graphql-file-loader@^7.3.7": @@ -3081,15 +3110,15 @@ tslib "^2.4.0" unixify "^1.0.0" -"@graphql-tools/graphql-tag-pluck@7.3.0": - version "7.3.0" - resolved "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.3.0.tgz#e83b568151b2cd0f8678489bb927e2bf9cf24af9" - integrity sha512-GxtgGTSOiQuFc/yNWXsPJ5QEgGlH+4qBf1paqUJtjFpm89dZA+VkdjoIDiFg8fyXGivjZ37+XAUbuu6UlsT+6Q== +"@graphql-tools/graphql-tag-pluck@7.3.1": + version "7.3.1" + resolved "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-7.3.1.tgz#067880a923bacbb522eab68d994975346d68ab64" + integrity sha512-+Aayl4y42ASrxDvu613lp3NiK1JRggy/m9wlo93dJp/9L5vKPYlrtFvuQ1tpPEEuSBboYNa/erOsELrRwzzakA== dependencies: "@babel/parser" "^7.16.8" "@babel/traverse" "^7.16.8" "@babel/types" "^7.16.8" - "@graphql-tools/utils" "8.8.0" + "@graphql-tools/utils" "8.9.0" tslib "^2.4.0" "@graphql-tools/import@6.7.0": @@ -3110,7 +3139,7 @@ resolve-from "5.0.0" tslib "^2.4.0" -"@graphql-tools/json-file-loader@^7.3.7", "@graphql-tools/json-file-loader@^7.4.0": +"@graphql-tools/json-file-loader@^7.3.7": version "7.4.0" resolved "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.4.0.tgz#c25059ebce34db6190a11580e2bc7c66df68a7b9" integrity sha512-6oR7Ulc5iZc5SM3g1Yj91DqSu3TNbfGK/0baE8KyUlvq6KiIuWFWDy13RGnNesftt4RSWvZqGzu/kzXcBHtt+A== @@ -3120,7 +3149,17 @@ tslib "^2.4.0" unixify "^1.0.0" -"@graphql-tools/load@^7.5.5", "@graphql-tools/load@^7.7.0": +"@graphql-tools/json-file-loader@^7.4.1": + version "7.4.1" + resolved "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.4.1.tgz#40414a57195a9d4f96e25e5041d674426937e11a" + integrity sha512-+QaeRyJcvUXUNEoIaecYrABunqk8/opFbpdHPAijJyVHvlsYfqXR12/501g+/QZzGHKYnyi+Q3lsZbBboj5LBg== + dependencies: + "@graphql-tools/utils" "8.9.0" + globby "^11.0.3" + tslib "^2.4.0" + unixify "^1.0.0" + +"@graphql-tools/load@^7.5.5": version "7.7.0" resolved "https://registry.npmjs.org/@graphql-tools/load/-/load-7.7.0.tgz#668f70f09bc1c34b87c3267853cf73451897a22e" integrity sha512-6KX7Z8BtlFScDr0pIac92QZWlPGbHcpNMesX/6Y3Vsp3FeFnAYfzZldXZQcJoW7Yl+gHdFwYVq683wSH64kNrw== @@ -3130,6 +3169,16 @@ p-limit "3.1.0" tslib "^2.4.0" +"@graphql-tools/load@^7.7.1": + version "7.7.1" + resolved "https://registry.npmjs.org/@graphql-tools/load/-/load-7.7.1.tgz#937354e5123a8b0e0d59585ebca7c55165265a98" + integrity sha512-rJ2WUV41wwAkMnBgtcBym3TKVbPgz7z9tBCjOmbNVLy5bB9StVPdo2Uci0D5xYSgLV9XIt+zdyAnYGptioJeWg== + dependencies: + "@graphql-tools/schema" "8.5.1" + "@graphql-tools/utils" "8.9.0" + p-limit "3.1.0" + tslib "^2.4.0" + "@graphql-tools/merge@8.2.10": version "8.2.10" resolved "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.10.tgz#fe2fe5ad33dc2d1b0af8751c0c08d18bb6bb6d88" @@ -3146,6 +3195,14 @@ "@graphql-tools/utils" "8.8.0" tslib "^2.4.0" +"@graphql-tools/merge@8.3.1": + version "8.3.1" + resolved "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.1.tgz#06121942ad28982a14635dbc87b5d488a041d722" + integrity sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg== + dependencies: + "@graphql-tools/utils" "8.9.0" + tslib "^2.4.0" + "@graphql-tools/mock@^8.1.2": version "8.6.8" resolved "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.6.8.tgz#232a23c0c14dcfca88012886230b93e6fc2303e2" @@ -3163,13 +3220,13 @@ dependencies: tslib "^2.4.0" -"@graphql-tools/prisma-loader@^7.2.2": - version "7.2.2" - resolved "https://registry.npmjs.org/@graphql-tools/prisma-loader/-/prisma-loader-7.2.2.tgz#ee56371f75a4e82330b0e4915f57976bf0f4a16a" - integrity sha512-f5txUBRwwZmPQYL5g5CNdOjOglFE/abtnEVOvUCq+nET0BRuxcuxUD5vykfZnkql9sNvnCFAfrZuBVe5S2n3bA== +"@graphql-tools/prisma-loader@^7.2.7": + version "7.2.7" + resolved "https://registry.npmjs.org/@graphql-tools/prisma-loader/-/prisma-loader-7.2.7.tgz#8b5e15b345e72c77a568281e62d8fa5c7089e513" + integrity sha512-vAu2kVqSdfuiZJFOC3bDelKFeOQLfhOHOw1PT8YC0HiJQpLuEFwiDU6eXxWrPALqZEEWfCKMM8/4hlLJv+gokA== dependencies: - "@graphql-tools/url-loader" "7.12.1" - "@graphql-tools/utils" "8.8.0" + "@graphql-tools/url-loader" "7.13.2" + "@graphql-tools/utils" "8.9.0" "@types/js-yaml" "^4.0.0" "@types/json-stable-stringify" "^1.0.32" "@types/jsonwebtoken" "^8.5.0" @@ -3184,7 +3241,6 @@ json-stable-stringify "^1.0.1" jsonwebtoken "^8.5.1" lodash "^4.17.20" - replaceall "^0.1.6" scuid "^1.1.0" tslib "^2.4.0" yaml-ast-parser "^0.0.43" @@ -3218,7 +3274,38 @@ tslib "^2.4.0" value-or-promise "1.0.11" -"@graphql-tools/url-loader@7.12.1", "@graphql-tools/url-loader@^7.12.1", "@graphql-tools/url-loader@^7.9.7": +"@graphql-tools/schema@8.5.1": + version "8.5.1" + resolved "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.5.1.tgz#c2f2ff1448380919a330312399c9471db2580b58" + integrity sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg== + dependencies: + "@graphql-tools/merge" "8.3.1" + "@graphql-tools/utils" "8.9.0" + tslib "^2.4.0" + value-or-promise "1.0.11" + +"@graphql-tools/url-loader@7.13.2", "@graphql-tools/url-loader@^7.13.2": + version "7.13.2" + resolved "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.13.2.tgz#4663ea817aa60d3d4ce81a47a36cba8fdfff069f" + integrity sha512-4jtGecsxziiggQ9UryQB/ioqFwVkF10sKdk5bPg/fVKSkPddN5lvCgEwk20LojlDT9mDr53ME0ArMBKkvjTxBw== + dependencies: + "@ardatan/sync-fetch" "0.0.1" + "@graphql-tools/delegate" "8.8.1" + "@graphql-tools/utils" "8.9.0" + "@graphql-tools/wrap" "8.5.1" + "@n1ru4l/graphql-live-query" "^0.9.0" + "@types/ws" "^8.0.0" + "@whatwg-node/fetch" "^0.2.4" + dset "^3.1.2" + extract-files "^11.0.0" + graphql-ws "^5.4.1" + isomorphic-ws "^5.0.0" + meros "^1.1.4" + tslib "^2.4.0" + value-or-promise "^1.0.11" + ws "^8.3.0" + +"@graphql-tools/url-loader@^7.9.7": version "7.12.1" resolved "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.12.1.tgz#931a65da4faced1a71ddc5af638b87140ff3dfb6" integrity sha512-Fd3ZZLEEr9GGFHEbdrcaMHFQu01BLpFnNDBkISupvjokd497O5Uh0xZvsZGC6mxVt0WWQWpgaK2ef+oLuOdLqQ== @@ -3253,7 +3340,7 @@ dependencies: tslib "^2.4.0" -"@graphql-tools/utils@8.9.0": +"@graphql-tools/utils@8.9.0", "@graphql-tools/utils@^8.9.0": version "8.9.0" resolved "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.9.0.tgz#c6aa5f651c9c99e1aca55510af21b56ec296cdb7" integrity sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg== @@ -3271,6 +3358,17 @@ tslib "^2.4.0" value-or-promise "1.0.11" +"@graphql-tools/wrap@8.5.1": + version "8.5.1" + resolved "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.5.1.tgz#d4bd1f89850bb1ce0209f35f66d002080b439495" + integrity sha512-KpVVfha2wLSpE08YLX0jeo5nXPfDLASlxOqMlvfa/B4X8SOVmuLyN1L5YZ132tPLDF93uflwlHFnUO5ahpRNlA== + dependencies: + "@graphql-tools/delegate" "8.8.1" + "@graphql-tools/schema" "8.5.1" + "@graphql-tools/utils" "8.9.0" + tslib "^2.4.0" + value-or-promise "1.0.11" + "@graphql-tools/wrap@^8.3.1": version "8.4.16" resolved "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.4.16.tgz#87dce9ec623a921e5a62f44e75abc9655892724b" @@ -5817,6 +5915,33 @@ resolved "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.4.tgz#a167e46c10d05a07ab299fc518793b0cff8f6924" integrity sha512-BuJuXRSJNQ3QoKA6GWWDyuLpOUck+9hAXNMCnrloc1aWVoy6Xq6t9PUV08aBZ4Lutqq2LEHM486bpZqoViScog== +"@peculiar/asn1-schema@^2.1.6": + version "2.2.0" + resolved "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.2.0.tgz#d8a54527685c8dee518e6448137349444310ad64" + integrity sha512-1ENEJNY7Lwlua/1wvzpYP194WtjQBfFxvde2FlzfBFh/ln6wvChrtxlORhbKEnYswzn6fOC4c7HdC5izLPMTJg== + dependencies: + asn1js "^3.0.5" + pvtsutils "^1.3.2" + tslib "^2.4.0" + +"@peculiar/json-schema@^1.1.12": + version "1.1.12" + resolved "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz#fe61e85259e3b5ba5ad566cb62ca75b3d3cd5339" + integrity sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w== + dependencies: + tslib "^2.0.0" + +"@peculiar/webcrypto@^1.4.0": + version "1.4.0" + resolved "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.0.tgz#f941bd95285a0f8a3d2af39ccda5197b80cd32bf" + integrity sha512-U58N44b2m3OuTgpmKgf0LPDOmP3bhwNz01vAnj1mBwxBASRhptWYK+M3zG+HBkDqGQM+bFsoIihTW8MdmPXEqg== + dependencies: + "@peculiar/asn1-schema" "^2.1.6" + "@peculiar/json-schema" "^1.1.12" + pvtsutils "^1.3.2" + tslib "^2.4.0" + webcrypto-core "^1.7.4" + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -8178,17 +8303,19 @@ "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" -"@whatwg-node/fetch@^0.0.2": - version "0.0.2" - resolved "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.0.2.tgz#4242c4e36714b5018ccac0ab76f4ab5a208fbc1c" - integrity sha512-qiZn8dYRg0POzUvmHBs7blLxl6DPL+b+Z0JUsGaj7/8PFe2BJG9onrUVX6OWh6Z9YhcYw8yu+wtCAme5ZMiCKQ== +"@whatwg-node/fetch@^0.2.3", "@whatwg-node/fetch@^0.2.4": + version "0.2.6" + resolved "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.2.6.tgz#eb8e68624c55aecfa4c6d7ea36b3ce3ad5d5f79e" + integrity sha512-NhHiqeGcKjgqUZvJTZSou9qsFEPBBG1LPm2Npz0cmcPvukhhQfjX+p3quRx6b9AyjNPp1f73VB1z4ApHy9FcNg== dependencies: + "@peculiar/webcrypto" "^1.4.0" abort-controller "^3.0.0" busboy "^1.6.0" + event-target-polyfill "^0.0.3" form-data-encoder "^1.7.1" formdata-node "^4.3.1" node-fetch "^2.6.7" - undici "5.5.1" + undici "^5.8.0" web-streams-polyfill "^3.2.0" "@xmldom/xmldom@^0.7.0", "@xmldom/xmldom@^0.7.5": @@ -8861,6 +8988,15 @@ asn1@^0.2.4, asn1@~0.2.3: dependencies: safer-buffer "~2.1.0" +asn1js@^3.0.1, asn1js@^3.0.5: + version "3.0.5" + resolved "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz#5ea36820443dbefb51cc7f88a2ebb5b462114f38" + integrity sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ== + dependencies: + pvtsutils "^1.3.2" + pvutils "^1.1.3" + tslib "^2.4.0" + assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" @@ -13066,6 +13202,11 @@ event-stream@=3.3.4: stream-combiner "~0.0.4" through "~2.3.1" +event-target-polyfill@^0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/event-target-polyfill/-/event-target-polyfill-0.0.3.tgz#ed373295f3b257774b5d75afb2599331d9f3406c" + integrity sha512-ZMc6UuvmbinrCk4RzGyVmRyIsAyxMRlp4CqSrcQRO8Dy0A9ldbiRy5kdtBj4OtP7EClGdqGfIqo9JmOClMsGLQ== + event-target-shim@^5.0.0: version "5.0.1" resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" @@ -21804,6 +21945,18 @@ puppeteer@^15.0.0: unbzip2-stream "1.4.3" ws "8.8.0" +pvtsutils@^1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.2.tgz#9f8570d132cdd3c27ab7d51a2799239bf8d8d5de" + integrity sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ== + dependencies: + tslib "^2.4.0" + +pvutils@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz#f35fc1d27e7cd3dfbd39c0826d173e806a03f5a3" + integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== + q@^1.5.1: version "1.5.1" resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -22907,11 +23060,6 @@ replace-in-file@^6.0.0: glob "^7.2.0" yargs "^17.2.1" -replaceall@^0.1.6: - version "0.1.6" - resolved "https://registry.npmjs.org/replaceall/-/replaceall-0.1.6.tgz#81d81ac7aeb72d7f5c4942adf2697a3220688d8e" - integrity sha1-gdgax663LX9cSUKt8ml6MiBojY4= - request-progress@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" @@ -24815,7 +24963,7 @@ symbol-tree@^3.2.4: resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -sync-fetch@0.4.1, sync-fetch@^0.4.0: +sync-fetch@^0.4.0: version "0.4.1" resolved "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.4.1.tgz#87b8684eef2fa25c96c4683ae308473a4e5c571f" integrity sha512-JDtyFEvnKUzt1CxRtzzsGgkBanEv8XRmLyJo0F0nGkpCR8EjYmpOJJXz8GA/SWtlPU0nAYh0+CNMNnFworGyOA== @@ -25622,6 +25770,11 @@ undici@5.5.1: resolved "https://registry.npmjs.org/undici/-/undici-5.5.1.tgz#baaf25844a99eaa0b22e1ef8d205bffe587c8f43" integrity sha512-MEvryPLf18HvlCbLSzCW0U00IMftKGI5udnjrQbC5D4P0Hodwffhv+iGfWuJwg16Y/TK11ZFK8i+BPVW2z/eAw== +undici@^5.8.0: + version "5.8.0" + resolved "https://registry.npmjs.org/undici/-/undici-5.8.0.tgz#dec9a8ccd90e5a1d81d43c0eab6503146d649a4f" + integrity sha512-1F7Vtcez5w/LwH2G2tGnFIihuWUlc58YidwLiCv+jR2Z50x0tNXpRRw7eOIJ+GvqCqIkg9SB7NWAJ/T9TLfv8Q== + unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" @@ -26268,6 +26421,17 @@ web-streams-polyfill@^3.2.0: resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz#a6b74026b38e4885869fb5c589e90b95ccfc7965" integrity sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA== +webcrypto-core@^1.7.4: + version "1.7.5" + resolved "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.5.tgz#c02104c953ca7107557f9c165d194c6316587ca4" + integrity sha512-gaExY2/3EHQlRNNNVSrbG2Cg94Rutl7fAaKILS1w8ZDhGxdFOaw6EbCfHIxPy9vt/xwp5o0VQAx9aySPF6hU1A== + dependencies: + "@peculiar/asn1-schema" "^2.1.6" + "@peculiar/json-schema" "^1.1.12" + asn1js "^3.0.1" + pvtsutils "^1.3.2" + tslib "^2.4.0" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" From cf66cafb7a6554679ff4fba8fdd81d6edd2e40fa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Jul 2022 18:06:50 +0000 Subject: [PATCH 130/131] chore(deps): update dependency esbuild to v0.14.51 Signed-off-by: Renovate Bot --- yarn.lock | 206 +++++++++++++++++++++++++++--------------------------- 1 file changed, 103 insertions(+), 103 deletions(-) diff --git a/yarn.lock b/yarn.lock index 4ed1f9ab54..4cc430e7c5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12575,75 +12575,75 @@ es6-error@^4.1.1: resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== -esbuild-android-64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.50.tgz#a46fc80fa2007690e647680d837483a750a3097f" - integrity sha512-H7iUEm7gUJHzidsBlFPGF6FTExazcgXL/46xxLo6i6bMtPim6ZmXyTccS8yOMpy6HAC6dPZ/JCQqrkkin69n6Q== +esbuild-android-64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.51.tgz#414a087cb0de8db1e347ecca6c8320513de433db" + integrity sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ== -esbuild-android-arm64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.50.tgz#bdda7851fa7f5f770d6ff0ad593a8945d3a0fcdd" - integrity sha512-NFaoqEwa+OYfoYVpQWDMdKII7wZZkAjtJFo1WdnBeCYlYikvUhTnf2aPwPu5qEAw/ie1NYK0yn3cafwP+kP+OQ== +esbuild-android-arm64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.51.tgz#55de3bce2aab72bcd2b606da4318ad00fb9c8151" + integrity sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A== -esbuild-darwin-64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.50.tgz#f0535435f9760766f30db14a991ee5ca94c022a4" - integrity sha512-gDQsCvGnZiJv9cfdO48QqxkRV8oKAXgR2CGp7TdIpccwFdJMHf8hyIJhMW/05b/HJjET/26Us27Jx91BFfEVSA== +esbuild-darwin-64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.51.tgz#4259f23ed6b4cea2ec8a28d87b7fb9801f093754" + integrity sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA== -esbuild-darwin-arm64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.50.tgz#76a41a40e8947a15ae62970e9ed2853883c4b16c" - integrity sha512-36nNs5OjKIb/Q50Sgp8+rYW/PqirRiFN0NFc9hEvgPzNJxeJedktXwzfJSln4EcRFRh5Vz4IlqFRScp+aiBBzA== +esbuild-darwin-arm64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.51.tgz#d77b4366a71d84e530ba019d540b538b295d494a" + integrity sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow== -esbuild-freebsd-64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.50.tgz#2ed6633c17ed42c20a1bd68e82c4bbc75ea4fb57" - integrity sha512-/1pHHCUem8e/R86/uR+4v5diI2CtBdiWKiqGuPa9b/0x3Nwdh5AOH7lj+8823C6uX1e0ufwkSLkS+aFZiBCWxA== +esbuild-freebsd-64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.51.tgz#27b6587b3639f10519c65e07219d249b01f2ad38" + integrity sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g== -esbuild-freebsd-arm64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.50.tgz#cb115f4cdafe9cdbe58875ba482fccc54d32aa43" - integrity sha512-iKwUVMQztnPZe5pUYHdMkRc9aSpvoV1mkuHlCoPtxZA3V+Kg/ptpzkcSY+fKd0kuom+l6Rc93k0UPVkP7xoqrw== +esbuild-freebsd-arm64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.51.tgz#63c435917e566808c71fafddc600aca4d78be1ec" + integrity sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg== -esbuild-linux-32@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.50.tgz#fe2b724994dcf1d4e48dc4832ff008ad7d00bcfd" - integrity sha512-sWUwvf3uz7dFOpLzYuih+WQ7dRycrBWHCdoXJ4I4XdMxEHCECd8b7a9N9u7FzT6XR2gHPk9EzvchQUtiEMRwqw== +esbuild-linux-32@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.51.tgz#c3da774143a37e7f11559b9369d98f11f997a5d9" + integrity sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w== -esbuild-linux-64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.50.tgz#7851ab5151df9501a2187bd4909c594ad232b623" - integrity sha512-u0PQxPhaeI629t4Y3EEcQ0wmWG+tC/LpP2K7yDFvwuPq0jSQ8SIN+ARNYfRjGW15O2we3XJvklbGV0wRuUCPig== +esbuild-linux-64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.51.tgz#5d92b67f674e02ae0b4a9de9a757ba482115c4ae" + integrity sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA== -esbuild-linux-arm64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.50.tgz#76a76afef484a0512f1fbbcc762edd705dee8892" - integrity sha512-ZyfoNgsTftD7Rp5S7La5auomKdNeB3Ck+kSKXC4pp96VnHyYGjHHXWIlcbH8i+efRn9brszo1/Thl1qn8RqmhQ== +esbuild-linux-arm64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.51.tgz#dac84740516e859d8b14e1ecc478dd5241b10c93" + integrity sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw== -esbuild-linux-arm@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.50.tgz#6d7a8c0712091b0c3a668dd5d8b5c924adbaeb12" - integrity sha512-VALZq13bhmFJYFE/mLEb+9A0w5vo8z+YDVOWeaf9vOTrSC31RohRIwtxXBnVJ7YKLYfEMzcgFYf+OFln3Y0cWg== +esbuild-linux-arm@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.51.tgz#b3ae7000696cd53ed95b2b458554ff543a60e106" + integrity sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg== -esbuild-linux-mips64le@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.50.tgz#43426909c1884c5dc6b40765673a08a7ec1d2064" - integrity sha512-ygo31Vxn/WrmjKCHkBoutOlFG5yM9J2UhzHb0oWD9O61dGg+Hzjz9hjf5cmM7FBhAzdpOdEWHIrVOg2YAi6rTw== +esbuild-linux-mips64le@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.51.tgz#dad10770fac94efa092b5a0643821c955a9dd385" + integrity sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A== -esbuild-linux-ppc64le@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.50.tgz#c754ea3da1dd180c6e9b6b508dc18ce983d92b11" - integrity sha512-xWCKU5UaiTUT6Wz/O7GKP9KWdfbsb7vhfgQzRfX4ahh5NZV4ozZ4+SdzYG8WxetsLy84UzLX3Pi++xpVn1OkFQ== +esbuild-linux-ppc64le@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.51.tgz#b68c2f8294d012a16a88073d67e976edd4850ae0" + integrity sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ== -esbuild-linux-riscv64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.50.tgz#f3b2dd3c4c2b91bf191d3b98a9819c8aa6f5ad7f" - integrity sha512-0+dsneSEihZTopoO9B6Z6K4j3uI7EdxBP7YSF5rTwUgCID+wHD3vM1gGT0m+pjCW+NOacU9kH/WE9N686FHAJg== +esbuild-linux-riscv64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.51.tgz#608a318b8697123e44c1e185cdf6708e3df50b93" + integrity sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA== -esbuild-linux-s390x@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.50.tgz#3dfbc4578b2a81995caabb79df2b628ea86a5390" - integrity sha512-tVjqcu8o0P9H4StwbIhL1sQYm5mWATlodKB6dpEZFkcyTI8kfIGWiWcrGmkNGH2i1kBUOsdlBafPxR3nzp3TDA== +esbuild-linux-s390x@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.51.tgz#c9e7791170a3295dba79b93aa452beb9838a8625" + integrity sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw== esbuild-loader@^2.18.0: version "2.19.0" @@ -12657,61 +12657,61 @@ esbuild-loader@^2.18.0: tapable "^2.2.0" webpack-sources "^2.2.0" -esbuild-netbsd-64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.50.tgz#17dbf51eaa48d983e794b588d195415410ef8c85" - integrity sha512-0R/glfqAQ2q6MHDf7YJw/TulibugjizBxyPvZIcorH0Mb7vSimdHy0XF5uCba5CKt+r4wjax1mvO9lZ4jiAhEg== +esbuild-netbsd-64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.51.tgz#0abd40b8c2e37fda6f5cc41a04cb2b690823d891" + integrity sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A== -esbuild-openbsd-64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.50.tgz#cf6b1a50c8cf67b0725aaa4bce9773976168c50e" - integrity sha512-7PAtmrR5mDOFubXIkuxYQ4bdNS6XCK8AIIHUiZxq1kL8cFIH5731jPcXQ4JNy/wbj1C9sZ8rzD8BIM80Tqk29w== +esbuild-openbsd-64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.51.tgz#4adba0b7ea7eb1428bb00d8e94c199a949b130e8" + integrity sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA== -esbuild-sunos-64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.50.tgz#f705ae0dd914c3b45dc43319c4f532216c3d841f" - integrity sha512-gBxNY/wyptvD7PkHIYcq7se6SQEXcSC8Y7mE0FJB+CGgssEWf6vBPfTTZ2b6BWKnmaP6P6qb7s/KRIV5T2PxsQ== +esbuild-sunos-64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.51.tgz#4b8a6d97dfedda30a6e39607393c5c90ebf63891" + integrity sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA== -esbuild-windows-32@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.50.tgz#6364905a99c1e6c1e2fe7bfccebd958131b1cd6c" - integrity sha512-MOOe6J9cqe/iW1qbIVYSAqzJFh0p2LBLhVUIWdMVnNUNjvg2/4QNX4oT4IzgDeldU+Bym9/Tn6+DxvUHJXL5Zw== +esbuild-windows-32@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.51.tgz#d31d8ca0c1d314fb1edea163685a423b62e9ac17" + integrity sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg== -esbuild-windows-64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.50.tgz#56603cb6367e30d14098deb77de6aa18d76dd89b" - integrity sha512-r/qE5Ex3w1jjGv/JlpPoWB365ldkppUlnizhMxJgojp907ZF1PgLTuW207kgzZcSCXyquL9qJkMsY+MRtaZ5yQ== +esbuild-windows-64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.51.tgz#7d3c09c8652d222925625637bdc7e6c223e0085d" + integrity sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA== -esbuild-windows-arm64@0.14.50: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.50.tgz#e7ddde6a97194051a5a4ac05f4f5900e922a7ea5" - integrity sha512-EMS4lQnsIe12ZyAinOINx7eq2mjpDdhGZZWDwPZE/yUTN9cnc2Ze/xUTYIAyaJqrqQda3LnDpADKpvLvol6ENQ== +esbuild-windows-arm64@0.14.51: + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.51.tgz#0220d2304bfdc11bc27e19b2aaf56edf183e4ae9" + integrity sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g== esbuild@^0.14.1, esbuild@^0.14.10, esbuild@^0.14.39: - version "0.14.50" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.50.tgz#7a665392c8df94bf6e1ae1e999966a5ee62c6cbc" - integrity sha512-SbC3k35Ih2IC6trhbMYW7hYeGdjPKf9atTKwBUHqMCYFZZ9z8zhuvfnZihsnJypl74FjiAKjBRqFkBkAd0rS/w== + version "0.14.51" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.51.tgz#1c8ecbc8db3710da03776211dc3ee3448f7aa51e" + integrity sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw== optionalDependencies: - esbuild-android-64 "0.14.50" - esbuild-android-arm64 "0.14.50" - esbuild-darwin-64 "0.14.50" - esbuild-darwin-arm64 "0.14.50" - esbuild-freebsd-64 "0.14.50" - esbuild-freebsd-arm64 "0.14.50" - esbuild-linux-32 "0.14.50" - esbuild-linux-64 "0.14.50" - esbuild-linux-arm "0.14.50" - esbuild-linux-arm64 "0.14.50" - esbuild-linux-mips64le "0.14.50" - esbuild-linux-ppc64le "0.14.50" - esbuild-linux-riscv64 "0.14.50" - esbuild-linux-s390x "0.14.50" - esbuild-netbsd-64 "0.14.50" - esbuild-openbsd-64 "0.14.50" - esbuild-sunos-64 "0.14.50" - esbuild-windows-32 "0.14.50" - esbuild-windows-64 "0.14.50" - esbuild-windows-arm64 "0.14.50" + esbuild-android-64 "0.14.51" + esbuild-android-arm64 "0.14.51" + esbuild-darwin-64 "0.14.51" + esbuild-darwin-arm64 "0.14.51" + esbuild-freebsd-64 "0.14.51" + esbuild-freebsd-arm64 "0.14.51" + esbuild-linux-32 "0.14.51" + esbuild-linux-64 "0.14.51" + esbuild-linux-arm "0.14.51" + esbuild-linux-arm64 "0.14.51" + esbuild-linux-mips64le "0.14.51" + esbuild-linux-ppc64le "0.14.51" + esbuild-linux-riscv64 "0.14.51" + esbuild-linux-s390x "0.14.51" + esbuild-netbsd-64 "0.14.51" + esbuild-openbsd-64 "0.14.51" + esbuild-sunos-64 "0.14.51" + esbuild-windows-32 "0.14.51" + esbuild-windows-64 "0.14.51" + esbuild-windows-arm64 "0.14.51" escalade@^3.1.1: version "3.1.1" From e9be9699101f5f1307aff13c9c629ad53591e20f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Jul 2022 19:02:22 +0000 Subject: [PATCH 131/131] fix(deps): update dependency aws-sdk to v2.1184.0 Signed-off-by: Renovate Bot --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 72422aabdf..ba9c282407 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9115,9 +9115,9 @@ aws-sdk-mock@^5.2.1: traverse "^0.6.6" aws-sdk@^2.1122.0, aws-sdk@^2.814.0, aws-sdk@^2.840.0, aws-sdk@^2.948.0: - version "2.1183.0" - resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1183.0.tgz#9a34b99a9accaff96c0530fcd2cfcc9296c23329" - integrity sha512-KtFXbZrEzMrCPH3wF0Qj/3eqJlNKeTiLO2jERmYDSaybY9mB5F1SCugBu2LkvIT+rA+K15d6qZTl84AoOQinEg== + version "2.1184.0" + resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1184.0.tgz#6f800815382284825a3f03422410eaf3cefcac68" + integrity sha512-g4UQgc8+Ljk2e6xJYwBSQrDJ8BmQ/E3nHLw9ITEJKC1hgK8DLy77PUielA0ptscoKz5ySCSSGbMjR1B1HgThKQ== dependencies: buffer "4.9.2" events "1.1.1"