From 46dcbaeb645165c2ce94cad28704067f3ed30bcc Mon Sep 17 00:00:00 2001 From: Oliver Paraskos Date: Thu, 20 Jan 2022 10:52:15 +0000 Subject: [PATCH 01/16] Fix interpolated string `Failed to generate docs...` A string was using the wrong kind of quotes and so the interpolated fields weren't. Signed-off-by: Oliver Paraskos --- packages/techdocs-common/src/stages/generate/techdocs.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/techdocs-common/src/stages/generate/techdocs.ts b/packages/techdocs-common/src/stages/generate/techdocs.ts index 7f182c7e6c..5cf992092c 100644 --- a/packages/techdocs-common/src/stages/generate/techdocs.ts +++ b/packages/techdocs-common/src/stages/generate/techdocs.ts @@ -150,7 +150,7 @@ export class TechdocsGenerator implements GeneratorBase { `Failed to generate docs from ${inputDir} into ${outputDir}`, ); throw new ForwardedError( - 'Failed to generate docs from ${inputDir} into ${outputDir}', + `Failed to generate docs from ${inputDir} into ${outputDir}`, error, ); } From a64f99f73424c64aef2055faf88bc144d76c1e3e Mon Sep 17 00:00:00 2001 From: Eric Peterson Date: Thu, 20 Jan 2022 16:14:59 +0100 Subject: [PATCH 02/16] Emulate mkdocs-material copy-to-clipboard functionality. Signed-off-by: Eric Peterson --- .changeset/techdocs-my-apocalypse.md | 5 ++ .../techdocs/src/reader/components/Reader.tsx | 4 ++ .../transformers/copyToClipboard.test.ts | 49 +++++++++++++++++++ .../reader/transformers/copyToClipboard.ts | 39 +++++++++++++++ .../techdocs/src/reader/transformers/index.ts | 1 + 5 files changed, 98 insertions(+) create mode 100644 .changeset/techdocs-my-apocalypse.md create mode 100644 plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts create mode 100644 plugins/techdocs/src/reader/transformers/copyToClipboard.ts diff --git a/.changeset/techdocs-my-apocalypse.md b/.changeset/techdocs-my-apocalypse.md new file mode 100644 index 0000000000..b7dfb86675 --- /dev/null +++ b/.changeset/techdocs-my-apocalypse.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs': patch +--- + +Code snippets now include a "copy to clipboard" button. diff --git a/plugins/techdocs/src/reader/components/Reader.tsx b/plugins/techdocs/src/reader/components/Reader.tsx index 3fb23e8f55..7869fc1b9b 100644 --- a/plugins/techdocs/src/reader/components/Reader.tsx +++ b/plugins/techdocs/src/reader/components/Reader.tsx @@ -47,6 +47,7 @@ import { simplifyMkdocsFooter, scrollIntoAnchor, transform as transformer, + copyToClipboard, } from '../transformers'; import { TechDocsSearch } from './TechDocsSearch'; @@ -215,6 +216,8 @@ export const useTechDocsReaderDom = (entityRef: EntityName): Element | null => { --md-code-fg-color: ${theme.palette.text.primary}; --md-code-bg-color: ${theme.palette.background.paper}; + --md-accent-fg-color: ${theme.palette.primary.main}; + --md-default-fg-color--lightest: ${theme.palette.textVerySubtle}; } .md-main__inner { margin-top: 0; } .md-sidebar { position: fixed; bottom: 100px; width: 20rem; } @@ -372,6 +375,7 @@ export const useTechDocsReaderDom = (entityRef: EntityName): Element | null => { async (transformedElement: Element) => transformer(transformedElement, [ scrollIntoAnchor(), + copyToClipboard(), addLinkClickListener({ baseUrl: window.location.origin, onClick: (event: MouseEvent, url: string) => { diff --git a/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts b/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts new file mode 100644 index 0000000000..679121d9bd --- /dev/null +++ b/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts @@ -0,0 +1,49 @@ +/* + * 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 { createTestShadowDom } from '../../test-utils'; +import { copyToClipboard } from './copyToClipboard'; + +const clipboardSpy = jest.fn(); +Object.defineProperty(navigator, 'clipboard', { + value: { + writeText: clipboardSpy, + }, +}); + +describe('copyToClipboard', () => { + it('calls navigator.clipboard.writeText when clipboard button has been clicked', async () => { + const expectedClipboard = 'function foo() {return "bar";}'; + const shadowDom = await createTestShadowDom( + ` + + + + ${expectedClipboard} + + + `, + { + preTransformers: [], + postTransformers: [copyToClipboard()], + }, + ); + + shadowDom.querySelector('button')?.click(); + + expect(clipboardSpy).toHaveBeenCalledWith(expectedClipboard); + }); +}); diff --git a/plugins/techdocs/src/reader/transformers/copyToClipboard.ts b/plugins/techdocs/src/reader/transformers/copyToClipboard.ts new file mode 100644 index 0000000000..24b46c0b85 --- /dev/null +++ b/plugins/techdocs/src/reader/transformers/copyToClipboard.ts @@ -0,0 +1,39 @@ +/* + * 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 type { Transformer } from './transformer'; + +/** + * Recreates copy-to-clipboard functionality attached to snippets that + * is native to mkdocs-material theme. + */ +export const copyToClipboard = (): Transformer => { + return dom => { + Array.from(dom.querySelectorAll('code')).forEach(codeElem => { + const button = document.createElement('button'); + const toBeCopied = codeElem.textContent || ''; + button.className = 'md-clipboard md-icon'; + button.title = 'Copy to clipboard'; + button.innerHTML = + ''; + button.addEventListener('click', () => + navigator.clipboard.writeText(toBeCopied), + ); + codeElem?.parentElement?.prepend(button); + }); + return dom; + }; +}; diff --git a/plugins/techdocs/src/reader/transformers/index.ts b/plugins/techdocs/src/reader/transformers/index.ts index 530bea2092..aa0fba2a18 100644 --- a/plugins/techdocs/src/reader/transformers/index.ts +++ b/plugins/techdocs/src/reader/transformers/index.ts @@ -18,6 +18,7 @@ export * from './addBaseUrl'; export * from './addGitFeedbackLink'; export * from './rewriteDocLinks'; export * from './addLinkClickListener'; +export * from './copyToClipboard'; export * from './removeMkdocsHeader'; export * from './simplifyMkdocsFooter'; export * from './onCssReady'; From a1c792d71ad93a191ff96d662989d0f0daaa067f Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 20 Jan 2022 15:30:39 +0100 Subject: [PATCH 03/16] github/workflows: rename and group Signed-off-by: Patrik Oldsberg --- .github/workflows/{label.yml => automate_area-labels.yml} | 2 +- .../{goalie.yaml => automate_review-labels-scheduled.yaml} | 2 +- .../{awaiting-review.yaml => automate_review-labels.yaml} | 2 +- .github/workflows/{stale.yml => automate_stale.yml} | 2 +- ...cs-project-board.yml => automate_techdocs-project-board.yml} | 2 +- ...microsite-with-storybook-deploy.yml => deploy_microsite.yml} | 2 +- .github/workflows/{nightly.yml => deploy_nightly.yml} | 2 +- .github/workflows/{master.yml => deploy_packages.yml} | 2 +- .github/workflows/{prettify.yml => sync_code-formatting.yml} | 2 +- ...dabot-changeset-maker.yml => sync_dependabot-changesets.yml} | 2 +- .../{snyk-github-issue-sync.yml => sync_snyk-github-issues.yml} | 2 +- .github/workflows/{snyk-monitor.yml => sync_snyk-monitor.yml} | 2 +- .github/workflows/{changeset.yml => sync_version-packages.yml} | 2 +- .github/workflows/{codeql-analysis.yml => verify_codeql.yml} | 2 +- .../{docs-quality-checker.yml => verify_docs-quality.yml} | 2 +- .github/workflows/{e2e.yml => verify_e2e-linux.yml} | 0 .github/workflows/{techdocs-e2e.yml => verify_e2e-techdocs.yml} | 2 +- .github/workflows/{tugboat.yml => verify_e2e-tugboat.yml} | 2 +- .github/workflows/{e2e-win.yml => verify_e2e-windows.yml} | 0 .github/workflows/{fossa.yml => verify_fossa.yml} | 2 +- .../{microsite-build-check.yml => verify_microsite.yml} | 2 +- .../{chromatic-storybook-test.yml => verify_storybook.yml} | 2 +- .github/workflows/{master-win.yml => verify_windows.yml} | 2 +- docs/publishing.md | 2 +- 24 files changed, 22 insertions(+), 22 deletions(-) rename .github/workflows/{label.yml => automate_area-labels.yml} (87%) rename .github/workflows/{goalie.yaml => automate_review-labels-scheduled.yaml} (95%) rename .github/workflows/{awaiting-review.yaml => automate_review-labels.yaml} (97%) rename .github/workflows/{stale.yml => automate_stale.yml} (97%) rename .github/workflows/{techdocs-project-board.yml => automate_techdocs-project-board.yml} (96%) rename .github/workflows/{microsite-with-storybook-deploy.yml => deploy_microsite.yml} (97%) rename .github/workflows/{nightly.yml => deploy_nightly.yml} (98%) rename .github/workflows/{master.yml => deploy_packages.yml} (99%) rename .github/workflows/{prettify.yml => sync_code-formatting.yml} (98%) rename .github/workflows/{dependabot-changeset-maker.yml => sync_dependabot-changesets.yml} (98%) rename .github/workflows/{snyk-github-issue-sync.yml => sync_snyk-github-issues.yml} (98%) rename .github/workflows/{snyk-monitor.yml => sync_snyk-monitor.yml} (98%) rename .github/workflows/{changeset.yml => sync_version-packages.yml} (95%) rename .github/workflows/{codeql-analysis.yml => verify_codeql.yml} (99%) rename .github/workflows/{docs-quality-checker.yml => verify_docs-quality.yml} (94%) rename .github/workflows/{e2e.yml => verify_e2e-linux.yml} (100%) rename .github/workflows/{techdocs-e2e.yml => verify_e2e-techdocs.yml} (97%) rename .github/workflows/{tugboat.yml => verify_e2e-tugboat.yml} (99%) rename .github/workflows/{e2e-win.yml => verify_e2e-windows.yml} (100%) rename .github/workflows/{fossa.yml => verify_fossa.yml} (96%) rename .github/workflows/{microsite-build-check.yml => verify_microsite.yml} (98%) rename .github/workflows/{chromatic-storybook-test.yml => verify_storybook.yml} (99%) rename .github/workflows/{master-win.yml => verify_windows.yml} (98%) diff --git a/.github/workflows/label.yml b/.github/workflows/automate_area-labels.yml similarity index 87% rename from .github/workflows/label.yml rename to .github/workflows/automate_area-labels.yml index dc7127ab0d..e829029525 100644 --- a/.github/workflows/label.yml +++ b/.github/workflows/automate_area-labels.yml @@ -1,4 +1,4 @@ -name: 'Pull Request Labeler' +name: Automate area labels on: - pull_request_target diff --git a/.github/workflows/goalie.yaml b/.github/workflows/automate_review-labels-scheduled.yaml similarity index 95% rename from .github/workflows/goalie.yaml rename to .github/workflows/automate_review-labels-scheduled.yaml index 93ca4209fc..655581501a 100644 --- a/.github/workflows/goalie.yaml +++ b/.github/workflows/automate_review-labels-scheduled.yaml @@ -1,5 +1,5 @@ # on a review from someone in the reviewers group, remove the awaiting-review label and add the awaiting-author label -name: 'goalie: run cron' +name: Automate review labels - scheduled on: schedule: - cron: '* * * * *' diff --git a/.github/workflows/awaiting-review.yaml b/.github/workflows/automate_review-labels.yaml similarity index 97% rename from .github/workflows/awaiting-review.yaml rename to .github/workflows/automate_review-labels.yaml index 5a69c13666..074d1271e0 100644 --- a/.github/workflows/awaiting-review.yaml +++ b/.github/workflows/automate_review-labels.yaml @@ -1,6 +1,6 @@ # When the target of the PR changes, open, re-open or sync, then re-add the label. -name: 'goalie: update awaiting-review label' +name: Automate review labels on: pull_request_target: types: diff --git a/.github/workflows/stale.yml b/.github/workflows/automate_stale.yml similarity index 97% rename from .github/workflows/stale.yml rename to .github/workflows/automate_stale.yml index f0bfe17326..f9c655fc4a 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/automate_stale.yml @@ -1,4 +1,4 @@ -name: 'Stale workflow' +name: Automate staleness on: workflow_dispatch: schedule: diff --git a/.github/workflows/techdocs-project-board.yml b/.github/workflows/automate_techdocs-project-board.yml similarity index 96% rename from .github/workflows/techdocs-project-board.yml rename to .github/workflows/automate_techdocs-project-board.yml index 99daba61da..f551412f95 100644 --- a/.github/workflows/techdocs-project-board.yml +++ b/.github/workflows/automate_techdocs-project-board.yml @@ -1,4 +1,4 @@ -name: Automatically add new TechDocs Issues and PRs to the GitHub project board +name: Automate TechDocs project board # Development of TechDocs in Backstage is managed by this Kanban board - https://github.com/orgs/backstage/projects/1 # New issues and PRs with TechDocs in their title or docs-like-code label will be added to the board. # Caveat: New PRs created from forks will not be added since GitHub Actions don't share credentials with forks. diff --git a/.github/workflows/microsite-with-storybook-deploy.yml b/.github/workflows/deploy_microsite.yml similarity index 97% rename from .github/workflows/microsite-with-storybook-deploy.yml rename to .github/workflows/deploy_microsite.yml index 47e18340eb..0578a3f749 100644 --- a/.github/workflows/microsite-with-storybook-deploy.yml +++ b/.github/workflows/deploy_microsite.yml @@ -1,4 +1,4 @@ -name: Deploy Microsite and Storybook +name: Deploy Microsite on: push: diff --git a/.github/workflows/nightly.yml b/.github/workflows/deploy_nightly.yml similarity index 98% rename from .github/workflows/nightly.yml rename to .github/workflows/deploy_nightly.yml index 110cfac245..5487a394f9 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/deploy_nightly.yml @@ -1,4 +1,4 @@ -name: Nightly Snapshot Release +name: Deploy Nightly Release on: schedule: diff --git a/.github/workflows/master.yml b/.github/workflows/deploy_packages.yml similarity index 99% rename from .github/workflows/master.yml rename to .github/workflows/deploy_packages.yml index 7036f99c57..17bab504b4 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/deploy_packages.yml @@ -1,4 +1,4 @@ -name: Main Master Build +name: Deploy Packages on: workflow_dispatch: diff --git a/.github/workflows/prettify.yml b/.github/workflows/sync_code-formatting.yml similarity index 98% rename from .github/workflows/prettify.yml rename to .github/workflows/sync_code-formatting.yml index 4a34ff0c88..7e0458cb21 100644 --- a/.github/workflows/prettify.yml +++ b/.github/workflows/sync_code-formatting.yml @@ -1,4 +1,4 @@ -name: Prettier +name: Sync code formatting on: push: diff --git a/.github/workflows/dependabot-changeset-maker.yml b/.github/workflows/sync_dependabot-changesets.yml similarity index 98% rename from .github/workflows/dependabot-changeset-maker.yml rename to .github/workflows/sync_dependabot-changesets.yml index fb90ed7a6f..2a6f4808fa 100644 --- a/.github/workflows/dependabot-changeset-maker.yml +++ b/.github/workflows/sync_dependabot-changesets.yml @@ -1,4 +1,4 @@ -name: 'Dependabot changeset maker' +name: Sync Dependabot changeset on: pull_request_target: paths: diff --git a/.github/workflows/snyk-github-issue-sync.yml b/.github/workflows/sync_snyk-github-issues.yml similarity index 98% rename from .github/workflows/snyk-github-issue-sync.yml rename to .github/workflows/sync_snyk-github-issues.yml index 7b93374609..93b6c696d0 100644 --- a/.github/workflows/snyk-github-issue-sync.yml +++ b/.github/workflows/sync_snyk-github-issues.yml @@ -1,4 +1,4 @@ -name: 'Snyk Github Issue Sync' +name: Sync Snyk GitHub issues on: schedule: diff --git a/.github/workflows/snyk-monitor.yml b/.github/workflows/sync_snyk-monitor.yml similarity index 98% rename from .github/workflows/snyk-monitor.yml rename to .github/workflows/sync_snyk-monitor.yml index 0adb6c5bcb..f9e6679173 100644 --- a/.github/workflows/snyk-monitor.yml +++ b/.github/workflows/sync_snyk-monitor.yml @@ -1,4 +1,4 @@ -name: Snyk Monitoring +name: Sync Snyk Monitoring on: workflow_dispatch: diff --git a/.github/workflows/changeset.yml b/.github/workflows/sync_version-packages.yml similarity index 95% rename from .github/workflows/changeset.yml rename to .github/workflows/sync_version-packages.yml index a8ee129952..e028387190 100644 --- a/.github/workflows/changeset.yml +++ b/.github/workflows/sync_version-packages.yml @@ -1,4 +1,4 @@ -name: Changeset +name: Sync Version Packages PR on: push: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/verify_codeql.yml similarity index 99% rename from .github/workflows/codeql-analysis.yml rename to .github/workflows/verify_codeql.yml index 92660b9ca4..a275e357a4 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/verify_codeql.yml @@ -3,7 +3,7 @@ # # You may wish to alter this file to override the set of languages analyzed, # or to provide custom queries or build logic. -name: 'CodeQL' +name: Verify CodeQL on: push: diff --git a/.github/workflows/docs-quality-checker.yml b/.github/workflows/verify_docs-quality.yml similarity index 94% rename from .github/workflows/docs-quality-checker.yml rename to .github/workflows/verify_docs-quality.yml index d61cf4cf01..57298d69dd 100644 --- a/.github/workflows/docs-quality-checker.yml +++ b/.github/workflows/verify_docs-quality.yml @@ -1,4 +1,4 @@ -name: Check Markdown files quality +name: Verify Docs Quality on: pull_request: diff --git a/.github/workflows/e2e.yml b/.github/workflows/verify_e2e-linux.yml similarity index 100% rename from .github/workflows/e2e.yml rename to .github/workflows/verify_e2e-linux.yml diff --git a/.github/workflows/techdocs-e2e.yml b/.github/workflows/verify_e2e-techdocs.yml similarity index 97% rename from .github/workflows/techdocs-e2e.yml rename to .github/workflows/verify_e2e-techdocs.yml index 191274ec84..24741f2d3c 100644 --- a/.github/workflows/techdocs-e2e.yml +++ b/.github/workflows/verify_e2e-techdocs.yml @@ -1,4 +1,4 @@ -name: Techdocs E2E Test +name: E2E Test Techdocs on: pull_request: diff --git a/.github/workflows/tugboat.yml b/.github/workflows/verify_e2e-tugboat.yml similarity index 99% rename from .github/workflows/tugboat.yml rename to .github/workflows/verify_e2e-tugboat.yml index bb5257b7c6..a9c810ff68 100644 --- a/.github/workflows/tugboat.yml +++ b/.github/workflows/verify_e2e-tugboat.yml @@ -1,4 +1,4 @@ -name: Tugboat E2E Tests +name: E2E Test Tugboat on: deployment_status jobs: set-pending: diff --git a/.github/workflows/e2e-win.yml b/.github/workflows/verify_e2e-windows.yml similarity index 100% rename from .github/workflows/e2e-win.yml rename to .github/workflows/verify_e2e-windows.yml diff --git a/.github/workflows/fossa.yml b/.github/workflows/verify_fossa.yml similarity index 96% rename from .github/workflows/fossa.yml rename to .github/workflows/verify_fossa.yml index 3d0832f958..6126ae9bf2 100644 --- a/.github/workflows/fossa.yml +++ b/.github/workflows/verify_fossa.yml @@ -1,4 +1,4 @@ -name: FOSSA +name: Verify FOSSA on: push: branches: [master] diff --git a/.github/workflows/microsite-build-check.yml b/.github/workflows/verify_microsite.yml similarity index 98% rename from .github/workflows/microsite-build-check.yml rename to .github/workflows/verify_microsite.yml index 73f63ed63a..ac05f72be5 100644 --- a/.github/workflows/microsite-build-check.yml +++ b/.github/workflows/verify_microsite.yml @@ -1,4 +1,4 @@ -name: Build microsite +name: Verify Microsite on: pull_request: diff --git a/.github/workflows/chromatic-storybook-test.yml b/.github/workflows/verify_storybook.yml similarity index 99% rename from .github/workflows/chromatic-storybook-test.yml rename to .github/workflows/verify_storybook.yml index 355ad65bee..46db253f79 100644 --- a/.github/workflows/chromatic-storybook-test.yml +++ b/.github/workflows/verify_storybook.yml @@ -1,4 +1,4 @@ -name: 'test chromatic' +name: Verify Storybook on: pull_request: paths: diff --git a/.github/workflows/master-win.yml b/.github/workflows/verify_windows.yml similarity index 98% rename from .github/workflows/master-win.yml rename to .github/workflows/verify_windows.yml index 873f12086a..55959510d3 100644 --- a/.github/workflows/master-win.yml +++ b/.github/workflows/verify_windows.yml @@ -1,4 +1,4 @@ -name: Master Build Windows +name: Verify Master Branch on Windows on: workflow_dispatch: diff --git a/docs/publishing.md b/docs/publishing.md index f57255ec59..ed83bddbbc 100644 --- a/docs/publishing.md +++ b/docs/publishing.md @@ -3,7 +3,7 @@ ## npm npm packages are published through CI/CD in the -[`.github/workflows/master.yml`](https://github.com/backstage/backstage/blob/master/.github/workflows/master.yml) +[`.github/workflows/deploy_packages.yml`](https://github.com/backstage/backstage/blob/master/.github/workflows/deploy_packages.yml) workflow. Every commit that is merged to master will be checked for new versions of all public packages, and any new versions will automatically be published to npm. From ad0a7eb088050bfe91d950deac8a7dda5e4b5b83 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 20 Jan 2022 21:44:47 +0100 Subject: [PATCH 04/16] tech-insights-backend: fixed type assignment Signed-off-by: Patrik Oldsberg --- .changeset/dull-nails-repeat.md | 5 +++++ .../src/service/persistence/TechInsightsDatabase.ts | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/dull-nails-repeat.md diff --git a/.changeset/dull-nails-repeat.md b/.changeset/dull-nails-repeat.md new file mode 100644 index 0000000000..dc322d09a0 --- /dev/null +++ b/.changeset/dull-nails-repeat.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-tech-insights-backend': patch +--- + +Fixed invalid access that caused an immediate crash with a `TypeError` when loading the package. diff --git a/plugins/tech-insights-backend/src/service/persistence/TechInsightsDatabase.ts b/plugins/tech-insights-backend/src/service/persistence/TechInsightsDatabase.ts index c6dda440fb..0b7013295f 100644 --- a/plugins/tech-insights-backend/src/service/persistence/TechInsightsDatabase.ts +++ b/plugins/tech-insights-backend/src/service/persistence/TechInsightsDatabase.ts @@ -28,7 +28,8 @@ import { DateTime } from 'luxon'; import { Logger } from 'winston'; import { parseEntityName, stringifyEntityRef } from '@backstage/catalog-model'; import { isMaxItems, isTtl } from '../fact/factRetrievers/utils'; -import Transaction = Knex.Transaction; + +type Transaction = Knex.Transaction; export type RawDbFactRow = { id: string; From da4c50f1248209efc4b62471056cb7e20759fb4d Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 20 Jan 2022 21:47:10 +0100 Subject: [PATCH 05/16] release tech-insights-backend 0.2.1 Signed-off-by: Patrik Oldsberg --- .changeset/dull-nails-repeat.md | 5 ----- plugins/tech-insights-backend/CHANGELOG.md | 6 ++++++ plugins/tech-insights-backend/package.json | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) delete mode 100644 .changeset/dull-nails-repeat.md diff --git a/.changeset/dull-nails-repeat.md b/.changeset/dull-nails-repeat.md deleted file mode 100644 index dc322d09a0..0000000000 --- a/.changeset/dull-nails-repeat.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-tech-insights-backend': patch ---- - -Fixed invalid access that caused an immediate crash with a `TypeError` when loading the package. diff --git a/plugins/tech-insights-backend/CHANGELOG.md b/plugins/tech-insights-backend/CHANGELOG.md index f57edcdebe..9998914f53 100644 --- a/plugins/tech-insights-backend/CHANGELOG.md +++ b/plugins/tech-insights-backend/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/plugin-tech-insights-backend +## 0.2.1 + +### Patch Changes + +- ad0a7eb088: Fixed invalid access that caused an immediate crash with a `TypeError` when loading the package. + ## 0.2.0 ### Minor Changes diff --git a/plugins/tech-insights-backend/package.json b/plugins/tech-insights-backend/package.json index ffd2f2582d..598a32bb1d 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.2.0", + "version": "0.2.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", From 884e83f0b2d5a82b2fbc96f4882b72d4e5415943 Mon Sep 17 00:00:00 2001 From: Mike Ball Date: Thu, 20 Jan 2022 18:17:01 -0500 Subject: [PATCH 06/16] add HBO Max to adopters list Signed-off-by: Mike Ball --- ADOPTERS.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ADOPTERS.md b/ADOPTERS.md index 48ee9b358c..21b5b131a9 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -83,4 +83,5 @@ | [Power Home Remodeling](https://www.techatpower.com) | [Ben Langfeld](https://github.com/benlangfeld) | Developer portal to our internal services, build on open-source software (including Kubernetes) in our own datacenters. Our Portal allows our team members to navigate inherant complexity and standardise. | | [Livspace](https://www.livspace.com) | [Praveen Kumar](https://github.com/praveen-livspace) | Developer portal, service catalog, tech docs, API docs and plugins | | [Just Eat Takeaway](https://www.justeattakeaway.com) | [Kim Wilson](https://github.com/kwilson541) | Our developer portal which centralises applications, reduces cognitive load and provides teams insights. | -| [Hopin](https://hopin.com) | [Vladimir Glafirov](https://github.com/vglafirov), [Chloe Lee](https://github.com/msfuko) | Developer portal to streamline the development practices. Integrated with service catalog, software templates, application monitoring, tech docs and plugins. | +| [Hopin](https://hopin.com) | [Vladimir Glafirov](https://github.com/vglafirov), [Chloe Lee](https://github.com/msfuko) | Developer portal to streamline the development practices. Integrated with service catalog, software templates, application monitoring, tech docs and plugins. | +| [HBO Max](https://hbomax.com) | [@mdb](https://github.com/mdb), [@nesta219](https://github.com/nesta219), [@nmische](https://github.com/nmische), [@hbomark](https://github.com/hbomark) | Developer portal hosting service catalog and API documentation, as well as cloud infrastructure details, operational visibility tools, and a custom plugin for browsing notable platform change events, such as deployments and configuration updates. | From a3c4438abf712ca79b38669258c67adac2f647e0 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 20 Jan 2022 22:41:22 +0100 Subject: [PATCH 07/16] explore,catalog-graph: use entityRouteRef directly Signed-off-by: Patrik Oldsberg --- .changeset/cyan-rice-grab.md | 13 +++++++++++++ .changeset/large-flowers-fetch.md | 13 +++++++++++++ packages/app/src/App.tsx | 13 ++----------- plugins/catalog-graph/api-report.md | 2 +- .../CatalogGraphCard.test.tsx | 11 ++++++----- .../CatalogGraphCard/CatalogGraphCard.tsx | 5 +++-- .../CatalogGraphPage.test.tsx | 19 +++++++++++-------- .../CatalogGraphPage/CatalogGraphPage.tsx | 8 +++++--- plugins/catalog-graph/src/routes.ts | 2 ++ plugins/explore/api-report.md | 6 +++--- .../components/DomainCard/DomainCard.test.tsx | 4 ++-- .../src/components/DomainCard/DomainCard.tsx | 4 ++-- .../DomainExplorerContent.test.tsx | 5 ++--- plugins/explore/src/routes.ts | 4 ++++ 14 files changed, 69 insertions(+), 40 deletions(-) create mode 100644 .changeset/cyan-rice-grab.md create mode 100644 .changeset/large-flowers-fetch.md diff --git a/.changeset/cyan-rice-grab.md b/.changeset/cyan-rice-grab.md new file mode 100644 index 0000000000..e7769636c7 --- /dev/null +++ b/.changeset/cyan-rice-grab.md @@ -0,0 +1,13 @@ +--- +'@backstage/plugin-catalog-graph': patch +--- + +Deprecated the external `catalogEntity` route as this is now imported directly from `@backstage/plugin-catalog-react` instead. + +This means you can remove the route binding from your `App.tsx`: + +```diff +- bind(catalogGraphPlugin.externalRoutes, { +- catalogEntity: catalogPlugin.routes.catalogEntity, +- }); +``` diff --git a/.changeset/large-flowers-fetch.md b/.changeset/large-flowers-fetch.md new file mode 100644 index 0000000000..026e0ce169 --- /dev/null +++ b/.changeset/large-flowers-fetch.md @@ -0,0 +1,13 @@ +--- +'@backstage/plugin-explore': patch +--- + +Deprecated the external `catalogEntity` route as this is now imported directly from `@backstage/plugin-catalog-react` instead. + +This means you can remove the route binding from your `App.tsx`: + +```diff +- bind(explorePlugin.externalRoutes, { +- catalogEntity: catalogPlugin.routes.catalogEntity, +- }); +``` diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx index 0e75008571..9be424a145 100644 --- a/packages/app/src/App.tsx +++ b/packages/app/src/App.tsx @@ -40,10 +40,7 @@ import { CatalogIndexPage, catalogPlugin, } from '@backstage/plugin-catalog'; -import { - CatalogGraphPage, - catalogGraphPlugin, -} from '@backstage/plugin-catalog-graph'; +import { CatalogGraphPage } from '@backstage/plugin-catalog-graph'; import { CatalogImportPage, catalogImportPlugin, @@ -54,7 +51,7 @@ import { CostInsightsProjectGrowthInstructionsPage, } from '@backstage/plugin-cost-insights'; import { orgPlugin } from '@backstage/plugin-org'; -import { ExplorePage, explorePlugin } from '@backstage/plugin-explore'; +import { ExplorePage } from '@backstage/plugin-explore'; import { GcpProjectsPage } from '@backstage/plugin-gcp-projects'; import { GraphiQLPage } from '@backstage/plugin-graphiql'; import { HomepageCompositionRoot } from '@backstage/plugin-home'; @@ -114,15 +111,9 @@ const app = createApp({ createComponent: scaffolderPlugin.routes.root, viewTechDoc: techdocsPlugin.routes.docRoot, }); - bind(catalogGraphPlugin.externalRoutes, { - catalogEntity: catalogPlugin.routes.catalogEntity, - }); bind(apiDocsPlugin.externalRoutes, { registerApi: catalogImportPlugin.routes.importPage, }); - bind(explorePlugin.externalRoutes, { - catalogEntity: catalogPlugin.routes.catalogEntity, - }); bind(scaffolderPlugin.externalRoutes, { registerComponent: catalogImportPlugin.routes.importPage, }); diff --git a/plugins/catalog-graph/api-report.md b/plugins/catalog-graph/api-report.md index 815f3427f2..e39982d2b5 100644 --- a/plugins/catalog-graph/api-report.md +++ b/plugins/catalog-graph/api-report.md @@ -49,7 +49,7 @@ export const catalogGraphPlugin: BackstagePlugin< kind: string; namespace: string; }, - false + true >; } >; diff --git a/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.test.tsx b/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.test.tsx index 3c167946d4..7209a516a5 100644 --- a/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.test.tsx +++ b/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.test.tsx @@ -20,6 +20,7 @@ import { CatalogApi, catalogApiRef, EntityProvider, + entityRouteRef, } from '@backstage/plugin-catalog-react'; import { MockAnalyticsApi, @@ -29,7 +30,7 @@ import { } from '@backstage/test-utils'; import userEvent from '@testing-library/user-event'; import React from 'react'; -import { catalogEntityRouteRef, catalogGraphRouteRef } from '../../routes'; +import { catalogGraphRouteRef } from '../../routes'; import { CatalogGraphCard } from './CatalogGraphCard'; describe('', () => { @@ -80,7 +81,7 @@ describe('', () => { test('renders without exploding', async () => { const { findByText, findAllByTestId } = await renderInTestApp(wrapper, { mountedRoutes: { - '/entity/{kind}/{namespace}/{name}': catalogEntityRouteRef, + '/entity/{kind}/{namespace}/{name}': entityRouteRef, '/catalog-graph': catalogGraphRouteRef, }, }); @@ -99,7 +100,7 @@ describe('', () => { , { mountedRoutes: { - '/entity/{kind}/{namespace}/{name}': catalogEntityRouteRef, + '/entity/{kind}/{namespace}/{name}': entityRouteRef, '/catalog-graph': catalogGraphRouteRef, }, }, @@ -111,7 +112,7 @@ describe('', () => { test('renders link to standalone viewer', async () => { const { findByText, getByText } = await renderInTestApp(wrapper, { mountedRoutes: { - '/entity/{kind}/{namespace}/{name}': catalogEntityRouteRef, + '/entity/{kind}/{namespace}/{name}': entityRouteRef, '/catalog-graph': catalogGraphRouteRef, }, }); @@ -133,7 +134,7 @@ describe('', () => { , { mountedRoutes: { - '/entity/{kind}/{namespace}/{name}': catalogEntityRouteRef, + '/entity/{kind}/{namespace}/{name}': entityRouteRef, '/catalog-graph': catalogGraphRouteRef, }, }, diff --git a/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.tsx b/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.tsx index 42e85a75ba..b2dfd9f9b2 100644 --- a/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.tsx +++ b/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.tsx @@ -23,12 +23,13 @@ import { useAnalytics, useRouteRef } from '@backstage/core-plugin-api'; import { formatEntityRefTitle, useEntity, + entityRouteRef, } from '@backstage/plugin-catalog-react'; import { makeStyles, Theme } from '@material-ui/core'; import qs from 'qs'; import React, { MouseEvent, useCallback } from 'react'; import { useNavigate } from 'react-router'; -import { catalogEntityRouteRef, catalogGraphRouteRef } from '../../routes'; +import { catalogGraphRouteRef } from '../../routes'; import { ALL_RELATION_PAIRS, Direction, @@ -77,7 +78,7 @@ export const CatalogGraphCard = ({ }) => { const { entity } = useEntity(); const entityName = getEntityName(entity); - const catalogEntityRoute = useRouteRef(catalogEntityRouteRef); + const catalogEntityRoute = useRouteRef(entityRouteRef); const catalogGraphRoute = useRouteRef(catalogGraphRouteRef); const navigate = useNavigate(); const classes = useStyles({ height }); diff --git a/plugins/catalog-graph/src/components/CatalogGraphPage/CatalogGraphPage.test.tsx b/plugins/catalog-graph/src/components/CatalogGraphPage/CatalogGraphPage.test.tsx index 7bd1045fff..4c7a64a7ce 100644 --- a/plugins/catalog-graph/src/components/CatalogGraphPage/CatalogGraphPage.test.tsx +++ b/plugins/catalog-graph/src/components/CatalogGraphPage/CatalogGraphPage.test.tsx @@ -15,7 +15,11 @@ */ import { RELATION_HAS_PART, RELATION_PART_OF } from '@backstage/catalog-model'; import { analyticsApiRef } from '@backstage/core-plugin-api'; -import { CatalogApi, catalogApiRef } from '@backstage/plugin-catalog-react'; +import { + CatalogApi, + catalogApiRef, + entityRouteRef, +} from '@backstage/plugin-catalog-react'; import { MockAnalyticsApi, renderInTestApp, @@ -23,7 +27,6 @@ import { } from '@backstage/test-utils'; import userEvent from '@testing-library/user-event'; import React from 'react'; -import { catalogEntityRouteRef } from '../../routes'; import { CatalogGraphPage } from './CatalogGraphPage'; const navigate = jest.fn(); @@ -114,7 +117,7 @@ describe('', () => { wrapper, { mountedRoutes: { - '/entity/{kind}/{namespace}/{name}': catalogEntityRouteRef, + '/entity/{kind}/{namespace}/{name}': entityRouteRef, }, }, ); @@ -129,7 +132,7 @@ describe('', () => { test('should toggle filters', async () => { const { getByText, queryByText } = await renderInTestApp(wrapper, { mountedRoutes: { - '/entity/{kind}/{namespace}/{name}': catalogEntityRouteRef, + '/entity/{kind}/{namespace}/{name}': entityRouteRef, }, }); @@ -145,7 +148,7 @@ describe('', () => { wrapper, { mountedRoutes: { - '/entity/{kind}/{namespace}/{name}': catalogEntityRouteRef, + '/entity/{kind}/{namespace}/{name}': entityRouteRef, }, }, ); @@ -160,7 +163,7 @@ describe('', () => { test('should navigate to entity', async () => { const { getByText, findAllByTestId } = await renderInTestApp(wrapper, { mountedRoutes: { - '/entity/{kind}/{namespace}/{name}': catalogEntityRouteRef, + '/entity/{kind}/{namespace}/{name}': entityRouteRef, }, }); @@ -179,7 +182,7 @@ describe('', () => { , { mountedRoutes: { - '/entity/{kind}/{namespace}/{name}': catalogEntityRouteRef, + '/entity/{kind}/{namespace}/{name}': entityRouteRef, }, }, ); @@ -202,7 +205,7 @@ describe('', () => { , { mountedRoutes: { - '/entity/{kind}/{namespace}/{name}': catalogEntityRouteRef, + '/entity/{kind}/{namespace}/{name}': entityRouteRef, }, }, ); diff --git a/plugins/catalog-graph/src/components/CatalogGraphPage/CatalogGraphPage.tsx b/plugins/catalog-graph/src/components/CatalogGraphPage/CatalogGraphPage.tsx index fdcb71d3ad..2ae7a99dd8 100644 --- a/plugins/catalog-graph/src/components/CatalogGraphPage/CatalogGraphPage.tsx +++ b/plugins/catalog-graph/src/components/CatalogGraphPage/CatalogGraphPage.tsx @@ -22,14 +22,16 @@ import { SupportButton, } from '@backstage/core-components'; import { useAnalytics, useRouteRef } from '@backstage/core-plugin-api'; -import { formatEntityRefTitle } from '@backstage/plugin-catalog-react'; +import { + entityRouteRef, + formatEntityRefTitle, +} from '@backstage/plugin-catalog-react'; import { Grid, makeStyles, Paper, Typography } from '@material-ui/core'; import FilterListIcon from '@material-ui/icons/FilterList'; import ZoomOutMap from '@material-ui/icons/ZoomOutMap'; import { ToggleButton } from '@material-ui/lab'; import React, { MouseEvent, useCallback } from 'react'; import { useNavigate } from 'react-router'; -import { catalogEntityRouteRef } from '../../routes'; import { ALL_RELATION_PAIRS, Direction, @@ -114,7 +116,7 @@ export const CatalogGraphPage = ({ }) => { const navigate = useNavigate(); const classes = useStyles(); - const catalogEntityRoute = useRouteRef(catalogEntityRouteRef); + const catalogEntityRoute = useRouteRef(entityRouteRef); const { maxDepth, setMaxDepth, diff --git a/plugins/catalog-graph/src/routes.ts b/plugins/catalog-graph/src/routes.ts index 3bca6ce411..924db7fa4c 100644 --- a/plugins/catalog-graph/src/routes.ts +++ b/plugins/catalog-graph/src/routes.ts @@ -32,8 +32,10 @@ export const catalogGraphRouteRef = createRouteRef({ * Used to navigate from the graph to an entity. * * @public + * @deprecated This route is no longer used and can be removed */ export const catalogEntityRouteRef = createExternalRouteRef({ id: 'catalog-entity', params: ['namespace', 'kind', 'name'], + optional: true, }); diff --git a/plugins/explore/api-report.md b/plugins/explore/api-report.md index e985297035..412c0cc54b 100644 --- a/plugins/explore/api-report.md +++ b/plugins/explore/api-report.md @@ -14,14 +14,14 @@ import { TabProps } from '@material-ui/core'; // Warning: (ae-missing-release-tag) "catalogEntityRouteRef" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // -// @public (undocumented) +// @public @deprecated (undocumented) export const catalogEntityRouteRef: ExternalRouteRef< { name: string; kind: string; namespace: string; }, - false + true >; // Warning: (ae-forgotten-export) The symbol "DomainCardProps" needs to be exported by the entry point index.d.ts @@ -66,7 +66,7 @@ const explorePlugin: BackstagePlugin< kind: string; namespace: string; }, - false + true >; } >; diff --git a/plugins/explore/src/components/DomainCard/DomainCard.test.tsx b/plugins/explore/src/components/DomainCard/DomainCard.test.tsx index b9885f8179..df9b84820a 100644 --- a/plugins/explore/src/components/DomainCard/DomainCard.test.tsx +++ b/plugins/explore/src/components/DomainCard/DomainCard.test.tsx @@ -15,9 +15,9 @@ */ import { DomainEntity } from '@backstage/catalog-model'; +import { entityRouteRef } from '@backstage/plugin-catalog-react'; import { renderInTestApp } from '@backstage/test-utils'; import React from 'react'; -import { catalogEntityRouteRef } from '../../routes'; import { DomainCard } from './DomainCard'; describe('', () => { @@ -38,7 +38,7 @@ describe('', () => { , { mountedRoutes: { - '/catalog/:namespace/:kind/:name': catalogEntityRouteRef, + '/catalog/:namespace/:kind/:name': entityRouteRef, }, }, ); diff --git a/plugins/explore/src/components/DomainCard/DomainCard.tsx b/plugins/explore/src/components/DomainCard/DomainCard.tsx index 6c531d1db1..94e4f145c3 100644 --- a/plugins/explore/src/components/DomainCard/DomainCard.tsx +++ b/plugins/explore/src/components/DomainCard/DomainCard.tsx @@ -18,6 +18,7 @@ import { EntityRefLinks, entityRouteParams, getEntityRelations, + entityRouteRef, } from '@backstage/plugin-catalog-react'; import { Box, @@ -28,7 +29,6 @@ import { Chip, } from '@material-ui/core'; import React from 'react'; -import { catalogEntityRouteRef } from '../../routes'; import { Button, ItemCardHeader } from '@backstage/core-components'; import { useRouteRef } from '@backstage/core-plugin-api'; @@ -38,7 +38,7 @@ type DomainCardProps = { }; export const DomainCard = ({ entity }: DomainCardProps) => { - const catalogEntityRoute = useRouteRef(catalogEntityRouteRef); + const catalogEntityRoute = useRouteRef(entityRouteRef); const ownedByRelations = getEntityRelations(entity, RELATION_OWNED_BY); const url = catalogEntityRoute(entityRouteParams(entity)); diff --git a/plugins/explore/src/components/DomainExplorerContent/DomainExplorerContent.test.tsx b/plugins/explore/src/components/DomainExplorerContent/DomainExplorerContent.test.tsx index 46a8f1adf2..e36bd4ddb9 100644 --- a/plugins/explore/src/components/DomainExplorerContent/DomainExplorerContent.test.tsx +++ b/plugins/explore/src/components/DomainExplorerContent/DomainExplorerContent.test.tsx @@ -15,11 +15,10 @@ */ import { DomainEntity } from '@backstage/catalog-model'; -import { catalogApiRef } from '@backstage/plugin-catalog-react'; +import { catalogApiRef, entityRouteRef } from '@backstage/plugin-catalog-react'; import { renderInTestApp, TestApiProvider } from '@backstage/test-utils'; import { waitFor } from '@testing-library/react'; import React from 'react'; -import { catalogEntityRouteRef } from '../../routes'; import { DomainExplorerContent } from './DomainExplorerContent'; describe('', () => { @@ -44,7 +43,7 @@ describe('', () => { const mountedRoutes = { mountedRoutes: { - '/catalog/:namespace/:kind/:name': catalogEntityRouteRef, + '/catalog/:namespace/:kind/:name': entityRouteRef, }, }; diff --git a/plugins/explore/src/routes.ts b/plugins/explore/src/routes.ts index d3a94ea4cd..e8b393c4f6 100644 --- a/plugins/explore/src/routes.ts +++ b/plugins/explore/src/routes.ts @@ -23,7 +23,11 @@ export const exploreRouteRef = createRouteRef({ id: 'explore', }); +/** + * @deprecated This route is no longer used and can be removed + */ export const catalogEntityRouteRef = createExternalRouteRef({ id: 'catalog-entity', params: ['namespace', 'kind', 'name'], + optional: true, }); From 571f3631e6fe5ae72ef04f235755ade1c8bd6eac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Jan 2022 04:11:26 +0000 Subject: [PATCH 08/16] chore(deps-dev): bump @types/unzipper from 0.10.4 to 0.10.5 Bumps [@types/unzipper](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/unzipper) from 0.10.4 to 0.10.5. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/unzipper) --- updated-dependencies: - dependency-name: "@types/unzipper" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9841bf5851..7289c2578e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8398,9 +8398,9 @@ integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== "@types/unzipper@^0.10.3": - version "0.10.4" - resolved "https://registry.npmjs.org/@types/unzipper/-/unzipper-0.10.4.tgz#db5be3e1f7d37fdfae290024ffe4f46bdcfa47f2" - integrity sha512-mryXpAwwQadmfjKWoR7NXnELZVlU90xTON1v3Pq2AcOmuAPFkPh09E0X8fpbx2zofoR5zmOIxGqmWOhD0qXE7g== + version "0.10.5" + resolved "https://registry.npmjs.org/@types/unzipper/-/unzipper-0.10.5.tgz#36a963cf025162b4ac31642590cb4192971d633b" + integrity sha512-NrLJb29AdnBARpg9S/4ktfPEisbJ0AvaaAr3j7Q1tg8AgcEUsq2HqbNzvgLRoWyRtjzeLEv7vuL39u1mrNIyNA== dependencies: "@types/node" "*" From 726f125e115b6eff84641412572c6d507b718f7a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Jan 2022 04:12:27 +0000 Subject: [PATCH 09/16] chore(deps): bump jscodeshift from 0.13.0 to 0.13.1 Bumps [jscodeshift](https://github.com/facebook/jscodeshift) from 0.13.0 to 0.13.1. - [Release notes](https://github.com/facebook/jscodeshift/releases) - [Changelog](https://github.com/facebook/jscodeshift/blob/main/CHANGELOG.md) - [Commits](https://github.com/facebook/jscodeshift/compare/0.13.0...0.13.1) --- updated-dependencies: - dependency-name: jscodeshift dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9841bf5851..f59c2d56d4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -901,12 +901,7 @@ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== -"@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.13", "@babel/parser@^7.12.7", "@babel/parser@^7.13.16", "@babel/parser@^7.14.2", "@babel/parser@^7.14.5", "@babel/parser@^7.14.9": - version "7.14.9" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.14.9.tgz#596c1ad67608070058ebf8df50c1eaf65db895a4" - integrity sha512-RdUTOseXJ8POjjOeEBEvNMIZU/nm4yu2rufRkcibzkkg7DmQvXU8v3M4Xk9G7uuI86CDGkKcuDWgioqZm+mScQ== - -"@babel/parser@^7.14.0", "@babel/parser@^7.16.3", "@babel/parser@^7.16.7": +"@babel/parser@^7.1.0", "@babel/parser@^7.12.11", "@babel/parser@^7.12.13", "@babel/parser@^7.12.7", "@babel/parser@^7.13.16", "@babel/parser@^7.14.0", "@babel/parser@^7.14.2", "@babel/parser@^7.14.5", "@babel/parser@^7.14.9", "@babel/parser@^7.16.3", "@babel/parser@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.16.7.tgz#d372dda9c89fcec340a82630a9f533f2fe15877e" integrity sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA== @@ -18344,9 +18339,9 @@ jscodeshift-find-imports@^2.0.2: integrity sha512-HxOzjWDOFFSCf8EKSTQGqCxXeRFqZszOywnZ0HuMB9YPDFHVpxftGRsY+QS+Qq8o2qUojlmNU3JEHts5DWYS1A== jscodeshift@^0.13.0: - version "0.13.0" - resolved "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.0.tgz#4b3835c3755ea86bc4910ac80acd4acd230b53ee" - integrity sha512-FNHLuwh7TeI0F4EzNVIRwUSxSqsGWM5nTv596FK4NfBnEEKFpIcyFeG559DMFGHSTIYA5AY4Fqh2cBrJx0EAwg== + version "0.13.1" + resolved "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.1.tgz#69bfe51e54c831296380585c6d9e733512aecdef" + integrity sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ== dependencies: "@babel/core" "^7.13.16" "@babel/parser" "^7.13.16" @@ -18358,7 +18353,7 @@ jscodeshift@^0.13.0: "@babel/preset-typescript" "^7.13.0" "@babel/register" "^7.13.16" babel-core "^7.0.0-bridge.0" - colors "^1.1.2" + chalk "^4.1.2" flow-parser "0.*" graceful-fs "^4.2.4" micromatch "^3.1.10" From 08788009ded499be41df56de8dd5d79c870999a9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Jan 2022 04:27:07 +0000 Subject: [PATCH 10/16] chore(deps): bump @sucrase/jest-plugin from 2.1.1 to 2.2.0 Bumps [@sucrase/jest-plugin](https://github.com/alangpierce/sucrase) from 2.1.1 to 2.2.0. - [Release notes](https://github.com/alangpierce/sucrase/releases) - [Changelog](https://github.com/alangpierce/sucrase/blob/main/CHANGELOG.md) - [Commits](https://github.com/alangpierce/sucrase/commits) --- updated-dependencies: - dependency-name: "@sucrase/jest-plugin" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9841bf5851..3b6460b3a8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6680,9 +6680,9 @@ store2 "^2.12.0" "@sucrase/jest-plugin@^2.1.1": - version "2.1.1" - resolved "https://registry.npmjs.org/@sucrase/jest-plugin/-/jest-plugin-2.1.1.tgz#b1e5192e7057fec159151b6aed96eb5b3c08d5c4" - integrity sha512-1j+exUcbLRgka2lq/i0IVOYcmrMW1wYPtxJY/+RvZkAQG9GD7lygj5OiHWFKWmynltAg9+x1d5NWQQYNdBTkpQ== + version "2.2.0" + resolved "https://registry.npmjs.org/@sucrase/jest-plugin/-/jest-plugin-2.2.0.tgz#a176ae754a4e142fd50f9952dc6a8d161a1db951" + integrity sha512-eBWmp771YXm0wIftlse4siG98J3HRnZBojhSrvPGYgj+R9Kbf1QeJGMr6iNC0e/0qlKkw01Ig3H8KjPVwUqiGQ== dependencies: sucrase "^3.18.0" From 10313948d59405671aa205caa6a1dfdb40ede167 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Jan 2022 04:29:33 +0000 Subject: [PATCH 11/16] chore(deps): bump @rollup/plugin-node-resolve from 13.0.0 to 13.1.3 Bumps [@rollup/plugin-node-resolve](https://github.com/rollup/plugins/tree/HEAD/packages/node-resolve) from 13.0.0 to 13.1.3. - [Release notes](https://github.com/rollup/plugins/releases) - [Changelog](https://github.com/rollup/plugins/blob/master/packages/node-resolve/CHANGELOG.md) - [Commits](https://github.com/rollup/plugins/commits/node-resolve-v13.1.3/packages/node-resolve) --- updated-dependencies: - dependency-name: "@rollup/plugin-node-resolve" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- yarn.lock | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9841bf5851..be5c1fb504 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5450,9 +5450,9 @@ "@rollup/pluginutils" "^3.0.8" "@rollup/plugin-node-resolve@^13.0.0": - version "13.0.0" - resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.0.0.tgz#352f07e430ff377809ec8ec8a6fd636547162dc4" - integrity sha512-41X411HJ3oikIDivT5OKe9EZ6ud6DXudtfNrGbC4nniaxx2esiWjkLOzgnZsWq1IM8YIeL2rzRGLZLBjlhnZtQ== + version "13.1.3" + resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz#2ed277fb3ad98745424c1d2ba152484508a92d79" + integrity sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" @@ -24829,7 +24829,7 @@ resolve-url@^0.2.1: resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.6: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.9.0: version "1.21.0" resolved "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== @@ -24838,14 +24838,6 @@ resolve@^1.1.6: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.9.0: - version "1.20.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - resolve@^2.0.0-next.3: version "2.0.0-next.3" resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" From 4528aa2586fa41f3e566d875ce80a57f1591878e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Jan 2022 04:32:04 +0000 Subject: [PATCH 12/16] chore(deps-dev): bump @types/d3-selection from 3.0.1 to 3.0.2 Bumps [@types/d3-selection](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/d3-selection) from 3.0.1 to 3.0.2. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/d3-selection) --- updated-dependencies: - dependency-name: "@types/d3-selection" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9841bf5851..eab883c09b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7286,9 +7286,9 @@ integrity sha512-NaIeSIBiFgSC6IGUBjZWcscUJEq7vpVu7KthHN8eieTV9d9MqkSOZLH4chq1PmcKy06PNe3axLeKmRIyxJ+PZQ== "@types/d3-selection@*", "@types/d3-selection@^3.0.1": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.1.tgz#e57b01ab69b18b380f68db97b76ceefe62f17191" - integrity sha512-aJ1d1SCUtERHH65bB8NNoLpUOI3z8kVcfg2BGm4rMMUwuZF4x6qnIEKjT60Vt0o7gP/a/xkRVs4D9CpDifbyRA== + version "3.0.2" + resolved "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.2.tgz#23e48a285b24063630bbe312cc0cfe2276de4a59" + integrity sha512-d29EDd0iUBrRoKhPndhDY6U/PYxOWqgIZwKTooy2UkBfU7TNZNpRho0yLWPxlatQrFWk2mnTu71IZQ4+LRgKlQ== "@types/d3-shape@^1": version "1.3.5" From 694ae56de1a64cec212a6b757b6284140bbac2fa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Jan 2022 04:32:58 +0000 Subject: [PATCH 13/16] chore(deps-dev): bump @types/yarnpkg__lockfile from 1.1.4 to 1.1.5 Bumps [@types/yarnpkg__lockfile](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/yarnpkg__lockfile) from 1.1.4 to 1.1.5. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/yarnpkg__lockfile) --- updated-dependencies: - dependency-name: "@types/yarnpkg__lockfile" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9841bf5851..accd14b7ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8534,9 +8534,9 @@ "@types/yargs-parser" "*" "@types/yarnpkg__lockfile@^1.1.4": - version "1.1.4" - resolved "https://registry.npmjs.org/@types/yarnpkg__lockfile/-/yarnpkg__lockfile-1.1.4.tgz#445251eb00bd9c1e751f82c7c6bf4f714edfd464" - integrity sha512-/emrKCfQMQmFCqRqqBJ0JueHBT06jBRM3e8OgnvDUcvuExONujIk2hFA5dNsN9Nt41ljGVDdChvCydATZ+KOZw== + version "1.1.5" + resolved "https://registry.npmjs.org/@types/yarnpkg__lockfile/-/yarnpkg__lockfile-1.1.5.tgz#9639020e1fb65120a2f4387db8f1e8b63efdf229" + integrity sha512-8NYnGOctzsI4W0ApsP/BIHD/LnxpJ6XaGf2AZmz4EyDYJMxtprN4279dLNI1CPZcwC9H18qYcaFv4bXi0wmokg== "@types/yauzl@^2.9.1": version "2.9.2" From ff93fbeeec4f355563ac411c567057e5df502215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20Adel=C3=B6w?= Date: Fri, 21 Jan 2022 09:41:45 +0100 Subject: [PATCH 14/16] changeset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Adelöw --- .changeset/sixty-monkeys-deny.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/sixty-monkeys-deny.md diff --git a/.changeset/sixty-monkeys-deny.md b/.changeset/sixty-monkeys-deny.md new file mode 100644 index 0000000000..4b548ead82 --- /dev/null +++ b/.changeset/sixty-monkeys-deny.md @@ -0,0 +1,5 @@ +--- +'@backstage/techdocs-common': patch +--- + +Fix interpolated string for "Failed to generate docs from ..." From 4df8c4bfd8055f48f235e24df22b9af10b125e66 Mon Sep 17 00:00:00 2001 From: Gary Niemen <65337273+garyniemen@users.noreply.github.com> Date: Fri, 21 Jan 2022 10:45:26 +0100 Subject: [PATCH 15/16] TechDocs etc update to Backstage roadmap (#8944) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * TechDocs etc update to Backstage roadmap * fixup Signed-off-by: Fredrik Adelöw * Minor changes to roadmap * prettier fixup Signed-off-by: Emma Indal Co-authored-by: Fredrik Adelöw Co-authored-by: Emma Indal --- .github/styles/vocab.txt | 2 ++ docs/overview/roadmap.md | 13 +++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/styles/vocab.txt b/.github/styles/vocab.txt index a335878c59..ec1de21987 100644 --- a/.github/styles/vocab.txt +++ b/.github/styles/vocab.txt @@ -1,5 +1,7 @@ abc accessors +addon +addons Airbrake Anddddd Apdex diff --git a/docs/overview/roadmap.md b/docs/overview/roadmap.md index 30338a6ee6..abd965b449 100644 --- a/docs/overview/roadmap.md +++ b/docs/overview/roadmap.md @@ -64,7 +64,7 @@ cycle will vary based on maintainer schedules. ### Backstage 1.0 (and following versions) During the first quarter of 2022, we plan to finalize and release version 1.0 of -the Backstage platform (defined by the Core, +the Backstage platform (which includes Core, [Catalog](https://backstage.io/docs/features/software-catalog/software-catalog-overview), [Scaffolder](https://backstage.io/docs/features/software-templates/software-templates-index) and [TechDocs](https://backstage.io/docs/features/techdocs/techdocs-overview)). @@ -104,7 +104,16 @@ the maintainers’ radar, with clear interest expressed by the community. - **Security Plan (and Strategy):** The purpose of the Security Strategy is to move another step along the path to maturing the platform, setting the expectations of any adopters from a security standpoint. -- **Search GA:**. +- **Search 1.0:** Fix the few remaining issues to get Backstage Search platform + up to 1.0 ([here](https://github.com/backstage/backstage/milestone/27) and + [here](https://github.com/backstage/backstage/milestone/28)) +- **TechDocs Addon framework and Addons:** Addons are TechDocs features that are + added on top of the base docs like code experience. An example would be a + feature that showed comments on the page. We plan to add an Addon framework + and open source a selection of the Addons that we use internally at Spotify. + Further Addons can then be added by the Community. +- **Composable Homepage 1.0:** Driving this to 1.0 by adding some composable + components. - **[GraphQL](https://graphql.org/) support:** Introduce the ability to query Backstage backend services with a standard query language for APIs. - **Telemetry:** To efficiently generate logging and metrics in such a way that From 2f0d3d327853d5121278e10a62e43d9ddc14306c Mon Sep 17 00:00:00 2001 From: Emma Indal Date: Fri, 21 Jan 2022 12:24:23 +0100 Subject: [PATCH 16/16] [Home] forward classes to HomePageSearchBar instead of using className (#9049) * override styles Signed-off-by: Emma Indal * add changeset Signed-off-by: Emma Indal * update api report Signed-off-by: Emma Indal * forward classes instad of using className Signed-off-by: Emma Indal * update changeset breaking change, add instructions Signed-off-by: Emma Indal --- .changeset/good-poets-change.md | 13 +++++++++ .../src/templates/DefaultTemplate.stories.tsx | 12 ++++----- plugins/search/api-report.md | 1 - .../HomePageSearchBar.stories.tsx | 27 +++++++++++++------ .../HomePageComponent/HomePageSearchBar.tsx | 15 +++-------- 5 files changed, 41 insertions(+), 27 deletions(-) create mode 100644 .changeset/good-poets-change.md diff --git a/.changeset/good-poets-change.md b/.changeset/good-poets-change.md new file mode 100644 index 0000000000..505e642a31 --- /dev/null +++ b/.changeset/good-poets-change.md @@ -0,0 +1,13 @@ +--- +'@backstage/plugin-search': minor +--- + +Forwarding classes to HomePageSearchBar instead of using className prop. For custom styles of the HomePageSearchBar, use classes prop instead: + +```diff + +``` diff --git a/plugins/home/src/templates/DefaultTemplate.stories.tsx b/plugins/home/src/templates/DefaultTemplate.stories.tsx index 18518e47a9..fb62591fbd 100644 --- a/plugins/home/src/templates/DefaultTemplate.stories.tsx +++ b/plugins/home/src/templates/DefaultTemplate.stories.tsx @@ -47,14 +47,12 @@ export default { }; const useStyles = makeStyles(theme => ({ - search: { + searchBar: { + display: 'flex', + maxWidth: '60vw', backgroundColor: theme.palette.background.paper, boxShadow: theme.shadows[1], - maxWidth: '60vw', - display: 'flex', - justifyContent: 'space-between', padding: '8px 0', - borderColor: 'transparent', borderRadius: '50px', margin: 'auto', }, @@ -74,7 +72,7 @@ const useLogoStyles = makeStyles(theme => ({ })); export const DefaultTemplate = () => { - const { search } = useStyles(); + const classes = useStyles(); const { svg, path, container } = useLogoStyles(); return ( @@ -88,7 +86,7 @@ export const DefaultTemplate = () => { /> diff --git a/plugins/search/api-report.md b/plugins/search/api-report.md index 1fa89f7688..0a7da01ffd 100644 --- a/plugins/search/api-report.md +++ b/plugins/search/api-report.md @@ -66,7 +66,6 @@ export type FiltersState = { // // @public (undocumented) export const HomePageSearchBar: ({ - className: defaultClassName, ...props }: Partial>) => JSX.Element; diff --git a/plugins/search/src/components/HomePageComponent/HomePageSearchBar.stories.tsx b/plugins/search/src/components/HomePageComponent/HomePageSearchBar.stories.tsx index 48f0cbaa1e..1a6c5fbf7b 100644 --- a/plugins/search/src/components/HomePageComponent/HomePageSearchBar.stories.tsx +++ b/plugins/search/src/components/HomePageComponent/HomePageSearchBar.stories.tsx @@ -41,27 +41,38 @@ export default { ], }; +export const Default = () => { + return ( + + + + + + ); +}; + const useStyles = makeStyles(theme => ({ - search: { + searchBar: { + display: 'flex', + maxWidth: '60vw', backgroundColor: theme.palette.background.paper, boxShadow: theme.shadows[1], - maxWidth: '60vw', - display: 'flex', - justifyContent: 'space-between', padding: '8px 0', - borderColor: 'transparent', borderRadius: '50px', margin: 'auto', }, })); -export const Default = () => { - const { search } = useStyles(); +export const CustomStyles = () => { + const classes = useStyles(); return ( - + ); diff --git a/plugins/search/src/components/HomePageComponent/HomePageSearchBar.tsx b/plugins/search/src/components/HomePageComponent/HomePageSearchBar.tsx index 20517be978..bccf38ab1d 100644 --- a/plugins/search/src/components/HomePageComponent/HomePageSearchBar.tsx +++ b/plugins/search/src/components/HomePageComponent/HomePageSearchBar.tsx @@ -21,7 +21,7 @@ import { SearchBarBase, SearchBarBaseProps } from '../SearchBar'; import { useNavigateToQuery } from '../util'; const useStyles = makeStyles({ - searchBar: { + root: { border: '1px solid #555', borderRadius: '6px', fontSize: '1.5em', @@ -42,18 +42,11 @@ export type HomePageSearchBarProps = Partial< * * @public */ -export const HomePageSearchBar = ({ - className: defaultClassName, - ...props -}: HomePageSearchBarProps) => { - const classes = useStyles(); +export const HomePageSearchBar = ({ ...props }: HomePageSearchBarProps) => { + const classes = useStyles(props); const [query, setQuery] = useState(''); const handleSearch = useNavigateToQuery(); - const className = defaultClassName - ? `${classes.searchBar} ${defaultClassName}` - : classes.searchBar; - const handleSubmit = () => { handleSearch({ query }); }; @@ -67,7 +60,7 @@ export const HomePageSearchBar = ({ return (