diff --git a/.changeset/create-app-1669131574.md b/.changeset/create-app-1669131574.md new file mode 100644 index 0000000000..b50d431d4b --- /dev/null +++ b/.changeset/create-app-1669131574.md @@ -0,0 +1,5 @@ +--- +'@backstage/create-app': patch +--- + +Bumped create-app version. diff --git a/.changeset/eight-spiders-know.md b/.changeset/eight-spiders-know.md new file mode 100644 index 0000000000..2e3e54dc0f --- /dev/null +++ b/.changeset/eight-spiders-know.md @@ -0,0 +1,15 @@ +--- +'@backstage/backend-common': patch +'@backstage/core-app-api': patch +'@backstage/core-components': patch +'@backstage/version-bridge': patch +'@backstage/plugin-analytics-module-ga': patch +'@backstage/plugin-catalog': patch +'@backstage/plugin-cloudbuild': patch +'@backstage/plugin-gcp-projects': patch +'@backstage/plugin-github-actions': patch +'@backstage/plugin-graphiql': patch +'@backstage/plugin-techdocs': patch +--- + +Internal fixes to avoid implicit usage of globals diff --git a/.changeset/forty-baboons-burn.md b/.changeset/forty-baboons-burn.md new file mode 100644 index 0000000000..f54b0871c4 --- /dev/null +++ b/.changeset/forty-baboons-burn.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs-node': patch +--- + +Bump dependency @azure/identity to next minor diff --git a/.changeset/gold-yaks-join.md b/.changeset/gold-yaks-join.md new file mode 100644 index 0000000000..29996d1f74 --- /dev/null +++ b/.changeset/gold-yaks-join.md @@ -0,0 +1,6 @@ +--- +'@backstage/test-utils': patch +--- + +The test utility for the plugin context called `MockPluginProvider` has been created. It will be handy in the cases when you use +`__experimentalConfigure` in your plugin. It is experimental and exported through `@backstage/test-utils/alpha`. diff --git a/.changeset/hip-chairs-tap.md b/.changeset/hip-chairs-tap.md new file mode 100644 index 0000000000..8eca0a9292 --- /dev/null +++ b/.changeset/hip-chairs-tap.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-cost-insights': patch +--- + +Internal refactor to avoid usage of deprecated symbols diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 0000000000..136b807fdf --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,234 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "example-app": "0.2.77", + "@backstage/app-defaults": "1.0.8", + "example-backend": "0.2.77", + "@backstage/backend-app-api": "0.2.3", + "@backstage/backend-common": "0.16.0", + "@backstage/backend-defaults": "0.1.3", + "example-backend-next": "0.0.5", + "@backstage/backend-plugin-api": "0.1.4", + "@backstage/backend-tasks": "0.3.7", + "@backstage/backend-test-utils": "0.1.30", + "@backstage/catalog-client": "1.1.2", + "@backstage/catalog-model": "1.1.3", + "@backstage/cli": "0.21.0", + "@backstage/cli-common": "0.1.10", + "@backstage/codemods": "0.1.41", + "@backstage/config": "1.0.4", + "@backstage/config-loader": "1.1.6", + "@backstage/core-app-api": "1.2.0", + "@backstage/core-components": "0.12.0", + "@backstage/core-plugin-api": "1.1.0", + "@backstage/create-app": "0.4.34", + "@backstage/dev-utils": "1.0.8", + "e2e-test": "0.2.0", + "@backstage/errors": "1.1.3", + "@backstage/integration": "1.4.0", + "@backstage/integration-react": "1.1.6", + "@backstage/release-manifests": "0.0.7", + "@backstage/repo-tools": "0.0.0", + "@techdocs/cli": "1.2.3", + "techdocs-cli-embedded-app": "0.2.76", + "@backstage/test-utils": "1.2.2", + "@backstage/theme": "0.2.16", + "@backstage/types": "1.0.1", + "@backstage/version-bridge": "1.0.2", + "@backstage/plugin-adr": "0.2.3", + "@backstage/plugin-adr-backend": "0.2.3", + "@backstage/plugin-adr-common": "0.2.3", + "@backstage/plugin-airbrake": "0.3.11", + "@backstage/plugin-airbrake-backend": "0.2.11", + "@backstage/plugin-allure": "0.1.27", + "@backstage/plugin-analytics-module-ga": "0.1.22", + "@backstage/plugin-apache-airflow": "0.2.4", + "@backstage/plugin-api-docs": "0.8.11", + "@backstage/plugin-api-docs-module-protoc-gen-doc": "0.1.0", + "@backstage/plugin-apollo-explorer": "0.1.4", + "@backstage/plugin-app-backend": "0.3.38", + "@backstage/plugin-auth-backend": "0.17.1", + "@backstage/plugin-auth-node": "0.2.7", + "@backstage/plugin-azure-devops": "0.2.2", + "@backstage/plugin-azure-devops-backend": "0.3.17", + "@backstage/plugin-azure-devops-common": "0.3.0", + "@backstage/plugin-azure-sites": "0.1.0", + "@backstage/plugin-azure-sites-backend": "0.1.0", + "@backstage/plugin-azure-sites-common": "0.1.0", + "@backstage/plugin-badges": "0.2.35", + "@backstage/plugin-badges-backend": "0.1.32", + "@backstage/plugin-bazaar": "0.2.0", + "@backstage/plugin-bazaar-backend": "0.2.1", + "@backstage/plugin-bitbucket-cloud-common": "0.2.1", + "@backstage/plugin-bitrise": "0.1.38", + "@backstage/plugin-catalog": "1.6.1", + "@backstage/plugin-catalog-backend": "1.5.1", + "@backstage/plugin-catalog-backend-module-aws": "0.1.11", + "@backstage/plugin-catalog-backend-module-azure": "0.1.9", + "@backstage/plugin-catalog-backend-module-bitbucket": "0.2.5", + "@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.5", + "@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.3", + "@backstage/plugin-catalog-backend-module-gerrit": "0.1.6", + "@backstage/plugin-catalog-backend-module-github": "0.2.0", + "@backstage/plugin-catalog-backend-module-gitlab": "0.1.9", + "@backstage/plugin-catalog-backend-module-ldap": "0.5.5", + "@backstage/plugin-catalog-backend-module-msgraph": "0.4.4", + "@backstage/plugin-catalog-backend-module-openapi": "0.1.4", + "@backstage/plugin-catalog-common": "1.0.8", + "@internal/plugin-catalog-customized": "0.0.4", + "@backstage/plugin-catalog-graph": "0.2.23", + "@backstage/plugin-catalog-graphql": "0.3.15", + "@backstage/plugin-catalog-import": "0.9.1", + "@backstage/plugin-catalog-node": "1.2.1", + "@backstage/plugin-catalog-react": "1.2.1", + "@backstage/plugin-cicd-statistics": "0.1.13", + "@backstage/plugin-cicd-statistics-module-gitlab": "0.1.7", + "@backstage/plugin-circleci": "0.3.11", + "@backstage/plugin-cloudbuild": "0.3.11", + "@backstage/plugin-code-climate": "0.1.11", + "@backstage/plugin-code-coverage": "0.2.4", + "@backstage/plugin-code-coverage-backend": "0.2.4", + "@backstage/plugin-codescene": "0.1.6", + "@backstage/plugin-config-schema": "0.1.34", + "@backstage/plugin-cost-insights": "0.12.0", + "@backstage/plugin-cost-insights-common": "0.1.1", + "@backstage/plugin-dynatrace": "1.0.1", + "@backstage/plugin-events-backend": "0.1.0", + "@backstage/plugin-events-backend-module-aws-sqs": "0.1.0", + "@backstage/plugin-events-backend-module-azure": "0.1.0", + "@backstage/plugin-events-backend-module-bitbucket-cloud": "0.1.0", + "@backstage/plugin-events-backend-module-gerrit": "0.1.0", + "@backstage/plugin-events-backend-module-github": "0.1.0", + "@backstage/plugin-events-backend-module-gitlab": "0.1.0", + "@backstage/plugin-events-backend-test-utils": "0.1.0", + "@backstage/plugin-events-node": "0.1.0", + "@internal/plugin-todo-list": "1.0.7", + "@internal/plugin-todo-list-backend": "1.0.7", + "@internal/plugin-todo-list-common": "1.0.6", + "@backstage/plugin-explore": "0.3.42", + "@backstage/plugin-explore-react": "0.0.23", + "@backstage/plugin-firehydrant": "0.1.28", + "@backstage/plugin-fossa": "0.2.43", + "@backstage/plugin-gcalendar": "0.3.7", + "@backstage/plugin-gcp-projects": "0.3.30", + "@backstage/plugin-git-release-manager": "0.3.24", + "@backstage/plugin-github-actions": "0.5.11", + "@backstage/plugin-github-deployments": "0.1.42", + "@backstage/plugin-github-issues": "0.2.0", + "@backstage/plugin-github-pull-requests-board": "0.1.5", + "@backstage/plugin-gitops-profiles": "0.3.29", + "@backstage/plugin-gocd": "0.1.17", + "@backstage/plugin-graphiql": "0.2.43", + "@backstage/plugin-graphql-backend": "0.1.28", + "@backstage/plugin-home": "0.4.27", + "@backstage/plugin-ilert": "0.2.0", + "@backstage/plugin-jenkins": "0.7.10", + "@backstage/plugin-jenkins-backend": "0.1.28", + "@backstage/plugin-jenkins-common": "0.1.10", + "@backstage/plugin-kafka": "0.3.11", + "@backstage/plugin-kafka-backend": "0.2.31", + "@backstage/plugin-kubernetes": "0.7.4", + "@backstage/plugin-kubernetes-backend": "0.8.0", + "@backstage/plugin-kubernetes-common": "0.4.4", + "@backstage/plugin-lighthouse": "0.3.11", + "@backstage/plugin-newrelic": "0.3.29", + "@backstage/plugin-newrelic-dashboard": "0.2.4", + "@backstage/plugin-org": "0.6.0", + "@backstage/plugin-org-react": "0.1.0", + "@backstage/plugin-pagerduty": "0.5.4", + "@backstage/plugin-periskop": "0.1.9", + "@backstage/plugin-periskop-backend": "0.1.9", + "@backstage/plugin-permission-backend": "0.5.13", + "@backstage/plugin-permission-common": "0.7.1", + "@backstage/plugin-permission-node": "0.7.1", + "@backstage/plugin-permission-react": "0.4.7", + "@backstage/plugin-playlist": "0.1.2", + "@backstage/plugin-playlist-backend": "0.2.1", + "@backstage/plugin-playlist-common": "0.1.2", + "@backstage/plugin-proxy-backend": "0.2.32", + "@backstage/plugin-rollbar": "0.4.11", + "@backstage/plugin-rollbar-backend": "0.1.35", + "@backstage/plugin-scaffolder": "1.8.0", + "@backstage/plugin-scaffolder-backend": "1.8.0", + "@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.13", + "@backstage/plugin-scaffolder-backend-module-rails": "0.4.6", + "@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.11", + "@backstage/plugin-scaffolder-common": "1.2.2", + "@backstage/plugin-search": "1.0.4", + "@backstage/plugin-search-backend": "1.1.1", + "@backstage/plugin-search-backend-module-elasticsearch": "1.0.4", + "@backstage/plugin-search-backend-module-pg": "0.4.2", + "@backstage/plugin-search-backend-node": "1.0.4", + "@backstage/plugin-search-common": "1.1.1", + "@backstage/plugin-search-react": "1.2.1", + "@backstage/plugin-sentry": "0.4.4", + "@backstage/plugin-shortcuts": "0.3.3", + "@backstage/plugin-sonarqube": "0.5.0", + "@backstage/plugin-sonarqube-backend": "0.1.3", + "@backstage/plugin-splunk-on-call": "0.4.0", + "@backstage/plugin-stack-overflow": "0.1.7", + "@backstage/plugin-stack-overflow-backend": "0.1.7", + "@backstage/plugin-tech-insights": "0.3.3", + "@backstage/plugin-tech-insights-backend": "0.5.4", + "@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.22", + "@backstage/plugin-tech-insights-common": "0.2.8", + "@backstage/plugin-tech-insights-node": "0.3.6", + "@backstage/plugin-tech-radar": "0.5.18", + "@backstage/plugin-techdocs": "1.4.0", + "@backstage/plugin-techdocs-addons-test-utils": "1.0.6", + "@backstage/plugin-techdocs-backend": "1.4.1", + "@backstage/plugin-techdocs-module-addons-contrib": "1.0.6", + "@backstage/plugin-techdocs-node": "1.4.2", + "@backstage/plugin-techdocs-react": "1.0.6", + "@backstage/plugin-todo": "0.2.13", + "@backstage/plugin-todo-backend": "0.1.35", + "@backstage/plugin-user-settings": "0.5.1", + "@backstage/plugin-user-settings-backend": "0.1.2", + "@backstage/plugin-vault": "0.1.5", + "@backstage/plugin-vault-backend": "0.2.4", + "@backstage/plugin-xcmetrics": "0.2.31" + }, + "changesets": [ + "angry-dingos-lick", + "angry-trees-relax", + "chilly-ads-lay", + "clean-paws-fry", + "clever-pillows-drive", + "clever-rivers-obey", + "create-app-1669131574", + "early-hairs-switch", + "early-parrots-guess", + "fair-walls-talk", + "fast-lies-remain", + "fluffy-walls-approve", + "four-adults-provide", + "funny-numbers-compete", + "gold-icons-cheat", + "gorgeous-hairs-applaud", + "hip-stingrays-kneel", + "itchy-walls-boil", + "modern-mugs-shout", + "new-bugs-march", + "nine-ears-whisper", + "old-keys-leave", + "renovate-3fe8460", + "renovate-4bb70f3", + "renovate-778b2fa", + "rich-garlics-play", + "search-heavy-frogs-confess", + "search-om-manniskan-ginge", + "serious-windows-occur", + "silly-wolves-remember", + "slow-dragons-promise", + "soft-nails-arrive", + "sour-flowers-care", + "sour-plums-grow", + "tender-parrots-cover", + "thin-donuts-join", + "twelve-meals-smell", + "twenty-dodos-wash", + "weak-ears-jam", + "young-turkeys-relax" + ] +} diff --git a/.changeset/renovate-a5f7839.md b/.changeset/renovate-a5f7839.md new file mode 100644 index 0000000000..d1ab22e04a --- /dev/null +++ b/.changeset/renovate-a5f7839.md @@ -0,0 +1,5 @@ +--- +'@backstage/config-loader': patch +--- + +Updated dependency `typescript-json-schema` to `^0.55.0`. diff --git a/.changeset/rich-balloons-leave.md b/.changeset/rich-balloons-leave.md new file mode 100644 index 0000000000..bb6832a681 --- /dev/null +++ b/.changeset/rich-balloons-leave.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +Added the ability to understand Job Artifact URLs to the GitLab integration diff --git a/.changeset/rich-garlics-play.md b/.changeset/rich-garlics-play.md new file mode 100644 index 0000000000..5589a70e35 --- /dev/null +++ b/.changeset/rich-garlics-play.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-kubernetes-backend': patch +'@backstage/plugin-kubernetes-common': patch +--- + +Added Kubernetes proxy API route to backend Kubernetes plugin, allowing Backstage plugin developers to read/write new information from Kubernetes (if proper credentials are provided). diff --git a/.changeset/stupid-gifts-serve.md b/.changeset/stupid-gifts-serve.md new file mode 100644 index 0000000000..3110a1976c --- /dev/null +++ b/.changeset/stupid-gifts-serve.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch +--- + +Fix repo:push topic not matching `BitbucketCloudEventRouter`. diff --git a/.changeset/tender-colts-greet.md b/.changeset/tender-colts-greet.md new file mode 100644 index 0000000000..ff59bf0bea --- /dev/null +++ b/.changeset/tender-colts-greet.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-openapi': patch +--- + +Enabled support of resolving `$refs` in all kind of yaml documents, not only OpenAPI. This implicitly adds `$ref` resolving support for AsyncAPI specs. Thus, the `openApiPlaceholderResolver` has been renamed to `jsonSchemaRefPlaceholderResolver`. diff --git a/.changeset/tender-parrots-cover.md b/.changeset/tender-parrots-cover.md new file mode 100644 index 0000000000..5272fcbdce --- /dev/null +++ b/.changeset/tender-parrots-cover.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs-module-addons-contrib': patch +--- + +Use `app.title` from `app-config.yaml` when creating new Documentation Feedback issue. `Backstage` is the default value. diff --git a/.changeset/yellow-forks-knock.md b/.changeset/yellow-forks-knock.md new file mode 100644 index 0000000000..98c4b5b675 --- /dev/null +++ b/.changeset/yellow-forks-knock.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-cost-insights': patch +--- + +Making a possibility to hide a trending line in a cost insights plugin diff --git a/.eslintrc.js b/.eslintrc.js index 6d07fab291..675a834efb 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -50,5 +50,191 @@ module.exports = { 'testing-library/no-await-sync-query': 'error', 'testing-library/prefer-wait-for': 'error', 'testing-library/no-dom-import': 'error', + 'testing-library/no-wait-for-side-effects': 'error', + 'testing-library/no-wait-for-empty-callback': 'error', + 'no-restricted-globals': [ + 'error', + [ + 'blur', + 'captureEvents', + 'chrome', + 'clientInformation', + 'close', + 'closed', + 'createImageBitmap', + 'crypto', + 'customElements', + 'defaultstatus', + 'defaultStatus', + 'devicePixelRatio', + 'external', + 'find', + 'focus', + 'frameElement', + 'frames', + 'getComputedStyle', + 'getSelection', + 'indexedDB', + 'innerHeight', + 'innerWidth', + 'isSecureContext', + 'length', + 'location', + 'locationbar', + 'matchMedia', + 'menubar', + 'moveBy', + 'moveTo', + 'name', + 'navigator', + 'onabort', + 'onafterprint', + 'onanimationend', + 'onanimationiteration', + 'onanimationstart', + 'onappinstalled', + 'onauxclick', + 'onbeforeinstallprompt', + 'onbeforeprint', + 'onbeforeunload', + 'onblur', + 'oncancel', + 'oncanplay', + 'oncanplaythrough', + 'onchange', + 'onclick', + 'onclose', + 'oncontextmenu', + 'oncuechange', + 'ondblclick', + 'ondevicemotion', + 'ondeviceorientation', + 'ondeviceorientationabsolute', + 'ondrag', + 'ondragend', + 'ondragenter', + 'ondragleave', + 'ondragover', + 'ondragstart', + 'ondrop', + 'ondurationchange', + 'onemptied', + 'onended', + 'onerror', + 'onfocus', + 'ongotpointercapture', + 'onhashchange', + 'oninput', + 'oninvalid', + 'onkeydown', + 'onkeypress', + 'onkeyup', + 'onlanguagechange', + 'onload', + 'onloadeddata', + 'onloadedmetadata', + 'onloadstart', + 'onlostpointercapture', + 'onmessage', + 'onmessageerror', + 'onmousedown', + 'onmouseenter', + 'onmouseleave', + 'onmousemove', + 'onmouseout', + 'onmouseover', + 'onmouseup', + 'onmousewheel', + 'onoffline', + 'ononline', + 'onpagehide', + 'onpageshow', + 'onpause', + 'onplay', + 'onplaying', + 'onpointercancel', + 'onpointerdown', + 'onpointerenter', + 'onpointerleave', + 'onpointermove', + 'onpointerout', + 'onpointerover', + 'onpointerup', + 'onpopstate', + 'onprogress', + 'onratechange', + 'onrejectionhandled', + 'onreset', + 'onresize', + 'onscroll', + 'onsearch', + 'onseeked', + 'onseeking', + 'onselect', + 'onstalled', + 'onstorage', + 'onsubmit', + 'onsuspend', + 'ontimeupdate', + 'ontoggle', + 'ontransitionend', + 'onunhandledrejection', + 'onunload', + 'onvolumechange', + 'onwaiting', + 'onwebkitanimationend', + 'onwebkitanimationiteration', + 'onwebkitanimationstart', + 'onwebkittransitionend', + 'onwheel', + 'open', + 'openDatabase', + 'opener', + 'origin', + 'outerHeight', + 'outerWidth', + 'pageXOffset', + 'pageYOffset', + 'parent', + 'performance', + 'personalbar', + 'postMessage', + 'print', + 'releaseEvents', + 'resizeBy', + 'resizeTo', + 'screen', + 'screenLeft', + 'screenTop', + 'screenX', + 'screenY', + 'scroll', + 'scrollbars', + 'scrollBy', + 'scrollTo', + 'scrollX', + 'scrollY', + 'self', + 'speechSynthesis', + 'status', + 'statusbar', + 'stop', + 'styleMedia', + 'toolbar', + 'top', + 'visualViewport', + 'webkitRequestFileSystem', + 'webkitResolveLocalFileSystemURL', + 'webkitStorageInfo', + ].map(function f(name) { + return { + name: name, + message: + 'Avoid using implicitly global variables. Use e.g. window.' + + name + + ' instead if this was your intent.', + }; + }), + ].flat(), }, }; diff --git a/.github/ISSUE_TEMPLATE/feature.yaml b/.github/ISSUE_TEMPLATE/feature.yaml index 9cac5055f1..b5e06d48cf 100644 --- a/.github/ISSUE_TEMPLATE/feature.yaml +++ b/.github/ISSUE_TEMPLATE/feature.yaml @@ -41,7 +41,7 @@ body: attributes: label: '🏢 Have you read the Code of Conduct?' options: - - label: 'I have read the [Contributing Guidelines](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)' + - label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)' required: true - type: dropdown id: willing-to-submit-pr diff --git a/.github/ISSUE_TEMPLATE/plugin.yaml b/.github/ISSUE_TEMPLATE/plugin.yaml index 9f3a708b41..a36c427981 100644 --- a/.github/ISSUE_TEMPLATE/plugin.yaml +++ b/.github/ISSUE_TEMPLATE/plugin.yaml @@ -39,7 +39,7 @@ body: attributes: label: '🏢 Have you read the Code of Conduct?' options: - - label: 'I have read the [Contributing Guidelines](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)' + - label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)' required: true - type: dropdown id: willing-to-submit-pr diff --git a/.github/vale/Vocab/Backstage/accept.txt b/.github/vale/Vocab/Backstage/accept.txt index f2b3ac0b09..bba59094e3 100644 --- a/.github/vale/Vocab/Backstage/accept.txt +++ b/.github/vale/Vocab/Backstage/accept.txt @@ -126,6 +126,7 @@ github Gitiles gitlab GitLab +globals Gource Grafana graphql @@ -409,3 +410,4 @@ Zolotusky zoomable zsh Lainfiesta +allowlisted diff --git a/.github/workflows/automate_merge_message.yml b/.github/workflows/automate_merge_message.yml index 7ad4aa8fdd..c376f7d0f3 100644 --- a/.github/workflows/automate_merge_message.yml +++ b/.github/workflows/automate_merge_message.yml @@ -25,7 +25,7 @@ jobs: steps: - uses: actions/checkout@v3 with: - ref: '${{ github.event.pull_request.head.sha }}' + ref: '${{ github.event.pull_request.merge_commit_sha }}' - name: fetch base run: git fetch --depth 1 origin ${{ github.event.pull_request.base.sha }} @@ -36,7 +36,7 @@ jobs: run: | rm -f generate.js wget -O generate.js https://raw.githubusercontent.com/backstage/backstage/master/scripts/generate-merge-message.js 1>&2 - node generate.js FETCH_HEAD > message.txt + node generate.js ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} > message.txt - name: Post Message uses: actions/github-script@v6 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eef5058690..7cc5874184 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,7 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} @@ -63,7 +63,7 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} @@ -181,7 +181,7 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml index 4629d656ce..2d28c242ee 100644 --- a/.github/workflows/cron.yml +++ b/.github/workflows/cron.yml @@ -8,7 +8,7 @@ jobs: cron: runs-on: ubuntu-latest steps: - - uses: backstage/actions/cron@v0.5.7 + - uses: backstage/actions/cron@v0.5.8 with: app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }} private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }} diff --git a/.github/workflows/deploy_docker-image.yml b/.github/workflows/deploy_docker-image.yml index e5564f141f..f5dc164737 100644 --- a/.github/workflows/deploy_docker-image.yml +++ b/.github/workflows/deploy_docker-image.yml @@ -44,7 +44,7 @@ jobs: - name: find location of global yarn cache id: yarn-cache if: steps.cache-modules.outputs.cache-hit != 'true' - run: echo "::set-output name=dir::$(yarn cache dir)" + run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT - name: cache global yarn cache uses: actions/cache@v3 diff --git a/.github/workflows/deploy_nightly.yml b/.github/workflows/deploy_nightly.yml index 360a74e012..053f3db621 100644 --- a/.github/workflows/deploy_nightly.yml +++ b/.github/workflows/deploy_nightly.yml @@ -26,7 +26,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/deploy_packages.yml b/.github/workflows/deploy_packages.yml index 1d03c210cd..1ee10e83d3 100644 --- a/.github/workflows/deploy_packages.yml +++ b/.github/workflows/deploy_packages.yml @@ -67,7 +67,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} @@ -145,7 +145,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/issue.yaml b/.github/workflows/issue.yaml index a42b9b6f7b..e7582bd788 100644 --- a/.github/workflows/issue.yaml +++ b/.github/workflows/issue.yaml @@ -10,4 +10,4 @@ jobs: if: github.repository == 'backstage/backstage' steps: - name: Issue sync - uses: backstage/actions/issue-sync@v0.5.7 + uses: backstage/actions/issue-sync@v0.5.8 diff --git a/.github/workflows/pr-review-comment.yaml b/.github/workflows/pr-review-comment.yaml index 6104a802d9..e3988a898d 100644 --- a/.github/workflows/pr-review-comment.yaml +++ b/.github/workflows/pr-review-comment.yaml @@ -33,9 +33,9 @@ jobs: } const prNumber = artifact.name.slice('pr_number-'.length) - console.log(`::set-output name=pr-number::${prNumber}`); + core.setOutput('pr-number', prNumber); - - uses: backstage/actions/re-review@v0.5.7 + - uses: backstage/actions/re-review@v0.5.8 with: app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }} private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 4ab7da8e07..54fcf2e74b 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -18,7 +18,7 @@ jobs: if: github.repository == 'backstage/backstage' && ( github.event.pull_request || github.event.issue.pull_request ) steps: - name: PR sync - uses: backstage/actions/pr-sync@v0.5.7 + uses: backstage/actions/pr-sync@v0.5.8 with: github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }} app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }} diff --git a/.github/workflows/sync_code-formatting.yml b/.github/workflows/sync_code-formatting.yml index 2113efe924..45c84e298a 100644 --- a/.github/workflows/sync_code-formatting.yml +++ b/.github/workflows/sync_code-formatting.yml @@ -20,7 +20,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/sync_snyk-github-issues.yml b/.github/workflows/sync_snyk-github-issues.yml index c1fb727c33..7b01757ba7 100644 --- a/.github/workflows/sync_snyk-github-issues.yml +++ b/.github/workflows/sync_snyk-github-issues.yml @@ -23,7 +23,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/verify_docs-quality.yml b/.github/workflows/verify_docs-quality.yml index 736f09571f..dc1d942e32 100644 --- a/.github/workflows/verify_docs-quality.yml +++ b/.github/workflows/verify_docs-quality.yml @@ -18,7 +18,7 @@ jobs: # also contains an "--config=.github/vale/config.ini" option - name: generate vale args id: generate - run: echo "::set-output name=args::$(node scripts/check-docs-quality.js --ci-args)" + run: echo "args=$(node scripts/check-docs-quality.js --ci-args)" >> $GITHUB_OUTPUT - name: documentation quality check uses: errata-ai/vale-action@v2.0.1 diff --git a/.github/workflows/verify_e2e-linux.yml b/.github/workflows/verify_e2e-linux.yml index a84b315e33..8d296041b7 100644 --- a/.github/workflows/verify_e2e-linux.yml +++ b/.github/workflows/verify_e2e-linux.yml @@ -52,7 +52,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/verify_kubernetes.yml b/.github/workflows/verify_kubernetes.yml index b92deb96ac..a50f817020 100644 --- a/.github/workflows/verify_kubernetes.yml +++ b/.github/workflows/verify_kubernetes.yml @@ -28,12 +28,12 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} - name: bootstrap kind - uses: helm/kind-action@v1.3.0 + uses: helm/kind-action@v1.4.0 - name: kubernetes test working-directory: packages/backend-common diff --git a/.github/workflows/verify_storybook.yml b/.github/workflows/verify_storybook.yml index 4fe39fe244..b3bd850937 100644 --- a/.github/workflows/verify_storybook.yml +++ b/.github/workflows/verify_storybook.yml @@ -35,7 +35,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} - name: storybook yarn install diff --git a/docs/deployment/docker.md b/docs/deployment/docker.md index 30276a97ab..88c22afb9b 100644 --- a/docs/deployment/docker.md +++ b/docs/deployment/docker.md @@ -275,6 +275,11 @@ browser at `http://localhost:7007` ## Separate Frontend +> NOTE: This is an optional step, and you will lose out on the features of the +> `@backstage/plugin-app-backend` plugin. Most notably the frontend configuration +> will no longer be injected by the backend, you will instead need to use the +> correct configuration when building the frontend bundle. + It is sometimes desirable to serve the frontend separately from the backend, either from a separate image or for example a static file serving provider. The first step in doing so is to remove the `app-backend` plugin from the backend diff --git a/docs/releases/v1.9.0-next.0-changelog.md b/docs/releases/v1.9.0-next.0-changelog.md new file mode 100644 index 0000000000..690bf60ceb --- /dev/null +++ b/docs/releases/v1.9.0-next.0-changelog.md @@ -0,0 +1,2305 @@ +# Release v1.9.0-next.0 + +## @backstage/catalog-client@1.2.0-next.0 + +### Minor Changes + +- 00d90b520a: **BREAKING PRODUCERS**: Added a new `getEntitiesByRefs` endpoint to `CatalogApi`, for efficient batch fetching of entities by ref. + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/repo-tools@0.1.0-next.0 + +### Minor Changes + +- 99713fd671: Introducing repo-tools package + +### Patch Changes + +- Updated dependencies + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend@1.6.0-next.0 + +### Minor Changes + +- 16891a212c: Added new `POST /entities/by-refs` endpoint, which allows you to efficiently + batch-fetch entities by their entity ref. This can be useful e.g. in graphql + resolvers or similar contexts where you need to fetch many entities at the same + time. + +### Patch Changes + +- d8593ce0e6: Do not use deprecated `LocationSpec` from the `@backstage/plugin-catalog-node` package +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- e982f77fe3: Registered shutdown hook in experimental catalog plugin. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-scaffolder-common@1.2.3-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-events-backend@0.2.0-next.0 + +### Minor Changes + +- cf41eedf43: **BREAKING:** Remove required field `router` at `HttpPostIngressEventPublisher.fromConfig` + and replace it with `bind(router: Router)`. + Additionally, the path prefix `/http` will be added inside `HttpPostIngressEventPublisher`. + + ```diff + // at packages/backend/src/plugins/events.ts + const eventsRouter = Router(); + - const httpRouter = Router(); + - eventsRouter.use('/http', httpRouter); + + const http = HttpPostIngressEventPublisher.fromConfig({ + config: env.config, + logger: env.logger, + - router: httpRouter, + }); + + http.bind(eventsRouter); + ``` + +### Patch Changes + +- cf41eedf43: Introduce a new interface `RequestDetails` to abstract `Request` + providing access to request body and headers. + + **BREAKING:** Replace `request: Request` with `request: RequestDetails` at `RequestValidator`. + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-events-node@0.2.0-next.0 + +### Minor Changes + +- cf41eedf43: Introduce a new interface `RequestDetails` to abstract `Request` + providing access to request body and headers. + + **BREAKING:** Replace `request: Request` with `request: RequestDetails` at `RequestValidator`. + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/plugin-scaffolder@1.9.0-next.0 + +### Minor Changes + +- ddd1c3308d: Implement Custom Field Explorer to view and play around with available installed custom field extensions +- adb1b01e32: Adds the ability to supply a `transformErrors` function to the `Stepper` for `/next` + +### Patch Changes + +- d4d07cf55e: Enabling the customization of the last step in the scaffolder template. + + To override the content you have to do the next: + + ```typescript jsx + + ``` + +- ef803022f1: Initialize all `formData` in the `Stepper` in `/next` + +- 3280711113: Updated dependency `msw` to `^0.49.0`. + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. + +- a63e2df559: fixed `headerOptions` not passed to `TemplatePage` component + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + - @backstage/plugin-scaffolder-common@1.2.3-next.0 + +## @backstage/plugin-user-settings@0.6.0-next.0 + +### Minor Changes + +- 29bdda5442: Added the ability to fully customize settings page. Deprecated UserSettingsTab in favour of SettingsLayout.Route + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/app-defaults@1.0.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-permission-react@0.4.8-next.0 + +## @backstage/backend-app-api@0.2.4-next.0 + +### Patch Changes + +- d6dbf1792b: Added `lifecycleFactory` implementation. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/backend-common@0.16.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- dfc8edf9c5: Internal refactor to avoid usage of deprecated symbols. +- Updated dependencies + - @backstage/config-loader@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/backend-defaults@0.1.4-next.0 + +### Patch Changes + +- d6dbf1792b: Added `lifecycleFactory` to default service factories. +- Updated dependencies + - @backstage/backend-app-api@0.2.4-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/backend-plugin-api@0.1.5-next.0 + +### Patch Changes + +- d6dbf1792b: Added initial support for registering shutdown hooks via `lifecycleServiceRef`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/backend-tasks@0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/backend-test-utils@0.1.31-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/cli@0.21.2-next.0 + - @backstage/backend-app-api@0.2.4-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/catalog-model@1.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/cli@0.21.2-next.0 + +### Patch Changes + +- 91d050c140: changed tests created by create-plugin to follow eslint-rules best practices particularly testing-library/prefer-screen-queries and testing-library/render-result-naming-convention +- 459a3457e1: Bump `msw` version in default plugin/app templates +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/config-loader@1.1.7-next.0 + - @backstage/release-manifests@0.0.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/config@1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + +## @backstage/config-loader@1.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/core-app-api@1.2.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/version-bridge@1.0.2 + +## @backstage/core-components@0.12.1-next.0 + +### Patch Changes + +- ea4a5be8f3: Create a variable for minimum height and add a prop named 'fit' for determining if the graph height should grow or be contained. +- 64a579a998: Add items prop to SupportButton. This prop can be used to override the items that would otherwise be grabbed from the config. +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- 17a8e32f39: Updated dependency `rc-progress` to `3.4.1`. +- dfc8edf9c5: Internal refactor to avoid usage of deprecated symbols. +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + +## @backstage/core-plugin-api@1.1.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/version-bridge@1.0.2 + +## @backstage/create-app@0.4.35-next.0 + +### Patch Changes + +- Bumped create-app version. +- Updated dependencies + - @backstage/cli-common@0.1.10 + +## @backstage/dev-utils@1.0.9-next.0 + +### Patch Changes + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/app-defaults@1.0.9-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/errors@1.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + +## @backstage/integration@1.4.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 34b039ca9f: Added `integrations.github.apps.allowedInstallationOwners` to the configuration schema. +- Updated dependencies + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/integration-react@1.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @backstage/release-manifests@0.0.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. + +## @techdocs/cli@1.2.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-techdocs-node@1.4.3-next.0 + +## @backstage/test-utils@1.2.3-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-permission-react@0.4.8-next.0 + +## @backstage/types@1.0.2-next.0 + +### Patch Changes + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. + +## @backstage/plugin-adr@0.2.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-adr-common@0.2.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + +## @backstage/plugin-adr-backend@0.2.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-adr-common@0.2.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-adr-common@0.2.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-airbrake@0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/dev-utils@1.0.9-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-airbrake-backend@0.2.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-allure@0.1.28-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-analytics-module-ga@0.1.23-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-apache-airflow@0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + +## @backstage/plugin-api-docs@0.8.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-apollo-explorer@0.1.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-app-backend@0.3.39-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config-loader@1.1.7-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-auth-backend@0.17.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-auth-node@0.2.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-azure-devops@0.2.3-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-azure-devops-common@0.3.0 + +## @backstage/plugin-azure-devops-backend@0.3.18-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-azure-devops-common@0.3.0 + +## @backstage/plugin-azure-sites@0.1.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-azure-sites-common@0.1.0 + +## @backstage/plugin-azure-sites-backend@0.1.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-azure-sites-common@0.1.0 + +## @backstage/plugin-badges@0.2.36-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-badges-backend@0.1.33-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-bazaar@0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/cli@0.21.2-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-bazaar-backend@0.2.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-bitbucket-cloud-common@0.2.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/integration@1.4.1-next.0 + +## @backstage/plugin-bitrise@0.1.39-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-catalog@1.6.2-next.0 + +### Patch Changes + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- 387d1d5218: Fixed Entity kind pluralisation in the `CatalogKindHeader` component. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + +## @backstage/plugin-catalog-backend-module-aws@0.1.12-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-azure@0.1.10-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-bitbucket@0.2.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.1.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + +## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-gerrit@0.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-github@0.2.2-next.0 + +### Patch Changes + +- 70fa5ec3ec: Fixes the assignment of group member references in `GithubMultiOrgProcessor` so membership relations are resolved correctly. +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 754b5854df: Fix incorrectly exported GithubOrgEntityProvider as a type +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-gitlab@0.1.10-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-ldap@0.5.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-msgraph@0.4.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-catalog-backend-module-openapi@0.1.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-catalog-common@1.0.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-catalog-graph@0.2.24-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-catalog-graphql@0.3.16-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-catalog-import@0.9.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + +## @backstage/plugin-catalog-node@1.2.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + +## @backstage/plugin-catalog-react@1.2.2-next.0 + +### Patch Changes + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + +## @backstage/plugin-cicd-statistics@0.1.14-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + +## @backstage/plugin-cicd-statistics-module-gitlab@0.1.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/plugin-cicd-statistics@0.1.14-next.0 + +## @backstage/plugin-circleci@0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-cloudbuild@0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-code-climate@0.1.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-code-coverage@0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-code-coverage-backend@0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-codescene@0.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 17a8e32f39: Updated dependency `rc-progress` to `3.4.1`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-config-schema@0.1.35-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-cost-insights@0.12.1-next.0 + +### Patch Changes + +- f9bbb3be37: Provide the ability to change the base currency from USD to any other currency in cost insights plugin +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-cost-insights-common@0.1.1 + +## @backstage/plugin-dynatrace@1.0.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-events-backend-module-aws-sqs@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-events-backend-module-azure@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/plugin-events-backend-module-bitbucket-cloud@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/plugin-events-backend-module-gerrit@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/plugin-events-backend-module-github@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/plugin-events-backend-module-gitlab@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/plugin-events-backend-test-utils@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + +## @backstage/plugin-explore@0.3.43-next.0 + +### Patch Changes + +- ea4a5be8f3: Adds styling to graph forcing it to always fill out the available space. +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-explore-react@0.0.24-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-explore-react@0.0.24-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + +## @backstage/plugin-firehydrant@0.1.29-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-fossa@0.2.44-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-gcalendar@0.3.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-gcp-projects@0.3.31-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-git-release-manager@0.3.25-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-github-actions@0.5.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-github-deployments@0.1.43-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-github-issues@0.2.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-github-pull-requests-board@0.1.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-gitops-profiles@0.3.30-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-gocd@0.1.18-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-graphiql@0.2.44-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-graphql-backend@0.1.29-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-catalog-graphql@0.3.16-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-home@0.4.28-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-stack-overflow@0.1.8-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-ilert@0.2.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-jenkins@0.7.11-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-jenkins-common@0.1.11-next.0 + +## @backstage/plugin-jenkins-backend@0.1.29-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-jenkins-common@0.1.11-next.0 + +## @backstage/plugin-jenkins-common@0.1.11-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + +## @backstage/plugin-kafka@0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-kafka-backend@0.2.32-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-kubernetes@0.7.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/plugin-kubernetes-common@0.4.5-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-kubernetes-backend@0.8.1-next.0 + +### Patch Changes + +- b585179770: Added Kubernetes proxy API route to backend Kubernetes plugin, allowing Backstage plugin developers to read/write new information from Kubernetes (if proper credentials are provided). +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-kubernetes-common@0.4.5-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-kubernetes-common@0.4.5-next.0 + +### Patch Changes + +- b585179770: Added Kubernetes proxy API route to backend Kubernetes plugin, allowing Backstage plugin developers to read/write new information from Kubernetes (if proper credentials are provided). +- Updated dependencies + - @backstage/catalog-model@1.1.4-next.0 + +## @backstage/plugin-lighthouse@0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-newrelic@0.3.30-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-newrelic-dashboard@0.2.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-org@0.6.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-org-react@0.1.1-next.0 + +### Patch Changes + +- 4cb5066828: Bug fixes and adding the possibility to add a default value for the `GroupListPicker`. Fixes: Vertical size jump on text entry, left align for text, selecting a value closes the popup, auto focus on the popup when opening +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-pagerduty@0.5.5-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-periskop@0.1.10-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-periskop-backend@0.1.10-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-permission-backend@0.5.14-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-permission-common@0.7.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-permission-node@0.7.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-permission-react@0.4.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-playlist@0.1.3-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + - @backstage/plugin-playlist-common@0.1.3-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + +## @backstage/plugin-playlist-backend@0.2.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-playlist-common@0.1.3-next.0 + +## @backstage/plugin-playlist-common@0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + +## @backstage/plugin-proxy-backend@0.2.33-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-rollbar@0.4.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-rollbar-backend@0.1.36-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-scaffolder-backend@1.8.1-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- 26404430bc: Use Json types from @backstage/types +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-scaffolder-common@1.2.3-next.0 + +## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.14-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-scaffolder-backend-module-rails@0.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-scaffolder-backend-module-yeoman@0.2.12-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-scaffolder-common@1.2.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + +## @backstage/plugin-search@1.0.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + +## @backstage/plugin-search-backend@1.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-search-backend-module-elasticsearch@1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-search-backend-module-pg@0.4.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-search-backend-node@1.0.5-next.0 + +### Patch Changes + +- a962ce0551: Wait for indexer initialization before finalizing indexing. +- 683ced83f6: Fixed a bug that could cause a `max listeners exceeded warning` to be logged when more than 10 collators were running simultaneously. +- 81b1e7b0fe: Updated indexer and decorator base classes to take advantage of features introduced in Node.js v16; be sure you are running a [supported version of Node.js](https://backstage.io/docs/releases/v1.8.0#node-16-and-18). +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-search-common@1.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + +## @backstage/plugin-search-react@1.2.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-sentry@0.4.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-shortcuts@0.3.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-sonarqube@0.5.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 17a8e32f39: Updated dependency `rc-progress` to `3.4.1`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-sonarqube-backend@0.1.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-splunk-on-call@0.4.1-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-stack-overflow@0.1.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-home@0.4.28-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-stack-overflow-backend@0.1.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/cli@0.21.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-tech-insights@0.3.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + +## @backstage/plugin-tech-insights-backend@0.5.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + - @backstage/plugin-tech-insights-node@0.3.7-next.0 + +## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.23-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + - @backstage/plugin-tech-insights-node@0.3.7-next.0 + +## @backstage/plugin-tech-insights-common@0.2.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + +## @backstage/plugin-tech-insights-node@0.3.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + +## @backstage/plugin-tech-radar@0.5.19-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-techdocs@1.4.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + +## @backstage/plugin-techdocs-addons-test-utils@1.0.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/plugin-techdocs@1.4.1-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-search-react@1.2.2-next.0 + +## @backstage/plugin-techdocs-backend@1.4.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-techdocs-node@1.4.3-next.0 + +## @backstage/plugin-techdocs-module-addons-contrib@1.0.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 8536e7c281: Use `app.title` from `app-config.yaml` when creating new Documentation Feedback issue. `Backstage` is the default value. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-techdocs-node@1.4.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-techdocs-react@1.0.7-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/version-bridge@1.0.2 + +## @backstage/plugin-todo@0.2.14-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-todo-backend@0.1.36-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-user-settings-backend@0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-vault@0.1.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-vault-backend@0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 7a3d2688ed: Use `express-promise-router` to catch errors properly. + Add `403` error as a known one. It will now return a `NotAllowed` error. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-xcmetrics@0.2.32-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## example-app@0.2.78-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-graph@0.2.24-next.0 + - @backstage/plugin-pagerduty@0.5.5-next.0 + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/plugin-scaffolder@1.9.0-next.0 + - @backstage/cli@0.21.2-next.0 + - @backstage/plugin-cost-insights@0.12.1-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/plugin-user-settings@0.6.0-next.0 + - @backstage/plugin-explore@0.3.43-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/plugin-airbrake@0.3.12-next.0 + - @backstage/plugin-apache-airflow@0.2.5-next.0 + - @backstage/plugin-api-docs@0.8.12-next.0 + - @backstage/plugin-azure-devops@0.2.3-next.0 + - @backstage/plugin-azure-sites@0.1.1-next.0 + - @backstage/plugin-badges@0.2.36-next.0 + - @backstage/plugin-catalog-import@0.9.2-next.0 + - @backstage/plugin-circleci@0.3.12-next.0 + - @backstage/plugin-cloudbuild@0.3.12-next.0 + - @backstage/plugin-code-coverage@0.2.5-next.0 + - @backstage/plugin-dynatrace@1.0.2-next.0 + - @backstage/plugin-gcalendar@0.3.8-next.0 + - @backstage/plugin-gcp-projects@0.3.31-next.0 + - @backstage/plugin-github-actions@0.5.12-next.0 + - @backstage/plugin-gocd@0.1.18-next.0 + - @backstage/plugin-graphiql@0.2.44-next.0 + - @backstage/plugin-home@0.4.28-next.0 + - @backstage/plugin-jenkins@0.7.11-next.0 + - @backstage/plugin-kafka@0.3.12-next.0 + - @backstage/plugin-kubernetes@0.7.5-next.0 + - @backstage/plugin-lighthouse@0.3.12-next.0 + - @backstage/plugin-newrelic@0.3.30-next.0 + - @backstage/plugin-org@0.6.1-next.0 + - @backstage/plugin-playlist@0.1.3-next.0 + - @backstage/plugin-rollbar@0.4.12-next.0 + - @backstage/plugin-search@1.0.5-next.0 + - @backstage/plugin-sentry@0.4.5-next.0 + - @backstage/plugin-shortcuts@0.3.4-next.0 + - @backstage/plugin-stack-overflow@0.1.8-next.0 + - @backstage/plugin-tech-insights@0.3.4-next.0 + - @backstage/plugin-tech-radar@0.5.19-next.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.0.7-next.0 + - @backstage/plugin-techdocs@1.4.1-next.0 + - @backstage/plugin-todo@0.2.14-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/app-defaults@1.0.9-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-newrelic-dashboard@0.2.5-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + - @internal/plugin-catalog-customized@0.0.5-next.0 + +## example-backend@0.2.78-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/plugin-events-backend@0.2.0-next.0 + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-app-backend@0.3.39-next.0 + - @backstage/plugin-auth-backend@0.17.2-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-azure-devops-backend@0.3.18-next.0 + - @backstage/plugin-azure-sites-backend@0.1.1-next.0 + - @backstage/plugin-code-coverage-backend@0.2.5-next.0 + - @backstage/plugin-graphql-backend@0.1.29-next.0 + - @backstage/plugin-jenkins-backend@0.1.29-next.0 + - @backstage/plugin-permission-backend@0.5.14-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/plugin-playlist-backend@0.2.2-next.0 + - @backstage/plugin-proxy-backend@0.2.33-next.0 + - @backstage/plugin-rollbar-backend@0.1.36-next.0 + - @backstage/plugin-techdocs-backend@1.4.2-next.0 + - @backstage/plugin-todo-backend@0.1.36-next.0 + - @backstage/plugin-kubernetes-backend@0.8.1-next.0 + - example-app@0.2.78-next.0 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.7-next.0 + - @backstage/plugin-badges-backend@0.1.33-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/plugin-tech-insights-backend@0.5.5-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-kafka-backend@0.2.32-next.0 + - @backstage/plugin-search-backend@1.1.2-next.0 + - @backstage/plugin-search-backend-module-elasticsearch@1.0.5-next.0 + - @backstage/plugin-search-backend-module-pg@0.4.3-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.23-next.0 + - @backstage/plugin-tech-insights-node@0.3.7-next.0 + +## example-backend-next@0.0.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/plugin-app-backend@0.3.39-next.0 + - @backstage/backend-defaults@0.1.4-next.0 + +## techdocs-cli-embedded-app@0.2.77-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/cli@0.21.2-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/plugin-techdocs@1.4.1-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/app-defaults@1.0.9-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @internal/plugin-catalog-customized@0.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + +## @internal/plugin-todo-list@1.0.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @internal/plugin-todo-list-backend@1.0.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @internal/plugin-todo-list-common@1.0.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 diff --git a/microsite/data/plugins/azure-spring-apps.yml b/microsite/data/plugins/azure-spring-apps.yml new file mode 100644 index 0000000000..cefb0e2824 --- /dev/null +++ b/microsite/data/plugins/azure-spring-apps.yml @@ -0,0 +1,10 @@ +--- +title: 'Azure Spring Apps' +author: Enfuse +authorUrl: https://enfuse.io/ +category: Discovery +description: Easily view your Azure Spring Apps service resources +documentation: https://github.com/enfuse/asae-backstage-plugin/blob/main/README.md +iconUrl: img/azure-spring-apps.png +npmPackageName: '@enfuse/plugin-azure-spring-apps' +addedDate: '2022-11-21' diff --git a/microsite/static/img/enfuse.png b/microsite/static/img/enfuse.png new file mode 100644 index 0000000000..42124a4a24 Binary files /dev/null and b/microsite/static/img/enfuse.png differ diff --git a/microsite/yarn.lock b/microsite/yarn.lock index 1fa6e492cb..f0e6bd698a 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -7393,11 +7393,11 @@ __metadata: linkType: hard "prettier@npm:^2.6.2": - version: 2.7.1 - resolution: "prettier@npm:2.7.1" + version: 2.8.0 + resolution: "prettier@npm:2.8.0" bin: prettier: bin-prettier.js - checksum: 55a4409182260866ab31284d929b3cb961e5fdb91fe0d2e099dac92eaecec890f36e524b4c19e6ceae839c99c6d7195817579cdffc8e2c80da0cb794463a748b + checksum: 72004ce0cc9bb097daf3e3833f62495768724392c1d5b178dd47372337616e9e50ecbb0804f236596223f7b5eb1bbe69cefc8957dca21112c5777e77ef73a564 languageName: node linkType: hard diff --git a/package.json b/package.json index d40e7dfbc0..2d2d5f335b 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "@types/react": "^17", "@types/react-dom": "^17" }, - "version": "1.8.0", + "version": "1.9.0-next.0", "dependencies": { "@backstage/errors": "workspace:^", "@manypkg/get-packages": "^1.1.3" diff --git a/packages/app-defaults/CHANGELOG.md b/packages/app-defaults/CHANGELOG.md index ebe8519740..ab34404847 100644 --- a/packages/app-defaults/CHANGELOG.md +++ b/packages/app-defaults/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/app-defaults +## 1.0.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-permission-react@0.4.8-next.0 + ## 1.0.8 ### Patch Changes diff --git a/packages/app-defaults/package.json b/packages/app-defaults/package.json index e89757d925..10cbea0824 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.8", + "version": "1.0.9-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index 69860075a1..2d7cce1b6d 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -1,5 +1,68 @@ # example-app +## 0.2.78-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-graph@0.2.24-next.0 + - @backstage/plugin-pagerduty@0.5.5-next.0 + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/plugin-scaffolder@1.9.0-next.0 + - @backstage/cli@0.21.2-next.0 + - @backstage/plugin-cost-insights@0.12.1-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/plugin-user-settings@0.6.0-next.0 + - @backstage/plugin-explore@0.3.43-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/plugin-airbrake@0.3.12-next.0 + - @backstage/plugin-apache-airflow@0.2.5-next.0 + - @backstage/plugin-api-docs@0.8.12-next.0 + - @backstage/plugin-azure-devops@0.2.3-next.0 + - @backstage/plugin-azure-sites@0.1.1-next.0 + - @backstage/plugin-badges@0.2.36-next.0 + - @backstage/plugin-catalog-import@0.9.2-next.0 + - @backstage/plugin-circleci@0.3.12-next.0 + - @backstage/plugin-cloudbuild@0.3.12-next.0 + - @backstage/plugin-code-coverage@0.2.5-next.0 + - @backstage/plugin-dynatrace@1.0.2-next.0 + - @backstage/plugin-gcalendar@0.3.8-next.0 + - @backstage/plugin-gcp-projects@0.3.31-next.0 + - @backstage/plugin-github-actions@0.5.12-next.0 + - @backstage/plugin-gocd@0.1.18-next.0 + - @backstage/plugin-graphiql@0.2.44-next.0 + - @backstage/plugin-home@0.4.28-next.0 + - @backstage/plugin-jenkins@0.7.11-next.0 + - @backstage/plugin-kafka@0.3.12-next.0 + - @backstage/plugin-kubernetes@0.7.5-next.0 + - @backstage/plugin-lighthouse@0.3.12-next.0 + - @backstage/plugin-newrelic@0.3.30-next.0 + - @backstage/plugin-org@0.6.1-next.0 + - @backstage/plugin-playlist@0.1.3-next.0 + - @backstage/plugin-rollbar@0.4.12-next.0 + - @backstage/plugin-search@1.0.5-next.0 + - @backstage/plugin-sentry@0.4.5-next.0 + - @backstage/plugin-shortcuts@0.3.4-next.0 + - @backstage/plugin-stack-overflow@0.1.8-next.0 + - @backstage/plugin-tech-insights@0.3.4-next.0 + - @backstage/plugin-tech-radar@0.5.19-next.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.0.7-next.0 + - @backstage/plugin-techdocs@1.4.1-next.0 + - @backstage/plugin-todo@0.2.14-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/app-defaults@1.0.9-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-newrelic-dashboard@0.2.5-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + - @internal/plugin-catalog-customized@0.0.5-next.0 + ## 0.2.77 ### Patch Changes diff --git a/packages/app/package.json b/packages/app/package.json index 9978a0d515..171151f843 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "example-app", - "version": "0.2.77", + "version": "0.2.78-next.0", "private": true, "backstage": { "role": "frontend" diff --git a/packages/backend-app-api/CHANGELOG.md b/packages/backend-app-api/CHANGELOG.md index 15e4a6942d..22f29c3fd2 100644 --- a/packages/backend-app-api/CHANGELOG.md +++ b/packages/backend-app-api/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/backend-app-api +## 0.2.4-next.0 + +### Patch Changes + +- d6dbf1792b: Added `lifecycleFactory` implementation. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.3 ### Patch Changes diff --git a/packages/backend-app-api/package.json b/packages/backend-app-api/package.json index c25105fc6c..75517acad1 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.2.3", + "version": "0.2.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-common/CHANGELOG.md b/packages/backend-common/CHANGELOG.md index ca2fca26dc..66f505399d 100644 --- a/packages/backend-common/CHANGELOG.md +++ b/packages/backend-common/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/backend-common +## 0.16.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- dfc8edf9c5: Internal refactor to avoid usage of deprecated symbols. +- Updated dependencies + - @backstage/config-loader@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.16.0 ### Minor Changes diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index 07694f3ea6..9fadc0aeb7 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.16.0", + "version": "0.16.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-common/src/reading/GitlabUrlReader.test.ts b/packages/backend-common/src/reading/GitlabUrlReader.test.ts index 012f8978ae..518e2efadc 100644 --- a/packages/backend-common/src/reading/GitlabUrlReader.test.ts +++ b/packages/backend-common/src/reading/GitlabUrlReader.test.ts @@ -574,4 +574,86 @@ describe('GitlabUrlReader', () => { ).rejects.toThrow(NotModifiedError); }); }); + + describe('getGitlabFetchUrl', () => { + beforeEach(() => { + worker.use( + rest.get( + '*/api/v4/projects/group%2Fsubgroup%2Fproject', + (_, res, ctx) => res(ctx.status(200), ctx.json({ id: 12345 })), + ), + ); + }); + it('should fall back to getGitLabFileFetchUrl for blob urls', async () => { + await expect( + (gitlabProcessor as any).getGitlabFetchUrl( + 'https://gitlab.com/group/subgroup/project/-/blob/branch/my/path/to/file.yaml', + ), + ).resolves.toEqual( + 'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yaml/raw?ref=branch', + ); + }); + it('should work for job artifact urls', async () => { + await expect( + (gitlabProcessor as any).getGitlabFetchUrl( + 'https://gitlab.com/group/subgroup/project/-/jobs/artifacts/branch/raw/my/path/to/file.yaml?job=myJob', + ), + ).resolves.toEqual( + 'https://gitlab.com/api/v4/projects/12345/jobs/artifacts/branch/raw/my/path/to/file.yaml?job=myJob', + ); + }); + it('should fail on unfamiliar or non-Gitlab urls', async () => { + await expect( + (gitlabProcessor as any).getGitlabFetchUrl( + 'https://gitlab.com/some/random/endpoint', + ), + ).rejects.toThrow('Please provide full path to yaml file from GitLab'); + }); + }); + + describe('getGitlabArtifactFetchUrl', () => { + beforeEach(() => { + worker.use( + rest.get( + '*/api/v4/projects/group%2Fsubgroup%2Fproject', + (_, res, ctx) => res(ctx.status(200), ctx.json({ id: 12345 })), + ), + ); + worker.use( + rest.get( + '*/api/v4/projects/groupA%2Fsubgroup%2Fproject', + (_, res, ctx) => res(ctx.status(404)), + ), + ); + }); + it('should reject urls that are not for the job artifacts API', async () => { + await expect( + (gitlabProcessor as any).getGitlabArtifactFetchUrl( + new URL('https://gitlab.com/some/url'), + ), + ).rejects.toThrow('Unable to process url as an GitLab artifact'); + }); + it('should work for job artifact urls', async () => { + await expect( + (gitlabProcessor as any).getGitlabArtifactFetchUrl( + new URL( + 'https://gitlab.com/group/subgroup/project/-/jobs/artifacts/branch/raw/my/path/to/file.yaml?job=myJob', + ), + ), + ).resolves.toEqual( + new URL( + 'https://gitlab.com/api/v4/projects/12345/jobs/artifacts/branch/raw/my/path/to/file.yaml?job=myJob', + ), + ); + }); + it('errors in mapping the project ID should be captured', async () => { + await expect( + (gitlabProcessor as any).getGitlabArtifactFetchUrl( + new URL( + 'https://gitlab.com/groupA/subgroup/project/-/jobs/artifacts/branch/raw/my/path/to/file.yaml?job=myJob', + ), + ), + ).rejects.toThrow(/^Unable to translate GitLab artifact URL:/); + }); + }); }); diff --git a/packages/backend-common/src/reading/GitlabUrlReader.ts b/packages/backend-common/src/reading/GitlabUrlReader.ts index eaa15a7208..522e81cd2f 100644 --- a/packages/backend-common/src/reading/GitlabUrlReader.ts +++ b/packages/backend-common/src/reading/GitlabUrlReader.ts @@ -73,7 +73,7 @@ export class GitlabUrlReader implements UrlReader { options?: ReadUrlOptions, ): Promise { const { etag, signal } = options ?? {}; - const builtUrl = await getGitLabFileFetchUrl(url, this.integration.config); + const builtUrl = await this.getGitlabFetchUrl(url); let response: Response; try { @@ -256,4 +256,66 @@ export class GitlabUrlReader implements UrlReader { const { host, token } = this.integration.config; return `gitlab{host=${host},authed=${Boolean(token)}}`; } + + private async getGitlabFetchUrl(target: string): Promise { + // If the target is for a job artifact then go down that path + const targetUrl = new URL(target); + if (targetUrl.pathname.includes('/-/jobs/artifacts/')) { + return this.getGitlabArtifactFetchUrl(targetUrl).then(value => + value.toString(), + ); + } + // Default to the old behavior of assuming the url is for a file + return getGitLabFileFetchUrl(target, this.integration.config); + } + + // convert urls of the form: + // https://example.com///-/jobs/artifacts//raw/?job= + // to urls of the form: + // https://example.com/api/v4/projects/:id/jobs/artifacts/:ref_name/raw/*artifact_path?job= + private async getGitlabArtifactFetchUrl(target: URL): Promise { + if (!target.pathname.includes('/-/jobs/artifacts/')) { + throw new Error('Unable to process url as an GitLab artifact'); + } + try { + const [namespaceAndProject, ref] = + target.pathname.split('/-/jobs/artifacts/'); + const projectPath = new URL(target); + projectPath.pathname = namespaceAndProject; + const projectId = await this.resolveProjectToId(projectPath); + const relativePath = getGitLabIntegrationRelativePath( + this.integration.config, + ); + const newUrl = new URL(target); + newUrl.pathname = `${relativePath}/api/v4/projects/${projectId}/jobs/artifacts/${ref}`; + return newUrl; + } catch (e) { + throw new Error( + `Unable to translate GitLab artifact URL: ${target}, ${e}`, + ); + } + } + + private async resolveProjectToId(pathToProject: URL): Promise { + let project = pathToProject.pathname; + // Check relative path exist and remove it if so + const relativePath = getGitLabIntegrationRelativePath( + this.integration.config, + ); + if (relativePath) { + project = project.replace(relativePath, ''); + } + // Trim an initial / if it exists + project = project.replace(/^\//, ''); + const result = await fetch( + `${ + pathToProject.origin + }${relativePath}/api/v4/projects/${encodeURIComponent(project)}`, + ); + const data = await result.json(); + if (!result.ok) { + throw new Error(`Gitlab error: ${data.error}, ${data.error_description}`); + } + return Number(data.id); + } } diff --git a/packages/backend-common/src/scm/git.ts b/packages/backend-common/src/scm/git.ts index 0c9252cb64..ea28ffb9b2 100644 --- a/packages/backend-common/src/scm/git.ts +++ b/packages/backend-common/src/scm/git.ts @@ -179,7 +179,7 @@ export class Git { }); } catch (ex) { this.config.logger?.error( - `Failed to fetch repo {dir=${dir},origin=${origin}}`, + `Failed to fetch repo {dir=${dir},remote=${remote}}`, ); if (ex.data) { throw new Error(`${ex.message} {data=${JSON.stringify(ex.data)}}`); diff --git a/packages/backend-defaults/CHANGELOG.md b/packages/backend-defaults/CHANGELOG.md index 1ba1c02e1c..270e946880 100644 --- a/packages/backend-defaults/CHANGELOG.md +++ b/packages/backend-defaults/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/backend-defaults +## 0.1.4-next.0 + +### Patch Changes + +- d6dbf1792b: Added `lifecycleFactory` to default service factories. +- Updated dependencies + - @backstage/backend-app-api@0.2.4-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + ## 0.1.3 ### Patch Changes diff --git a/packages/backend-defaults/package.json b/packages/backend-defaults/package.json index 8561f3c5d3..74d0b726e5 100644 --- a/packages/backend-defaults/package.json +++ b/packages/backend-defaults/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-defaults", "description": "Backend defaults used by Backstage backend apps", - "version": "0.1.3", + "version": "0.1.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-next/CHANGELOG.md b/packages/backend-next/CHANGELOG.md index e117ef1120..e8957375cd 100644 --- a/packages/backend-next/CHANGELOG.md +++ b/packages/backend-next/CHANGELOG.md @@ -1,5 +1,15 @@ # example-backend-next +## 0.0.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/plugin-app-backend@0.3.39-next.0 + - @backstage/backend-defaults@0.1.4-next.0 + ## 0.0.5 ### Patch Changes diff --git a/packages/backend-next/package.json b/packages/backend-next/package.json index 3219adb21f..b8b26d6e61 100644 --- a/packages/backend-next/package.json +++ b/packages/backend-next/package.json @@ -1,6 +1,6 @@ { "name": "example-backend-next", - "version": "0.0.5", + "version": "0.0.6-next.0", "main": "dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/backend-plugin-api/CHANGELOG.md b/packages/backend-plugin-api/CHANGELOG.md index 2a2cc35141..b33b7ec9a4 100644 --- a/packages/backend-plugin-api/CHANGELOG.md +++ b/packages/backend-plugin-api/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/backend-plugin-api +## 0.1.5-next.0 + +### Patch Changes + +- d6dbf1792b: Added initial support for registering shutdown hooks via `lifecycleServiceRef`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.1.4 ### Patch Changes diff --git a/packages/backend-plugin-api/package.json b/packages/backend-plugin-api/package.json index 0eee8d8d2f..2e9c0aa6ec 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.4", + "version": "0.1.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-tasks/CHANGELOG.md b/packages/backend-tasks/CHANGELOG.md index 365bcb28ad..3276c0d453 100644 --- a/packages/backend-tasks/CHANGELOG.md +++ b/packages/backend-tasks/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/backend-tasks +## 0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.3.7 ### Patch Changes diff --git a/packages/backend-tasks/package.json b/packages/backend-tasks/package.json index b28355a7d6..1e209a4d10 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.7", + "version": "0.3.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-test-utils/CHANGELOG.md b/packages/backend-test-utils/CHANGELOG.md index 5422015003..77de87b476 100644 --- a/packages/backend-test-utils/CHANGELOG.md +++ b/packages/backend-test-utils/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/backend-test-utils +## 0.1.31-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/cli@0.21.2-next.0 + - @backstage/backend-app-api@0.2.4-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.1.30 ### Patch Changes diff --git a/packages/backend-test-utils/package.json b/packages/backend-test-utils/package.json index b5f2113196..6dde2fe3d4 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.30", + "version": "0.1.31-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md index 4b72814000..d30c720c73 100644 --- a/packages/backend/CHANGELOG.md +++ b/packages/backend/CHANGELOG.md @@ -1,5 +1,51 @@ # example-backend +## 0.2.78-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/plugin-events-backend@0.2.0-next.0 + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-app-backend@0.3.39-next.0 + - @backstage/plugin-auth-backend@0.17.2-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-azure-devops-backend@0.3.18-next.0 + - @backstage/plugin-azure-sites-backend@0.1.1-next.0 + - @backstage/plugin-code-coverage-backend@0.2.5-next.0 + - @backstage/plugin-graphql-backend@0.1.29-next.0 + - @backstage/plugin-jenkins-backend@0.1.29-next.0 + - @backstage/plugin-permission-backend@0.5.14-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/plugin-playlist-backend@0.2.2-next.0 + - @backstage/plugin-proxy-backend@0.2.33-next.0 + - @backstage/plugin-rollbar-backend@0.1.36-next.0 + - @backstage/plugin-techdocs-backend@1.4.2-next.0 + - @backstage/plugin-todo-backend@0.1.36-next.0 + - @backstage/plugin-kubernetes-backend@0.8.1-next.0 + - example-app@0.2.78-next.0 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.7-next.0 + - @backstage/plugin-badges-backend@0.1.33-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/plugin-tech-insights-backend@0.5.5-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-kafka-backend@0.2.32-next.0 + - @backstage/plugin-search-backend@1.1.2-next.0 + - @backstage/plugin-search-backend-module-elasticsearch@1.0.5-next.0 + - @backstage/plugin-search-backend-module-pg@0.4.3-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.23-next.0 + - @backstage/plugin-tech-insights-node@0.3.7-next.0 + ## 0.2.77 ### Patch Changes diff --git a/packages/backend/package.json b/packages/backend/package.json index 8162293228..e7d2d5d7b7 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -1,6 +1,6 @@ { "name": "example-backend", - "version": "0.2.77", + "version": "0.2.78-next.0", "main": "dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/catalog-client/CHANGELOG.md b/packages/catalog-client/CHANGELOG.md index ff2f42799f..71f05de695 100644 --- a/packages/catalog-client/CHANGELOG.md +++ b/packages/catalog-client/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/catalog-client +## 1.2.0-next.0 + +### Minor Changes + +- 00d90b520a: **BREAKING PRODUCERS**: Added a new `getEntitiesByRefs` endpoint to `CatalogApi`, for efficient batch fetching of entities by ref. + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + ## 1.1.2 ### Patch Changes diff --git a/packages/catalog-client/package.json b/packages/catalog-client/package.json index 3506fddf9a..6093d6a891 100644 --- a/packages/catalog-client/package.json +++ b/packages/catalog-client/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/catalog-client", "description": "An isomorphic client for the catalog backend", - "version": "1.1.2", + "version": "1.2.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/catalog-model/CHANGELOG.md b/packages/catalog-model/CHANGELOG.md index c9f5b8f098..0383ec3194 100644 --- a/packages/catalog-model/CHANGELOG.md +++ b/packages/catalog-model/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/catalog-model +## 1.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 1.1.3 ### Patch Changes diff --git a/packages/catalog-model/package.json b/packages/catalog-model/package.json index 5eaed7c679..4127936c26 100644 --- a/packages/catalog-model/package.json +++ b/packages/catalog-model/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/catalog-model", "description": "Types and validators that help describe the model of a Backstage Catalog", - "version": "1.1.3", + "version": "1.1.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 035e8b3d2d..8902ec60b6 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/cli +## 0.21.2-next.0 + +### Patch Changes + +- 91d050c140: changed tests created by create-plugin to follow eslint-rules best practices particularly testing-library/prefer-screen-queries and testing-library/render-result-naming-convention +- 459a3457e1: Bump `msw` version in default plugin/app templates +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/config-loader@1.1.7-next.0 + - @backstage/release-manifests@0.0.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.21.0 ### Minor Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index bc40051f52..1bba3b41a9 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.21.0", + "version": "0.21.2-next.0", "publishConfig": { "access": "public" }, diff --git a/packages/config-loader/CHANGELOG.md b/packages/config-loader/CHANGELOG.md index 84fa76e097..e079cb345b 100644 --- a/packages/config-loader/CHANGELOG.md +++ b/packages/config-loader/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/config-loader +## 1.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 1.1.6 ### Patch Changes diff --git a/packages/config-loader/package.json b/packages/config-loader/package.json index fce901f47d..5a128cd0b6 100644 --- a/packages/config-loader/package.json +++ b/packages/config-loader/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/config-loader", "description": "Config loading functionality used by Backstage backend, and CLI", - "version": "1.1.6", + "version": "1.1.7-next.0", "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -45,7 +45,7 @@ "json-schema-merge-allof": "^0.8.1", "json-schema-traverse": "^1.0.0", "node-fetch": "^2.6.7", - "typescript-json-schema": "^0.54.0", + "typescript-json-schema": "^0.55.0", "yaml": "^2.0.0", "yup": "^0.32.9" }, diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md index 5523d7efc6..cc4d1571ee 100644 --- a/packages/config/CHANGELOG.md +++ b/packages/config/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/config +## 1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + ## 1.0.4 ### Patch Changes diff --git a/packages/config/package.json b/packages/config/package.json index bf322e15af..274e7f016e 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/config", "description": "Config API used by Backstage core, backend, and CLI", - "version": "1.0.4", + "version": "1.0.5-next.0", "publishConfig": { "access": "public", "main": "dist/index.cjs.js", diff --git a/packages/core-app-api/CHANGELOG.md b/packages/core-app-api/CHANGELOG.md index 6e5d88ffae..63bb4511a1 100644 --- a/packages/core-app-api/CHANGELOG.md +++ b/packages/core-app-api/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/core-app-api +## 1.2.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/version-bridge@1.0.2 + ## 1.2.0 ### Minor Changes diff --git a/packages/core-app-api/package.json b/packages/core-app-api/package.json index c7a0329a9f..1c15f7d6f5 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.2.0", + "version": "1.2.1-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.test.ts b/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.test.ts index 6fa46db7c9..5993543c33 100644 --- a/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.test.ts +++ b/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.test.ts @@ -89,6 +89,6 @@ describe('AppIdentityProxy', () => { }); await proxy.signOut(); - expect(location.href).toBe('/foo'); + expect(window.location.href).toBe('/foo'); }); }); diff --git a/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.ts b/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.ts index 2df351bc18..4a51444879 100644 --- a/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.ts +++ b/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.ts @@ -124,6 +124,6 @@ export class AppIdentityProxy implements IdentityApi { async signOut(): Promise { await this.waitForTarget.then(target => target.signOut()); - location.href = this.signOutTargetUrl; + window.location.href = this.signOutTargetUrl; } } diff --git a/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.ts b/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.ts index a467957063..988c9f17b1 100644 --- a/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.ts +++ b/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.ts @@ -154,7 +154,7 @@ export class DefaultAuthConnector const scope = this.joinScopesFunc(scopes); const popupUrl = await this.buildUrl('/start', { scope, - origin: location.origin, + origin: window.location.origin, }); const payload = await showLoginPopup({ diff --git a/packages/core-app-api/src/routing/FeatureFlagged.test.tsx b/packages/core-app-api/src/routing/FeatureFlagged.test.tsx index 410540f77e..8ee74c0a23 100644 --- a/packages/core-app-api/src/routing/FeatureFlagged.test.tsx +++ b/packages/core-app-api/src/routing/FeatureFlagged.test.tsx @@ -16,7 +16,7 @@ import React from 'react'; import { FeatureFlagged } from './FeatureFlagged'; -import { render } from '@testing-library/react'; +import { render, screen } from '@testing-library/react'; import { LocalStorageFeatureFlags } from '../apis'; import { TestApiProvider } from '@backstage/test-utils'; import { featureFlagsApiRef } from '@backstage/core-plugin-api'; @@ -35,7 +35,7 @@ describe('FeatureFlagged', () => { .spyOn(mockFeatureFlagsApi, 'isActive') .mockImplementation(() => true); - const { queryByText } = render( + render(
@@ -45,14 +45,14 @@ describe('FeatureFlagged', () => { , ); - expect(queryByText('BACKSTAGE!')).toBeInTheDocument(); + expect(screen.getByText('BACKSTAGE!')).toBeInTheDocument(); }); it('should not render contents when the feature flag is disabled', async () => { jest .spyOn(mockFeatureFlagsApi, 'isActive') .mockImplementation(() => false); - const { queryByText } = render( + render(
@@ -62,7 +62,7 @@ describe('FeatureFlagged', () => { , ); - expect(queryByText('BACKSTAGE!')).not.toBeInTheDocument(); + expect(screen.queryByText('BACKSTAGE!')).not.toBeInTheDocument(); }); }); describe('without', () => { @@ -71,7 +71,7 @@ describe('FeatureFlagged', () => { .spyOn(mockFeatureFlagsApi, 'isActive') .mockImplementation(() => true); - const { queryByText } = render( + render(
@@ -81,14 +81,14 @@ describe('FeatureFlagged', () => { , ); - expect(queryByText('BACKSTAGE!')).not.toBeInTheDocument(); + expect(screen.queryByText('BACKSTAGE!')).not.toBeInTheDocument(); }); it('should render contents when the feature flag is disabled', async () => { jest .spyOn(mockFeatureFlagsApi, 'isActive') .mockImplementation(() => false); - const { queryByText } = render( + render(
@@ -98,7 +98,7 @@ describe('FeatureFlagged', () => { , ); - expect(queryByText('BACKSTAGE!')).toBeInTheDocument(); + expect(screen.getByText('BACKSTAGE!')).toBeInTheDocument(); }); }); }); diff --git a/packages/core-components/CHANGELOG.md b/packages/core-components/CHANGELOG.md index dc0df7cd2b..051dc9a67d 100644 --- a/packages/core-components/CHANGELOG.md +++ b/packages/core-components/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/core-components +## 0.12.1-next.0 + +### Patch Changes + +- ea4a5be8f3: Create a variable for minimum height and add a prop named 'fit' for determining if the graph height should grow or be contained. +- 64a579a998: Add items prop to SupportButton. This prop can be used to override the items that would otherwise be grabbed from the config. +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- 17a8e32f39: Updated dependency `rc-progress` to `3.4.1`. +- dfc8edf9c5: Internal refactor to avoid usage of deprecated symbols. +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + ## 0.12.0 ### Minor Changes diff --git a/packages/core-components/package.json b/packages/core-components/package.json index af46c2b859..11aebfbc0f 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.12.0", + "version": "0.12.1-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/core-components/src/components/AlertDisplay/AlertDisplay.test.tsx b/packages/core-components/src/components/AlertDisplay/AlertDisplay.test.tsx index 477057f31b..c366082b46 100644 --- a/packages/core-components/src/components/AlertDisplay/AlertDisplay.test.tsx +++ b/packages/core-components/src/components/AlertDisplay/AlertDisplay.test.tsx @@ -15,6 +15,7 @@ */ import React from 'react'; +import { screen } from '@testing-library/react'; import { AlertDisplay } from './AlertDisplay'; import { alertApiRef } from '@backstage/core-plugin-api'; import { AlertApiForwarder } from '@backstage/core-app-api'; @@ -34,7 +35,7 @@ describe('', () => { }); it('renders with message', async () => { - const { queryByText } = await renderInTestApp( + await renderInTestApp( ', () => { , ); - expect(queryByText(TEST_MESSAGE)).toBeInTheDocument(); + expect(screen.getByText(TEST_MESSAGE)).toBeInTheDocument(); }); describe('with multiple messages', () => { @@ -73,23 +74,23 @@ describe('', () => { ] as const; it('renders first message', async () => { - const { queryByText } = await renderInTestApp( + await renderInTestApp( , ); - expect(queryByText('message one')).toBeInTheDocument(); + expect(screen.getByText('message one')).toBeInTheDocument(); }); it('renders a count of remaining messages', async () => { - const { queryByText } = await renderInTestApp( + await renderInTestApp( , ); - expect(queryByText('(2 older messages)')).toBeInTheDocument(); + expect(screen.getByText('(2 older messages)')).toBeInTheDocument(); }); }); }); diff --git a/packages/core-components/src/components/HorizontalScrollGrid/HorizontalScrollGrid.tsx b/packages/core-components/src/components/HorizontalScrollGrid/HorizontalScrollGrid.tsx index 8c5dc4d530..4ab49596fe 100644 --- a/packages/core-components/src/components/HorizontalScrollGrid/HorizontalScrollGrid.tsx +++ b/packages/core-components/src/components/HorizontalScrollGrid/HorizontalScrollGrid.tsx @@ -155,7 +155,7 @@ function useScrollDistance( return [scrollLeft, scrollRight]; } -// Used to animate scrolling. Returns a single setScrollTarger function, when called with e.g. 200, +// Used to animate scrolling. Returns a single setScrollTarget function, when called with e.g. 200, // the element pointer to by the ref will be scrolled 200px forwards over time. function useSmoothScroll( ref: React.MutableRefObject, @@ -169,7 +169,7 @@ function useSmoothScroll( return; } - const startTime = performance.now(); + const startTime = window.performance.now(); const id = requestAnimationFrame(frameTime => { if (!ref.current) { return; diff --git a/packages/core-components/src/components/LogViewer/RealLogViewer.test.tsx b/packages/core-components/src/components/LogViewer/RealLogViewer.test.tsx index b56279a53f..dd707778e1 100644 --- a/packages/core-components/src/components/LogViewer/RealLogViewer.test.tsx +++ b/packages/core-components/src/components/LogViewer/RealLogViewer.test.tsx @@ -60,11 +60,11 @@ describe('RealLogViewer', () => { await userEvent.keyboard('{shift>}{enter}{/shift}'); expect(rendered.getByText('3/3')).toBeInTheDocument(); - expect(rendered.queryByText('Some Log Line')).toBeInTheDocument(); + expect(rendered.getByText('Some Log Line')).toBeInTheDocument(); await userEvent.keyboard('{meta>}{enter}{/meta}'); expect(rendered.queryByText('Some Log Line')).not.toBeInTheDocument(); await userEvent.keyboard('{meta>}{enter}{/meta}'); - expect(rendered.queryByText('Some Log Line')).toBeInTheDocument(); + expect(rendered.getByText('Some Log Line')).toBeInTheDocument(); // Tab down to line #2 and click await userEvent.tab(); diff --git a/packages/core-components/src/components/SupportButton/SupportButton.test.tsx b/packages/core-components/src/components/SupportButton/SupportButton.test.tsx index 2907b24702..6b0e239aa5 100644 --- a/packages/core-components/src/components/SupportButton/SupportButton.test.tsx +++ b/packages/core-components/src/components/SupportButton/SupportButton.test.tsx @@ -14,15 +14,15 @@ * limitations under the License. */ -import React from 'react'; -import { fireEvent, screen } from '@testing-library/react'; +import { configApiRef } from '@backstage/core-plugin-api'; import { MockConfigApi, renderInTestApp, TestApiProvider, } from '@backstage/test-utils'; +import { act, fireEvent, screen } from '@testing-library/react'; +import React from 'react'; import { SupportButton } from './SupportButton'; -import { configApiRef } from '@backstage/core-plugin-api'; const configApi = new MockConfigApi({ app: { @@ -45,8 +45,9 @@ const POPOVER_ID = 'support-button-popover'; describe('', () => { it('renders without exploding', async () => { await renderInTestApp(); - - expect(screen.getByTestId(SUPPORT_BUTTON_ID)).toBeInTheDocument(); + await expect( + screen.findByTestId(SUPPORT_BUTTON_ID), + ).resolves.toBeInTheDocument(); }); it('supports passing a title', async () => { @@ -96,11 +97,13 @@ describe('', () => { it('shows popover on click', async () => { await renderInTestApp(); - const supportButton = screen.getByTestId(SUPPORT_BUTTON_ID); - expect(supportButton).toBeInTheDocument(); + await expect( + screen.findByTestId(SUPPORT_BUTTON_ID), + ).resolves.toBeInTheDocument(); + await act(async () => { + fireEvent.click(screen.getByTestId(SUPPORT_BUTTON_ID)); + }); - fireEvent.click(supportButton); - - expect(screen.getByTestId(POPOVER_ID)).toBeInTheDocument(); + await expect(screen.findByTestId(POPOVER_ID)).resolves.toBeInTheDocument(); }); }); diff --git a/packages/core-components/src/components/TabbedLayout/RoutedTabs.test.tsx b/packages/core-components/src/components/TabbedLayout/RoutedTabs.test.tsx index 15b00937a0..bbdb901f33 100644 --- a/packages/core-components/src/components/TabbedLayout/RoutedTabs.test.tsx +++ b/packages/core-components/src/components/TabbedLayout/RoutedTabs.test.tsx @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { renderInTestApp } from '@backstage/test-utils'; import { act, fireEvent } from '@testing-library/react'; import React from 'react'; @@ -65,14 +66,14 @@ describe('RoutedTabs', () => { expect(rendered.queryByText('tabbed-test-content')).not.toBeInTheDocument(); expect(rendered.getByText('tabbed-test-title-2')).toBeInTheDocument(); - expect(rendered.queryByText('tabbed-test-content-2')).toBeInTheDocument(); + expect(rendered.getByText('tabbed-test-content-2')).toBeInTheDocument(); const thirdTab = rendered.queryAllByRole('tab')[2]; act(() => { fireEvent.click(thirdTab); }); expect(rendered.getByText('tabbed-test-title-3')).toBeInTheDocument(); - expect(rendered.queryByText('tabbed-test-content-3')).toBeInTheDocument(); + expect(rendered.getByText('tabbed-test-content-3')).toBeInTheDocument(); }); describe('correctly delegates nested links', () => { @@ -113,9 +114,9 @@ describe('RoutedTabs', () => { expect( rendered.queryByText('tabbed-test-content'), ).not.toBeInTheDocument(); - expect(rendered.queryByText('tabbed-test-content-2')).toBeInTheDocument(); + expect(rendered.getByText('tabbed-test-content-2')).toBeInTheDocument(); expect( - rendered.queryByText('tabbed-test-nested-content-2'), + rendered.getByText('tabbed-test-nested-content-2'), ).toBeInTheDocument(); }); @@ -125,7 +126,7 @@ describe('RoutedTabs', () => { expect( rendered.queryByText('tabbed-test-content'), ).not.toBeInTheDocument(); - expect(rendered.queryByText('tabbed-test-content-2')).toBeInTheDocument(); + expect(rendered.getByText('tabbed-test-content-2')).toBeInTheDocument(); expect( rendered.queryByText('tabbed-test-nested-content-2'), ).not.toBeInTheDocument(); @@ -142,7 +143,7 @@ describe('RoutedTabs', () => { expect(rendered.queryByText('tabbed-test-content')).not.toBeInTheDocument(); expect(rendered.getByText('tabbed-test-title-2')).toBeInTheDocument(); - expect(rendered.queryByText('tabbed-test-content-2')).toBeInTheDocument(); + expect(rendered.getByText('tabbed-test-content-2')).toBeInTheDocument(); }); it('redirects to the top level when no route is matching the url', async () => { diff --git a/packages/core-components/src/components/TabbedLayout/TabbedLayout.test.tsx b/packages/core-components/src/components/TabbedLayout/TabbedLayout.test.tsx index e103fc2f46..b84a7f262d 100644 --- a/packages/core-components/src/components/TabbedLayout/TabbedLayout.test.tsx +++ b/packages/core-components/src/components/TabbedLayout/TabbedLayout.test.tsx @@ -79,6 +79,6 @@ describe('TabbedLayout', () => { expect(queryByText('tabbed-test-content')).not.toBeInTheDocument(); expect(getByText('tabbed-test-title-2')).toBeInTheDocument(); - expect(queryByText('tabbed-test-content-2')).toBeInTheDocument(); + expect(getByText('tabbed-test-content-2')).toBeInTheDocument(); }); }); diff --git a/packages/core-components/src/layout/HeaderActionMenu/HeaderActionMenu.test.tsx b/packages/core-components/src/layout/HeaderActionMenu/HeaderActionMenu.test.tsx index 92ce241aa8..b56ae3167f 100644 --- a/packages/core-components/src/layout/HeaderActionMenu/HeaderActionMenu.test.tsx +++ b/packages/core-components/src/layout/HeaderActionMenu/HeaderActionMenu.test.tsx @@ -43,7 +43,7 @@ describe('', () => { await fireEvent.click(rendered.queryByText('Some label') as Node); expect(onClickFunction).toHaveBeenCalled(); // We do not expect the dropdown to disappear after click - expect(rendered.queryByText('Some label')).toBeInTheDocument(); + expect(rendered.getByText('Some label')).toBeInTheDocument(); }); it('Disabled', async () => { @@ -80,7 +80,7 @@ describe('', () => { await fireEvent.click(rendered.queryByText('Secondary label') as Node); expect(onClickFunction).toHaveBeenCalled(); // We do not expect the dropdown to disappear after click - expect(rendered.queryByText('Some label')).toBeInTheDocument(); + expect(rendered.getByText('Some label')).toBeInTheDocument(); }); it('should close when hitting escape', async () => { diff --git a/packages/core-plugin-api/CHANGELOG.md b/packages/core-plugin-api/CHANGELOG.md index 4f71c6ca3f..2704cbcb6d 100644 --- a/packages/core-plugin-api/CHANGELOG.md +++ b/packages/core-plugin-api/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/core-plugin-api +## 1.1.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/version-bridge@1.0.2 + ## 1.1.0 ### Minor Changes diff --git a/packages/core-plugin-api/package.json b/packages/core-plugin-api/package.json index e2ae002376..56ec92b331 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.1.0", + "version": "1.1.1-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/create-app/CHANGELOG.md b/packages/create-app/CHANGELOG.md index 1b44f7dc13..e3885cc0eb 100644 --- a/packages/create-app/CHANGELOG.md +++ b/packages/create-app/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/create-app +## 0.4.35-next.0 + +### Patch Changes + +- Bumped create-app version. +- Updated dependencies + - @backstage/cli-common@0.1.10 + ## 0.4.34 ### Patch Changes diff --git a/packages/create-app/package.json b/packages/create-app/package.json index fada03dc79..406517cc89 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.34", + "version": "0.4.35-next.0", "publishConfig": { "access": "public" }, diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md index f9ba61bc5b..dec04df678 100644 --- a/packages/dev-utils/CHANGELOG.md +++ b/packages/dev-utils/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/dev-utils +## 1.0.9-next.0 + +### Patch Changes + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/app-defaults@1.0.9-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 1.0.8 ### Patch Changes diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index 08c2a2c305..bbffca2956 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.8", + "version": "1.0.9-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/errors/CHANGELOG.md b/packages/errors/CHANGELOG.md index c2ed34574e..7cc653877a 100644 --- a/packages/errors/CHANGELOG.md +++ b/packages/errors/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/errors +## 1.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + ## 1.1.3 ### Patch Changes diff --git a/packages/errors/package.json b/packages/errors/package.json index 91ec9b68b1..d9d7175890 100644 --- a/packages/errors/package.json +++ b/packages/errors/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/errors", "description": "Common utilities for error handling within Backstage", - "version": "1.1.3", + "version": "1.1.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/integration-react/CHANGELOG.md b/packages/integration-react/CHANGELOG.md index 8b0d83db82..efbce4d4e8 100644 --- a/packages/integration-react/CHANGELOG.md +++ b/packages/integration-react/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/integration-react +## 1.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + ## 1.1.6 ### Patch Changes diff --git a/packages/integration-react/package.json b/packages/integration-react/package.json index e176636fd8..f448d47b03 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.6", + "version": "1.1.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/integration/CHANGELOG.md b/packages/integration/CHANGELOG.md index 2789af6f60..f16605e90e 100644 --- a/packages/integration/CHANGELOG.md +++ b/packages/integration/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/integration +## 1.4.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 34b039ca9f: Added `integrations.github.apps.allowedInstallationOwners` to the configuration schema. +- Updated dependencies + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 1.4.0 ### Minor Changes diff --git a/packages/integration/package.json b/packages/integration/package.json index 1edeb361e6..a162cd2fea 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.4.0", + "version": "1.4.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/release-manifests/CHANGELOG.md b/packages/release-manifests/CHANGELOG.md index 148df0a1a7..e8bb4dfb07 100644 --- a/packages/release-manifests/CHANGELOG.md +++ b/packages/release-manifests/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/release-manifests +## 0.0.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. + ## 0.0.7 ### Patch Changes diff --git a/packages/release-manifests/package.json b/packages/release-manifests/package.json index 8b16e32991..2a53438bd2 100644 --- a/packages/release-manifests/package.json +++ b/packages/release-manifests/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/release-manifests", "description": "Helper library for receiving release manifests", - "version": "0.0.7", + "version": "0.0.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/repo-tools/CHANGELOG.md b/packages/repo-tools/CHANGELOG.md new file mode 100644 index 0000000000..e510cae33d --- /dev/null +++ b/packages/repo-tools/CHANGELOG.md @@ -0,0 +1,12 @@ +# @backstage/repo-tools + +## 0.1.0-next.0 + +### Minor Changes + +- 99713fd671: Introducing repo-tools package + +### Patch Changes + +- Updated dependencies + - @backstage/errors@1.1.4-next.0 diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json index bffed77cab..60f01c1840 100644 --- a/packages/repo-tools/package.json +++ b/packages/repo-tools/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/repo-tools", "description": "CLI for Backstage repo tooling ", - "version": "0.0.0", + "version": "0.1.0-next.0", "publishConfig": { "access": "public" }, diff --git a/packages/techdocs-cli-embedded-app/CHANGELOG.md b/packages/techdocs-cli-embedded-app/CHANGELOG.md index 6308ca41ad..320388fe3a 100644 --- a/packages/techdocs-cli-embedded-app/CHANGELOG.md +++ b/packages/techdocs-cli-embedded-app/CHANGELOG.md @@ -1,5 +1,24 @@ # techdocs-cli-embedded-app +## 0.2.77-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/cli@0.21.2-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/plugin-techdocs@1.4.1-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/app-defaults@1.0.9-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + ## 0.2.76 ### Patch Changes diff --git a/packages/techdocs-cli-embedded-app/package.json b/packages/techdocs-cli-embedded-app/package.json index 03794a9363..48d905f09e 100644 --- a/packages/techdocs-cli-embedded-app/package.json +++ b/packages/techdocs-cli-embedded-app/package.json @@ -1,6 +1,6 @@ { "name": "techdocs-cli-embedded-app", - "version": "0.2.76", + "version": "0.2.77-next.0", "private": true, "backstage": { "role": "frontend" diff --git a/packages/techdocs-cli/CHANGELOG.md b/packages/techdocs-cli/CHANGELOG.md index af177189a2..fafb27aabe 100644 --- a/packages/techdocs-cli/CHANGELOG.md +++ b/packages/techdocs-cli/CHANGELOG.md @@ -1,5 +1,16 @@ # @techdocs/cli +## 1.2.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-techdocs-node@1.4.3-next.0 + ## 1.2.3 ### Patch Changes diff --git a/packages/techdocs-cli/package.json b/packages/techdocs-cli/package.json index 16d9ede690..074cbe3a70 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.2.3", + "version": "1.2.4-next.0", "publishConfig": { "access": "public" }, diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md index 051b487fda..b9010b8d94 100644 --- a/packages/test-utils/CHANGELOG.md +++ b/packages/test-utils/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/test-utils +## 1.2.3-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-permission-react@0.4.8-next.0 + ## 1.2.2 ### Patch Changes diff --git a/packages/test-utils/api-report.md b/packages/test-utils/api-report.md index 38d6a85f5f..1b0aa44fc6 100644 --- a/packages/test-utils/api-report.md +++ b/packages/test-utils/api-report.md @@ -25,6 +25,7 @@ import { JsonObject } from '@backstage/types'; import { JsonValue } from '@backstage/types'; import { Observable } from '@backstage/types'; import { PermissionApi } from '@backstage/plugin-permission-react'; +import { PropsWithChildren } from 'react'; import { ReactElement } from 'react'; import { ReactNode } from 'react'; import { RenderOptions } from '@testing-library/react'; @@ -165,6 +166,11 @@ export class MockPermissionApi implements PermissionApi { ): Promise; } +// @alpha +export const MockPluginProvider: ({ + children, +}: PropsWithChildren<{}>) => JSX.Element; + // @public export class MockStorageApi implements StorageApi { // (undocumented) diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 2b6e461167..d2e7f38e60 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -1,11 +1,12 @@ { "name": "@backstage/test-utils", "description": "Utilities to test Backstage plugins and apps.", - "version": "1.2.2", + "version": "1.2.3-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", - "types": "dist/index.d.ts" + "types": "dist/index.d.ts", + "alphaTypes": "dist/index.alpha.d.ts" }, "backstage": { "role": "web-library" @@ -23,7 +24,7 @@ "main": "src/index.ts", "types": "src/index.ts", "scripts": { - "build": "backstage-cli package build", + "build": "backstage-cli package build --experimental-type-build", "lint": "backstage-cli package lint", "test": "backstage-cli package test", "prepack": "backstage-cli package prepack", @@ -60,6 +61,7 @@ "msw": "^0.49.0" }, "files": [ - "dist" + "dist", + "alpha" ] } diff --git a/packages/test-utils/src/testUtils/index.tsx b/packages/test-utils/src/testUtils/index.tsx index bfd870e2ad..1df236d92c 100644 --- a/packages/test-utils/src/testUtils/index.tsx +++ b/packages/test-utils/src/testUtils/index.tsx @@ -24,6 +24,7 @@ export { export type { TestAppOptions } from './appWrappers'; export * from './msw'; export * from './logCollector'; +export * from './providers'; export * from './testingLibrary'; export { TestApiProvider, TestApiRegistry } from './TestApiProvider'; export type { TestApiProviderProps } from './TestApiProvider'; diff --git a/packages/test-utils/src/testUtils/providers.tsx b/packages/test-utils/src/testUtils/providers.tsx new file mode 100644 index 0000000000..8bc4b5122d --- /dev/null +++ b/packages/test-utils/src/testUtils/providers.tsx @@ -0,0 +1,35 @@ +/* + * 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 React, { PropsWithChildren } from 'react'; +import { createPlugin, PluginProvider } from '@backstage/core-plugin-api'; + +/** + * Mock for PluginProvider to use in unit tests + * @alpha + */ +export const MockPluginProvider = ({ children }: PropsWithChildren<{}>) => { + type TestInputPluginOptions = {}; + type TestPluginOptions = {}; + const plugin = createPlugin({ + id: 'my-plugin', + __experimentalConfigure(_: TestInputPluginOptions): TestPluginOptions { + return {}; + }, + }); + + return {children}; +}; diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 23a136a9da..feb23c94bc 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/types +## 1.0.2-next.0 + +### Patch Changes + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. + ## 1.0.1 ### Patch Changes diff --git a/packages/types/package.json b/packages/types/package.json index eaf2723155..30746f8aaf 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/types", "description": "Common TypeScript types used within Backstage", - "version": "1.0.1", + "version": "1.0.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/version-bridge/src/lib/globalObject.ts b/packages/version-bridge/src/lib/globalObject.ts index b29e81e4a0..19b6b73ccf 100644 --- a/packages/version-bridge/src/lib/globalObject.ts +++ b/packages/version-bridge/src/lib/globalObject.ts @@ -19,7 +19,9 @@ function getGlobalObject() { if (typeof window !== 'undefined' && window.Math === Math) { return window; } + // eslint-disable-next-line no-restricted-globals if (typeof self !== 'undefined' && self.Math === Math) { + // eslint-disable-next-line no-restricted-globals return self; } // eslint-disable-next-line no-new-func diff --git a/plugins/adr-backend/CHANGELOG.md b/plugins/adr-backend/CHANGELOG.md index d63b5909a6..90c7de923f 100644 --- a/plugins/adr-backend/CHANGELOG.md +++ b/plugins/adr-backend/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-adr-backend +## 0.2.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-adr-common@0.2.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 0.2.3 ### Patch Changes diff --git a/plugins/adr-backend/package.json b/plugins/adr-backend/package.json index 7f36529dd8..b70c2f75b4 100644 --- a/plugins/adr-backend/package.json +++ b/plugins/adr-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-adr-backend", - "version": "0.2.3", + "version": "0.2.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/adr-common/CHANGELOG.md b/plugins/adr-common/CHANGELOG.md index fb97b9bcaf..68f9e933c1 100644 --- a/plugins/adr-common/CHANGELOG.md +++ b/plugins/adr-common/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-adr-common +## 0.2.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 0.2.3 ### Patch Changes diff --git a/plugins/adr-common/package.json b/plugins/adr-common/package.json index 2ed4532a15..6ea87571d6 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.2.3", + "version": "0.2.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/adr/CHANGELOG.md b/plugins/adr/CHANGELOG.md index e18d2695ba..de75bc6343 100644 --- a/plugins/adr/CHANGELOG.md +++ b/plugins/adr/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-adr +## 0.2.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-adr-common@0.2.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + ## 0.2.3 ### Patch Changes diff --git a/plugins/adr/package.json b/plugins/adr/package.json index cb490930e2..40e2c2dc0e 100644 --- a/plugins/adr/package.json +++ b/plugins/adr/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-adr", - "version": "0.2.3", + "version": "0.2.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/airbrake-backend/CHANGELOG.md b/plugins/airbrake-backend/CHANGELOG.md index 4cd5d7ea5b..ec05c2490a 100644 --- a/plugins/airbrake-backend/CHANGELOG.md +++ b/plugins/airbrake-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-airbrake-backend +## 0.2.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.2.11 ### Patch Changes diff --git a/plugins/airbrake-backend/package.json b/plugins/airbrake-backend/package.json index 16fa8e87e3..d7b988ca3a 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.11", + "version": "0.2.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/airbrake/CHANGELOG.md b/plugins/airbrake/CHANGELOG.md index b9f61927b2..e3567f8914 100644 --- a/plugins/airbrake/CHANGELOG.md +++ b/plugins/airbrake/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-airbrake +## 0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/dev-utils@1.0.9-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.3.11 ### Patch Changes diff --git a/plugins/airbrake/package.json b/plugins/airbrake/package.json index 8a3b0e5d6c..3d0c7e0050 100644 --- a/plugins/airbrake/package.json +++ b/plugins/airbrake/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-airbrake", - "version": "0.3.11", + "version": "0.3.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/allure/CHANGELOG.md b/plugins/allure/CHANGELOG.md index 09663e7363..cfce4f4918 100644 --- a/plugins/allure/CHANGELOG.md +++ b/plugins/allure/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-allure +## 0.1.28-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.1.27 ### Patch Changes diff --git a/plugins/allure/package.json b/plugins/allure/package.json index 63de535c45..a83baef5d9 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.27", + "version": "0.1.28-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/analytics-module-ga/CHANGELOG.md b/plugins/analytics-module-ga/CHANGELOG.md index 96a16a46f5..f050e0c40b 100644 --- a/plugins/analytics-module-ga/CHANGELOG.md +++ b/plugins/analytics-module-ga/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-analytics-module-ga +## 0.1.23-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + ## 0.1.22 ### Patch Changes diff --git a/plugins/analytics-module-ga/package.json b/plugins/analytics-module-ga/package.json index fc225d5a72..3219e45f97 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.22", + "version": "0.1.23-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/analytics-module-ga/src/apis/implementations/AnalyticsApi/GoogleAnalytics.ts b/plugins/analytics-module-ga/src/apis/implementations/AnalyticsApi/GoogleAnalytics.ts index ad7205983c..498b118d0d 100644 --- a/plugins/analytics-module-ga/src/apis/implementations/AnalyticsApi/GoogleAnalytics.ts +++ b/plugins/analytics-module-ga/src/apis/implementations/AnalyticsApi/GoogleAnalytics.ts @@ -241,7 +241,7 @@ export class GoogleAnalytics implements AnalyticsApi { * Simple hash function; relies on web cryptography + the sha-256 algorithm. */ private async hash(value: string): Promise { - const digest = await crypto.subtle.digest( + const digest = await window.crypto.subtle.digest( 'sha-256', new TextEncoder().encode(value), ); diff --git a/plugins/apache-airflow/CHANGELOG.md b/plugins/apache-airflow/CHANGELOG.md index a1845e0030..6d956ad4c7 100644 --- a/plugins/apache-airflow/CHANGELOG.md +++ b/plugins/apache-airflow/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-apache-airflow +## 0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + ## 0.2.4 ### Patch Changes diff --git a/plugins/apache-airflow/package.json b/plugins/apache-airflow/package.json index d510e0e561..7d2986dbf0 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.4", + "version": "0.2.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/api-docs/CHANGELOG.md b/plugins/api-docs/CHANGELOG.md index b340f3712e..cfcd72bf44 100644 --- a/plugins/api-docs/CHANGELOG.md +++ b/plugins/api-docs/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-api-docs +## 0.8.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.8.11 ### Patch Changes diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json index ac0a1f9a88..66b7667a80 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.11", + "version": "0.8.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/apollo-explorer/CHANGELOG.md b/plugins/apollo-explorer/CHANGELOG.md index e5d8786870..6187cef62e 100644 --- a/plugins/apollo-explorer/CHANGELOG.md +++ b/plugins/apollo-explorer/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-apollo-explorer +## 0.1.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + ## 0.1.4 ### Patch Changes diff --git a/plugins/apollo-explorer/package.json b/plugins/apollo-explorer/package.json index f302ad10f7..47a5ce74ca 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.4", + "version": "0.1.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/app-backend/CHANGELOG.md b/plugins/app-backend/CHANGELOG.md index f08415c4fb..c3dffbfd58 100644 --- a/plugins/app-backend/CHANGELOG.md +++ b/plugins/app-backend/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-app-backend +## 0.3.39-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config-loader@1.1.7-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.3.38 ### Patch Changes diff --git a/plugins/app-backend/package.json b/plugins/app-backend/package.json index 7fe9af0cc1..2575f7e316 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.38", + "version": "0.3.39-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/auth-backend/CHANGELOG.md b/plugins/auth-backend/CHANGELOG.md index a89be139f1..9e2ff2a229 100644 --- a/plugins/auth-backend/CHANGELOG.md +++ b/plugins/auth-backend/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-auth-backend +## 0.17.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.17.1 ### Patch Changes diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json index 1b6415c3d9..6d811e84f1 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.17.1", + "version": "0.17.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/auth-node/CHANGELOG.md b/plugins/auth-node/CHANGELOG.md index 79bcabe134..a94171bd73 100644 --- a/plugins/auth-node/CHANGELOG.md +++ b/plugins/auth-node/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-node +## 0.2.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.7 ### Patch Changes diff --git a/plugins/auth-node/package.json b/plugins/auth-node/package.json index 3dffd1479a..d62794090e 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.7", + "version": "0.2.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/azure-devops-backend/CHANGELOG.md b/plugins/azure-devops-backend/CHANGELOG.md index 3f5c5bbca5..d68a5aa89f 100644 --- a/plugins/azure-devops-backend/CHANGELOG.md +++ b/plugins/azure-devops-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-azure-devops-backend +## 0.3.18-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-azure-devops-common@0.3.0 + ## 0.3.17 ### Patch Changes diff --git a/plugins/azure-devops-backend/package.json b/plugins/azure-devops-backend/package.json index c1224f2d5a..61ae636c69 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.17", + "version": "0.3.18-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/azure-devops/CHANGELOG.md b/plugins/azure-devops/CHANGELOG.md index 3eb99ef36f..76ad3f170f 100644 --- a/plugins/azure-devops/CHANGELOG.md +++ b/plugins/azure-devops/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-azure-devops +## 0.2.3-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-azure-devops-common@0.3.0 + ## 0.2.2 ### Patch Changes diff --git a/plugins/azure-devops/package.json b/plugins/azure-devops/package.json index e702f7145b..e3a735b565 100644 --- a/plugins/azure-devops/package.json +++ b/plugins/azure-devops/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-azure-devops", - "version": "0.2.2", + "version": "0.2.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/azure-sites-backend/CHANGELOG.md b/plugins/azure-sites-backend/CHANGELOG.md index 27d237d786..7a3a1b7be1 100644 --- a/plugins/azure-sites-backend/CHANGELOG.md +++ b/plugins/azure-sites-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-azure-sites-backend +## 0.1.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-azure-sites-common@0.1.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/azure-sites-backend/package.json b/plugins/azure-sites-backend/package.json index 708a919cd1..5e88a910dd 100644 --- a/plugins/azure-sites-backend/package.json +++ b/plugins/azure-sites-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-azure-sites-backend", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/azure-sites/CHANGELOG.md b/plugins/azure-sites/CHANGELOG.md index 40bc2a2107..2cc3cedb1c 100644 --- a/plugins/azure-sites/CHANGELOG.md +++ b/plugins/azure-sites/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-azure-sites +## 0.1.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-azure-sites-common@0.1.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/azure-sites/package.json b/plugins/azure-sites/package.json index 9378c3c702..aaf9218ec0 100644 --- a/plugins/azure-sites/package.json +++ b/plugins/azure-sites/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-azure-sites", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/badges-backend/CHANGELOG.md b/plugins/badges-backend/CHANGELOG.md index 009a0a63b6..1153ed1436 100644 --- a/plugins/badges-backend/CHANGELOG.md +++ b/plugins/badges-backend/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-badges-backend +## 0.1.33-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.1.32 ### Patch Changes diff --git a/plugins/badges-backend/package.json b/plugins/badges-backend/package.json index b4f83b2ab6..9863578b50 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.32", + "version": "0.1.33-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/badges/CHANGELOG.md b/plugins/badges/CHANGELOG.md index 65528d8934..bdfa1b2c6f 100644 --- a/plugins/badges/CHANGELOG.md +++ b/plugins/badges/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-badges +## 0.2.36-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.2.35 ### Patch Changes diff --git a/plugins/badges/package.json b/plugins/badges/package.json index 252d044913..9bbaa42792 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.35", + "version": "0.2.36-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/bazaar-backend/CHANGELOG.md b/plugins/bazaar-backend/CHANGELOG.md index 64f55c9e7a..43f0e70e90 100644 --- a/plugins/bazaar-backend/CHANGELOG.md +++ b/plugins/bazaar-backend/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-bazaar-backend +## 0.2.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.1 ### Patch Changes diff --git a/plugins/bazaar-backend/package.json b/plugins/bazaar-backend/package.json index 9441d9155c..c580aa3c5f 100644 --- a/plugins/bazaar-backend/package.json +++ b/plugins/bazaar-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-bazaar-backend", - "version": "0.2.1", + "version": "0.2.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/bazaar/CHANGELOG.md b/plugins/bazaar/CHANGELOG.md index 20db63abe7..16056481ad 100644 --- a/plugins/bazaar/CHANGELOG.md +++ b/plugins/bazaar/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-bazaar +## 0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/cli@0.21.2-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.0 ### Minor Changes diff --git a/plugins/bazaar/package.json b/plugins/bazaar/package.json index 259f2bae14..54c4de670e 100644 --- a/plugins/bazaar/package.json +++ b/plugins/bazaar/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-bazaar", - "version": "0.2.0", + "version": "0.2.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/bitbucket-cloud-common/CHANGELOG.md b/plugins/bitbucket-cloud-common/CHANGELOG.md index 413d23e509..e4f0c378d4 100644 --- a/plugins/bitbucket-cloud-common/CHANGELOG.md +++ b/plugins/bitbucket-cloud-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-bitbucket-cloud-common +## 0.2.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/integration@1.4.1-next.0 + ## 0.2.1 ### Patch Changes diff --git a/plugins/bitbucket-cloud-common/package.json b/plugins/bitbucket-cloud-common/package.json index dcc558941b..3525bf9a86 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.2.1", + "version": "0.2.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/bitrise/CHANGELOG.md b/plugins/bitrise/CHANGELOG.md index 3a950d33d0..197abb1407 100644 --- a/plugins/bitrise/CHANGELOG.md +++ b/plugins/bitrise/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-bitrise +## 0.1.39-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.1.38 ### Patch Changes diff --git a/plugins/bitrise/package.json b/plugins/bitrise/package.json index 67c212137d..d99340c7c3 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.38", + "version": "0.1.39-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-aws/CHANGELOG.md b/plugins/catalog-backend-module-aws/CHANGELOG.md index 48ff05053d..21f146b562 100644 --- a/plugins/catalog-backend-module-aws/CHANGELOG.md +++ b/plugins/catalog-backend-module-aws/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-catalog-backend-module-aws +## 0.1.12-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.1.11 ### Patch Changes diff --git a/plugins/catalog-backend-module-aws/package.json b/plugins/catalog-backend-module-aws/package.json index 5723841562..293b43da45 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.11", + "version": "0.1.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-azure/CHANGELOG.md b/plugins/catalog-backend-module-azure/CHANGELOG.md index 5e67f292b4..54b3cfc2c6 100644 --- a/plugins/catalog-backend-module-azure/CHANGELOG.md +++ b/plugins/catalog-backend-module-azure/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-catalog-backend-module-azure +## 0.1.10-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.1.9 ### Patch Changes diff --git a/plugins/catalog-backend-module-azure/package.json b/plugins/catalog-backend-module-azure/package.json index d4d014b059..d1347f74c5 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.9", + "version": "0.1.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md index c2a83050ad..5f74571373 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-catalog-backend-module-bitbucket-cloud +## 0.1.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + ## 0.1.5 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket-cloud/package.json b/plugins/catalog-backend-module-bitbucket-cloud/package.json index 14bef29eb9..f4d542f843 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.5", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-bitbucket-cloud/src/BitbucketCloudEntityProvider.test.ts b/plugins/catalog-backend-module-bitbucket-cloud/src/BitbucketCloudEntityProvider.test.ts index 72974a1c94..2856a26a13 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/src/BitbucketCloudEntityProvider.test.ts +++ b/plugins/catalog-backend-module-bitbucket-cloud/src/BitbucketCloudEntityProvider.test.ts @@ -14,18 +14,31 @@ * limitations under the License. */ -import { getVoidLogger } from '@backstage/backend-common'; +import { getVoidLogger, TokenManager } from '@backstage/backend-common'; import { PluginTaskScheduler, TaskInvocationDefinition, TaskRunner, } from '@backstage/backend-tasks'; -import { ConfigReader } from '@backstage/config'; -import { EntityProviderConnection } from '@backstage/plugin-catalog-backend'; import { setupRequestMockHandlers } from '@backstage/backend-test-utils'; -import { BitbucketCloudEntityProvider } from './BitbucketCloudEntityProvider'; +import { CatalogApi } from '@backstage/catalog-client'; +import { + Entity, + LocationEntity, + stringifyEntityRef, +} from '@backstage/catalog-model'; +import { ConfigReader } from '@backstage/config'; +import { + EntityProviderConnection, + locationSpecToLocationEntity, +} from '@backstage/plugin-catalog-backend'; +import { Events } from '@backstage/plugin-bitbucket-cloud-common'; import { rest } from 'msw'; import { setupServer } from 'msw/node'; +import { + ANNOTATION_BITBUCKET_CLOUD_REPO_URL, + BitbucketCloudEntityProvider, +} from './BitbucketCloudEntityProvider'; class PersistingTaskRunner implements TaskRunner { private tasks: TaskInvocationDefinition[] = []; @@ -38,6 +51,10 @@ class PersistingTaskRunner implements TaskRunner { this.tasks.push(task); return Promise.resolve(undefined); } + + reset() { + this.tasks = []; + } } const logger = getVoidLogger(); @@ -46,10 +63,103 @@ const server = setupServer(); describe('BitbucketCloudEntityProvider', () => { setupRequestMockHandlers(server); - afterEach(() => jest.resetAllMocks()); + + const simpleConfig = new ConfigReader({ + catalog: { + providers: { + bitbucketCloud: { + workspace: 'test-ws', + }, + }, + }, + }); + const defaultConfig = new ConfigReader({ + catalog: { + providers: { + bitbucketCloud: { + myProvider: { + workspace: 'test-ws', + catalogPath: 'catalog-custom.yaml', + filters: { + projectKey: 'test-.*', + repoSlug: 'test-.*', + }, + }, + }, + }, + }, + }); + const schedule = new PersistingTaskRunner(); + const entityProviderConnection: EntityProviderConnection = { + applyMutation: jest.fn(), + refresh: jest.fn(), + }; + const tokenManager = { + getToken: async () => { + return { token: 'fake-token' }; + }, + } as any as TokenManager; + const repoPushEvent: Events.RepoPushEvent = { + actor: { + type: 'user', + }, + repository: { + type: 'repository', + slug: 'test-repo', + links: { + html: { + href: 'https://bitbucket.org/test-ws/test-repo', + }, + }, + workspace: { + type: 'workspace', + slug: 'test-ws', + }, + project: { + type: 'project', + key: 'test-project', + }, + }, + push: { + changes: [ + // ... + ], + }, + }; + const repoPushEventParams = { + topic: 'bitbucketCloud.repo:push', + eventPayload: repoPushEvent, + metadata: { 'x-event-key': 'repo:push' }, + }; + + const createLocationEntity = ( + repoUrl: string, + branch: string, + targetPath: string, + ): LocationEntity => { + const target = `${repoUrl}/src/${branch}/${targetPath}`; + + const entity = locationSpecToLocationEntity({ + location: { + type: 'url', + target: target, + presence: 'required', + }, + }); + entity.metadata.annotations = { + ...entity.metadata.annotations, + [ANNOTATION_BITBUCKET_CLOUD_REPO_URL]: repoUrl, + }; + + return entity; + }; + + afterEach(() => { + jest.resetAllMocks(); + schedule.reset(); + }); it('no provider config', () => { - const schedule = new PersistingTaskRunner(); const config = new ConfigReader({}); const providers = BitbucketCloudEntityProvider.fromConfig(config, { logger, @@ -60,17 +170,7 @@ describe('BitbucketCloudEntityProvider', () => { }); it('single simple provider config', () => { - const schedule = new PersistingTaskRunner(); - const config = new ConfigReader({ - catalog: { - providers: { - bitbucketCloud: { - workspace: 'test-ws', - }, - }, - }, - }); - const providers = BitbucketCloudEntityProvider.fromConfig(config, { + const providers = BitbucketCloudEntityProvider.fromConfig(simpleConfig, { logger, schedule, }); @@ -82,18 +182,8 @@ describe('BitbucketCloudEntityProvider', () => { }); it('fail without schedule and scheduler', () => { - const config = new ConfigReader({ - catalog: { - providers: { - bitbucketCloud: { - workspace: 'test-ws', - }, - }, - }, - }); - expect(() => - BitbucketCloudEntityProvider.fromConfig(config, { + BitbucketCloudEntityProvider.fromConfig(simpleConfig, { logger, }), ).toThrow('Either schedule or scheduler must be provided.'); @@ -151,7 +241,6 @@ describe('BitbucketCloudEntityProvider', () => { }); it('multiple provider configs', () => { - const schedule = new PersistingTaskRunner(); const config = new ConfigReader({ catalog: { providers: { @@ -181,28 +270,7 @@ describe('BitbucketCloudEntityProvider', () => { }); it('apply full update on scheduled execution', async () => { - const config = new ConfigReader({ - catalog: { - providers: { - bitbucketCloud: { - myProvider: { - workspace: 'test-ws', - catalogPath: 'custom/path/catalog-custom.yaml', - filters: { - projectKey: 'test-.*', - repoSlug: 'test-.*', - }, - }, - }, - }, - }, - }); - const schedule = new PersistingTaskRunner(); - const entityProviderConnection: EntityProviderConnection = { - applyMutation: jest.fn(), - refresh: jest.fn(), - }; - const provider = BitbucketCloudEntityProvider.fromConfig(config, { + const provider = BitbucketCloudEntityProvider.fromConfig(defaultConfig, { logger, schedule, })[0]; @@ -354,4 +422,221 @@ describe('BitbucketCloudEntityProvider', () => { entities: expectedEntities, }); }); + + it('update onRepoPush', async () => { + const keptModule = createLocationEntity( + 'https://bitbucket.org/test-ws/test-repo', + 'main', + 'kept-module/catalog-custom.yaml', + ); + const removedModule = createLocationEntity( + 'https://bitbucket.org/test-ws/test-repo', + 'main', + 'removed-module/catalog-custom.yaml', + ); + const addedModule = createLocationEntity( + 'https://bitbucket.org/test-ws/test-repo', + 'main', + 'added-module/catalog-custom.yaml', + ); + + const catalogApi = { + getEntities: async ( + request: { filter: Record }, + options: { token: string }, + ): Promise<{ items: Entity[] }> => { + if ( + options.token !== 'fake-token' || + request.filter.kind !== 'Location' || + request.filter['metadata.annotations.bitbucket.org/repo-url'] !== + 'https://bitbucket.org/test-ws/test-repo' + ) { + return { items: [] }; + } + + return { + items: [keptModule, removedModule], + }; + }, + refreshEntity: jest.fn(), + }; + const provider = BitbucketCloudEntityProvider.fromConfig(defaultConfig, { + catalogApi: catalogApi as any as CatalogApi, + logger, + schedule, + tokenManager, + })[0]; + + server.use( + rest.get( + `https://api.bitbucket.org/2.0/workspaces/test-ws/search/code`, + (req, res, ctx) => { + const query = req.url.searchParams.get('search_query'); + if (!query || !query.includes('repo:test-repo')) { + return res(ctx.json({ values: [] })); + } + + const response = { + values: [ + { + path_matches: [ + { + match: true, + text: 'catalog-custom.yaml', + }, + ], + file: { + type: 'commit_file', + path: 'kept-module/catalog-custom.yaml', + commit: { + repository: { + slug: 'test-repo', + project: { + key: 'test-project', + }, + mainbranch: { + name: 'main', + }, + links: { + html: { + href: 'https://bitbucket.org/test-ws/test-repo', + }, + }, + }, + }, + }, + }, + { + path_matches: [ + { + match: true, + text: 'catalog-custom.yaml', + }, + ], + file: { + type: 'commit_file', + path: 'added-module/catalog-custom.yaml', + commit: { + repository: { + slug: 'test-repo', + project: { + key: 'test-project', + }, + mainbranch: { + name: 'main', + }, + links: { + html: { + href: 'https://bitbucket.org/test-ws/test-repo', + }, + }, + }, + }, + }, + }, + ], + }; + return res(ctx.json(response)); + }, + ), + ); + + await provider.connect(entityProviderConnection); + await provider.onEvent(repoPushEventParams); + + const addedEntities = [ + { + entity: addedModule, + locationKey: 'bitbucketCloud-provider:myProvider', + }, + ]; + const removedEntities = [ + { + entity: removedModule, + locationKey: 'bitbucketCloud-provider:myProvider', + }, + ]; + + expect(catalogApi.refreshEntity).toHaveBeenCalledTimes(1); + expect(catalogApi.refreshEntity).toHaveBeenCalledWith( + stringifyEntityRef(keptModule), + { token: 'fake-token' }, + ); + expect(entityProviderConnection.applyMutation).toHaveBeenCalledTimes(1); + expect(entityProviderConnection.applyMutation).toHaveBeenCalledWith({ + type: 'delta', + added: addedEntities, + removed: removedEntities, + }); + }); + + it('onRepoPush fail on incomplete setup', async () => { + const provider = BitbucketCloudEntityProvider.fromConfig(defaultConfig, { + logger, + schedule, + })[0]; + + await expect(provider.onEvent(repoPushEventParams)).rejects.toThrow( + 'bitbucketCloud-provider:myProvider not well configured to handle repo:push. Missing CatalogApi and/or TokenManager.', + ); + }); + + it('no onRepoPush update on non-matching workspace slug', async () => { + const catalogApi = { + getEntities: jest.fn(), + refreshEntity: jest.fn(), + }; + const provider = BitbucketCloudEntityProvider.fromConfig(defaultConfig, { + catalogApi: catalogApi as any as CatalogApi, + logger, + schedule, + tokenManager, + })[0]; + + await provider.connect(entityProviderConnection); + await provider.onEvent({ + ...repoPushEventParams, + eventPayload: { + ...repoPushEventParams.eventPayload, + repository: { + ...repoPushEventParams.eventPayload.repository, + workspace: { + ...repoPushEventParams.eventPayload.repository.workspace, + slug: 'not-matching', + }, + }, + }, + }); + + expect(catalogApi.refreshEntity).toHaveBeenCalledTimes(0); + expect(entityProviderConnection.applyMutation).toHaveBeenCalledTimes(0); + }); + + it('no onRepoPush update on non-matching repo slug', async () => { + const catalogApi = { + getEntities: jest.fn(), + refreshEntity: jest.fn(), + }; + const provider = BitbucketCloudEntityProvider.fromConfig(defaultConfig, { + catalogApi: catalogApi as any as CatalogApi, + logger, + schedule, + tokenManager, + })[0]; + + await provider.connect(entityProviderConnection); + await provider.onEvent({ + ...repoPushEventParams, + eventPayload: { + ...repoPushEventParams.eventPayload, + repository: { + ...repoPushEventParams.eventPayload.repository, + slug: 'not-matching', + }, + }, + }); + + expect(catalogApi.refreshEntity).toHaveBeenCalledTimes(0); + expect(entityProviderConnection.applyMutation).toHaveBeenCalledTimes(0); + }); }); diff --git a/plugins/catalog-backend-module-bitbucket-cloud/src/BitbucketCloudEntityProvider.ts b/plugins/catalog-backend-module-bitbucket-cloud/src/BitbucketCloudEntityProvider.ts index 37ad60426d..33b92589eb 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/src/BitbucketCloudEntityProvider.ts +++ b/plugins/catalog-backend-module-bitbucket-cloud/src/BitbucketCloudEntityProvider.ts @@ -49,7 +49,7 @@ import * as uuid from 'uuid'; import { Logger } from 'winston'; const DEFAULT_BRANCH = 'master'; -const TOPIC_REPO_PUSH = 'bitbucketCloud/repo:push'; +const TOPIC_REPO_PUSH = 'bitbucketCloud.repo:push'; /** @public */ export const ANNOTATION_BITBUCKET_CLOUD_REPO_URL = 'bitbucket.org/repo-url'; @@ -211,9 +211,7 @@ export class BitbucketCloudEntityProvider return; } - if (params.metadata?.['x-event-key'] === 'repo:push') { - await this.onRepoPush(params.eventPayload as Events.RepoPushEvent); - } + await this.onRepoPush(params.eventPayload as Events.RepoPushEvent); } private canHandleEvents(): boolean { diff --git a/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md index dbc8f168e5..8a8322fc05 100644 --- a/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-catalog-backend-module-bitbucket-server +## 0.1.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.1.3 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket-server/package.json b/plugins/catalog-backend-module-bitbucket-server/package.json index 9a864035b5..162214b9a7 100644 --- a/plugins/catalog-backend-module-bitbucket-server/package.json +++ b/plugins/catalog-backend-module-bitbucket-server/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-backend-module-bitbucket-server", - "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/catalog-backend-module-bitbucket/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md index 774596c16f..26299b4bbe 100644 --- a/plugins/catalog-backend-module-bitbucket/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-catalog-backend-module-bitbucket +## 0.2.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.5 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket/package.json b/plugins/catalog-backend-module-bitbucket/package.json index 8818bef2f3..445d5d9d3a 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.5", + "version": "0.2.6-next.0", "deprecated": true, "main": "src/index.ts", "types": "src/index.ts", diff --git a/plugins/catalog-backend-module-gerrit/CHANGELOG.md b/plugins/catalog-backend-module-gerrit/CHANGELOG.md index a2d9fbd8ae..7a98fd672d 100644 --- a/plugins/catalog-backend-module-gerrit/CHANGELOG.md +++ b/plugins/catalog-backend-module-gerrit/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-catalog-backend-module-gerrit +## 0.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.1.6 ### Patch Changes diff --git a/plugins/catalog-backend-module-gerrit/package.json b/plugins/catalog-backend-module-gerrit/package.json index 2524cf54dc..3801e104d8 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.6", + "version": "0.1.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-github/CHANGELOG.md b/plugins/catalog-backend-module-github/CHANGELOG.md index 6630fc2052..cf4e6d4f10 100644 --- a/plugins/catalog-backend-module-github/CHANGELOG.md +++ b/plugins/catalog-backend-module-github/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-catalog-backend-module-github +## 0.2.2-next.0 + +### Patch Changes + +- 70fa5ec3ec: Fixes the assignment of group member references in `GithubMultiOrgProcessor` so membership relations are resolved correctly. +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 754b5854df: Fix incorrectly exported GithubOrgEntityProvider as a type +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.0 ### Minor Changes diff --git a/plugins/catalog-backend-module-github/package.json b/plugins/catalog-backend-module-github/package.json index d252e70fb9..d6d996068e 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.2.0", + "version": "0.2.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-gitlab/CHANGELOG.md b/plugins/catalog-backend-module-gitlab/CHANGELOG.md index 3eed702b41..4a05021ba9 100644 --- a/plugins/catalog-backend-module-gitlab/CHANGELOG.md +++ b/plugins/catalog-backend-module-gitlab/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-catalog-backend-module-gitlab +## 0.1.10-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.1.9 ### Patch Changes diff --git a/plugins/catalog-backend-module-gitlab/package.json b/plugins/catalog-backend-module-gitlab/package.json index 923ebee8a0..30bb37d8e3 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.9", + "version": "0.1.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-ldap/CHANGELOG.md b/plugins/catalog-backend-module-ldap/CHANGELOG.md index 19c1811c7c..495b405511 100644 --- a/plugins/catalog-backend-module-ldap/CHANGELOG.md +++ b/plugins/catalog-backend-module-ldap/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-catalog-backend-module-ldap +## 0.5.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.5.5 ### Patch Changes diff --git a/plugins/catalog-backend-module-ldap/package.json b/plugins/catalog-backend-module-ldap/package.json index 2afdd4984c..a40ff4dd17 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.5", + "version": "0.5.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-msgraph/CHANGELOG.md b/plugins/catalog-backend-module-msgraph/CHANGELOG.md index 92182202a7..3e0de34927 100644 --- a/plugins/catalog-backend-module-msgraph/CHANGELOG.md +++ b/plugins/catalog-backend-module-msgraph/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-catalog-backend-module-msgraph +## 0.4.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.4.4 ### Patch Changes diff --git a/plugins/catalog-backend-module-msgraph/package.json b/plugins/catalog-backend-module-msgraph/package.json index e744671809..75a5beee56 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.4", + "version": "0.4.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-openapi/CHANGELOG.md b/plugins/catalog-backend-module-openapi/CHANGELOG.md index 519efcc45d..b16946fd7a 100644 --- a/plugins/catalog-backend-module-openapi/CHANGELOG.md +++ b/plugins/catalog-backend-module-openapi/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-catalog-backend-module-openapi +## 0.1.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.1.4 ### Patch Changes diff --git a/plugins/catalog-backend-module-openapi/README.md b/plugins/catalog-backend-module-openapi/README.md index f80798e267..6b988e15f5 100644 --- a/plugins/catalog-backend-module-openapi/README.md +++ b/plugins/catalog-backend-module-openapi/README.md @@ -1,8 +1,10 @@ -# Catalog Backend Module for OpenAPI specifications +# Catalog Backend Module to resolve $refs in yaml documents -This is an extension module to the plugin-catalog-backend plugin, providing extensions targeted at OpenAPI specifications. +This is an extension module to the Catalog backend, providing extensions to resolve $refs in yaml documents. -With this you can split your OpenAPI definition into multiple files and reference them. They will be bundled, using an UrlReader, during processing and stored as a single specification. +With this you can split your yaml documents into multiple files and reference them. They will be bundled, using an UrlReader, during processing and stored as a single specification. + +This is useful for OpenAPI and AsyncAPI specifications. ## Installation @@ -15,15 +17,18 @@ yarn add --cwd packages/backend @backstage/plugin-catalog-backend-module-openapi ### Adding the plugin to your `packages/backend` -#### **openApiPlaceholderResolver** +#### **jsonSchemaRefPlaceholderResolver** -The placeholder resolver can be added by importing `openApiPlaceholderResolver` in `src/plugins/catalog.ts` in your `backend` package and adding the following. +The placeholder resolver can be added by importing `jsonSchemaRefPlaceholderResolver` in `src/plugins/catalog.ts` in your `backend` package and adding the following. ```ts -builder.setPlaceholderResolver('openapi', openApiPlaceholderResolver); +builder.setPlaceholderResolver('openapi', jsonSchemaRefPlaceholderResolver); +builder.setPlaceholderResolver('asyncapi', jsonSchemaRefPlaceholderResolver); ``` -This allows you to use the `$openapi` placeholder when referencing your OpenAPI specification. This will then resolve all `$ref` instances in your specification. +This allows you to use the `$openapi` placeholder when referencing your OpenAPI specification and `$asyncapi` when referencing your AsyncAPI specifications. This will then resolve all `$ref` instances in your specification. + +You can also use this resolver for other kind of yaml files to resolve $ref pointer. ```yaml apiVersion: backstage.io/v1alpha1 diff --git a/plugins/catalog-backend-module-openapi/api-report.md b/plugins/catalog-backend-module-openapi/api-report.md index d3a40067c5..c2af9cbe01 100644 --- a/plugins/catalog-backend-module-openapi/api-report.md +++ b/plugins/catalog-backend-module-openapi/api-report.md @@ -14,10 +14,13 @@ import { ScmIntegrations } from '@backstage/integration'; import { UrlReader } from '@backstage/backend-common'; // @public (undocumented) -export function openApiPlaceholderResolver( +export function jsonSchemaRefPlaceholderResolver( params: PlaceholderResolverParams, ): Promise; +// @public @deprecated (undocumented) +export const openApiPlaceholderResolver: typeof jsonSchemaRefPlaceholderResolver; + // @public @deprecated (undocumented) export class OpenApiRefProcessor implements CatalogProcessor { constructor(options: { diff --git a/plugins/catalog-backend-module-openapi/package.json b/plugins/catalog-backend-module-openapi/package.json index 1055b5ea92..1af84d3db7 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.4", + "version": "0.1.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -32,7 +32,7 @@ "start": "backstage-cli package start" }, "dependencies": { - "@apidevtools/swagger-parser": "^10.1.0", + "@apidevtools/json-schema-ref-parser": "^9.0.6", "@backstage/backend-common": "workspace:^", "@backstage/catalog-model": "workspace:^", "@backstage/config": "workspace:^", diff --git a/plugins/catalog-backend-module-openapi/src/OpenApiRefProcessor.test.ts b/plugins/catalog-backend-module-openapi/src/OpenApiRefProcessor.test.ts index 9f97e621c2..78568fd19f 100644 --- a/plugins/catalog-backend-module-openapi/src/OpenApiRefProcessor.test.ts +++ b/plugins/catalog-backend-module-openapi/src/OpenApiRefProcessor.test.ts @@ -17,13 +17,13 @@ import { getVoidLogger } from '@backstage/backend-common'; import { ConfigReader } from '@backstage/config'; import { LocationSpec } from '@backstage/plugin-catalog-backend'; import { OpenApiRefProcessor } from './OpenApiRefProcessor'; -import { bundleOpenApiSpecification } from './lib'; +import { bundleFileWithRefs } from './lib'; jest.mock('./lib', () => ({ - bundleOpenApiSpecification: jest.fn(), + bundleFileWithRefs: jest.fn(), })); -const bundledSpecification = ''; +const bundled = ''; describe('OpenApiRefProcessor', () => { const mockLocation = (): LocationSpec => ({ @@ -32,7 +32,7 @@ describe('OpenApiRefProcessor', () => { }); beforeEach(() => { - (bundleOpenApiSpecification as any).mockResolvedValue(bundledSpecification); + (bundleFileWithRefs as any).mockResolvedValue(bundled); }); afterEach(() => { @@ -71,7 +71,7 @@ describe('OpenApiRefProcessor', () => { mockLocation(), ); - expect(result.spec?.definition).toEqual(bundledSpecification); + expect(result.spec?.definition).toEqual(bundled); }); it('should ignore other kinds', async () => { diff --git a/plugins/catalog-backend-module-openapi/src/OpenApiRefProcessor.ts b/plugins/catalog-backend-module-openapi/src/OpenApiRefProcessor.ts index f4cffdf48f..6298aea77d 100644 --- a/plugins/catalog-backend-module-openapi/src/OpenApiRefProcessor.ts +++ b/plugins/catalog-backend-module-openapi/src/OpenApiRefProcessor.ts @@ -21,7 +21,7 @@ import { CatalogProcessor, LocationSpec, } from '@backstage/plugin-catalog-backend'; -import { bundleOpenApiSpecification } from './lib'; +import { bundleFileWithRefs } from './lib'; import { Logger } from 'winston'; /** @@ -84,7 +84,7 @@ export class OpenApiRefProcessor implements CatalogProcessor { this.logger.debug(`Bundling OpenAPI specification from ${location.target}`); try { - const bundledSpec = await bundleOpenApiSpecification( + const bundledSpec = await bundleFileWithRefs( definition.toString(), location.target, this.reader.read, diff --git a/plugins/catalog-backend-module-openapi/src/index.ts b/plugins/catalog-backend-module-openapi/src/index.ts index ccd3ced71e..170c925a7f 100644 --- a/plugins/catalog-backend-module-openapi/src/index.ts +++ b/plugins/catalog-backend-module-openapi/src/index.ts @@ -13,5 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { jsonSchemaRefPlaceholderResolver } from './jsonSchemaRefPlaceholderResolver'; + export { OpenApiRefProcessor } from './OpenApiRefProcessor'; -export { openApiPlaceholderResolver } from './openApiPlaceholderResolver'; +export { jsonSchemaRefPlaceholderResolver } from './jsonSchemaRefPlaceholderResolver'; +/** + * @public + * @deprecated replaced by jsonSchemaRefPlaceholderResolver + */ +export const openApiPlaceholderResolver = jsonSchemaRefPlaceholderResolver; diff --git a/plugins/catalog-backend-module-openapi/src/openApiPlaceholderResolver.test.ts b/plugins/catalog-backend-module-openapi/src/jsonSchemaRefPlaceholderResolver.test.ts similarity index 66% rename from plugins/catalog-backend-module-openapi/src/openApiPlaceholderResolver.test.ts rename to plugins/catalog-backend-module-openapi/src/jsonSchemaRefPlaceholderResolver.test.ts index f58a818ba5..afa523ccf0 100644 --- a/plugins/catalog-backend-module-openapi/src/openApiPlaceholderResolver.test.ts +++ b/plugins/catalog-backend-module-openapi/src/jsonSchemaRefPlaceholderResolver.test.ts @@ -14,16 +14,16 @@ * limitations under the License. */ import { PlaceholderResolverParams } from '@backstage/plugin-catalog-backend'; -import { openApiPlaceholderResolver } from './openApiPlaceholderResolver'; -import { bundleOpenApiSpecification } from './lib'; +import { jsonSchemaRefPlaceholderResolver } from './jsonSchemaRefPlaceholderResolver'; +import { bundleFileWithRefs } from './lib'; jest.mock('./lib', () => ({ - bundleOpenApiSpecification: jest.fn(), + bundleFileWithRefs: jest.fn(), })); -const bundledSpecification = ''; +const bundled = ''; -describe('openApiPlaceholderResolver', () => { +describe('jsonSchemaRefPlaceholderResolver', () => { const mockResolveUrl = jest.fn(); mockResolveUrl.mockReturnValue('mockUrl'); @@ -40,7 +40,7 @@ describe('openApiPlaceholderResolver', () => { }; beforeEach(() => { - (bundleOpenApiSpecification as any).mockResolvedValue(bundledSpecification); + (bundleFileWithRefs as any).mockResolvedValue(bundled); }); afterEach(() => { @@ -48,16 +48,14 @@ describe('openApiPlaceholderResolver', () => { }); it('should throw error if unable to bundle the OpenAPI specification', async () => { - (bundleOpenApiSpecification as any).mockRejectedValue(new Error('TEST')); + (bundleFileWithRefs as any).mockRejectedValue(new Error('TEST')); - await expect(openApiPlaceholderResolver(params)).rejects.toThrow( - 'Placeholder $openapi unable to bundle OpenAPI specification', - ); + await expect(jsonSchemaRefPlaceholderResolver(params)).rejects.toThrow(); }); it('should bundle the OpenAPI specification', async () => { - const result = await openApiPlaceholderResolver(params); + const result = await jsonSchemaRefPlaceholderResolver(params); - expect(result).toEqual(bundledSpecification); + expect(result).toEqual(bundled); }); }); diff --git a/plugins/catalog-backend-module-openapi/src/openApiPlaceholderResolver.ts b/plugins/catalog-backend-module-openapi/src/jsonSchemaRefPlaceholderResolver.ts similarity index 90% rename from plugins/catalog-backend-module-openapi/src/openApiPlaceholderResolver.ts rename to plugins/catalog-backend-module-openapi/src/jsonSchemaRefPlaceholderResolver.ts index 96fadb3cbc..befafbde8a 100644 --- a/plugins/catalog-backend-module-openapi/src/openApiPlaceholderResolver.ts +++ b/plugins/catalog-backend-module-openapi/src/jsonSchemaRefPlaceholderResolver.ts @@ -16,10 +16,10 @@ import { PlaceholderResolverParams } from '@backstage/plugin-catalog-backend'; import { JsonValue } from '@backstage/types'; import { processingResult } from '@backstage/plugin-catalog-node'; -import { bundleOpenApiSpecification } from './lib'; +import { bundleFileWithRefs } from './lib'; /** @public */ -export async function openApiPlaceholderResolver( +export async function jsonSchemaRefPlaceholderResolver( params: PlaceholderResolverParams, ): Promise { const { content, url } = await readTextLocation(params); @@ -27,7 +27,7 @@ export async function openApiPlaceholderResolver( params.emit(processingResult.refresh(`url:${url}`)); try { - return await bundleOpenApiSpecification( + return await bundleFileWithRefs( content, url, params.read, @@ -35,7 +35,7 @@ export async function openApiPlaceholderResolver( ); } catch (error) { throw new Error( - `Placeholder \$${params.key} unable to bundle OpenAPI specification at ${params.value}, ${error}`, + `Placeholder \$${params.key} unable to bundle the file at ${params.value}, ${error}`, ); } } diff --git a/plugins/catalog-backend-module-openapi/src/lib/bundle.test.ts b/plugins/catalog-backend-module-openapi/src/lib/bundle.test.ts index 57ecd54f26..ec77610733 100644 --- a/plugins/catalog-backend-module-openapi/src/lib/bundle.test.ts +++ b/plugins/catalog-backend-module-openapi/src/lib/bundle.test.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { bundleOpenApiSpecification } from './bundle'; +import { bundleFileWithRefs } from './bundle'; const specification = ` openapi: "3.0.0" @@ -70,7 +70,7 @@ paths: type: string `; -describe('bundleOpenApiSpecification', () => { +describe('bundleFileWithRefs', () => { const read = jest.fn(); const resolveUrl = jest.fn(); @@ -81,7 +81,7 @@ describe('bundleOpenApiSpecification', () => { it('should return the bundled specification', async () => { read.mockResolvedValue(list); - const result = await bundleOpenApiSpecification( + const result = await bundleFileWithRefs( specification, 'https://github.com/owner/repo/blob/main/catalog-info.yaml', read, @@ -108,7 +108,7 @@ describe('bundleOpenApiSpecification', () => { read.mockResolvedValue(list); - const result = await bundleOpenApiSpecification( + const result = await bundleFileWithRefs( spec, 'https://github.com/owner/repo/blob/main/catalog-info.yaml', read, @@ -117,4 +117,64 @@ describe('bundleOpenApiSpecification', () => { expect(result).toEqual(expectedResult.trimStart()); }); + it('should return the bundled asyncapi specification', async () => { + const spec = ` + asyncapi: 2.5.0 + info: + version: 1.0.0 + title: Sample API + description: A sample API to illustrate OpenAPI concepts + channels: + my-topic: + subscribe: + message: + schemaFormat: "application/schema+json;version=draft-07" + payload: + $ref : "./asyncapi.schema.json" + `; + const jsonSchema = ` + { + "type": "object", + "description": "ExampleSchema", + "properties": { + "name" : { + "type": "string" + }, + "age" : { + "type" : "integer" + } + } + } + `; + const expectedSchema = ` +asyncapi: 2.5.0 +info: + version: 1.0.0 + title: Sample API + description: A sample API to illustrate OpenAPI concepts +channels: + my-topic: + subscribe: + message: + schemaFormat: application/schema+json;version=draft-07 + payload: + type: object + description: ExampleSchema + properties: + name: + type: string + age: + type: integer +`; + read.mockResolvedValue(jsonSchema); + + const result = await bundleFileWithRefs( + spec, + 'https://github.com/owner/repo/blob/main/catalog-info.yaml', + read, + resolveUrl, + ); + + expect(result).toEqual(expectedSchema.trimStart()); + }); }); diff --git a/plugins/catalog-backend-module-openapi/src/lib/bundle.ts b/plugins/catalog-backend-module-openapi/src/lib/bundle.ts index 8dd880c234..64c772b91e 100644 --- a/plugins/catalog-backend-module-openapi/src/lib/bundle.ts +++ b/plugins/catalog-backend-module-openapi/src/lib/bundle.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import SwaggerParser from '@apidevtools/swagger-parser'; +import $RefParser from '@apidevtools/json-schema-ref-parser'; import { parse, stringify } from 'yaml'; import * as path from 'path'; @@ -30,13 +30,13 @@ export type BundlerRead = (url: string) => Promise; export type BundlerResolveUrl = (url: string, base: string) => string; -export async function bundleOpenApiSpecification( - specification: string, +export async function bundleFileWithRefs( + fileWithRefs: string, baseUrl: string, read: BundlerRead, resolveUrl: BundlerResolveUrl, ): Promise { - const fileUrlReaderResolver: SwaggerParser.ResolverOptions = { + const fileUrlReaderResolver: $RefParser.ResolverOptions = { canRead: file => { const protocol = getProtocol(file.url); return protocol === undefined || protocol === 'file'; @@ -47,7 +47,7 @@ export async function bundleOpenApiSpecification( return await read(url); }, }; - const httpUrlReaderResolver: SwaggerParser.ResolverOptions = { + const httpUrlReaderResolver: $RefParser.ResolverOptions = { canRead: ref => { const protocol = getProtocol(ref.url); return protocol === 'http' || protocol === 'https'; @@ -58,13 +58,13 @@ export async function bundleOpenApiSpecification( }, }; - const options: SwaggerParser.Options = { + const options: $RefParser.Options = { resolve: { file: fileUrlReaderResolver, http: httpUrlReaderResolver, }, }; - const specObject = parse(specification); - const bundledSpec = await SwaggerParser.bundle(specObject, options); - return stringify(bundledSpec); + const fileObject = parse(fileWithRefs); + const bundledObject = await $RefParser.bundle(fileObject, options); + return stringify(bundledObject); } diff --git a/plugins/catalog-backend/CHANGELOG.md b/plugins/catalog-backend/CHANGELOG.md index 75913bdf52..4354b0b7b4 100644 --- a/plugins/catalog-backend/CHANGELOG.md +++ b/plugins/catalog-backend/CHANGELOG.md @@ -1,5 +1,35 @@ # @backstage/plugin-catalog-backend +## 1.6.0-next.0 + +### Minor Changes + +- 16891a212c: Added new `POST /entities/by-refs` endpoint, which allows you to efficiently + batch-fetch entities by their entity ref. This can be useful e.g. in graphql + resolvers or similar contexts where you need to fetch many entities at the same + time. + +### Patch Changes + +- d8593ce0e6: Do not use deprecated `LocationSpec` from the `@backstage/plugin-catalog-node` package +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- e982f77fe3: Registered shutdown hook in experimental catalog plugin. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-scaffolder-common@1.2.3-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 1.5.1 ### Patch Changes diff --git a/plugins/catalog-backend/package.json b/plugins/catalog-backend/package.json index c999660490..ea61ca648e 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.5.1", + "version": "1.6.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-common/CHANGELOG.md b/plugins/catalog-common/CHANGELOG.md index ac236e1999..e6774acf35 100644 --- a/plugins/catalog-common/CHANGELOG.md +++ b/plugins/catalog-common/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-catalog-common +## 1.0.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 1.0.8 ### Patch Changes diff --git a/plugins/catalog-common/package.json b/plugins/catalog-common/package.json index 5dcbc678b2..29a525dc10 100644 --- a/plugins/catalog-common/package.json +++ b/plugins/catalog-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-common", "description": "Common functionalities for the catalog plugin", - "version": "1.0.8", + "version": "1.0.9-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-customized/CHANGELOG.md b/plugins/catalog-customized/CHANGELOG.md index 92c8a6e60f..57cd9dc8a0 100644 --- a/plugins/catalog-customized/CHANGELOG.md +++ b/plugins/catalog-customized/CHANGELOG.md @@ -1,5 +1,13 @@ # @internal/plugin-catalog-customized +## 0.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + ## 0.0.4 ### Patch Changes diff --git a/plugins/catalog-customized/package.json b/plugins/catalog-customized/package.json index f302c48bf5..bde12058ae 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.4", + "version": "0.0.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-graph/CHANGELOG.md b/plugins/catalog-graph/CHANGELOG.md index 29fa300e18..75373b040c 100644 --- a/plugins/catalog-graph/CHANGELOG.md +++ b/plugins/catalog-graph/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-catalog-graph +## 0.2.24-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.2.23 ### Patch Changes diff --git a/plugins/catalog-graph/package.json b/plugins/catalog-graph/package.json index 3216efb0ec..5e47890e75 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.23", + "version": "0.2.24-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-graphql/CHANGELOG.md b/plugins/catalog-graphql/CHANGELOG.md index 8f62b9f528..da1abff0d7 100644 --- a/plugins/catalog-graphql/CHANGELOG.md +++ b/plugins/catalog-graphql/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-catalog-graphql +## 0.3.16-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.3.15 ### Patch Changes diff --git a/plugins/catalog-graphql/package.json b/plugins/catalog-graphql/package.json index 021289529f..735d6aa25d 100644 --- a/plugins/catalog-graphql/package.json +++ b/plugins/catalog-graphql/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-graphql", "description": "An experimental Backstage catalog GraphQL module", - "version": "0.3.15", + "version": "0.3.16-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-import/CHANGELOG.md b/plugins/catalog-import/CHANGELOG.md index 2f3bd8b9bf..884080bb03 100644 --- a/plugins/catalog-import/CHANGELOG.md +++ b/plugins/catalog-import/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-catalog-import +## 0.9.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + ## 0.9.1 ### Patch Changes diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json index 6dae97c9d6..71e5034443 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.9.1", + "version": "0.9.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-import/src/components/StepPrepareCreatePullRequest/PreparePullRequestForm.test.tsx b/plugins/catalog-import/src/components/StepPrepareCreatePullRequest/PreparePullRequestForm.test.tsx index 02b67090fa..a8188ce358 100644 --- a/plugins/catalog-import/src/components/StepPrepareCreatePullRequest/PreparePullRequestForm.test.tsx +++ b/plugins/catalog-import/src/components/StepPrepareCreatePullRequest/PreparePullRequestForm.test.tsx @@ -110,7 +110,7 @@ describe('', () => { expect(onSubmitFn).not.toHaveBeenCalled(); expect( - screen.queryByText('Error in required main field'), + screen.getByText('Error in required main field'), ).toBeInTheDocument(); }); }); diff --git a/plugins/catalog-import/src/components/StepPrepareSelectLocations/StepPrepareSelectLocations.test.tsx b/plugins/catalog-import/src/components/StepPrepareSelectLocations/StepPrepareSelectLocations.test.tsx index 5a30c7735a..b5efd3fbbf 100644 --- a/plugins/catalog-import/src/components/StepPrepareSelectLocations/StepPrepareSelectLocations.test.tsx +++ b/plugins/catalog-import/src/components/StepPrepareSelectLocations/StepPrepareSelectLocations.test.tsx @@ -69,7 +69,7 @@ describe('', () => { expect(screen.getByText('url-1')).toBeInTheDocument(); expect(screen.getByText('url-2')).toBeInTheDocument(); expect( - screen.queryByText(/Select one or more locations/), + screen.getByText(/Select one or more locations/), ).toBeInTheDocument(); expect( screen.queryByText(/locations already exist/), @@ -104,7 +104,7 @@ describe('', () => { ); expect(screen.getByText(/my-target/)).toBeInTheDocument(); - expect(screen.queryByText(/locations already exist/)).toBeInTheDocument(); + expect(screen.getByText(/locations already exist/)).toBeInTheDocument(); expect( screen.queryByText(/Select one or more locations/), ).not.toBeInTheDocument(); diff --git a/plugins/catalog-node/CHANGELOG.md b/plugins/catalog-node/CHANGELOG.md index e263ff5e87..ac31e15535 100644 --- a/plugins/catalog-node/CHANGELOG.md +++ b/plugins/catalog-node/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-catalog-node +## 1.2.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + ## 1.2.1 ### Patch Changes diff --git a/plugins/catalog-node/package.json b/plugins/catalog-node/package.json index 09dbdd3d79..3d426998b6 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.2.1", + "version": "1.2.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-react/CHANGELOG.md b/plugins/catalog-react/CHANGELOG.md index 8eda35598f..52247c1c3e 100644 --- a/plugins/catalog-react/CHANGELOG.md +++ b/plugins/catalog-react/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-catalog-react +## 1.2.2-next.0 + +### Patch Changes + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + ## 1.2.1 ### Patch Changes diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json index b4e40d8546..b3a39b8397 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.2.1", + "version": "1.2.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-react/src/components/UserListPicker/UserListPicker.test.tsx b/plugins/catalog-react/src/components/UserListPicker/UserListPicker.test.tsx index d5309a383d..c31381df20 100644 --- a/plugins/catalog-react/src/components/UserListPicker/UserListPicker.test.tsx +++ b/plugins/catalog-react/src/components/UserListPicker/UserListPicker.test.tsx @@ -151,8 +151,8 @@ describe('', () => { , ); - expect(screen.queryByText('Personal')).toBeInTheDocument(); - expect(screen.queryByText('Test Company')).toBeInTheDocument(); + expect(screen.getByText('Personal')).toBeInTheDocument(); + expect(screen.getByText('Test Company')).toBeInTheDocument(); }); it('renders filters', () => { diff --git a/plugins/catalog/CHANGELOG.md b/plugins/catalog/CHANGELOG.md index 99ece53655..b5d431fdb1 100644 --- a/plugins/catalog/CHANGELOG.md +++ b/plugins/catalog/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-catalog +## 1.6.2-next.0 + +### Patch Changes + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- 387d1d5218: Fixed Entity kind pluralisation in the `CatalogKindHeader` component. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + ## 1.6.1 ### Patch Changes diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index 244aab8626..697a3924a4 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.6.1", + "version": "1.6.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.test.tsx b/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.test.tsx index 969992bd4e..a2b26b87e1 100644 --- a/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.test.tsx +++ b/plugins/catalog/src/components/CatalogPage/DefaultCatalogPage.test.tsx @@ -23,21 +23,20 @@ import { } from '@backstage/catalog-model'; import { TableColumn, TableProps } from '@backstage/core-components'; import { - createPlugin, IdentityApi, identityApiRef, - PluginProvider, ProfileInfo, storageApiRef, } from '@backstage/core-plugin-api'; import { catalogApiRef, entityRouteRef, - starredEntitiesApiRef, MockStarredEntitiesApi, + starredEntitiesApiRef, } from '@backstage/plugin-catalog-react'; import { mockBreakpoint, + MockPluginProvider, MockStorageApi, renderWithEffects, TestApiProvider, @@ -135,22 +134,6 @@ describe('DefaultCatalogPage', () => { }; const storageApi = MockStorageApi.create(); - type TestInputPluginOptions = { - 'key-1': string; - }; - - type TestPluginOptions = { - 'key-1': string; - 'key-2': string; - }; - - const plugin = createPlugin({ - id: 'my-plugin', - __experimentalConfigure(_: TestInputPluginOptions): TestPluginOptions { - return { 'key-1': 'value-1', 'key-2': 'value-2' }; - }, - }); - const renderWrapped = (children: React.ReactNode) => renderWithEffects( wrapInTestApp( @@ -162,7 +145,7 @@ describe('DefaultCatalogPage', () => { [starredEntitiesApiRef, new MockStarredEntitiesApi()], ]} > - {children} + {children} , { mountedRoutes: { diff --git a/plugins/catalog/src/components/EntityContextMenu/EntityContextMenu.tsx b/plugins/catalog/src/components/EntityContextMenu/EntityContextMenu.tsx index 49952bdffe..f7a329c7be 100644 --- a/plugins/catalog/src/components/EntityContextMenu/EntityContextMenu.tsx +++ b/plugins/catalog/src/components/EntityContextMenu/EntityContextMenu.tsx @@ -89,7 +89,7 @@ export function EntityContextMenu(props: EntityContextMenuProps) { const alertApi = useApi(alertApiRef); const copyToClipboard = useCallback(() => { - navigator.clipboard + window.navigator.clipboard .writeText(window.location.toString()) .then(() => alertApi.post({ message: 'Copied!', severity: 'info' })); }, [alertApi]); diff --git a/plugins/catalog/src/components/EntityLayout/EntityLayout.test.tsx b/plugins/catalog/src/components/EntityLayout/EntityLayout.test.tsx index 980ce13109..08c751c6c6 100644 --- a/plugins/catalog/src/components/EntityLayout/EntityLayout.test.tsx +++ b/plugins/catalog/src/components/EntityLayout/EntityLayout.test.tsx @@ -190,7 +190,7 @@ describe('EntityLayout', () => { expect(screen.queryByText('tabbed-test-content')).not.toBeInTheDocument(); expect(screen.getByText('tabbed-test-title-2')).toBeInTheDocument(); - expect(screen.queryByText('tabbed-test-content-2')).toBeInTheDocument(); + expect(screen.getByText('tabbed-test-content-2')).toBeInTheDocument(); }); it('should conditionally render tabs', async () => { @@ -228,8 +228,8 @@ describe('EntityLayout', () => { }, ); - expect(screen.queryByText('tabbed-test-title')).toBeInTheDocument(); + expect(screen.getByText('tabbed-test-title')).toBeInTheDocument(); expect(screen.queryByText('tabbed-test-title-2')).not.toBeInTheDocument(); - expect(screen.queryByText('tabbed-test-title-3')).toBeInTheDocument(); + expect(screen.getByText('tabbed-test-title-3')).toBeInTheDocument(); }); }); diff --git a/plugins/catalog/src/components/EntityLinksCard/EntityLinksCard.test.tsx b/plugins/catalog/src/components/EntityLinksCard/EntityLinksCard.test.tsx index 6316bdbc85..304a962212 100644 --- a/plugins/catalog/src/components/EntityLinksCard/EntityLinksCard.test.tsx +++ b/plugins/catalog/src/components/EntityLinksCard/EntityLinksCard.test.tsx @@ -52,7 +52,7 @@ describe('EntityLinksCard', () => { ), ); - expect(screen.queryByText('admin dashboard')).toBeInTheDocument(); + expect(screen.getByText('admin dashboard')).toBeInTheDocument(); expect(screen.queryByText('derp')).not.toBeInTheDocument(); }); @@ -66,7 +66,7 @@ describe('EntityLinksCard', () => { ); expect( - screen.queryByText(/.*No links defined for this entity.*/), + screen.getByText(/.*No links defined for this entity.*/), ).toBeInTheDocument(); expect(screen.queryByText('admin dashboard')).not.toBeInTheDocument(); }); diff --git a/plugins/catalog/src/components/EntityLinksCard/IconLink.test.tsx b/plugins/catalog/src/components/EntityLinksCard/IconLink.test.tsx index 164e54a2eb..be784ae3e8 100644 --- a/plugins/catalog/src/components/EntityLinksCard/IconLink.test.tsx +++ b/plugins/catalog/src/components/EntityLinksCard/IconLink.test.tsx @@ -33,6 +33,6 @@ describe('IconLink', () => { , ); - expect(screen.queryByText('I am Link')).toBeInTheDocument(); + expect(screen.getByText('I am Link')).toBeInTheDocument(); }); }); diff --git a/plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.test.tsx b/plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.test.tsx index cfe3022261..350349fe95 100644 --- a/plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.test.tsx +++ b/plugins/catalog/src/components/EntityProcessingErrorsPanel/EntityProcessingErrorsPanel.test.tsx @@ -226,7 +226,7 @@ describe('', () => { expect(screen.getByText('Error: Foo')).toBeInTheDocument(); expect(screen.queryByText('Error: This should not be rendered')).toBeNull(); expect( - screen.queryByText('The error below originates from'), + screen.getByText('The error below originates from'), ).toBeInTheDocument(); }); }); diff --git a/plugins/catalog/src/components/EntitySwitch/EntitySwitch.test.tsx b/plugins/catalog/src/components/EntitySwitch/EntitySwitch.test.tsx index d2c51465b5..164c7e60fd 100644 --- a/plugins/catalog/src/components/EntitySwitch/EntitySwitch.test.tsx +++ b/plugins/catalog/src/components/EntitySwitch/EntitySwitch.test.tsx @@ -54,7 +54,7 @@ describe('EntitySwitch', () => { , ); - expect(screen.queryByText('A')).toBeInTheDocument(); + expect(screen.getByText('A')).toBeInTheDocument(); expect(screen.queryByText('B')).not.toBeInTheDocument(); expect(screen.queryByText('C')).not.toBeInTheDocument(); @@ -69,7 +69,7 @@ describe('EntitySwitch', () => { ); expect(screen.queryByText('A')).not.toBeInTheDocument(); - expect(screen.queryByText('B')).toBeInTheDocument(); + expect(screen.getByText('B')).toBeInTheDocument(); expect(screen.queryByText('C')).not.toBeInTheDocument(); rendered.rerender( @@ -84,7 +84,7 @@ describe('EntitySwitch', () => { expect(screen.queryByText('A')).not.toBeInTheDocument(); expect(screen.queryByText('B')).not.toBeInTheDocument(); - expect(screen.queryByText('C')).toBeInTheDocument(); + expect(screen.getByText('C')).toBeInTheDocument(); rendered.rerender( @@ -96,7 +96,7 @@ describe('EntitySwitch', () => { expect(screen.queryByText('A')).not.toBeInTheDocument(); expect(screen.queryByText('B')).not.toBeInTheDocument(); - expect(screen.queryByText('C')).toBeInTheDocument(); + expect(screen.getByText('C')).toBeInTheDocument(); }); it('should switch child when filters switch', () => { @@ -113,7 +113,7 @@ describe('EntitySwitch', () => { , ); - expect(screen.queryByText('A')).toBeInTheDocument(); + expect(screen.getByText('A')).toBeInTheDocument(); expect(screen.queryByText('B')).not.toBeInTheDocument(); rendered.rerender( @@ -128,7 +128,7 @@ describe('EntitySwitch', () => { ); expect(screen.queryByText('A')).not.toBeInTheDocument(); - expect(screen.queryByText('B')).toBeInTheDocument(); + expect(screen.getByText('B')).toBeInTheDocument(); }); it('should switch with async condition that is true', async () => { diff --git a/plugins/catalog/src/components/SystemDiagramCard/SystemDiagramCard.test.tsx b/plugins/catalog/src/components/SystemDiagramCard/SystemDiagramCard.test.tsx index dc8d68e2b2..2fcd1c2702 100644 --- a/plugins/catalog/src/components/SystemDiagramCard/SystemDiagramCard.test.tsx +++ b/plugins/catalog/src/components/SystemDiagramCard/SystemDiagramCard.test.tsx @@ -67,8 +67,8 @@ describe('', () => { }, ); - expect(screen.queryByText(/System Diagram/)).toBeInTheDocument(); - expect(screen.queryByText(/namespace2\/system2/)).toBeInTheDocument(); + expect(screen.getByText(/System Diagram/)).toBeInTheDocument(); + expect(screen.getByText(/namespace2\/system2/)).toBeInTheDocument(); expect(screen.queryByText(/namespace\/entity/)).not.toBeInTheDocument(); }); diff --git a/plugins/cicd-statistics-module-gitlab/CHANGELOG.md b/plugins/cicd-statistics-module-gitlab/CHANGELOG.md index f510d1a5e0..bbee75ecdd 100644 --- a/plugins/cicd-statistics-module-gitlab/CHANGELOG.md +++ b/plugins/cicd-statistics-module-gitlab/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-cicd-statistics-module-gitlab +## 0.1.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/plugin-cicd-statistics@0.1.14-next.0 + ## 0.1.7 ### Patch Changes diff --git a/plugins/cicd-statistics-module-gitlab/package.json b/plugins/cicd-statistics-module-gitlab/package.json index fab5380e3e..e92d11a977 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.7", + "version": "0.1.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/cicd-statistics/CHANGELOG.md b/plugins/cicd-statistics/CHANGELOG.md index f0df35a027..ab5ccbe085 100644 --- a/plugins/cicd-statistics/CHANGELOG.md +++ b/plugins/cicd-statistics/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-cicd-statistics +## 0.1.14-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + ## 0.1.13 ### Patch Changes diff --git a/plugins/cicd-statistics/package.json b/plugins/cicd-statistics/package.json index 372523e3e0..3f7c5e7f60 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.13", + "version": "0.1.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/circleci/CHANGELOG.md b/plugins/circleci/CHANGELOG.md index 5f15c999ea..4fe29f3809 100644 --- a/plugins/circleci/CHANGELOG.md +++ b/plugins/circleci/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-circleci +## 0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.3.11 ### Patch Changes diff --git a/plugins/circleci/package.json b/plugins/circleci/package.json index 140a5bc7c0..cd895cf6f5 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.11", + "version": "0.3.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/cloudbuild/CHANGELOG.md b/plugins/cloudbuild/CHANGELOG.md index e4d781ad9e..4cb2c10a48 100644 --- a/plugins/cloudbuild/CHANGELOG.md +++ b/plugins/cloudbuild/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-cloudbuild +## 0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.3.11 ### Patch Changes diff --git a/plugins/cloudbuild/package.json b/plugins/cloudbuild/package.json index 99a807b74e..1dda3e2844 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.11", + "version": "0.3.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/cloudbuild/src/components/WorkflowRunDetails/WorkflowRunDetails.tsx b/plugins/cloudbuild/src/components/WorkflowRunDetails/WorkflowRunDetails.tsx index aacb437e7b..a35d9b6f6c 100644 --- a/plugins/cloudbuild/src/components/WorkflowRunDetails/WorkflowRunDetails.tsx +++ b/plugins/cloudbuild/src/components/WorkflowRunDetails/WorkflowRunDetails.tsx @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { Entity } from '@backstage/catalog-model'; import { Box, diff --git a/plugins/code-climate/CHANGELOG.md b/plugins/code-climate/CHANGELOG.md index 38475bbe01..bbf6efe7fa 100644 --- a/plugins/code-climate/CHANGELOG.md +++ b/plugins/code-climate/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-code-climate +## 0.1.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.1.11 ### Patch Changes diff --git a/plugins/code-climate/package.json b/plugins/code-climate/package.json index 58e5217698..777233f328 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.11", + "version": "0.1.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/code-coverage-backend/CHANGELOG.md b/plugins/code-coverage-backend/CHANGELOG.md index f8d3263602..4cce8cea7f 100644 --- a/plugins/code-coverage-backend/CHANGELOG.md +++ b/plugins/code-coverage-backend/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-code-coverage-backend +## 0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.4 ### Patch Changes diff --git a/plugins/code-coverage-backend/package.json b/plugins/code-coverage-backend/package.json index f46a6cfa5a..e66d721d93 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.4", + "version": "0.2.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/code-coverage/CHANGELOG.md b/plugins/code-coverage/CHANGELOG.md index 883657fa3a..22fb44be06 100644 --- a/plugins/code-coverage/CHANGELOG.md +++ b/plugins/code-coverage/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-code-coverage +## 0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.2.4 ### Patch Changes diff --git a/plugins/code-coverage/package.json b/plugins/code-coverage/package.json index 7638faf27e..cab166a1e4 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.4", + "version": "0.2.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/codescene/CHANGELOG.md b/plugins/codescene/CHANGELOG.md index 1c2257a73f..e1c6ae2238 100644 --- a/plugins/codescene/CHANGELOG.md +++ b/plugins/codescene/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-codescene +## 0.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 17a8e32f39: Updated dependency `rc-progress` to `3.4.1`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.1.6 ### Patch Changes diff --git a/plugins/codescene/package.json b/plugins/codescene/package.json index 1e98f1ee63..f932ffe3c2 100644 --- a/plugins/codescene/package.json +++ b/plugins/codescene/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-codescene", - "version": "0.1.6", + "version": "0.1.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/config-schema/CHANGELOG.md b/plugins/config-schema/CHANGELOG.md index 54b71795d3..07d30d6538 100644 --- a/plugins/config-schema/CHANGELOG.md +++ b/plugins/config-schema/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-config-schema +## 0.1.35-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.1.34 ### Patch Changes diff --git a/plugins/config-schema/package.json b/plugins/config-schema/package.json index 83f693cafe..991526ce05 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.34", + "version": "0.1.35-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/cost-insights/CHANGELOG.md b/plugins/cost-insights/CHANGELOG.md index b57115bf77..6127217642 100644 --- a/plugins/cost-insights/CHANGELOG.md +++ b/plugins/cost-insights/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-cost-insights +## 0.12.1-next.0 + +### Patch Changes + +- f9bbb3be37: Provide the ability to change the base currency from USD to any other currency in cost insights plugin +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-cost-insights-common@0.1.1 + ## 0.12.0 ### Minor Changes diff --git a/plugins/cost-insights/api-report.md b/plugins/cost-insights/api-report.md index b4c818f1e4..8ae49dcedc 100644 --- a/plugins/cost-insights/api-report.md +++ b/plugins/cost-insights/api-report.md @@ -11,10 +11,15 @@ import { BackstagePlugin } from '@backstage/core-plugin-api'; import { BackstageTheme } from '@backstage/theme'; import { ChangeStatistic as ChangeStatistic_2 } from '@backstage/plugin-cost-insights-common'; import * as common from '@backstage/plugin-cost-insights-common'; +import { Cost as Cost_2 } from '@backstage/plugin-cost-insights-common'; import { Dispatch } from 'react'; +import { Entity as Entity_2 } from '@backstage/plugin-cost-insights-common'; import { ForwardRefExoticComponent } from 'react'; +import { Group as Group_2 } from '@backstage/plugin-cost-insights-common'; import { Maybe as Maybe_2 } from '@backstage/plugin-cost-insights-common'; +import { MetricData as MetricData_2 } from '@backstage/plugin-cost-insights-common'; import { PaletteOptions } from '@material-ui/core/styles/createPalette'; +import { Project as Project_2 } from '@backstage/plugin-cost-insights-common'; import { PropsWithChildren } from 'react'; import { ReactNode } from 'react'; import { RefAttributes } from 'react'; @@ -248,34 +253,34 @@ export const CostGrowthIndicator: ( // @public (undocumented) export type CostGrowthIndicatorProps = TypographyProps & { - change: ChangeStatistic; + change: ChangeStatistic_2; formatter?: ( - change: ChangeStatistic, + change: ChangeStatistic_2, options?: { absolute: boolean; }, - ) => Maybe; + ) => Maybe_2; }; // @public (undocumented) export type CostGrowthProps = { - change: ChangeStatistic; + change: ChangeStatistic_2; duration: Duration; }; // @public (undocumented) export type CostInsightsApi = { getLastCompleteBillingDate(): Promise; - getUserGroups(userId: string): Promise; - getGroupProjects(group: string): Promise; + getUserGroups(userId: string): Promise; + getGroupProjects(group: string): Promise; getCatalogEntityDailyCost?( catalogEntityRef: string, intervals: string, - ): Promise; - getGroupDailyCost(group: string, intervals: string): Promise; - getProjectDailyCost(project: string, intervals: string): Promise; - getDailyMetricData(metric: string, intervals: string): Promise; - getProductInsights(options: ProductInsightsOptions): Promise; + ): Promise; + getGroupDailyCost(group: string, intervals: string): Promise; + getProjectDailyCost(project: string, intervals: string): Promise; + getDailyMetricData(metric: string, intervals: string): Promise; + getProductInsights(options: ProductInsightsOptions): Promise; getAlerts(group: string): Promise; }; @@ -317,7 +322,7 @@ const costInsightsPlugin: BackstagePlugin< unlabeledDataflowAlerts: RouteRef; }, {}, - {} + CostInsightsInputPluginOptions >; export { costInsightsPlugin }; export { costInsightsPlugin as plugin }; @@ -539,7 +544,7 @@ export type ProductInsightsOptions = { product: string; group: string; intervals: string; - project: Maybe; + project: Maybe_2; }; // @public (undocumented) diff --git a/plugins/cost-insights/package.json b/plugins/cost-insights/package.json index 9673f72e59..2e6b2d33f0 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.12.0", + "version": "0.12.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,6 +38,7 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-cost-insights-common": "workspace:^", + "@backstage/test-utils": "workspace:^", "@backstage/theme": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", diff --git a/plugins/cost-insights/src/api/CostInsightsApi.ts b/plugins/cost-insights/src/api/CostInsightsApi.ts index a7065a04aa..959b40e584 100644 --- a/plugins/cost-insights/src/api/CostInsightsApi.ts +++ b/plugins/cost-insights/src/api/CostInsightsApi.ts @@ -15,14 +15,15 @@ */ import { - Alert, Cost, Entity, Group, Project, Maybe, MetricData, -} from '../types'; +} from '@backstage/plugin-cost-insights-common'; + +import { Alert } from '../types'; import { createApiRef } from '@backstage/core-plugin-api'; /** @public */ diff --git a/plugins/cost-insights/src/components/AlertInsights/AlertDialog.tsx b/plugins/cost-insights/src/components/AlertInsights/AlertDialog.tsx index af976c6d3f..385116e188 100644 --- a/plugins/cost-insights/src/components/AlertInsights/AlertDialog.tsx +++ b/plugins/cost-insights/src/components/AlertInsights/AlertDialog.tsx @@ -28,7 +28,8 @@ import { } from '@material-ui/core'; import { default as CloseIcon } from '@material-ui/icons/Close'; import { useAlertDialogStyles as useStyles } from '../../utils/styles'; -import { Alert, AlertStatus, Maybe } from '../../types'; +import { Alert, AlertStatus } from '../../types'; +import { Maybe } from '@backstage/plugin-cost-insights-common'; import { choose, formOf } from '../../utils/alerts'; const DEFAULT_FORM_ID = 'alert-form'; diff --git a/plugins/cost-insights/src/components/AlertInsights/AlertInsights.tsx b/plugins/cost-insights/src/components/AlertInsights/AlertInsights.tsx index 2daacda85e..e48ae2789d 100644 --- a/plugins/cost-insights/src/components/AlertInsights/AlertInsights.tsx +++ b/plugins/cost-insights/src/components/AlertInsights/AlertInsights.tsx @@ -30,7 +30,8 @@ import { MapLoadingToProps, } from '../../hooks'; import { DefaultLoadingAction } from '../../utils/loading'; -import { Alert, AlertOptions, AlertStatus, Maybe } from '../../types'; +import { Alert, AlertOptions, AlertStatus } from '../../types'; +import { Maybe } from '@backstage/plugin-cost-insights-common'; import { isStatusSnoozed, isStatusAccepted, diff --git a/plugins/cost-insights/src/components/BarChart/BarChart.test.tsx b/plugins/cost-insights/src/components/BarChart/BarChart.test.tsx index 530ca16e8f..37204d5ec6 100644 --- a/plugins/cost-insights/src/components/BarChart/BarChart.test.tsx +++ b/plugins/cost-insights/src/components/BarChart/BarChart.test.tsx @@ -104,7 +104,7 @@ describe('', () => { it('should display stepper if displaying more than 6 resources', async () => { const rendered = await renderWithProps({} as BarChartProps); - expect(rendered.queryByTestId('bar-chart-stepper')).toBeInTheDocument(); + expect(rendered.getByTestId('bar-chart-stepper')).toBeInTheDocument(); }); it('should display the next step button if resources are remaining', async () => { @@ -114,7 +114,7 @@ describe('', () => { rendered.queryByTestId('bar-chart-stepper-button-back'), ).not.toBeInTheDocument(); expect( - rendered.queryByTestId('bar-chart-stepper-button-next'), + rendered.getByTestId('bar-chart-stepper-button-next'), ).toBeInTheDocument(); }); diff --git a/plugins/cost-insights/src/components/BarChart/BarChartLegend.test.tsx b/plugins/cost-insights/src/components/BarChart/BarChartLegend.test.tsx index 690f0bbcd8..db515c233d 100644 --- a/plugins/cost-insights/src/components/BarChart/BarChartLegend.test.tsx +++ b/plugins/cost-insights/src/components/BarChart/BarChartLegend.test.tsx @@ -27,6 +27,6 @@ describe('', () => { , ); expect(rendered.getByText(/\$1,000/)).toBeInTheDocument(); - expect(rendered.queryByText(/\$5,000/)).toBeInTheDocument(); + expect(rendered.getByText(/\$5,000/)).toBeInTheDocument(); }); }); diff --git a/plugins/cost-insights/src/components/CostGrowth/CostGrowth.tsx b/plugins/cost-insights/src/components/CostGrowth/CostGrowth.tsx index ffc548c7ad..d0a4e7901a 100644 --- a/plugins/cost-insights/src/components/CostGrowth/CostGrowth.tsx +++ b/plugins/cost-insights/src/components/CostGrowth/CostGrowth.tsx @@ -17,12 +17,12 @@ import React from 'react'; import classnames from 'classnames'; import { - ChangeStatistic, CurrencyType, Duration, EngineerThreshold, GrowthType, } from '../../types'; +import { ChangeStatistic } from '@backstage/plugin-cost-insights-common'; import { rateOf } from '../../utils/currency'; import { growthOf } from '../../utils/change'; import { useCostGrowthStyles as useStyles } from '../../utils/styles'; diff --git a/plugins/cost-insights/src/components/CostGrowth/CostGrowthIndicator.tsx b/plugins/cost-insights/src/components/CostGrowth/CostGrowthIndicator.tsx index 8993504c84..2591fd5a47 100644 --- a/plugins/cost-insights/src/components/CostGrowth/CostGrowthIndicator.tsx +++ b/plugins/cost-insights/src/components/CostGrowth/CostGrowthIndicator.tsx @@ -20,8 +20,9 @@ import { Typography, TypographyProps } from '@material-ui/core'; import { default as ArrowDropUp } from '@material-ui/icons/ArrowDropUp'; import { default as ArrowDropDown } from '@material-ui/icons/ArrowDropDown'; import { growthOf } from '../../utils/change'; -import { ChangeStatistic, GrowthType, Maybe } from '../../types'; +import { GrowthType } from '../../types'; import { useCostGrowthStyles as useStyles } from '../../utils/styles'; +import { ChangeStatistic, Maybe } from '@backstage/plugin-cost-insights-common'; /** @public */ export type CostGrowthIndicatorProps = TypographyProps & { diff --git a/plugins/cost-insights/src/components/CostInsightsHeader/CostInsightsHeader.test.tsx b/plugins/cost-insights/src/components/CostInsightsHeader/CostInsightsHeader.test.tsx index 015a6279da..337d3d06b2 100644 --- a/plugins/cost-insights/src/components/CostInsightsHeader/CostInsightsHeader.test.tsx +++ b/plugins/cost-insights/src/components/CostInsightsHeader/CostInsightsHeader.test.tsx @@ -17,7 +17,6 @@ import { CostInsightsHeader } from './CostInsightsHeader'; import { renderInTestApp, TestApiRegistry } from '@backstage/test-utils'; import React from 'react'; - import { ApiProvider } from '@backstage/core-app-api'; import { IdentityApi, identityApiRef } from '@backstage/core-plugin-api'; @@ -43,7 +42,7 @@ describe('', () => { , ); - expect(rendered.queryByText(/doing great/)).toBeInTheDocument(); + expect(rendered.getByText(/doing great/)).toBeInTheDocument(); }); it('Shows work to do when alerts > 1', async () => { @@ -57,7 +56,7 @@ describe('', () => { /> , ); - expect(rendered.queryByText(/few things/)).toBeInTheDocument(); + expect(rendered.getByText(/few things/)).toBeInTheDocument(); }); it('Handles grammar with a single alert', async () => { @@ -73,7 +72,7 @@ describe('', () => { ); expect(rendered.queryByText(/things/)).not.toBeInTheDocument(); - expect(rendered.queryByText(/one thing/)).toBeInTheDocument(); + expect(rendered.getByText(/one thing/)).toBeInTheDocument(); }); it('Shows no costs when hasCostData is false', async () => { @@ -87,7 +86,7 @@ describe('', () => { /> , ); - expect(rendered.queryByText(/this is awkward/)).toBeInTheDocument(); + expect(rendered.getByText(/this is awkward/)).toBeInTheDocument(); }); describe.each` @@ -109,9 +108,7 @@ describe('', () => { /> , ); - expect( - rendered.queryByText(/Test group display name/), - ).toBeInTheDocument(); + expect(rendered.getByText(/Test group display name/)).toBeInTheDocument(); }); it('Fallbacks to group id when display name not available', async () => { @@ -125,7 +122,7 @@ describe('', () => { /> , ); - expect(rendered.queryByText(/test-user-group-1/)).toBeInTheDocument(); + expect(rendered.getByText(/test-user-group-1/)).toBeInTheDocument(); }); }); }); diff --git a/plugins/cost-insights/src/components/CostInsightsHeader/CostInsightsHeader.tsx b/plugins/cost-insights/src/components/CostInsightsHeader/CostInsightsHeader.tsx index 540165d1d9..8e12b7f5dd 100644 --- a/plugins/cost-insights/src/components/CostInsightsHeader/CostInsightsHeader.tsx +++ b/plugins/cost-insights/src/components/CostInsightsHeader/CostInsightsHeader.tsx @@ -18,7 +18,7 @@ import React from 'react'; import { Typography } from '@material-ui/core'; import useAsync from 'react-use/lib/useAsync'; import { useCostInsightsStyles } from '../../utils/styles'; -import { Group } from '../../types'; +import { Group } from '@backstage/plugin-cost-insights-common'; import { identityApiRef, useApi } from '@backstage/core-plugin-api'; function useDisplayName(): string { diff --git a/plugins/cost-insights/src/components/CostInsightsLayout/CostInsightsLayout.tsx b/plugins/cost-insights/src/components/CostInsightsLayout/CostInsightsLayout.tsx index 93614bd64f..0a583aae0d 100644 --- a/plugins/cost-insights/src/components/CostInsightsLayout/CostInsightsLayout.tsx +++ b/plugins/cost-insights/src/components/CostInsightsLayout/CostInsightsLayout.tsx @@ -15,7 +15,7 @@ */ import React, { PropsWithChildren } from 'react'; import { makeStyles } from '@material-ui/core'; -import { Group } from '../../types'; +import { Group } from '@backstage/plugin-cost-insights-common'; import { CostInsightsTabs } from '../CostInsightsTabs'; import { Header, Page } from '@backstage/core-components'; diff --git a/plugins/cost-insights/src/components/CostInsightsNavigation/CostInsightsNavigation.test.tsx b/plugins/cost-insights/src/components/CostInsightsNavigation/CostInsightsNavigation.test.tsx index 8ccca96e0f..4cfabc119c 100644 --- a/plugins/cost-insights/src/components/CostInsightsNavigation/CostInsightsNavigation.test.tsx +++ b/plugins/cost-insights/src/components/CostInsightsNavigation/CostInsightsNavigation.test.tsx @@ -18,7 +18,8 @@ import React from 'react'; import { default as HappyFace } from '@material-ui/icons/SentimentSatisfiedAlt'; import { renderInTestApp } from '@backstage/test-utils'; import { CostInsightsNavigation } from './CostInsightsNavigation'; -import { Product, Icon } from '../../types'; +import { Icon } from '../../types'; +import { Product } from '@backstage/plugin-cost-insights-common'; import { MockConfigProvider, MockScrollProvider } from '../../testUtils'; import { getDefaultNavigationItems } from '../../utils/navigation'; diff --git a/plugins/cost-insights/src/components/CostInsightsNavigation/CostInsightsNavigation.tsx b/plugins/cost-insights/src/components/CostInsightsNavigation/CostInsightsNavigation.tsx index ad7dea55fd..507016f391 100644 --- a/plugins/cost-insights/src/components/CostInsightsNavigation/CostInsightsNavigation.tsx +++ b/plugins/cost-insights/src/components/CostInsightsNavigation/CostInsightsNavigation.tsx @@ -32,7 +32,7 @@ import { NavigationItem, getDefaultNavigationItems, } from '../../utils/navigation'; -import { Maybe, Product } from '../../types'; +import { Maybe, Product } from '@backstage/plugin-cost-insights-common'; type CostInsightsNavigationProps = { alerts: number; diff --git a/plugins/cost-insights/src/components/CostInsightsPage/CostInsightsPage.tsx b/plugins/cost-insights/src/components/CostInsightsPage/CostInsightsPage.tsx index 00d92f945d..d113f1b8f3 100644 --- a/plugins/cost-insights/src/components/CostInsightsPage/CostInsightsPage.tsx +++ b/plugins/cost-insights/src/components/CostInsightsPage/CostInsightsPage.tsx @@ -48,7 +48,14 @@ import { useLastCompleteBillingDate, useLoading, } from '../../hooks'; -import { Alert, Cost, Maybe, MetricData, Product, Project } from '../../types'; +import { Alert } from '../../types'; +import { + Cost, + Maybe, + MetricData, + Product, + Project, +} from '@backstage/plugin-cost-insights-common'; import { mapLoadingToProps } from './selector'; import { ProjectSelect } from '../ProjectSelect'; import { intervalsOf } from '../../utils/duration'; diff --git a/plugins/cost-insights/src/components/CostInsightsTabs/CostInsightsTabs.test.tsx b/plugins/cost-insights/src/components/CostInsightsTabs/CostInsightsTabs.test.tsx index 2e2131daff..b04f314e73 100644 --- a/plugins/cost-insights/src/components/CostInsightsTabs/CostInsightsTabs.test.tsx +++ b/plugins/cost-insights/src/components/CostInsightsTabs/CostInsightsTabs.test.tsx @@ -17,7 +17,7 @@ import React from 'react'; import { CostInsightsTabs } from './CostInsightsTabs'; import userEvent from '@testing-library/user-event'; -import { Group } from '../../types'; +import { Group } from '@backstage/plugin-cost-insights-common'; import { MockFilterProvider, MockLoadingProvider } from '../../testUtils'; import { renderInTestApp } from '@backstage/test-utils'; diff --git a/plugins/cost-insights/src/components/CostInsightsTabs/CostInsightsTabs.tsx b/plugins/cost-insights/src/components/CostInsightsTabs/CostInsightsTabs.tsx index 935184ee55..152ce56902 100644 --- a/plugins/cost-insights/src/components/CostInsightsTabs/CostInsightsTabs.tsx +++ b/plugins/cost-insights/src/components/CostInsightsTabs/CostInsightsTabs.tsx @@ -18,7 +18,7 @@ import React, { useState } from 'react'; import { Menu, MenuItem, Tab, Tabs, Typography } from '@material-ui/core'; import ExpandMoreIcon from '@material-ui/icons/ExpandMore'; import { mapLoadingToProps, mapFiltersToProps } from './selector'; -import { Group } from '../../types'; +import { Group } from '@backstage/plugin-cost-insights-common'; import { useFilters, useLoading } from '../../hooks'; import { useCostInsightsTabsStyles as useStyles } from '../../utils/styles'; diff --git a/plugins/cost-insights/src/components/CostInsightsTabs/selector.ts b/plugins/cost-insights/src/components/CostInsightsTabs/selector.ts index 6309016c85..7e19deb301 100644 --- a/plugins/cost-insights/src/components/CostInsightsTabs/selector.ts +++ b/plugins/cost-insights/src/components/CostInsightsTabs/selector.ts @@ -16,7 +16,8 @@ import { MapFiltersToProps } from '../../hooks/useFilters'; import { MapLoadingToProps } from '../../hooks/useLoading'; -import { Group, PageFilters } from '../../types'; +import { PageFilters } from '../../types'; +import { Group } from '@backstage/plugin-cost-insights-common'; import { getResetStateWithoutInitial } from '../../utils/loading'; type CostInsightsTabsFilterProps = PageFilters & { diff --git a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewBreakdownChart.tsx b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewBreakdownChart.tsx index 80a8d5f9ac..842e76c991 100644 --- a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewBreakdownChart.tsx +++ b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewBreakdownChart.tsx @@ -32,7 +32,8 @@ import { XAxis, YAxis, } from 'recharts'; -import { Cost, CostInsightsTheme, DEFAULT_DATE_FORMAT } from '../../types'; +import { DEFAULT_DATE_FORMAT, CostInsightsTheme } from '../../types'; +import { Cost } from '@backstage/plugin-cost-insights-common'; import { BarChartLegend, BarChartTooltip as Tooltip, diff --git a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.test.tsx b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.test.tsx index e3de9593d9..0a9451c794 100644 --- a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.test.tsx +++ b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.test.tsx @@ -15,19 +15,19 @@ */ import React from 'react'; import { fireEvent } from '@testing-library/react'; -import { renderInTestApp } from '@backstage/test-utils'; +import { MockPluginProvider, renderInTestApp } from '@backstage/test-utils'; import { CostOverviewCard } from './CostOverviewCard'; -import { Cost } from '../../types'; +import { Cost } from '@backstage/plugin-cost-insights-common'; import { changeOf, getGroupedProducts, getGroupedProjects, MockAggregatedDailyCosts, - trendlineOf, MockBillingDateProvider, MockConfigProvider, MockFilterProvider, MockScrollProvider, + trendlineOf, } from '../../testUtils'; import { CostInsightsThemeProvider } from '../CostInsightsPage/CostInsightsThemeProvider'; @@ -44,7 +44,9 @@ function renderInContext(children: JSX.Element) { - {children} + + {children} + diff --git a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.tsx b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.tsx index 9eb5f1e190..c816da97ed 100644 --- a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.tsx +++ b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewCard.tsx @@ -34,7 +34,12 @@ import { useConfig, useFilters } from '../../hooks'; import { mapFiltersToProps } from './selector'; import { DefaultNavigation } from '../../utils/navigation'; import { findAlways } from '../../utils/assert'; -import { Cost, CostInsightsTheme, Maybe, MetricData } from '../../types'; +import { CostInsightsTheme } from '../../types'; +import { + Cost, + Maybe, + MetricData, +} from '@backstage/plugin-cost-insights-common'; import { useOverviewTabsStyles } from '../../utils/styles'; import { ScrollAnchor } from '../../utils/scroll'; diff --git a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewChart.tsx b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewChart.tsx index 0a87474476..c46f2b0b82 100644 --- a/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewChart.tsx +++ b/plugins/cost-insights/src/components/CostOverviewCard/CostOverviewChart.tsx @@ -26,15 +26,13 @@ import { Line, ResponsiveContainer, } from 'recharts'; +import { ChartData, DEFAULT_DATE_FORMAT, CostInsightsTheme } from '../../types'; import { - ChartData, Cost, - DEFAULT_DATE_FORMAT, Maybe, Metric, MetricData, - CostInsightsTheme, -} from '../../types'; +} from '@backstage/plugin-cost-insights-common'; import { BarChartTooltip as Tooltip, BarChartTooltipItem as TooltipItem, @@ -49,6 +47,7 @@ import { groupByDate, toDataMax, trendFrom } from '../../utils/charts'; import { aggregationSort } from '../../utils/sort'; import { CostOverviewLegend } from './CostOverviewLegend'; import { TooltipRenderer } from '../../types'; +import { useCostInsightsOptions } from '../../options'; import { useConfig } from '../../hooks'; type CostOverviewChartProps = { @@ -135,6 +134,8 @@ export const CostOverviewChart = ({ ); }; + const { hideTrendLine } = useCostInsightsOptions(); + return ( - + {!hideTrendLine && ( + + )} {metric && ( - {children} + + + {children} + + diff --git a/plugins/cost-insights/src/components/MetricSelect/MetricSelect.tsx b/plugins/cost-insights/src/components/MetricSelect/MetricSelect.tsx index 090444f025..fd534eb8f0 100644 --- a/plugins/cost-insights/src/components/MetricSelect/MetricSelect.tsx +++ b/plugins/cost-insights/src/components/MetricSelect/MetricSelect.tsx @@ -16,7 +16,7 @@ import React from 'react'; import { InputLabel, FormControl, Select, MenuItem } from '@material-ui/core'; -import { Maybe, Metric } from '../../types'; +import { Maybe, Metric } from '@backstage/plugin-cost-insights-common'; import { useSelectStyles as useStyles } from '../../utils/styles'; export type MetricSelectProps = { diff --git a/plugins/cost-insights/src/components/PeriodSelect/PeriodSelect.test.tsx b/plugins/cost-insights/src/components/PeriodSelect/PeriodSelect.test.tsx index dfac13dd42..a25e9274d3 100644 --- a/plugins/cost-insights/src/components/PeriodSelect/PeriodSelect.test.tsx +++ b/plugins/cost-insights/src/components/PeriodSelect/PeriodSelect.test.tsx @@ -15,13 +15,14 @@ */ import React from 'react'; -import { getByRole, waitFor } from '@testing-library/react'; +import { getByRole, screen, waitFor } from '@testing-library/react'; import { renderInTestApp } from '@backstage/test-utils'; import userEvent from '@testing-library/user-event'; import { PeriodSelect, getDefaultOptions } from './PeriodSelect'; import { getDefaultPageFilters } from '../../utils/filters'; import { MockBillingDateProvider } from '../../testUtils'; -import { Group, Duration } from '../../types'; +import { Duration } from '../../types'; +import { Group } from '@backstage/plugin-cost-insights-common'; const DefaultPageFilters = getDefaultPageFilters([{ id: 'tools' }] as Group[]); const lastCompleteBillingDate = '2020-05-01'; @@ -29,7 +30,7 @@ const options = getDefaultOptions(lastCompleteBillingDate); describe('', () => { it('Renders without exploding', async () => { - const rendered = await renderInTestApp( + await renderInTestApp( @@ -39,11 +40,11 @@ describe('', () => { /> , ); - expect(rendered.getByTestId('period-select')).toBeInTheDocument(); + expect(screen.getByTestId('period-select')).toBeInTheDocument(); }); it('Should display all costGrowth period options', async () => { - const rendered = await renderInTestApp( + await renderInTestApp( @@ -53,13 +54,13 @@ describe('', () => { /> , ); - const periodSelectContainer = rendered.getByTestId('period-select'); + const periodSelectContainer = screen.getByTestId('period-select'); const button = getByRole(periodSelectContainer, 'button'); await userEvent.click(button); - await waitFor(() => rendered.getByText('Past 60 Days')); + await waitFor(() => screen.getByText('Past 60 Days')); options.forEach(option => expect( - rendered.getByTestId(`period-select-option-${option.value}`), + screen.getByTestId(`period-select-option-${option.value}`), ).toBeInTheDocument(), ); }); @@ -78,19 +79,19 @@ describe('', () => { ? Duration.P30D : DefaultPageFilters.duration; - const rendered = await renderInTestApp( + await renderInTestApp( , , ); - const periodSelect = rendered.getByTestId('period-select'); + const periodSelect = screen.getByTestId('period-select'); const button = getByRole(periodSelect, 'button'); await userEvent.click(button); await userEvent.click( - rendered.getByTestId(`period-select-option-${duration}`), + screen.getByTestId(`period-select-option-${duration}`), ); expect(mockOnSelect).toHaveBeenLastCalledWith(duration); }); diff --git a/plugins/cost-insights/src/components/ProductInsights/ProductInsights.test.tsx b/plugins/cost-insights/src/components/ProductInsights/ProductInsights.test.tsx index 128c9d50b9..3c6b731ce8 100644 --- a/plugins/cost-insights/src/components/ProductInsights/ProductInsights.test.tsx +++ b/plugins/cost-insights/src/components/ProductInsights/ProductInsights.test.tsx @@ -27,7 +27,7 @@ import { MockScrollProvider, MockLoadingProvider, } from '../../testUtils'; -import { Entity, Product } from '../../types'; +import { Entity, Product } from '@backstage/plugin-cost-insights-common'; // suppress recharts componentDidUpdate warnings jest.spyOn(console, 'warn').mockImplementation(() => {}); diff --git a/plugins/cost-insights/src/components/ProductInsights/ProductInsights.tsx b/plugins/cost-insights/src/components/ProductInsights/ProductInsights.tsx index 3eba868843..9df763a5d4 100644 --- a/plugins/cost-insights/src/components/ProductInsights/ProductInsights.tsx +++ b/plugins/cost-insights/src/components/ProductInsights/ProductInsights.tsx @@ -19,7 +19,8 @@ import { Box, Typography } from '@material-ui/core'; import { default as Alert } from '@material-ui/lab/Alert'; import { costInsightsApiRef } from '../../api'; import { ProductInsightsCardList } from '../ProductInsightsCard/ProductInsightsCardList'; -import { Duration, Entity, Maybe, Product } from '../../types'; +import { Duration } from '../../types'; +import { Entity, Maybe, Product } from '@backstage/plugin-cost-insights-common'; import { intervalsOf, DEFAULT_DURATION } from '../../utils/duration'; import { DefaultLoadingAction, diff --git a/plugins/cost-insights/src/components/ProductInsightsCard/ProductEntityDialog.test.tsx b/plugins/cost-insights/src/components/ProductInsightsCard/ProductEntityDialog.test.tsx index fef201ec12..f804031d6f 100644 --- a/plugins/cost-insights/src/components/ProductInsightsCard/ProductEntityDialog.test.tsx +++ b/plugins/cost-insights/src/components/ProductInsightsCard/ProductEntityDialog.test.tsx @@ -18,7 +18,7 @@ import React from 'react'; import { wrapInTestApp } from '@backstage/test-utils'; import { ProductEntityDialog } from './ProductEntityDialog'; import { render } from '@testing-library/react'; -import { Entity } from '../../types'; +import { Entity } from '@backstage/plugin-cost-insights-common'; import { MockConfigProvider } from '../../testUtils'; const atomicEntity: Entity = { diff --git a/plugins/cost-insights/src/components/ProductInsightsCard/ProductEntityDialog.tsx b/plugins/cost-insights/src/components/ProductInsightsCard/ProductEntityDialog.tsx index 50b2ff993c..55fa795728 100644 --- a/plugins/cost-insights/src/components/ProductInsightsCard/ProductEntityDialog.tsx +++ b/plugins/cost-insights/src/components/ProductInsightsCard/ProductEntityDialog.tsx @@ -18,7 +18,7 @@ import React, { useState } from 'react'; import { Dialog, IconButton } from '@material-ui/core'; import { default as CloseButton } from '@material-ui/icons/Close'; import { useEntityDialogStyles as useStyles } from '../../utils/styles'; -import { Entity } from '../../types'; +import { Entity } from '@backstage/plugin-cost-insights-common'; import { ProductEntityTable, ProductEntityTableOptions, diff --git a/plugins/cost-insights/src/components/ProductInsightsCard/ProductEntityTable.tsx b/plugins/cost-insights/src/components/ProductInsightsCard/ProductEntityTable.tsx index c20c7d4a1f..affb16cb30 100644 --- a/plugins/cost-insights/src/components/ProductInsightsCard/ProductEntityTable.tsx +++ b/plugins/cost-insights/src/components/ProductInsightsCard/ProductEntityTable.tsx @@ -20,7 +20,11 @@ import { Typography } from '@material-ui/core'; import { formatChange } from '../../utils/formatters'; import { useEntityDialogStyles as useStyles } from '../../utils/styles'; import { CostGrowthIndicator } from '../CostGrowth'; -import { BarChartOptions, ChangeStatistic, Entity } from '../../types'; +import { BarChartOptions } from '../../types'; +import { + ChangeStatistic, + Entity, +} from '@backstage/plugin-cost-insights-common'; import { Table, TableColumn } from '@backstage/core-components'; import { useConfig } from '../../hooks'; diff --git a/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCard.test.tsx b/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCard.test.tsx index 737019e77a..b24b3bd366 100644 --- a/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCard.test.tsx +++ b/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCard.test.tsx @@ -28,7 +28,8 @@ import { MockScrollProvider, MockLoadingProvider, } from '../../testUtils'; -import { Duration, Entity, Product } from '../../types'; +import { Duration } from '../../types'; +import { Entity, Product } from '@backstage/plugin-cost-insights-common'; // suppress recharts componentDidUpdate warnings jest.spyOn(console, 'warn').mockImplementation(() => {}); diff --git a/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCard.tsx b/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCard.tsx index 2b4ee4b0db..a587bfb26e 100644 --- a/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCard.tsx +++ b/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCard.tsx @@ -28,7 +28,8 @@ import { PeriodSelect } from '../PeriodSelect'; import { ProductInsightsChart } from './ProductInsightsChart'; import { useProductInsightsCardStyles as useStyles } from '../../utils/styles'; import { DefaultLoadingAction } from '../../utils/loading'; -import { Duration, Entity, Maybe, Product } from '../../types'; +import { Duration } from '../../types'; +import { Entity, Maybe, Product } from '@backstage/plugin-cost-insights-common'; import { MapLoadingToProps, useLastCompleteBillingDate, diff --git a/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCardList.tsx b/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCardList.tsx index ecf60b4bef..3ae97daecb 100644 --- a/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCardList.tsx +++ b/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsCardList.tsx @@ -17,7 +17,8 @@ import React from 'react'; import { Box, CircularProgress, Collapse } from '@material-ui/core'; import { ProductInsightsCard } from './ProductInsightsCard'; -import { Duration, Entity, Product } from '../../types'; +import { Duration } from '../../types'; +import { Entity, Product } from '@backstage/plugin-cost-insights-common'; import { ProductState } from '../../utils/loading'; type ProductInsightsCardListProps = { diff --git a/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsChart.tsx b/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsChart.tsx index f44e24f443..2976b1f30f 100644 --- a/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsChart.tsx +++ b/plugins/cost-insights/src/components/ProductInsightsCard/ProductInsightsChart.tsx @@ -48,7 +48,8 @@ import { useProductInsightsChartStyles as useStyles, useBarChartLayoutStyles as useLayoutStyles, } from '../../utils/styles'; -import { Duration, Entity, Maybe } from '../../types'; +import { Duration } from '../../types'; +import { Entity, Maybe } from '@backstage/plugin-cost-insights-common'; import { choose } from '../../utils/change'; import { TooltipRenderer } from '../../types'; import { useConfig } from '../../hooks'; diff --git a/plugins/cost-insights/src/components/ProjectGrowthInstructionsPage/ProjectGrowthInstructionsPage.tsx b/plugins/cost-insights/src/components/ProjectGrowthInstructionsPage/ProjectGrowthInstructionsPage.tsx index 35b00ce6f6..0435210a98 100644 --- a/plugins/cost-insights/src/components/ProjectGrowthInstructionsPage/ProjectGrowthInstructionsPage.tsx +++ b/plugins/cost-insights/src/components/ProjectGrowthInstructionsPage/ProjectGrowthInstructionsPage.tsx @@ -23,10 +23,9 @@ import { Alert, DEFAULT_DATE_FORMAT, Duration, - Entity, - Product, ProjectGrowthData, } from '../../types'; +import { Entity, Product } from '@backstage/plugin-cost-insights-common'; import { ProjectGrowthAlert } from '../../alerts'; import { InfoCard } from '@backstage/core-components'; diff --git a/plugins/cost-insights/src/components/ProjectSelect/ProjectSelect.test.tsx b/plugins/cost-insights/src/components/ProjectSelect/ProjectSelect.test.tsx index 798b29de0d..7dd5b4253f 100644 --- a/plugins/cost-insights/src/components/ProjectSelect/ProjectSelect.test.tsx +++ b/plugins/cost-insights/src/components/ProjectSelect/ProjectSelect.test.tsx @@ -15,7 +15,7 @@ */ import React from 'react'; -import { getByRole, waitFor } from '@testing-library/react'; +import { getByRole, screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { ProjectSelect } from './ProjectSelect'; import { MockFilterProvider } from '../../testUtils'; @@ -42,23 +42,19 @@ describe('', () => { }); it('Renders without exploding', async () => { - const rendered = await renderInTestApp(Component); - expect(rendered.getByText('All Projects')).toBeInTheDocument(); + await renderInTestApp(Component); + expect(screen.getByText('All Projects')).toBeInTheDocument(); }); it('shows all projects in the filter select', async () => { - const rendered = await renderInTestApp(Component); - const projectSelectContainer = rendered.getByTestId( - 'project-filter-select', - ); + await renderInTestApp(Component); + const projectSelectContainer = screen.getByTestId('project-filter-select'); const button = getByRole(projectSelectContainer, 'button'); await userEvent.click(button); - await waitFor(() => rendered.getByTestId('option-all')); + await waitFor(() => screen.getByTestId('option-all')); mockProjects.forEach(project => - expect( - rendered.getByText(project.name ?? project.id), - ).toBeInTheDocument(), + expect(screen.getByText(project.name ?? project.id)).toBeInTheDocument(), ); }); }); diff --git a/plugins/cost-insights/src/components/ProjectSelect/ProjectSelect.tsx b/plugins/cost-insights/src/components/ProjectSelect/ProjectSelect.tsx index d46123b001..c83fa67d94 100644 --- a/plugins/cost-insights/src/components/ProjectSelect/ProjectSelect.tsx +++ b/plugins/cost-insights/src/components/ProjectSelect/ProjectSelect.tsx @@ -15,7 +15,7 @@ */ import React from 'react'; import { MenuItem, Select } from '@material-ui/core'; -import { Maybe, Project } from '../../types'; +import { Maybe, Project } from '@backstage/plugin-cost-insights-common'; import { useSelectStyles as useStyles } from '../../utils/styles'; type ProjectSelectProps = { diff --git a/plugins/cost-insights/src/options.ts b/plugins/cost-insights/src/options.ts new file mode 100644 index 0000000000..287935d703 --- /dev/null +++ b/plugins/cost-insights/src/options.ts @@ -0,0 +1,29 @@ +/* + * 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 { usePluginOptions } from '@backstage/core-plugin-api'; + +export type CostInsightsPluginOptions = { + hideTrendLine?: boolean; +}; + +/** @ignore */ +export type CostInsightsInputPluginOptions = { + hideTrendLine?: boolean; +}; + +export const useCostInsightsOptions = () => + usePluginOptions(); diff --git a/plugins/cost-insights/src/plugin.ts b/plugins/cost-insights/src/plugin.ts index 04d58d1877..c863c9e03a 100644 --- a/plugins/cost-insights/src/plugin.ts +++ b/plugins/cost-insights/src/plugin.ts @@ -19,6 +19,10 @@ import { createRouteRef, createRoutableExtension, } from '@backstage/core-plugin-api'; +import { + CostInsightsInputPluginOptions, + CostInsightsPluginOptions, +} from './options'; export const rootRouteRef = createRouteRef({ id: 'cost-insights', @@ -41,6 +45,14 @@ export const costInsightsPlugin = createPlugin({ growthAlerts: projectGrowthAlertRef, unlabeledDataflowAlerts: unlabeledDataflowAlertRef, }, + __experimentalConfigure( + options?: CostInsightsInputPluginOptions, + ): CostInsightsPluginOptions { + const defaultOptions = { + hideTrendLine: false, + }; + return { ...defaultOptions, ...options }; + }, }); /** @public */ diff --git a/plugins/cost-insights/src/testUtils/providers.tsx b/plugins/cost-insights/src/testUtils/providers.tsx index bdba7c26fb..46eab60163 100644 --- a/plugins/cost-insights/src/testUtils/providers.tsx +++ b/plugins/cost-insights/src/testUtils/providers.tsx @@ -15,13 +15,22 @@ */ import React, { PropsWithChildren } from 'react'; -import { LoadingContext, LoadingContextProps } from '../hooks'; -import { GroupsContext, GroupsContextProps } from '../hooks'; -import { FilterContext, FilterContextProps } from '../hooks'; -import { ConfigContext, ConfigContextProps } from '../hooks'; -import { CurrencyContext, CurrencyContextProps } from '../hooks'; -import { BillingDateContext, BillingDateContextProps } from '../hooks'; -import { ScrollContext, ScrollContextProps } from '../hooks'; +import { + LoadingContext, + LoadingContextProps, + GroupsContext, + GroupsContextProps, + FilterContext, + FilterContextProps, + ConfigContext, + ConfigContextProps, + CurrencyContext, + CurrencyContextProps, + BillingDateContext, + BillingDateContextProps, + ScrollContext, + ScrollContextProps, +} from '../hooks'; import { Duration } from '../types'; import { createCurrencyFormat } from '../utils/currency'; diff --git a/plugins/dynatrace/CHANGELOG.md b/plugins/dynatrace/CHANGELOG.md index 4d4b9a232b..7b77434dd0 100644 --- a/plugins/dynatrace/CHANGELOG.md +++ b/plugins/dynatrace/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-dynatrace +## 1.0.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 1.0.1 ### Patch Changes diff --git a/plugins/dynatrace/package.json b/plugins/dynatrace/package.json index da99b2767f..398cb270f8 100644 --- a/plugins/dynatrace/package.json +++ b/plugins/dynatrace/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-dynatrace", - "version": "1.0.1", + "version": "1.0.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-module-aws-sqs/CHANGELOG.md b/plugins/events-backend-module-aws-sqs/CHANGELOG.md index 8dfa896528..f7014b4009 100644 --- a/plugins/events-backend-module-aws-sqs/CHANGELOG.md +++ b/plugins/events-backend-module-aws-sqs/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-events-backend-module-aws-sqs +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/events-backend-module-aws-sqs/package.json b/plugins/events-backend-module-aws-sqs/package.json index 096e77b66c..4de90105f4 100644 --- a/plugins/events-backend-module-aws-sqs/package.json +++ b/plugins/events-backend-module-aws-sqs/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-aws-sqs", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-module-azure/CHANGELOG.md b/plugins/events-backend-module-azure/CHANGELOG.md index 14a06976b0..b17918b6ee 100644 --- a/plugins/events-backend-module-azure/CHANGELOG.md +++ b/plugins/events-backend-module-azure/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-events-backend-module-azure +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/events-backend-module-azure/package.json b/plugins/events-backend-module-azure/package.json index fee8e9117c..4202ecda47 100644 --- a/plugins/events-backend-module-azure/package.json +++ b/plugins/events-backend-module-azure/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-azure", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md index 11a2ade858..fd687b453d 100644 --- a/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md +++ b/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-events-backend-module-bitbucket-cloud +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/events-backend-module-bitbucket-cloud/package.json b/plugins/events-backend-module-bitbucket-cloud/package.json index 8b431a2453..84849f2278 100644 --- a/plugins/events-backend-module-bitbucket-cloud/package.json +++ b/plugins/events-backend-module-bitbucket-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-bitbucket-cloud", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-module-gerrit/CHANGELOG.md b/plugins/events-backend-module-gerrit/CHANGELOG.md index a97bab9ea4..636d7370a6 100644 --- a/plugins/events-backend-module-gerrit/CHANGELOG.md +++ b/plugins/events-backend-module-gerrit/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-events-backend-module-gerrit +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/events-backend-module-gerrit/package.json b/plugins/events-backend-module-gerrit/package.json index 7ec4eda0ec..5048ef2a19 100644 --- a/plugins/events-backend-module-gerrit/package.json +++ b/plugins/events-backend-module-gerrit/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-gerrit", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-module-github/CHANGELOG.md b/plugins/events-backend-module-github/CHANGELOG.md index 2de9725228..7bfc68de6e 100644 --- a/plugins/events-backend-module-github/CHANGELOG.md +++ b/plugins/events-backend-module-github/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-events-backend-module-github +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/events-backend-module-github/package.json b/plugins/events-backend-module-github/package.json index 3449a9d9e9..8816adcf79 100644 --- a/plugins/events-backend-module-github/package.json +++ b/plugins/events-backend-module-github/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-github", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-module-gitlab/CHANGELOG.md b/plugins/events-backend-module-gitlab/CHANGELOG.md index 9f8f4798f6..55f40a24eb 100644 --- a/plugins/events-backend-module-gitlab/CHANGELOG.md +++ b/plugins/events-backend-module-gitlab/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-events-backend-module-gitlab +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/events-backend-module-gitlab/package.json b/plugins/events-backend-module-gitlab/package.json index c13f9b5289..a376800ca5 100644 --- a/plugins/events-backend-module-gitlab/package.json +++ b/plugins/events-backend-module-gitlab/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend-module-gitlab", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-test-utils/CHANGELOG.md b/plugins/events-backend-test-utils/CHANGELOG.md index dd881c011c..0ceab063dc 100644 --- a/plugins/events-backend-test-utils/CHANGELOG.md +++ b/plugins/events-backend-test-utils/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-events-backend-test-utils +## 0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/events-backend-test-utils/package.json b/plugins/events-backend-test-utils/package.json index 3265426ffd..2f573795ba 100644 --- a/plugins/events-backend-test-utils/package.json +++ b/plugins/events-backend-test-utils/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-events-backend-test-utils", "description": "The plugin-events-backend-test-utils for @backstage/plugin-events-node", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend/CHANGELOG.md b/plugins/events-backend/CHANGELOG.md index a86bf34d03..aef1c3a814 100644 --- a/plugins/events-backend/CHANGELOG.md +++ b/plugins/events-backend/CHANGELOG.md @@ -1,5 +1,40 @@ # @backstage/plugin-events-backend +## 0.2.0-next.0 + +### Minor Changes + +- cf41eedf43: **BREAKING:** Remove required field `router` at `HttpPostIngressEventPublisher.fromConfig` + and replace it with `bind(router: Router)`. + Additionally, the path prefix `/http` will be added inside `HttpPostIngressEventPublisher`. + + ```diff + // at packages/backend/src/plugins/events.ts + const eventsRouter = Router(); + - const httpRouter = Router(); + - eventsRouter.use('/http', httpRouter); + + const http = HttpPostIngressEventPublisher.fromConfig({ + config: env.config, + logger: env.logger, + - router: httpRouter, + }); + + http.bind(eventsRouter); + ``` + +### Patch Changes + +- cf41eedf43: Introduce a new interface `RequestDetails` to abstract `Request` + providing access to request body and headers. + + **BREAKING:** Replace `request: Request` with `request: RequestDetails` at `RequestValidator`. + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/events-backend/package.json b/plugins/events-backend/package.json index 48f02667d9..ec07e3a287 100644 --- a/plugins/events-backend/package.json +++ b/plugins/events-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-events-backend", - "version": "0.1.0", + "version": "0.2.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-node/CHANGELOG.md b/plugins/events-node/CHANGELOG.md index 25899c739e..0a67f77dfd 100644 --- a/plugins/events-node/CHANGELOG.md +++ b/plugins/events-node/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-events-node +## 0.2.0-next.0 + +### Minor Changes + +- cf41eedf43: Introduce a new interface `RequestDetails` to abstract `Request` + providing access to request body and headers. + + **BREAKING:** Replace `request: Request` with `request: RequestDetails` at `RequestValidator`. + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.1.5-next.0 + ## 0.1.0 ### Minor Changes diff --git a/plugins/events-node/package.json b/plugins/events-node/package.json index 978037f8ff..0c6fbeef05 100644 --- a/plugins/events-node/package.json +++ b/plugins/events-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-events-node", "description": "The plugin-events-node module for @backstage/plugin-events-backend", - "version": "0.1.0", + "version": "0.2.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/example-todo-list-backend/CHANGELOG.md b/plugins/example-todo-list-backend/CHANGELOG.md index a255135f9b..d279bd2f3a 100644 --- a/plugins/example-todo-list-backend/CHANGELOG.md +++ b/plugins/example-todo-list-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @internal/plugin-todo-list-backend +## 1.0.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 1.0.7 ### Patch Changes diff --git a/plugins/example-todo-list-backend/package.json b/plugins/example-todo-list-backend/package.json index 02af7e631b..23cce5adbf 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.7", + "version": "1.0.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/example-todo-list-common/CHANGELOG.md b/plugins/example-todo-list-common/CHANGELOG.md index b90ea73e78..15c3b64667 100644 --- a/plugins/example-todo-list-common/CHANGELOG.md +++ b/plugins/example-todo-list-common/CHANGELOG.md @@ -1,5 +1,12 @@ # @internal/plugin-todo-list-common +## 1.0.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + ## 1.0.6 ### Patch Changes diff --git a/plugins/example-todo-list-common/package.json b/plugins/example-todo-list-common/package.json index b38312cd5b..6f8eca4c75 100644 --- a/plugins/example-todo-list-common/package.json +++ b/plugins/example-todo-list-common/package.json @@ -1,6 +1,6 @@ { "name": "@internal/plugin-todo-list-common", - "version": "1.0.6", + "version": "1.0.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/example-todo-list/CHANGELOG.md b/plugins/example-todo-list/CHANGELOG.md index 685e92acdb..0023dbfe8b 100644 --- a/plugins/example-todo-list/CHANGELOG.md +++ b/plugins/example-todo-list/CHANGELOG.md @@ -1,5 +1,14 @@ # @internal/plugin-todo-list +## 1.0.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + ## 1.0.7 ### Patch Changes diff --git a/plugins/example-todo-list/package.json b/plugins/example-todo-list/package.json index 9c7d1de465..95ef8d5238 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.7", + "version": "1.0.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/explore-react/CHANGELOG.md b/plugins/explore-react/CHANGELOG.md index 22850a9523..556b919b4f 100644 --- a/plugins/explore-react/CHANGELOG.md +++ b/plugins/explore-react/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-explore-react +## 0.0.24-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + ## 0.0.23 ### Patch Changes diff --git a/plugins/explore-react/package.json b/plugins/explore-react/package.json index 2d65edf074..879a00daa9 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.23", + "version": "0.0.24-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/explore/CHANGELOG.md b/plugins/explore/CHANGELOG.md index af08b68965..6ed2646da9 100644 --- a/plugins/explore/CHANGELOG.md +++ b/plugins/explore/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-explore +## 0.3.43-next.0 + +### Patch Changes + +- ea4a5be8f3: Adds styling to graph forcing it to always fill out the available space. +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-explore-react@0.0.24-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.3.42 ### Patch Changes diff --git a/plugins/explore/package.json b/plugins/explore/package.json index 894fd1bc85..f8388df6e8 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.42", + "version": "0.3.43-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/firehydrant/CHANGELOG.md b/plugins/firehydrant/CHANGELOG.md index 28eff9ba0a..f45d554a29 100644 --- a/plugins/firehydrant/CHANGELOG.md +++ b/plugins/firehydrant/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-firehydrant +## 0.1.29-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/theme@0.2.16 + ## 0.1.28 ### Patch Changes diff --git a/plugins/firehydrant/package.json b/plugins/firehydrant/package.json index 20da2966e9..09752fabb4 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.28", + "version": "0.1.29-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/fossa/CHANGELOG.md b/plugins/fossa/CHANGELOG.md index 94ca0b60a1..8f4a4f6411 100644 --- a/plugins/fossa/CHANGELOG.md +++ b/plugins/fossa/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-fossa +## 0.2.44-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.2.43 ### Patch Changes diff --git a/plugins/fossa/package.json b/plugins/fossa/package.json index 6127cf17fa..bd5b352f38 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.43", + "version": "0.2.44-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/gcalendar/CHANGELOG.md b/plugins/gcalendar/CHANGELOG.md index 316a35f4c8..1247c9af5a 100644 --- a/plugins/gcalendar/CHANGELOG.md +++ b/plugins/gcalendar/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-gcalendar +## 0.3.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.3.7 ### Patch Changes diff --git a/plugins/gcalendar/package.json b/plugins/gcalendar/package.json index 26a699fa1c..9664f0d1d5 100644 --- a/plugins/gcalendar/package.json +++ b/plugins/gcalendar/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-gcalendar", - "version": "0.3.7", + "version": "0.3.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/gcalendar/src/components/CalendarCard/AttendeeChip.test.tsx b/plugins/gcalendar/src/components/CalendarCard/AttendeeChip.test.tsx index 64485e74ab..769a225de3 100644 --- a/plugins/gcalendar/src/components/CalendarCard/AttendeeChip.test.tsx +++ b/plugins/gcalendar/src/components/CalendarCard/AttendeeChip.test.tsx @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +import { screen } from '@testing-library/react'; import React from 'react'; - import { renderInTestApp } from '@backstage/test-utils'; - import { AttendeeChip } from './AttendeeChip'; import { EventAttendee, ResponseStatus } from '../../api'; @@ -27,8 +27,8 @@ describe('', () => { email, responseStatus: ResponseStatus.needsAction, }; - const { queryByText } = await renderInTestApp(); - expect(queryByText(email)).toBeInTheDocument(); + await renderInTestApp(); + expect(screen.getByText(email)).toBeInTheDocument(); }); it('renders accepted icon', async () => { @@ -37,8 +37,8 @@ describe('', () => { email, responseStatus: ResponseStatus.accepted, }; - const { getByTestId } = await renderInTestApp(); - expect(getByTestId('accepted-icon')).toBeInTheDocument(); + await renderInTestApp(); + expect(screen.getByTestId('accepted-icon')).toBeInTheDocument(); }); it('renders declined icon', async () => { @@ -47,7 +47,7 @@ describe('', () => { email, responseStatus: ResponseStatus.declined, }; - const { getByTestId } = await renderInTestApp(); - expect(getByTestId('declined-icon')).toBeInTheDocument(); + await renderInTestApp(); + expect(screen.getByTestId('declined-icon')).toBeInTheDocument(); }); }); diff --git a/plugins/gcalendar/src/components/CalendarCard/CalendarEvent.test.tsx b/plugins/gcalendar/src/components/CalendarCard/CalendarEvent.test.tsx index 7a48903bec..4a1ca884a9 100644 --- a/plugins/gcalendar/src/components/CalendarCard/CalendarEvent.test.tsx +++ b/plugins/gcalendar/src/components/CalendarCard/CalendarEvent.test.tsx @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { fireEvent } from '@testing-library/react'; +import { screen } from '@testing-library/react'; import React from 'react'; - import { renderInTestApp } from '@backstage/test-utils'; - import { CalendarEvent } from './CalendarEvent'; describe('', () => { @@ -42,16 +42,14 @@ describe('', () => { }; it('should render calendar event', async () => { - const { queryByText, queryByTestId } = await renderInTestApp( - , - ); - expect(queryByText(event.summary)).toBeInTheDocument(); - expect(queryByTestId('calendar-event-zoom-link')).toBeInTheDocument(); - expect(queryByTestId('calendar-event-zoom-link')).toHaveAttribute( + await renderInTestApp(); + expect(screen.getByText(event.summary)).toBeInTheDocument(); + expect(screen.getByTestId('calendar-event-zoom-link')).toBeInTheDocument(); + expect(screen.queryByTestId('calendar-event-zoom-link')).toHaveAttribute( 'href', event.conferenceData.entryPoints[0].uri, ); - expect(queryByTestId('calendar-event-time')).toBeInTheDocument(); + expect(screen.getByTestId('calendar-event-time')).toBeInTheDocument(); }); it('should not render time for events longer than 1 day', async () => { @@ -64,20 +62,18 @@ describe('', () => { date: '2022-02-19', }, }; - const { queryByText, queryByTestId } = await renderInTestApp( - , - ); - expect(queryByText(allDayEvent.summary)).toBeInTheDocument(); - expect(queryByTestId('calendar-event-time')).not.toBeInTheDocument(); + await renderInTestApp(); + expect(screen.getByText(allDayEvent.summary)).toBeInTheDocument(); + expect(screen.queryByTestId('calendar-event-time')).not.toBeInTheDocument(); }); it('should show popover on click', async () => { - const { queryByTestId, getByTestId } = await renderInTestApp( - , - ); - expect(queryByTestId('calendar-event-popover')).not.toBeInTheDocument(); + await renderInTestApp(); + expect( + screen.queryByTestId('calendar-event-popover'), + ).not.toBeInTheDocument(); - fireEvent.click(getByTestId('calendar-event')); - expect(queryByTestId('calendar-event-popover')).toBeInTheDocument(); + fireEvent.click(screen.getByTestId('calendar-event')); + expect(screen.getByTestId('calendar-event-popover')).toBeInTheDocument(); }); }); diff --git a/plugins/gcalendar/src/components/CalendarCard/CalendarEventPopoverContent.test.tsx b/plugins/gcalendar/src/components/CalendarCard/CalendarEventPopoverContent.test.tsx index fe48b2fd5a..107a3ed180 100644 --- a/plugins/gcalendar/src/components/CalendarCard/CalendarEventPopoverContent.test.tsx +++ b/plugins/gcalendar/src/components/CalendarCard/CalendarEventPopoverContent.test.tsx @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import React from 'react'; - +import { screen } from '@testing-library/react'; import { renderInTestApp } from '@backstage/test-utils'; - import { CalendarEventPopoverContent } from './CalendarEventPopoverContent'; describe('', () => { @@ -35,21 +35,18 @@ describe('', () => { }; it('should render event info', async () => { - const { queryByText, queryByTestId } = await renderInTestApp( - , - ); - expect(queryByText(event.summary)).toBeInTheDocument(); - expect(queryByText(event.description)).toBeInTheDocument(); - expect(queryByText(event.attendees[0].email)).toBeInTheDocument(); - expect(queryByText('Join Zoom Meeting')).toBeInTheDocument(); - expect(queryByText('Join Zoom Meeting')?.closest('a')).toHaveAttribute( - 'href', - event.conferenceData.entryPoints[0].uri, - ); - expect(queryByTestId('open-calendar-link')).toHaveAttribute( + await renderInTestApp(); + expect(screen.getByText(event.summary)).toBeInTheDocument(); + expect(screen.getByText(event.description)).toBeInTheDocument(); + expect(screen.getByText(event.attendees[0].email)).toBeInTheDocument(); + expect(screen.getByText('Join Zoom Meeting')).toBeInTheDocument(); + expect( + screen.queryByText('Join Zoom Meeting')?.closest('a'), + ).toHaveAttribute('href', event.conferenceData.entryPoints[0].uri); + expect(screen.queryByTestId('open-calendar-link')).toHaveAttribute( 'href', event.htmlLink, ); - expect(queryByText(event.attendees[0].email)).toBeInTheDocument(); + expect(screen.getByText(event.attendees[0].email)).toBeInTheDocument(); }); }); diff --git a/plugins/gcp-projects/CHANGELOG.md b/plugins/gcp-projects/CHANGELOG.md index e07597f6c1..8aebfc2a83 100644 --- a/plugins/gcp-projects/CHANGELOG.md +++ b/plugins/gcp-projects/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-gcp-projects +## 0.3.31-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + ## 0.3.30 ### Patch Changes diff --git a/plugins/gcp-projects/package.json b/plugins/gcp-projects/package.json index 1592c8bf22..eb0cebacfe 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.30", + "version": "0.3.31-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/gcp-projects/src/components/ProjectDetailsPage/ProjectDetailsPage.tsx b/plugins/gcp-projects/src/components/ProjectDetailsPage/ProjectDetailsPage.tsx index b900b81695..364033ce73 100644 --- a/plugins/gcp-projects/src/components/ProjectDetailsPage/ProjectDetailsPage.tsx +++ b/plugins/gcp-projects/src/components/ProjectDetailsPage/ProjectDetailsPage.tsx @@ -61,7 +61,9 @@ const DetailsPage = () => { const classes = useStyles(); const [{ status, result: details, error }, { execute }] = useAsync(async () => - api.getProject(decodeURIComponent(location.search.split('projectId=')[1])), + api.getProject( + decodeURIComponent(window.location.search.split('projectId=')[1]), + ), ); useMountEffect(execute); diff --git a/plugins/git-release-manager/CHANGELOG.md b/plugins/git-release-manager/CHANGELOG.md index b167b3f05d..9e93735c02 100644 --- a/plugins/git-release-manager/CHANGELOG.md +++ b/plugins/git-release-manager/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-git-release-manager +## 0.3.25-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/theme@0.2.16 + ## 0.3.24 ### Patch Changes diff --git a/plugins/git-release-manager/package.json b/plugins/git-release-manager/package.json index c969e89799..3bc48171a0 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.24", + "version": "0.3.25-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/github-actions/CHANGELOG.md b/plugins/github-actions/CHANGELOG.md index 1c2247c478..e9f0c87449 100644 --- a/plugins/github-actions/CHANGELOG.md +++ b/plugins/github-actions/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-github-actions +## 0.5.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.5.11 ### Patch Changes diff --git a/plugins/github-actions/package.json b/plugins/github-actions/package.json index ba50324e67..96b45fe403 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.11", + "version": "0.5.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/github-actions/src/components/WorkflowRunDetails/WorkflowRunDetails.tsx b/plugins/github-actions/src/components/WorkflowRunDetails/WorkflowRunDetails.tsx index f05ea692f5..a2c87772d5 100644 --- a/plugins/github-actions/src/components/WorkflowRunDetails/WorkflowRunDetails.tsx +++ b/plugins/github-actions/src/components/WorkflowRunDetails/WorkflowRunDetails.tsx @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { Entity } from '@backstage/catalog-model'; import { readGithubIntegrationConfigs } from '@backstage/integration'; import { @@ -43,7 +44,6 @@ import { WorkflowRunStatus } from '../WorkflowRunStatus'; import { useWorkflowRunJobs } from './useWorkflowRunJobs'; import { useWorkflowRunsDetails } from './useWorkflowRunsDetails'; import { WorkflowRunLogs } from '../WorkflowRunLogs'; - import { configApiRef, useApi } from '@backstage/core-plugin-api'; import { Breadcrumbs, Link } from '@backstage/core-components'; @@ -116,8 +116,6 @@ const JobListItem = ({ } - aria-controls={`panel-${name}-content`} - id={`panel-${name}-header`} IconButtonProps={{ className: classes.button, }} diff --git a/plugins/github-actions/src/components/WorkflowRunLogs/WorkflowRunLogs.tsx b/plugins/github-actions/src/components/WorkflowRunLogs/WorkflowRunLogs.tsx index 075b73dd98..2c9d41398a 100644 --- a/plugins/github-actions/src/components/WorkflowRunLogs/WorkflowRunLogs.tsx +++ b/plugins/github-actions/src/components/WorkflowRunLogs/WorkflowRunLogs.tsx @@ -105,8 +105,6 @@ export const WorkflowRunLogs = ({ } - aria-controls={`panel-${name}-content`} - id={`panel-${name}-header`} IconButtonProps={{ className: classes.button, }} diff --git a/plugins/github-deployments/CHANGELOG.md b/plugins/github-deployments/CHANGELOG.md index ade197c0bc..0cd7ababe1 100644 --- a/plugins/github-deployments/CHANGELOG.md +++ b/plugins/github-deployments/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-github-deployments +## 0.1.43-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.1.42 ### Patch Changes diff --git a/plugins/github-deployments/package.json b/plugins/github-deployments/package.json index a237c0f45a..984386a609 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.42", + "version": "0.1.43-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/github-issues/CHANGELOG.md b/plugins/github-issues/CHANGELOG.md index 799eef210d..dd38eb4ab7 100644 --- a/plugins/github-issues/CHANGELOG.md +++ b/plugins/github-issues/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-github-issues +## 0.2.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.2.0 ### Minor Changes diff --git a/plugins/github-issues/package.json b/plugins/github-issues/package.json index 11d58c1c35..26d7e58c9e 100644 --- a/plugins/github-issues/package.json +++ b/plugins/github-issues/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-github-issues", - "version": "0.2.0", + "version": "0.2.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/github-pull-requests-board/CHANGELOG.md b/plugins/github-pull-requests-board/CHANGELOG.md index 38e87c02b2..aa286afbb3 100644 --- a/plugins/github-pull-requests-board/CHANGELOG.md +++ b/plugins/github-pull-requests-board/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-github-pull-requests-board +## 0.1.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.1.5 ### Patch Changes diff --git a/plugins/github-pull-requests-board/package.json b/plugins/github-pull-requests-board/package.json index 24269a7125..c211e9aff5 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.5", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/gitops-profiles/CHANGELOG.md b/plugins/gitops-profiles/CHANGELOG.md index a37503ce7a..35e7a4994d 100644 --- a/plugins/gitops-profiles/CHANGELOG.md +++ b/plugins/gitops-profiles/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-gitops-profiles +## 0.3.30-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + ## 0.3.29 ### Patch Changes diff --git a/plugins/gitops-profiles/package.json b/plugins/gitops-profiles/package.json index 1644617722..c3db350ccf 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.29", + "version": "0.3.30-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/gocd/CHANGELOG.md b/plugins/gocd/CHANGELOG.md index 24a1582195..9dfa518ae9 100644 --- a/plugins/gocd/CHANGELOG.md +++ b/plugins/gocd/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-gocd +## 0.1.18-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.1.17 ### Patch Changes diff --git a/plugins/gocd/package.json b/plugins/gocd/package.json index 441876b8cf..7c2982a079 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.17", + "version": "0.1.18-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/graphiql/CHANGELOG.md b/plugins/graphiql/CHANGELOG.md index 66729db2ae..1302e76521 100644 --- a/plugins/graphiql/CHANGELOG.md +++ b/plugins/graphiql/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-graphiql +## 0.2.44-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + ## 0.2.43 ### Patch Changes diff --git a/plugins/graphiql/package.json b/plugins/graphiql/package.json index bdec4bdba1..9e98cd73e1 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.43", + "version": "0.2.44-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/plugins/graphiql/src/lib/storage/StorageBucket.ts b/plugins/graphiql/src/lib/storage/StorageBucket.ts index a2b87238a6..dc2c0d4f85 100644 --- a/plugins/graphiql/src/lib/storage/StorageBucket.ts +++ b/plugins/graphiql/src/lib/storage/StorageBucket.ts @@ -47,7 +47,7 @@ export class StorageBucket implements Storage { private readonly bucket: string, ) {} - [name: string]: any; + [itemName: string]: any; get length(): number { throw new Error('Method not implemented.'); diff --git a/plugins/graphql-backend/CHANGELOG.md b/plugins/graphql-backend/CHANGELOG.md index 783d443df3..e72ff879c0 100644 --- a/plugins/graphql-backend/CHANGELOG.md +++ b/plugins/graphql-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-graphql-backend +## 0.1.29-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-catalog-graphql@0.3.16-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.1.28 ### Patch Changes diff --git a/plugins/graphql-backend/package.json b/plugins/graphql-backend/package.json index 81e5d0e22a..b591d309dc 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.28", + "version": "0.1.29-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/home/CHANGELOG.md b/plugins/home/CHANGELOG.md index 743e79c768..dde9480a9c 100644 --- a/plugins/home/CHANGELOG.md +++ b/plugins/home/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-home +## 0.4.28-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-stack-overflow@0.1.8-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + ## 0.4.27 ### Patch Changes diff --git a/plugins/home/package.json b/plugins/home/package.json index 0fed1b2022..ac5d35dea1 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.27", + "version": "0.4.28-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/ilert/CHANGELOG.md b/plugins/ilert/CHANGELOG.md index 013ddf42ae..eb2cf7b9bd 100644 --- a/plugins/ilert/CHANGELOG.md +++ b/plugins/ilert/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-ilert +## 0.2.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.2.0 ### Minor Changes diff --git a/plugins/ilert/package.json b/plugins/ilert/package.json index e01ff50617..6fec626262 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.2.0", + "version": "0.2.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/jenkins-backend/CHANGELOG.md b/plugins/jenkins-backend/CHANGELOG.md index 5b7ec769d1..a770057e25 100644 --- a/plugins/jenkins-backend/CHANGELOG.md +++ b/plugins/jenkins-backend/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-jenkins-backend +## 0.1.29-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-jenkins-common@0.1.11-next.0 + ## 0.1.28 ### Patch Changes diff --git a/plugins/jenkins-backend/package.json b/plugins/jenkins-backend/package.json index 60b96cb694..2bf84d3bc1 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.28", + "version": "0.1.29-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/jenkins-common/CHANGELOG.md b/plugins/jenkins-common/CHANGELOG.md index 3fb300fecc..9027bb6529 100644 --- a/plugins/jenkins-common/CHANGELOG.md +++ b/plugins/jenkins-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-jenkins-common +## 0.1.11-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + ## 0.1.10 ### Patch Changes diff --git a/plugins/jenkins-common/package.json b/plugins/jenkins-common/package.json index 90c7e269eb..4f44a626ce 100644 --- a/plugins/jenkins-common/package.json +++ b/plugins/jenkins-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-jenkins-common", - "version": "0.1.10", + "version": "0.1.11-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/jenkins/CHANGELOG.md b/plugins/jenkins/CHANGELOG.md index c9a6f7dcc3..576508da14 100644 --- a/plugins/jenkins/CHANGELOG.md +++ b/plugins/jenkins/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-jenkins +## 0.7.11-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-jenkins-common@0.1.11-next.0 + ## 0.7.10 ### Patch Changes diff --git a/plugins/jenkins/package.json b/plugins/jenkins/package.json index 157f91944e..a1d90e3de0 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.10", + "version": "0.7.11-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/kafka-backend/CHANGELOG.md b/plugins/kafka-backend/CHANGELOG.md index 4da0ca13e4..583858e130 100644 --- a/plugins/kafka-backend/CHANGELOG.md +++ b/plugins/kafka-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-kafka-backend +## 0.2.32-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.31 ### Patch Changes diff --git a/plugins/kafka-backend/package.json b/plugins/kafka-backend/package.json index 1f5ac500f8..a3bdf9d53a 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.31", + "version": "0.2.32-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/kafka/CHANGELOG.md b/plugins/kafka/CHANGELOG.md index 1e9589d034..59664b40fb 100644 --- a/plugins/kafka/CHANGELOG.md +++ b/plugins/kafka/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-kafka +## 0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + ## 0.3.11 ### Patch Changes diff --git a/plugins/kafka/package.json b/plugins/kafka/package.json index 851d2d7ef3..0aae08d6dc 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.11", + "version": "0.3.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/kubernetes-backend/CHANGELOG.md b/plugins/kubernetes-backend/CHANGELOG.md index e1f0a2df4e..d88425cde2 100644 --- a/plugins/kubernetes-backend/CHANGELOG.md +++ b/plugins/kubernetes-backend/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-kubernetes-backend +## 0.8.1-next.0 + +### Patch Changes + +- b585179770: Added Kubernetes proxy API route to backend Kubernetes plugin, allowing Backstage plugin developers to read/write new information from Kubernetes (if proper credentials are provided). +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-kubernetes-common@0.4.5-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.8.0 ### Minor Changes diff --git a/plugins/kubernetes-backend/api-report.md b/plugins/kubernetes-backend/api-report.md index d51ec4c211..b88b3f2a02 100644 --- a/plugins/kubernetes-backend/api-report.md +++ b/plugins/kubernetes-backend/api-report.md @@ -22,6 +22,7 @@ import { Logger } from 'winston'; import { Metrics } from '@kubernetes/client-node'; import type { ObjectsByEntityResponse } from '@backstage/plugin-kubernetes-common'; import { PluginEndpointDiscovery } from '@backstage/backend-common'; +import type { RequestHandler } from 'express'; import { TokenCredential } from '@azure/identity'; // @alpha (undocumented) @@ -142,6 +143,9 @@ export class GoogleServiceAccountAuthTranslator ): Promise; } +// @alpha +export const HEADER_KUBERNETES_CLUSTER: string; + // @alpha (undocumented) export interface KubernetesAuthTranslator { // (undocumented) @@ -188,10 +192,16 @@ export class KubernetesBuilder { options: KubernetesObjectsProviderOptions, ): KubernetesObjectsProvider; // (undocumented) + protected buildProxy( + logger: Logger, + clusterSupplier: KubernetesClustersSupplier, + ): KubernetesProxy; + // (undocumented) protected buildRouter( objectsProvider: KubernetesObjectsProvider, clusterSupplier: KubernetesClustersSupplier, catalogApi: CatalogApi, + proxy: KubernetesProxy, ): express.Router; // (undocumented) protected buildServiceLocator( @@ -207,8 +217,23 @@ export class KubernetesBuilder { clusterSupplier: KubernetesClustersSupplier, ): Promise; // (undocumented) + protected getClusterSupplier(): KubernetesClustersSupplier; + // (undocumented) + protected getFetcher(): KubernetesFetcher; + // (undocumented) + protected getObjectsProvider( + options: KubernetesObjectsProviderOptions, + ): KubernetesObjectsProvider; + // (undocumented) protected getObjectTypesToFetch(): ObjectToFetch[] | undefined; // (undocumented) + protected getProxy( + logger: Logger, + clusterSupplier: KubernetesClustersSupplier, + ): KubernetesProxy; + // (undocumented) + protected getServiceLocator(): KubernetesServiceLocator; + // (undocumented) protected getServiceLocatorMethod(): ServiceLocatorMethod; // (undocumented) setClusterSupplier(clusterSupplier?: KubernetesClustersSupplier): this; @@ -219,6 +244,8 @@ export class KubernetesBuilder { // (undocumented) setObjectsProvider(objectsProvider?: KubernetesObjectsProvider): this; // (undocumented) + setProxy(proxy?: KubernetesProxy): this; + // (undocumented) setServiceLocator(serviceLocator?: KubernetesServiceLocator): this; } @@ -228,6 +255,7 @@ export type KubernetesBuilderReturn = Promise<{ clusterSupplier: KubernetesClustersSupplier; customResources: CustomResource[]; fetcher: KubernetesFetcher; + proxy: KubernetesProxy; objectsProvider: KubernetesObjectsProvider; serviceLocator: KubernetesServiceLocator; }>; @@ -322,6 +350,13 @@ export type KubernetesObjectTypes = | 'statefulsets' | 'daemonsets'; +// @alpha +export class KubernetesProxy { + constructor(logger: Logger, clusterSupplier: KubernetesClustersSupplier); + // (undocumented) + createRequestHandler(): RequestHandler; +} + // @alpha export interface KubernetesServiceLocator { // (undocumented) diff --git a/plugins/kubernetes-backend/package.json b/plugins/kubernetes-backend/package.json index acf28eeb36..4e17a04bd0 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.8.0", + "version": "0.8.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,6 +36,7 @@ "dependencies": { "@azure/identity": "^2.0.4", "@backstage/backend-common": "workspace:^", + "@backstage/backend-test-utils": "workspace:^", "@backstage/catalog-client": "workspace:^", "@backstage/catalog-model": "workspace:^", "@backstage/config": "workspace:^", @@ -43,6 +44,7 @@ "@backstage/plugin-auth-node": "workspace:^", "@backstage/plugin-kubernetes-common": "workspace:^", "@google-cloud/container": "^4.0.0", + "@jest-mock/express": "^2.0.1", "@kubernetes/client-node": "0.17.0", "@types/express": "^4.17.6", "@types/luxon": "^3.0.0", @@ -54,9 +56,11 @@ "express-promise-router": "^4.1.0", "fs-extra": "10.1.0", "helmet": "^6.0.0", + "http-proxy-middleware": "^2.0.6", "lodash": "^4.17.21", "luxon": "^3.0.0", "morgan": "^1.10.0", + "node-fetch": "^2.6.7", "stream-buffers": "^3.0.2", "winston": "^3.2.1", "yn": "^4.0.0" @@ -64,7 +68,9 @@ "devDependencies": { "@backstage/cli": "workspace:^", "@types/aws4": "^1.5.1", + "@types/http-proxy-middleware": "^0.19.3", "aws-sdk-mock": "^5.2.1", + "msw": "^0.49.0", "supertest": "^6.1.3" }, "files": [ diff --git a/plugins/kubernetes-backend/src/index.ts b/plugins/kubernetes-backend/src/index.ts index e2eee3f24e..67aefbd974 100644 --- a/plugins/kubernetes-backend/src/index.ts +++ b/plugins/kubernetes-backend/src/index.ts @@ -20,19 +20,6 @@ * @packageDocumentation */ -export * from './kubernetes-auth-translator/AwsIamKubernetesAuthTranslator'; -export * from './kubernetes-auth-translator/AzureIdentityKubernetesAuthTranslator'; -export * from './kubernetes-auth-translator/GoogleKubernetesAuthTranslator'; -export * from './kubernetes-auth-translator/GoogleServiceAccountAuthProvider'; -export * from './kubernetes-auth-translator/KubernetesAuthTranslatorGenerator'; -export * from './kubernetes-auth-translator/NoopKubernetesAuthTranslator'; -export * from './kubernetes-auth-translator/OidcKubernetesAuthTranslator'; -export * from './kubernetes-auth-translator/types'; - -export * from './service/router'; -export * from './service/KubernetesBuilder'; -export * from './service/KubernetesClientProvider'; - -export * from './types/types'; - -export { DEFAULT_OBJECTS } from './service/KubernetesFanOutHandler'; +export * from './kubernetes-auth-translator'; +export * from './service'; +export * from './types'; diff --git a/plugins/kubernetes-backend/src/kubernetes-auth-translator/index.ts b/plugins/kubernetes-backend/src/kubernetes-auth-translator/index.ts new file mode 100644 index 0000000000..19f6dd80eb --- /dev/null +++ b/plugins/kubernetes-backend/src/kubernetes-auth-translator/index.ts @@ -0,0 +1,24 @@ +/* + * 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. + */ + +export * from './AwsIamKubernetesAuthTranslator'; +export * from './AzureIdentityKubernetesAuthTranslator'; +export * from './GoogleKubernetesAuthTranslator'; +export * from './GoogleServiceAccountAuthProvider'; +export * from './KubernetesAuthTranslatorGenerator'; +export * from './NoopKubernetesAuthTranslator'; +export * from './OidcKubernetesAuthTranslator'; +export * from './types'; diff --git a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts index 304885f3e2..c8ff98f592 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts @@ -13,23 +13,26 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { CatalogApi } from '@backstage/catalog-client'; import { Config } from '@backstage/config'; import express from 'express'; import Router from 'express-promise-router'; -import { Logger } from 'winston'; import { Duration } from 'luxon'; +import { Logger } from 'winston'; + import { getCombinedClusterSupplier } from '../cluster-locator'; +import { addResourceRoutesToRouter } from '../routes/resourcesRoutes'; import { MultiTenantServiceLocator } from '../service-locator/MultiTenantServiceLocator'; import { - KubernetesObjectTypes, - ServiceLocatorMethod, CustomResource, - KubernetesObjectsProvider, - ObjectsByEntityRequest, KubernetesClustersSupplier, KubernetesFetcher, - KubernetesServiceLocator, + KubernetesObjectsProvider, KubernetesObjectsProviderOptions, + KubernetesObjectTypes, + KubernetesServiceLocator, + ObjectsByEntityRequest, + ServiceLocatorMethod, } from '../types/types'; import { KubernetesClientProvider } from './KubernetesClientProvider'; import { @@ -37,8 +40,7 @@ import { KubernetesFanOutHandler, } from './KubernetesFanOutHandler'; import { KubernetesClientBasedFetcher } from './KubernetesFetcher'; -import { addResourceRoutesToRouter } from '../routes/resourcesRoutes'; -import { CatalogApi } from '@backstage/catalog-client'; +import { KubernetesProxy } from './KubernetesProxy'; /** * @@ -60,6 +62,7 @@ export type KubernetesBuilderReturn = Promise<{ clusterSupplier: KubernetesClustersSupplier; customResources: CustomResource[]; fetcher: KubernetesFetcher; + proxy: KubernetesProxy; objectsProvider: KubernetesObjectsProvider; serviceLocator: KubernetesServiceLocator; }>; @@ -76,6 +79,7 @@ export class KubernetesBuilder { private objectsProvider?: KubernetesObjectsProvider; private fetcher?: KubernetesFetcher; private serviceLocator?: KubernetesServiceLocator; + private proxy?: KubernetesProxy; static createBuilder(env: KubernetesEnvironment) { return new KubernetesBuilder(env); @@ -102,36 +106,34 @@ export class KubernetesBuilder { } const customResources = this.buildCustomResources(); - const fetcher = this.fetcher ?? this.buildFetcher(); + const fetcher = this.getFetcher(); - const clusterSupplier = - this.clusterSupplier ?? - this.buildClusterSupplier(this.defaultClusterRefreshInterval); + const clusterSupplier = this.getClusterSupplier(); - const serviceLocator = - this.serviceLocator ?? - this.buildServiceLocator(this.getServiceLocatorMethod(), clusterSupplier); + const proxy = this.getProxy(logger, clusterSupplier); - const objectsProvider = - this.objectsProvider ?? - this.buildObjectsProvider({ - logger, - fetcher, - serviceLocator, - customResources, - objectTypesToFetch: this.getObjectTypesToFetch(), - }); + const serviceLocator = this.getServiceLocator(); + + const objectsProvider = this.getObjectsProvider({ + logger, + fetcher, + serviceLocator, + customResources, + objectTypesToFetch: this.getObjectTypesToFetch(), + }); const router = this.buildRouter( objectsProvider, clusterSupplier, this.env.catalogApi, + proxy, ); return { clusterSupplier, customResources, fetcher, + proxy, objectsProvider, router, serviceLocator, @@ -163,6 +165,11 @@ export class KubernetesBuilder { return this; } + public setProxy(proxy?: KubernetesProxy) { + this.proxy = proxy; + return this; + } + protected buildCustomResources() { const customResources: CustomResource[] = ( this.env.config.getOptionalConfigArray('kubernetes.customResources') ?? [] @@ -186,24 +193,29 @@ export class KubernetesBuilder { refreshInterval: Duration, ): KubernetesClustersSupplier { const config = this.env.config; - return getCombinedClusterSupplier( + this.clusterSupplier = getCombinedClusterSupplier( config, this.env.catalogApi, refreshInterval, ); + + return this.clusterSupplier; } protected buildObjectsProvider( options: KubernetesObjectsProviderOptions, ): KubernetesObjectsProvider { - return new KubernetesFanOutHandler(options); + this.objectsProvider = new KubernetesFanOutHandler(options); + return this.objectsProvider; } protected buildFetcher(): KubernetesFetcher { - return new KubernetesClientBasedFetcher({ + this.fetcher = new KubernetesClientBasedFetcher({ kubernetesClientProvider: new KubernetesClientProvider(), logger: this.env.logger, }); + + return this.fetcher; } protected buildServiceLocator( @@ -212,14 +224,19 @@ export class KubernetesBuilder { ): KubernetesServiceLocator { switch (method) { case 'multiTenant': - return this.buildMultiTenantServiceLocator(clusterSupplier); + this.serviceLocator = + this.buildMultiTenantServiceLocator(clusterSupplier); + break; case 'http': - return this.buildHttpServiceLocator(clusterSupplier); + this.serviceLocator = this.buildHttpServiceLocator(clusterSupplier); + break; default: throw new Error( `Unsupported kubernetes.clusterLocatorMethod "${method}"`, ); } + + return this.serviceLocator; } protected buildMultiTenantServiceLocator( @@ -234,10 +251,19 @@ export class KubernetesBuilder { throw new Error('not implemented'); } + protected buildProxy( + logger: Logger, + clusterSupplier: KubernetesClustersSupplier, + ): KubernetesProxy { + this.proxy = new KubernetesProxy(logger, clusterSupplier); + return this.proxy; + } + protected buildRouter( objectsProvider: KubernetesObjectsProvider, clusterSupplier: KubernetesClustersSupplier, catalogApi: CatalogApi, + proxy: KubernetesProxy, ): express.Router { const logger = this.env.logger; const router = Router(); @@ -273,6 +299,8 @@ export class KubernetesBuilder { }); }); + router.use('/proxy', proxy.createRequestHandler()); + addResourceRoutesToRouter(router, catalogApi, objectsProvider); return router; @@ -296,6 +324,31 @@ export class KubernetesBuilder { ) as ServiceLocatorMethod; } + protected getFetcher(): KubernetesFetcher { + return this.fetcher ?? this.buildFetcher(); + } + + protected getClusterSupplier() { + return ( + this.clusterSupplier ?? + this.buildClusterSupplier(this.defaultClusterRefreshInterval) + ); + } + + protected getServiceLocator(): KubernetesServiceLocator { + return ( + this.serviceLocator ?? + this.buildServiceLocator( + this.getServiceLocatorMethod(), + this.getClusterSupplier(), + ) + ); + } + + protected getObjectsProvider(options: KubernetesObjectsProviderOptions) { + return this.objectsProvider ?? this.buildObjectsProvider(options); + } + protected getObjectTypesToFetch() { const objectTypesToFetchStrings = this.env.config.getOptionalStringArray( 'kubernetes.objectTypes', @@ -325,4 +378,11 @@ export class KubernetesBuilder { return objectTypesToFetch; } + + protected getProxy( + logger: Logger, + clusterSupplier: KubernetesClustersSupplier, + ) { + return this.proxy ?? this.buildProxy(logger, clusterSupplier); + } } diff --git a/plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts b/plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts new file mode 100644 index 0000000000..4254bb33da --- /dev/null +++ b/plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts @@ -0,0 +1,119 @@ +/* + * 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 'buffer'; +import { getVoidLogger } from '@backstage/backend-common'; +import { NotFoundError } from '@backstage/errors'; +import { getMockReq, getMockRes } from '@jest-mock/express'; +import type { Request } from 'express'; +import express from 'express'; +import request from 'supertest'; +import { rest } from 'msw'; +import { setupServer } from 'msw/node'; +import { setupRequestMockHandlers } from '@backstage/backend-test-utils'; +import { ClusterDetails, KubernetesClustersSupplier } from '../types/types'; +import { + APPLICATION_JSON, + HEADER_KUBERNETES_CLUSTER, + KubernetesProxy, +} from './KubernetesProxy'; + +describe('KubernetesProxy', () => { + let proxy: KubernetesProxy; + const worker = setupServer(); + + setupRequestMockHandlers(worker); + + const buildMockRequest = (clusterName: any, path: string): Request => { + const req = getMockReq({ + params: { + path, + }, + header: jest.fn((key: string) => { + switch (key) { + case 'Content-Type': { + return APPLICATION_JSON; + } + case HEADER_KUBERNETES_CLUSTER: { + return clusterName; + } + default: { + return ''; + } + } + }), + }); + + return req; + }; + + const clusterSupplier: jest.Mocked = { + getClusters: jest.fn(), + }; + + beforeEach(() => { + jest.resetAllMocks(); + proxy = new KubernetesProxy(getVoidLogger(), clusterSupplier); + }); + + it('should return a ERROR_NOT_FOUND if no clusters are found', async () => { + clusterSupplier.getClusters.mockResolvedValue([]); + + const req = buildMockRequest('test', 'api'); + const { res, next } = getMockRes(); + + await expect(proxy.createRequestHandler()(req, res, next)).rejects.toThrow( + NotFoundError, + ); + }); + + it('should pass the exact response from Kubernetes', async () => { + const apiResponse = { + kind: 'APIVersions', + versions: ['v1'], + serverAddressByClientCIDRs: [ + { + clientCIDR: '0.0.0.0/0', + serverAddress: '192.168.0.1:3333', + }, + ], + }; + + clusterSupplier.getClusters.mockResolvedValue([ + { + name: 'cluster1', + url: 'https://localhost:9999', + serviceAccountToken: '', + authProvider: 'serviceAccount', + }, + ] as ClusterDetails[]); + const app = express().use('/mountpath', proxy.createRequestHandler()); + const requestPromise = request(app) + .get('/mountpath/api') + .set(HEADER_KUBERNETES_CLUSTER, 'cluster1'); + worker.use( + rest.get('https://localhost:9999/api', (_, res, ctx) => + res(ctx.status(299), ctx.json(apiResponse)), + ), + rest.all(requestPromise.url, (req, _res, _ctx) => req.passthrough()), + ); + + const response = await requestPromise; + + expect(response.status).toEqual(299); + expect(response.body).toStrictEqual(apiResponse); + }); +}); diff --git a/plugins/kubernetes-backend/src/service/KubernetesProxy.ts b/plugins/kubernetes-backend/src/service/KubernetesProxy.ts new file mode 100644 index 0000000000..9d88d2ab84 --- /dev/null +++ b/plugins/kubernetes-backend/src/service/KubernetesProxy.ts @@ -0,0 +1,130 @@ +/* + * 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 { + ErrorResponseBody, + ForwardedError, + InputError, + NotFoundError, + serializeError, +} from '@backstage/errors'; +import { bufferFromFileOrString } from '@kubernetes/client-node'; +import type { Request, RequestHandler } from 'express'; +import { createProxyMiddleware } from 'http-proxy-middleware'; +import { Logger } from 'winston'; +import { ClusterDetails, KubernetesClustersSupplier } from '../types/types'; + +export const APPLICATION_JSON: string = 'application/json'; + +/** + * The header that is used to specify the cluster name. + * + * @alpha + */ +export const HEADER_KUBERNETES_CLUSTER: string = 'X-Kubernetes-Cluster'; + +/** + * A proxy that routes requests to the Kubernetes API. + * + * @alpha + */ +export class KubernetesProxy { + private readonly middlewareForClusterName = new Map(); + + constructor( + private readonly logger: Logger, + private readonly clusterSupplier: KubernetesClustersSupplier, + ) {} + + public createRequestHandler(): RequestHandler { + return async (req, res, next) => { + const middleware = await this.getMiddleware(req); + middleware(req, res, next); + }; + } + + // We create one middleware per remote cluster and hold on to them, because + // the secure property isn't possible to decide on a per-request basis with a + // single middleware instance - and we don't expect it to change over time. + private async getMiddleware(originalReq: Request): Promise { + const originalCluster = await this.getClusterForRequest(originalReq); + let middleware = this.middlewareForClusterName.get(originalCluster.name); + if (!middleware) { + // Probably too risky without permissions protecting this endpoint + // if (cluster.serviceAccountToken) { + // options.headers = { + // Authorization: `Bearer ${cluster.serviceAccountToken}`, + // }; + // } + + const logger = this.logger.child({ cluster: originalCluster.name }); + middleware = createProxyMiddleware({ + logProvider: () => logger, + secure: !originalCluster.skipTLSVerify, + router: async req => { + // Re-evaluate the cluster on each request, in case it has changed + const cluster = await this.getClusterForRequest(req); + const url = new URL(cluster.url); + return { + protocol: url.protocol, + host: url.hostname, + port: url.port, + ca: bufferFromFileOrString('', cluster.caData)?.toString(), + }; + }, + pathRewrite: { [`^${originalReq.baseUrl}`]: '' }, + onError: (error, req, res) => { + const wrappedError = new ForwardedError( + `Cluster '${originalCluster.name}' request error`, + error, + ); + + logger.error(wrappedError); + + const body: ErrorResponseBody = { + error: serializeError(wrappedError, { + includeStack: process.env.NODE_ENV === 'development', + }), + request: { method: req.method, url: req.originalUrl }, + response: { statusCode: 500 }, + }; + + res.status(500).json(body); + }, + }); + + this.middlewareForClusterName.set(originalCluster.name, middleware); + } + + return middleware; + } + + private async getClusterForRequest(req: Request): Promise { + const clusterName = req.header(HEADER_KUBERNETES_CLUSTER); + if (!clusterName) { + throw new InputError(`Missing '${HEADER_KUBERNETES_CLUSTER}' header.`); + } + + const cluster = await this.clusterSupplier + .getClusters() + .then(clusters => clusters.find(c => c.name === clusterName)); + if (!cluster) { + throw new NotFoundError(`Cluster '${clusterName}' not found`); + } + + return cluster; + } +} diff --git a/plugins/kubernetes-backend/src/service/index.ts b/plugins/kubernetes-backend/src/service/index.ts new file mode 100644 index 0000000000..70ff530bee --- /dev/null +++ b/plugins/kubernetes-backend/src/service/index.ts @@ -0,0 +1,21 @@ +/* + * 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. + */ + +export * from './KubernetesBuilder'; +export * from './KubernetesClientProvider'; +export { DEFAULT_OBJECTS } from './KubernetesFanOutHandler'; +export { HEADER_KUBERNETES_CLUSTER, KubernetesProxy } from './KubernetesProxy'; +export * from './router'; diff --git a/plugins/kubernetes-backend/src/types/index.ts b/plugins/kubernetes-backend/src/types/index.ts new file mode 100644 index 0000000000..db229eae34 --- /dev/null +++ b/plugins/kubernetes-backend/src/types/index.ts @@ -0,0 +1,17 @@ +/* + * 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. + */ + +export * from './types'; diff --git a/plugins/kubernetes-common/CHANGELOG.md b/plugins/kubernetes-common/CHANGELOG.md index 3a255e7525..c7e7e2851e 100644 --- a/plugins/kubernetes-common/CHANGELOG.md +++ b/plugins/kubernetes-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-kubernetes-common +## 0.4.5-next.0 + +### Patch Changes + +- b585179770: Added Kubernetes proxy API route to backend Kubernetes plugin, allowing Backstage plugin developers to read/write new information from Kubernetes (if proper credentials are provided). +- Updated dependencies + - @backstage/catalog-model@1.1.4-next.0 + ## 0.4.4 ### Patch Changes diff --git a/plugins/kubernetes-common/package.json b/plugins/kubernetes-common/package.json index f82c8bb9d9..0bc877106d 100644 --- a/plugins/kubernetes-common/package.json +++ b/plugins/kubernetes-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-kubernetes-common", "description": "Common functionalities for kubernetes, to be shared between kubernetes and kubernetes-backend plugin", - "version": "0.4.4", + "version": "0.4.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/kubernetes/CHANGELOG.md b/plugins/kubernetes/CHANGELOG.md index f01d0b8db4..fcf6872b45 100644 --- a/plugins/kubernetes/CHANGELOG.md +++ b/plugins/kubernetes/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-kubernetes +## 0.7.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/plugin-kubernetes-common@0.4.5-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + ## 0.7.4 ### Patch Changes diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json index c00bbd5083..f85c8f55d4 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.4", + "version": "0.7.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/lighthouse/CHANGELOG.md b/plugins/lighthouse/CHANGELOG.md index f47334f73c..94a1de76a5 100644 --- a/plugins/lighthouse/CHANGELOG.md +++ b/plugins/lighthouse/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-lighthouse +## 0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + ## 0.3.11 ### Patch Changes diff --git a/plugins/lighthouse/package.json b/plugins/lighthouse/package.json index b27fc62655..81eb8ae4ad 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.11", + "version": "0.3.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/lighthouse/src/components/AuditList/AuditListTable.test.tsx b/plugins/lighthouse/src/components/AuditList/AuditListTable.test.tsx index d8a54928b2..c2ee202841 100644 --- a/plugins/lighthouse/src/components/AuditList/AuditListTable.test.tsx +++ b/plugins/lighthouse/src/components/AuditList/AuditListTable.test.tsx @@ -76,7 +76,7 @@ describe('AuditListTable', () => { if (!website) throw new Error('https://anchor.fm must be present in fixture'); expect( - rendered.queryByText(formatTime(website.lastAudit.timeCreated)), + rendered.getByText(formatTime(website.lastAudit.timeCreated)), ).toBeInTheDocument(); }); diff --git a/plugins/lighthouse/src/components/AuditView/index.test.tsx b/plugins/lighthouse/src/components/AuditView/index.test.tsx index 00b2843a50..c68daddc67 100644 --- a/plugins/lighthouse/src/components/AuditView/index.test.tsx +++ b/plugins/lighthouse/src/components/AuditView/index.test.tsx @@ -98,7 +98,7 @@ describe('AuditView', () => { websiteResponse.audits.forEach(a => { expect( - rendered.queryByText(formatTime(a.timeCreated)), + rendered.getByText(formatTime(a.timeCreated)), ).toBeInTheDocument(); }); }); @@ -199,7 +199,7 @@ describe('AuditView', () => { await rendered.findByTestId('audit-sidebar'); - expect(rendered.queryByTestId('progress')).toBeInTheDocument(); + expect(rendered.getByTestId('progress')).toBeInTheDocument(); }); }); @@ -219,7 +219,7 @@ describe('AuditView', () => { await rendered.findByTestId('audit-sidebar'); - expect(rendered.queryByText(/This audit failed/)).toBeInTheDocument(); + expect(rendered.getByText(/This audit failed/)).toBeInTheDocument(); }); }); }); diff --git a/plugins/lighthouse/src/components/Intro/index.test.tsx b/plugins/lighthouse/src/components/Intro/index.test.tsx index ed4a11ff43..173dce1315 100644 --- a/plugins/lighthouse/src/components/Intro/index.test.tsx +++ b/plugins/lighthouse/src/components/Intro/index.test.tsx @@ -25,7 +25,7 @@ describe('LighthouseIntro', () => { it('renders successfully', () => { const rendered = render(wrapInTestApp()); expect( - rendered.queryByText('Welcome to Lighthouse in Backstage!'), + rendered.getByText('Welcome to Lighthouse in Backstage!'), ).toBeInTheDocument(); }); @@ -35,7 +35,7 @@ describe('LighthouseIntro', () => { it('selects the first text element', () => { const rendered = render(wrapInTestApp()); - expect(rendered.queryByText(firstTabRe)).toBeInTheDocument(); + expect(rendered.getByText(firstTabRe)).toBeInTheDocument(); expect(rendered.queryByText(secondTabRe)).not.toBeInTheDocument(); }); @@ -43,7 +43,7 @@ describe('LighthouseIntro', () => { const rendered = render(wrapInTestApp()); fireEvent.click(rendered.getByText('Setup')); expect(rendered.queryByText(firstTabRe)).not.toBeInTheDocument(); - expect(rendered.queryByText(secondTabRe)).toBeInTheDocument(); + expect(rendered.getByText(secondTabRe)).toBeInTheDocument(); }); }); diff --git a/plugins/newrelic-dashboard/CHANGELOG.md b/plugins/newrelic-dashboard/CHANGELOG.md index 39a1e77549..0f77c55636 100644 --- a/plugins/newrelic-dashboard/CHANGELOG.md +++ b/plugins/newrelic-dashboard/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-newrelic-dashboard +## 0.2.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.4 ### Patch Changes diff --git a/plugins/newrelic-dashboard/package.json b/plugins/newrelic-dashboard/package.json index 2766346636..e18927d13a 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.4", + "version": "0.2.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/newrelic/CHANGELOG.md b/plugins/newrelic/CHANGELOG.md index 328c73e448..22f3296a99 100644 --- a/plugins/newrelic/CHANGELOG.md +++ b/plugins/newrelic/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-newrelic +## 0.3.30-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + ## 0.3.29 ### Patch Changes diff --git a/plugins/newrelic/package.json b/plugins/newrelic/package.json index 01408ccbfb..1b1cdb748d 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.29", + "version": "0.3.30-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/org-react/CHANGELOG.md b/plugins/org-react/CHANGELOG.md index c84b6306c9..a32be25eb3 100644 --- a/plugins/org-react/CHANGELOG.md +++ b/plugins/org-react/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-org-react +## 0.1.1-next.0 + +### Patch Changes + +- 4cb5066828: Bug fixes and adding the possibility to add a default value for the `GroupListPicker`. Fixes: Vertical size jump on text entry, left align for text, selecting a value closes the popup, auto focus on the popup when opening +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.1.0 ### Minor Changes diff --git a/plugins/org-react/package.json b/plugins/org-react/package.json index 522096e26a..ced20576b3 100644 --- a/plugins/org-react/package.json +++ b/plugins/org-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-org-react", - "version": "0.1.0", + "version": "0.1.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/org/CHANGELOG.md b/plugins/org/CHANGELOG.md index 6bfce1e679..ff5bafa2c1 100644 --- a/plugins/org/CHANGELOG.md +++ b/plugins/org/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-org +## 0.6.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.6.0 ### Minor Changes diff --git a/plugins/org/package.json b/plugins/org/package.json index c628d9f762..8daaf47f65 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.6.0", + "version": "0.6.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/pagerduty/CHANGELOG.md b/plugins/pagerduty/CHANGELOG.md index c8f4e7cc4f..7849f8eab9 100644 --- a/plugins/pagerduty/CHANGELOG.md +++ b/plugins/pagerduty/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-pagerduty +## 0.5.5-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.5.4 ### Patch Changes diff --git a/plugins/pagerduty/package.json b/plugins/pagerduty/package.json index 8dbd63494e..6d11107598 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.4", + "version": "0.5.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/pagerduty/src/components/Incident/Incidents.test.tsx b/plugins/pagerduty/src/components/Incident/Incidents.test.tsx index a83874a995..bd2016eb16 100644 --- a/plugins/pagerduty/src/components/Incident/Incidents.test.tsx +++ b/plugins/pagerduty/src/components/Incident/Incidents.test.tsx @@ -13,8 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import React from 'react'; -import { render, waitFor } from '@testing-library/react'; +import { render, screen, waitFor } from '@testing-library/react'; import { Incidents } from './Incidents'; import { TestApiRegistry, wrapInTestApp } from '@backstage/test-utils'; import { pagerDutyApiRef } from '../../api'; @@ -32,15 +33,15 @@ describe('Incidents', () => { .fn() .mockImplementationOnce(async () => ({ incidents: [] })); - const { getByText, queryByTestId } = render( + render( wrapInTestApp( , ), ); - await waitFor(() => !queryByTestId('progress')); - expect(getByText('Nice! No incidents found!')).toBeInTheDocument(); + await waitFor(() => !screen.queryByTestId('progress')); + expect(screen.getByText('Nice! No incidents found!')).toBeInTheDocument(); }); it('Renders all incidents', async () => { @@ -85,25 +86,25 @@ describe('Incidents', () => { }, ] as PagerDutyIncident[], })); - const { getByText, getAllByTitle, queryByTestId } = render( + render( wrapInTestApp( , ), ); - await waitFor(() => !queryByTestId('progress')); - expect(getByText('title1')).toBeInTheDocument(); - expect(getByText('title2')).toBeInTheDocument(); - expect(getByText('person1')).toBeInTheDocument(); - expect(getByText('person2')).toBeInTheDocument(); - expect(getByText('triggered')).toBeInTheDocument(); - expect(getByText('acknowledged')).toBeInTheDocument(); - expect(queryByTestId('chip-triggered')).toBeInTheDocument(); - expect(queryByTestId('chip-acknowledged')).toBeInTheDocument(); + await waitFor(() => !screen.queryByTestId('progress')); + expect(screen.getByText('title1')).toBeInTheDocument(); + expect(screen.getByText('title2')).toBeInTheDocument(); + expect(screen.getByText('person1')).toBeInTheDocument(); + expect(screen.getByText('person2')).toBeInTheDocument(); + expect(screen.getByText('triggered')).toBeInTheDocument(); + expect(screen.getByText('acknowledged')).toBeInTheDocument(); + expect(screen.getByTestId('chip-triggered')).toBeInTheDocument(); + expect(screen.getByTestId('chip-acknowledged')).toBeInTheDocument(); // assert links, mailto and hrefs, date calculation - expect(getAllByTitle('View in PagerDuty').length).toEqual(2); + expect(screen.getAllByTitle('View in PagerDuty').length).toEqual(2); }); it('Handle errors', async () => { @@ -111,16 +112,18 @@ describe('Incidents', () => { .fn() .mockRejectedValueOnce(new Error('Error occurred')); - const { getByText, queryByTestId } = render( + render( wrapInTestApp( , ), ); - await waitFor(() => !queryByTestId('progress')); + await waitFor(() => !screen.queryByTestId('progress')); expect( - getByText('Error encountered while fetching information. Error occurred'), + screen.getByText( + 'Error encountered while fetching information. Error occurred', + ), ).toBeInTheDocument(); }); }); diff --git a/plugins/periskop-backend/CHANGELOG.md b/plugins/periskop-backend/CHANGELOG.md index 7725bf2fe0..d031743fbc 100644 --- a/plugins/periskop-backend/CHANGELOG.md +++ b/plugins/periskop-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-periskop-backend +## 0.1.10-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.1.9 ### Patch Changes diff --git a/plugins/periskop-backend/package.json b/plugins/periskop-backend/package.json index 07e181357d..a837bc6d31 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.9", + "version": "0.1.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/periskop/CHANGELOG.md b/plugins/periskop/CHANGELOG.md index 3c583dd8da..5c5acf7941 100644 --- a/plugins/periskop/CHANGELOG.md +++ b/plugins/periskop/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-periskop +## 0.1.10-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.1.9 ### Patch Changes diff --git a/plugins/periskop/package.json b/plugins/periskop/package.json index bf07e96ccb..f0ab1126a1 100644 --- a/plugins/periskop/package.json +++ b/plugins/periskop/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-periskop", - "version": "0.1.9", + "version": "0.1.10-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/permission-backend/CHANGELOG.md b/plugins/permission-backend/CHANGELOG.md index b8d42cf4cf..3fb59d8527 100644 --- a/plugins/permission-backend/CHANGELOG.md +++ b/plugins/permission-backend/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-permission-backend +## 0.5.14-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.5.13 ### Patch Changes diff --git a/plugins/permission-backend/package.json b/plugins/permission-backend/package.json index f40f8999e6..7eca3e77c6 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.13", + "version": "0.5.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/permission-common/CHANGELOG.md b/plugins/permission-common/CHANGELOG.md index b5599964b9..53931c40dc 100644 --- a/plugins/permission-common/CHANGELOG.md +++ b/plugins/permission-common/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-permission-common +## 0.7.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.7.1 ### Patch Changes diff --git a/plugins/permission-common/package.json b/plugins/permission-common/package.json index db21171632..fb3caa9150 100644 --- a/plugins/permission-common/package.json +++ b/plugins/permission-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-permission-common", "description": "Isomorphic types and client for Backstage permissions and authorization", - "version": "0.7.1", + "version": "0.7.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/plugins/permission-node/CHANGELOG.md b/plugins/permission-node/CHANGELOG.md index 743c2af016..7380e08131 100644 --- a/plugins/permission-node/CHANGELOG.md +++ b/plugins/permission-node/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-permission-node +## 0.7.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.7.1 ### Patch Changes diff --git a/plugins/permission-node/package.json b/plugins/permission-node/package.json index 16fb15b569..5971448783 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.7.1", + "version": "0.7.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/permission-react/CHANGELOG.md b/plugins/permission-react/CHANGELOG.md index ef4d4f46ff..3219389c85 100644 --- a/plugins/permission-react/CHANGELOG.md +++ b/plugins/permission-react/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-permission-react +## 0.4.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.4.7 ### Patch Changes diff --git a/plugins/permission-react/package.json b/plugins/permission-react/package.json index 2f978efc38..43537875c2 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.7", + "version": "0.4.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/playlist-backend/CHANGELOG.md b/plugins/playlist-backend/CHANGELOG.md index ef38cbc96e..24b14aa6b2 100644 --- a/plugins/playlist-backend/CHANGELOG.md +++ b/plugins/playlist-backend/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-playlist-backend +## 0.2.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-playlist-common@0.1.3-next.0 + ## 0.2.1 ### Patch Changes diff --git a/plugins/playlist-backend/package.json b/plugins/playlist-backend/package.json index 3e3c0967e0..ddbca7aeac 100644 --- a/plugins/playlist-backend/package.json +++ b/plugins/playlist-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-playlist-backend", - "version": "0.2.1", + "version": "0.2.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/playlist-common/CHANGELOG.md b/plugins/playlist-common/CHANGELOG.md index 89cb9934f9..99e2dacdbb 100644 --- a/plugins/playlist-common/CHANGELOG.md +++ b/plugins/playlist-common/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-playlist-common +## 0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + ## 0.1.2 ### Patch Changes diff --git a/plugins/playlist-common/package.json b/plugins/playlist-common/package.json index baeb49d1ba..01823b4e24 100644 --- a/plugins/playlist-common/package.json +++ b/plugins/playlist-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-playlist-common", "description": "Common functionalities for the playlist plugin", - "version": "0.1.2", + "version": "0.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/playlist/CHANGELOG.md b/plugins/playlist/CHANGELOG.md index 9f965ead21..2be4e0375a 100644 --- a/plugins/playlist/CHANGELOG.md +++ b/plugins/playlist/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-playlist +## 0.1.3-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + - @backstage/plugin-playlist-common@0.1.3-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + ## 0.1.2 ### Patch Changes diff --git a/plugins/playlist/package.json b/plugins/playlist/package.json index 6b1e40d880..821b337aa6 100644 --- a/plugins/playlist/package.json +++ b/plugins/playlist/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-playlist", - "version": "0.1.2", + "version": "0.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/playlist/src/components/CreatePlaylistButton/CreatePlaylistButton.test.tsx b/plugins/playlist/src/components/CreatePlaylistButton/CreatePlaylistButton.test.tsx index e00f7dc582..ef8ca57b69 100644 --- a/plugins/playlist/src/components/CreatePlaylistButton/CreatePlaylistButton.test.tsx +++ b/plugins/playlist/src/components/CreatePlaylistButton/CreatePlaylistButton.test.tsx @@ -26,7 +26,6 @@ import { fireEvent, waitFor } from '@testing-library/react'; import { act } from '@testing-library/react-hooks'; import React from 'react'; import { SWRConfig } from 'swr'; - import { PlaylistApi, playlistApiRef } from '../../api'; import { rootRouteRef } from '../../routes'; import { CreatePlaylistButton } from './CreatePlaylistButton'; @@ -103,7 +102,7 @@ describe('', () => { fireEvent.click(rendered.getByRole('button')); }); expect( - rendered.queryByTestId('mock-playlist-edit-dialog'), + rendered.getByTestId('mock-playlist-edit-dialog'), ).toBeInTheDocument(); }); diff --git a/plugins/playlist/src/components/EntityPlaylistDialog/EntityPlaylistDialog.test.tsx b/plugins/playlist/src/components/EntityPlaylistDialog/EntityPlaylistDialog.test.tsx index 9c61105ef9..1d9b298e19 100644 --- a/plugins/playlist/src/components/EntityPlaylistDialog/EntityPlaylistDialog.test.tsx +++ b/plugins/playlist/src/components/EntityPlaylistDialog/EntityPlaylistDialog.test.tsx @@ -28,7 +28,6 @@ import { fireEvent, getByRole, waitFor } from '@testing-library/react'; import { act } from '@testing-library/react-hooks'; import React from 'react'; import { SWRConfig } from 'swr'; - import { PlaylistApi, playlistApiRef } from '../../api'; import { rootRouteRef } from '../../routes'; import { EntityPlaylistDialog } from './EntityPlaylistDialog'; @@ -182,7 +181,7 @@ describe('EntityPlaylistDialog', () => { }); expect( - rendered.queryByTestId('mock-playlist-edit-dialog'), + rendered.getByTestId('mock-playlist-edit-dialog'), ).toBeInTheDocument(); act(() => { diff --git a/plugins/playlist/src/components/PersonalListPicker/PersonalListPicker.test.tsx b/plugins/playlist/src/components/PersonalListPicker/PersonalListPicker.test.tsx index 9255ee1bdb..b8ef0d9de0 100644 --- a/plugins/playlist/src/components/PersonalListPicker/PersonalListPicker.test.tsx +++ b/plugins/playlist/src/components/PersonalListPicker/PersonalListPicker.test.tsx @@ -24,7 +24,7 @@ import { } from '@backstage/core-plugin-api'; import { Playlist } from '@backstage/plugin-playlist-common'; import { MockStorageApi, TestApiRegistry } from '@backstage/test-utils'; -import { fireEvent, render, waitFor } from '@testing-library/react'; +import { fireEvent, render, screen, waitFor } from '@testing-library/react'; import React from 'react'; import { MockPlaylistListProvider } from '../../testUtils'; @@ -94,7 +94,7 @@ describe('', () => { }); it('renders filter groups', async () => { - const { queryByText } = render( + render( @@ -103,8 +103,8 @@ describe('', () => { ); await waitFor(() => { - expect(queryByText('Personal')).toBeInTheDocument(); - expect(queryByText('Test Company')).toBeInTheDocument(); + expect(screen.getByText('Personal')).toBeInTheDocument(); + expect(screen.getByText('Test Company')).toBeInTheDocument(); }); }); diff --git a/plugins/playlist/src/components/PlaylistPage/PlaylistEntitiesTable.test.tsx b/plugins/playlist/src/components/PlaylistPage/PlaylistEntitiesTable.test.tsx index f7720b25c1..21658ef36e 100644 --- a/plugins/playlist/src/components/PlaylistPage/PlaylistEntitiesTable.test.tsx +++ b/plugins/playlist/src/components/PlaylistPage/PlaylistEntitiesTable.test.tsx @@ -27,7 +27,6 @@ import { fireEvent, waitFor } from '@testing-library/react'; import { act } from '@testing-library/react-hooks'; import React from 'react'; import { SWRConfig } from 'swr'; - import { PlaylistApi, playlistApiRef } from '../../api'; import { PlaylistEntitiesTable } from './PlaylistEntitiesTable'; @@ -158,7 +157,7 @@ describe('PlaylistEntitiesTable', () => { }); expect( - rendered.queryByTestId('mock-add-entities-drawer'), + rendered.getByTestId('mock-add-entities-drawer'), ).toBeInTheDocument(); act(() => { diff --git a/plugins/playlist/src/components/PlaylistPage/PlaylistHeader.test.tsx b/plugins/playlist/src/components/PlaylistPage/PlaylistHeader.test.tsx index 39b051140e..4594a43a88 100644 --- a/plugins/playlist/src/components/PlaylistPage/PlaylistHeader.test.tsx +++ b/plugins/playlist/src/components/PlaylistPage/PlaylistHeader.test.tsx @@ -31,7 +31,6 @@ import { fireEvent, waitFor } from '@testing-library/react'; import { act } from '@testing-library/react-hooks'; import React from 'react'; import { SWRConfig } from 'swr'; - import { PlaylistApi, playlistApiRef } from '../../api'; import { rootRouteRef } from '../../routes'; import { PlaylistHeader } from './PlaylistHeader'; @@ -122,7 +121,7 @@ describe('PlaylistHeader', () => { testPlaylist.public = false; rendered.rerender(element); - expect(rendered.queryByText('private')).toBeInTheDocument(); + expect(rendered.getByText('private')).toBeInTheDocument(); }); it('has edit and delete options enabled if authorized', async () => { @@ -202,7 +201,7 @@ describe('PlaylistHeader', () => { }); expect( - rendered.queryByTestId('mock-playlist-edit-dialog'), + rendered.getByTestId('mock-playlist-edit-dialog'), ).toBeInTheDocument(); act(() => { diff --git a/plugins/proxy-backend/CHANGELOG.md b/plugins/proxy-backend/CHANGELOG.md index 047565b294..771898ed46 100644 --- a/plugins/proxy-backend/CHANGELOG.md +++ b/plugins/proxy-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-proxy-backend +## 0.2.33-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.2.32 ### Patch Changes diff --git a/plugins/proxy-backend/package.json b/plugins/proxy-backend/package.json index acb8a59c6d..5bc9bbc241 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.32", + "version": "0.2.33-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/rollbar-backend/CHANGELOG.md b/plugins/rollbar-backend/CHANGELOG.md index c4dd8ca52c..cf967df7e8 100644 --- a/plugins/rollbar-backend/CHANGELOG.md +++ b/plugins/rollbar-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-rollbar-backend +## 0.1.36-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.1.35 ### Patch Changes diff --git a/plugins/rollbar-backend/package.json b/plugins/rollbar-backend/package.json index 5b69fde3f6..2af265e40c 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.35", + "version": "0.1.36-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/rollbar/CHANGELOG.md b/plugins/rollbar/CHANGELOG.md index 47ebcbd1f0..0408c6833f 100644 --- a/plugins/rollbar/CHANGELOG.md +++ b/plugins/rollbar/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-rollbar +## 0.4.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.4.11 ### Patch Changes diff --git a/plugins/rollbar/package.json b/plugins/rollbar/package.json index 72e2a0aaf0..43865329b4 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.11", + "version": "0.4.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md index 4c108955cc..4de8f869b7 100644 --- a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-scaffolder-backend-module-cookiecutter +## 0.2.14-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.13 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-cookiecutter/package.json b/plugins/scaffolder-backend-module-cookiecutter/package.json index ab36ba6d57..00422d15c7 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.13", + "version": "0.2.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-backend-module-rails/CHANGELOG.md b/plugins/scaffolder-backend-module-rails/CHANGELOG.md index cf235ed430..f2c533d287 100644 --- a/plugins/scaffolder-backend-module-rails/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-rails/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-scaffolder-backend-module-rails +## 0.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.4.6 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-rails/package.json b/plugins/scaffolder-backend-module-rails/package.json index a068484bdc..885cf0ba64 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.6", + "version": "0.4.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md b/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md index 745f478ecc..0bf5a78f89 100644 --- a/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-scaffolder-backend-module-yeoman +## 0.2.12-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.2.11 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-yeoman/package.json b/plugins/scaffolder-backend-module-yeoman/package.json index a1d17283ed..2f8c0ef92a 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.11", + "version": "0.2.12-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-backend/CHANGELOG.md b/plugins/scaffolder-backend/CHANGELOG.md index bdafef8ee3..e5a30fcace 100644 --- a/plugins/scaffolder-backend/CHANGELOG.md +++ b/plugins/scaffolder-backend/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-scaffolder-backend +## 1.8.1-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- 26404430bc: Use Json types from @backstage/types +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-scaffolder-common@1.2.3-next.0 + ## 1.8.0 ### Minor Changes diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json index 60542e9ead..ae139a6fcf 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.8.0", + "version": "1.8.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-common/CHANGELOG.md b/plugins/scaffolder-common/CHANGELOG.md index 88cdd66d95..e0089191db 100644 --- a/plugins/scaffolder-common/CHANGELOG.md +++ b/plugins/scaffolder-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-scaffolder-common +## 1.2.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + ## 1.2.2 ### Patch Changes diff --git a/plugins/scaffolder-common/package.json b/plugins/scaffolder-common/package.json index 4c244d4535..ee86ae545c 100644 --- a/plugins/scaffolder-common/package.json +++ b/plugins/scaffolder-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-scaffolder-common", "description": "Common functionalities for the scaffolder, to be shared between scaffolder and scaffolder-backend plugin", - "version": "1.2.2", + "version": "1.2.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder/CHANGELOG.md b/plugins/scaffolder/CHANGELOG.md index d40cacd62b..def68546c9 100644 --- a/plugins/scaffolder/CHANGELOG.md +++ b/plugins/scaffolder/CHANGELOG.md @@ -1,5 +1,42 @@ # @backstage/plugin-scaffolder +## 1.9.0-next.0 + +### Minor Changes + +- ddd1c3308d: Implement Custom Field Explorer to view and play around with available installed custom field extensions +- adb1b01e32: Adds the ability to supply a `transformErrors` function to the `Stepper` for `/next` + +### Patch Changes + +- d4d07cf55e: Enabling the customization of the last step in the scaffolder template. + + To override the content you have to do the next: + + ```typescript jsx + + ``` + +- ef803022f1: Initialize all `formData` in the `Stepper` in `/next` +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- a63e2df559: fixed `headerOptions` not passed to `TemplatePage` component +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + - @backstage/plugin-scaffolder-common@1.2.3-next.0 + ## 1.8.0 ### Minor Changes diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index 1ef758c079..5f99f43939 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.8.0", + "version": "1.9.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder/src/components/ActionsPage/ActionsPage.test.tsx b/plugins/scaffolder/src/components/ActionsPage/ActionsPage.test.tsx index 40683f01ba..8e2184edf1 100644 --- a/plugins/scaffolder/src/components/ActionsPage/ActionsPage.test.tsx +++ b/plugins/scaffolder/src/components/ActionsPage/ActionsPage.test.tsx @@ -65,9 +65,9 @@ describe('TemplatePage', () => { }, }, ); - expect(rendered.queryByText('Test title')).toBeInTheDocument(); - expect(rendered.queryByText('example description')).toBeInTheDocument(); - expect(rendered.queryByText('foobar')).toBeInTheDocument(); + expect(rendered.getByText('Test title')).toBeInTheDocument(); + expect(rendered.getByText('example description')).toBeInTheDocument(); + expect(rendered.getByText('foobar')).toBeInTheDocument(); expect(rendered.queryByText('output')).not.toBeInTheDocument(); }); @@ -109,10 +109,10 @@ describe('TemplatePage', () => { }, }, ); - expect(rendered.queryByText('Test title')).toBeInTheDocument(); - expect(rendered.queryByText('example description')).toBeInTheDocument(); - expect(rendered.queryByText('foobar')).toBeInTheDocument(); - expect(rendered.queryByText('Test output')).toBeInTheDocument(); + expect(rendered.getByText('Test title')).toBeInTheDocument(); + expect(rendered.getByText('example description')).toBeInTheDocument(); + expect(rendered.getByText('foobar')).toBeInTheDocument(); + expect(rendered.getByText('Test output')).toBeInTheDocument(); }); it('renders action with oneOf input', async () => { @@ -160,10 +160,10 @@ describe('TemplatePage', () => { }, }, ); - expect(rendered.queryByText('oneOf')).toBeInTheDocument(); - expect(rendered.queryByText('Foo title')).toBeInTheDocument(); - expect(rendered.queryByText('Foo description')).toBeInTheDocument(); - expect(rendered.queryByText('Bar title')).toBeInTheDocument(); - expect(rendered.queryByText('Bar description')).toBeInTheDocument(); + expect(rendered.getByText('oneOf')).toBeInTheDocument(); + expect(rendered.getByText('Foo title')).toBeInTheDocument(); + expect(rendered.getByText('Foo description')).toBeInTheDocument(); + expect(rendered.getByText('Bar title')).toBeInTheDocument(); + expect(rendered.getByText('Bar description')).toBeInTheDocument(); }); }); diff --git a/plugins/scaffolder/src/components/ScaffolderPage/ScaffolderPageContextMenu.test.tsx b/plugins/scaffolder/src/components/ScaffolderPage/ScaffolderPageContextMenu.test.tsx index 2d07416025..02869bb6da 100644 --- a/plugins/scaffolder/src/components/ScaffolderPage/ScaffolderPageContextMenu.test.tsx +++ b/plugins/scaffolder/src/components/ScaffolderPage/ScaffolderPageContextMenu.test.tsx @@ -45,7 +45,7 @@ describe('ScaffolderPageContextMenu', () => { await userEvent.click(screen.getByTestId('container').firstElementChild!); - expect(screen.queryByText('Template Editor')).toBeInTheDocument(); + expect(screen.getByText('Template Editor')).toBeInTheDocument(); expect(screen.queryByText('Installed Actions')).not.toBeInTheDocument(); }); @@ -62,7 +62,7 @@ describe('ScaffolderPageContextMenu', () => { await userEvent.click(screen.getByTestId('container').firstElementChild!); expect(screen.queryByText('Template Editor')).not.toBeInTheDocument(); - expect(screen.queryByText('Installed Actions')).toBeInTheDocument(); + expect(screen.getByText('Installed Actions')).toBeInTheDocument(); }); it('renders all options', async () => { @@ -77,7 +77,7 @@ describe('ScaffolderPageContextMenu', () => { await userEvent.click(screen.getByTestId('container').firstElementChild!); - expect(screen.queryByText('Template Editor')).toBeInTheDocument(); - expect(screen.queryByText('Installed Actions')).toBeInTheDocument(); + expect(screen.getByText('Template Editor')).toBeInTheDocument(); + expect(screen.getByText('Installed Actions')).toBeInTheDocument(); }); }); diff --git a/plugins/scaffolder/src/components/TaskPage/IconLink.test.tsx b/plugins/scaffolder/src/components/TaskPage/IconLink.test.tsx index 9c1b021071..f7ce850cd8 100644 --- a/plugins/scaffolder/src/components/TaskPage/IconLink.test.tsx +++ b/plugins/scaffolder/src/components/TaskPage/IconLink.test.tsx @@ -33,6 +33,6 @@ describe('IconLink', () => { , ); - expect(rendered.queryByText('I am Link')).toBeInTheDocument(); + expect(rendered.getByText('I am Link')).toBeInTheDocument(); }); }); diff --git a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.test.tsx b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.test.tsx index 184118914a..36a62f1b8a 100644 --- a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.test.tsx +++ b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.test.tsx @@ -25,7 +25,7 @@ describe('base64EncodeContent', () => { it('encodes text files', () => { expect(base64EncodeContent('abc')).toBe('YWJj'); expect(base64EncodeContent('abc'.repeat(1000000))).toBe( - btoa(''), + window.btoa(''), ); }); @@ -38,7 +38,7 @@ describe('base64EncodeContent', () => { ); // Triggers size check expect(base64EncodeContent('😅'.repeat(1000000))).toBe( - btoa(''), + window.btoa(''), ); }); }); diff --git a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.tsx b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.tsx index b592e3cecd..3534b62c39 100644 --- a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.tsx +++ b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.tsx @@ -59,11 +59,11 @@ interface DryRunProviderProps { export function base64EncodeContent(content: string): string { if (content.length > MAX_CONTENT_SIZE) { - return btoa(''); + return window.btoa(''); } try { - return btoa(content); + return window.btoa(content); } catch { const decoder = new TextEncoder(); const buffer = decoder.encode(content); @@ -74,7 +74,7 @@ export function base64EncodeContent(content: string): string { String.fromCharCode(...buffer.slice(offset, offset + CHUNK_SIZE)), ); } - return btoa(chunks.join('')); + return window.btoa(chunks.join('')); } } diff --git a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsList.test.tsx b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsList.test.tsx index 65eb59c84a..417c23c483 100644 --- a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsList.test.tsx +++ b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsList.test.tsx @@ -70,7 +70,7 @@ describe('DryRunResultsList', () => { , ); - expect(screen.queryByText('Result 1')).toBeInTheDocument(); + expect(screen.getByText('Result 1')).toBeInTheDocument(); expect(screen.queryByText('Result 2')).not.toBeInTheDocument(); await act(async () => { @@ -84,12 +84,12 @@ describe('DryRunResultsList', () => { ); }); - expect(screen.queryByText('Result 1')).toBeInTheDocument(); - expect(screen.queryByText('Result 2')).toBeInTheDocument(); + expect(screen.getByText('Result 1')).toBeInTheDocument(); + expect(screen.getByText('Result 2')).toBeInTheDocument(); await userEvent.click(screen.getAllByLabelText('delete')[0]); expect(screen.queryByText('Result 1')).not.toBeInTheDocument(); - expect(screen.queryByText('Result 2')).toBeInTheDocument(); + expect(screen.getByText('Result 2')).toBeInTheDocument(); }); }); diff --git a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsView.test.tsx b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsView.test.tsx index bc6b5d8f6f..c709adfd68 100644 --- a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsView.test.tsx +++ b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsView.test.tsx @@ -58,7 +58,7 @@ describe('DryRunResultsView', () => { directoryContents: [ { path: 'foo.txt', - base64Content: btoa('Foo Content'), + base64Content: window.btoa('Foo Content'), executable: false, }, ], diff --git a/plugins/scaffolder/src/components/TemplatePage/TemplatePage.test.tsx b/plugins/scaffolder/src/components/TemplatePage/TemplatePage.test.tsx index 71f5ffad47..5b16c21364 100644 --- a/plugins/scaffolder/src/components/TemplatePage/TemplatePage.test.tsx +++ b/plugins/scaffolder/src/components/TemplatePage/TemplatePage.test.tsx @@ -19,7 +19,7 @@ import { renderInTestApp, TestApiRegistry, } from '@backstage/test-utils'; -import { act, fireEvent, within } from '@testing-library/react'; +import { act, fireEvent, screen, within } from '@testing-library/react'; import React from 'react'; import { Route, Routes } from 'react-router'; import { scaffolderApiRef } from '../../api'; @@ -31,7 +31,6 @@ import { FeatureFlagsApi, analyticsApiRef, } from '@backstage/core-plugin-api'; - import { ApiProvider } from '@backstage/core-app-api'; import { errorApiRef } from '@backstage/core-plugin-api'; @@ -135,8 +134,8 @@ describe('TemplatePage', () => { }, ); - expect(rendered.queryByText('Create a New Component')).toBeInTheDocument(); - expect(rendered.queryByText('React SSR Template')).toBeInTheDocument(); + expect(rendered.getByText('Create a New Component')).toBeInTheDocument(); + expect(rendered.getByText('React SSR Template')).toBeInTheDocument(); }); it('renders spinner while loading', async () => { @@ -156,8 +155,8 @@ describe('TemplatePage', () => { }, ); - expect(rendered.queryByText('Create a New Component')).toBeInTheDocument(); - expect(rendered.queryByTestId('loading-progress')).toBeInTheDocument(); + expect(rendered.getByText('Create a New Component')).toBeInTheDocument(); + expect(rendered.getByTestId('loading-progress')).toBeInTheDocument(); await act(async () => { resolve!({ @@ -248,7 +247,7 @@ describe('TemplatePage', () => { expect( rendered.queryByText('Create a New Component'), ).not.toBeInTheDocument(); - expect(rendered.queryByText('This is root')).toBeInTheDocument(); + expect(rendered.getByText('This is root')).toBeInTheDocument(); }); it('display template with oneOf', async () => { @@ -330,7 +329,7 @@ describe('TemplatePage', () => { schemaMockValue, ); - const { queryByText } = await renderInTestApp( + await renderInTestApp( , @@ -341,9 +340,9 @@ describe('TemplatePage', () => { }, ); - expect(queryByText('Name')).not.toBeInTheDocument(); - expect(queryByText('Description')).toBeInTheDocument(); - expect(queryByText('Owner')).toBeInTheDocument(); - expect(queryByText('Send data')).toBeInTheDocument(); + expect(screen.queryByText('Name')).not.toBeInTheDocument(); + expect(screen.getByText('Description')).toBeInTheDocument(); + expect(screen.getByText('Owner')).toBeInTheDocument(); + expect(screen.getByText('Send data')).toBeInTheDocument(); }); }); diff --git a/plugins/scaffolder/src/next/TemplateListPage/RegisterExistingButton.test.tsx b/plugins/scaffolder/src/next/TemplateListPage/RegisterExistingButton.test.tsx index a8e377bd3d..3c2807c4c8 100644 --- a/plugins/scaffolder/src/next/TemplateListPage/RegisterExistingButton.test.tsx +++ b/plugins/scaffolder/src/next/TemplateListPage/RegisterExistingButton.test.tsx @@ -13,6 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +import { screen } from '@testing-library/react'; import { renderInTestApp } from '@backstage/test-utils'; import React from 'react'; import { RegisterExistingButton } from './RegisterExistingButton'; @@ -30,28 +32,22 @@ describe('RegisterExistingButton', () => { it('should not render if to is unset', async () => { (usePermission as jest.Mock).mockReturnValue({ allowed: true }); - const { queryByText } = await renderInTestApp( - , - ); + await renderInTestApp(); - expect(queryByText('Pick me')).not.toBeInTheDocument(); + expect(screen.queryByText('Pick me')).not.toBeInTheDocument(); }); it('should not render if permissions are not allowed', async () => { (usePermission as jest.Mock).mockReturnValue({ allowed: false }); - const { queryByText } = await renderInTestApp( - , - ); + await renderInTestApp(); - expect(queryByText('Pick me')).not.toBeInTheDocument(); + expect(screen.queryByText('Pick me')).not.toBeInTheDocument(); }); it('should render the button with the text', async () => { (usePermission as jest.Mock).mockReturnValue({ allowed: true }); - const { queryByText } = await renderInTestApp( - , - ); + await renderInTestApp(); - expect(queryByText('Pick me')).toBeInTheDocument(); + expect(screen.getByText('Pick me')).toBeInTheDocument(); }); }); diff --git a/plugins/search-backend-module-elasticsearch/CHANGELOG.md b/plugins/search-backend-module-elasticsearch/CHANGELOG.md index f808ffb752..53b506a0a3 100644 --- a/plugins/search-backend-module-elasticsearch/CHANGELOG.md +++ b/plugins/search-backend-module-elasticsearch/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-search-backend-module-elasticsearch +## 1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 1.0.4 ### Patch Changes diff --git a/plugins/search-backend-module-elasticsearch/package.json b/plugins/search-backend-module-elasticsearch/package.json index 945ecfed15..0687ecfb20 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.4", + "version": "1.0.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend-module-pg/CHANGELOG.md b/plugins/search-backend-module-pg/CHANGELOG.md index c84b823149..608a147f26 100644 --- a/plugins/search-backend-module-pg/CHANGELOG.md +++ b/plugins/search-backend-module-pg/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-search-backend-module-pg +## 0.4.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 0.4.2 ### Patch Changes diff --git a/plugins/search-backend-module-pg/package.json b/plugins/search-backend-module-pg/package.json index 0dad5637e6..a40e42a4de 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.4.2", + "version": "0.4.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend-node/CHANGELOG.md b/plugins/search-backend-node/CHANGELOG.md index 209fa9e0c4..935b51d335 100644 --- a/plugins/search-backend-node/CHANGELOG.md +++ b/plugins/search-backend-node/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-search-backend-node +## 1.0.5-next.0 + +### Patch Changes + +- a962ce0551: Wait for indexer initialization before finalizing indexing. +- 683ced83f6: Fixed a bug that could cause a `max listeners exceeded warning` to be logged when more than 10 collators were running simultaneously. +- 81b1e7b0fe: Updated indexer and decorator base classes to take advantage of features introduced in Node.js v16; be sure you are running a [supported version of Node.js](https://backstage.io/docs/releases/v1.8.0#node-16-and-18). +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 1.0.4 ### Patch Changes diff --git a/plugins/search-backend-node/package.json b/plugins/search-backend-node/package.json index 2dc9e150a0..8a15127040 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.4", + "version": "1.0.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend/CHANGELOG.md b/plugins/search-backend/CHANGELOG.md index a260266c64..c468790b9c 100644 --- a/plugins/search-backend/CHANGELOG.md +++ b/plugins/search-backend/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-search-backend +## 1.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 1.1.1 ### Patch Changes diff --git a/plugins/search-backend/package.json b/plugins/search-backend/package.json index 834886e6f0..3eee5ff5f0 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.1.1", + "version": "1.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-common/CHANGELOG.md b/plugins/search-common/CHANGELOG.md index 816230ee1f..c0862e460c 100644 --- a/plugins/search-common/CHANGELOG.md +++ b/plugins/search-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-search-common +## 1.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + ## 1.1.1 ### Patch Changes diff --git a/plugins/search-common/package.json b/plugins/search-common/package.json index 918213ec54..b35c3ab532 100644 --- a/plugins/search-common/package.json +++ b/plugins/search-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-common", "description": "Common functionalities for Search, to be shared between various search-enabled plugins", - "version": "1.1.1", + "version": "1.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/plugins/search-react/CHANGELOG.md b/plugins/search-react/CHANGELOG.md index 8cf413bbb7..52c30a7af1 100644 --- a/plugins/search-react/CHANGELOG.md +++ b/plugins/search-react/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-search-react +## 1.2.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 1.2.1 ### Patch Changes diff --git a/plugins/search-react/package.json b/plugins/search-react/package.json index 71308297e2..4c277daac2 100644 --- a/plugins/search-react/package.json +++ b/plugins/search-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-react", - "version": "1.2.1", + "version": "1.2.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search/CHANGELOG.md b/plugins/search/CHANGELOG.md index ca0385d0ba..5abbc5847b 100644 --- a/plugins/search/CHANGELOG.md +++ b/plugins/search/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-search +## 1.0.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + ## 1.0.4 ### Patch Changes diff --git a/plugins/search/package.json b/plugins/search/package.json index 33282faaf9..7602e96273 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.4", + "version": "1.0.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/sentry/CHANGELOG.md b/plugins/sentry/CHANGELOG.md index 31eb58a5ea..9bc0d89bf0 100644 --- a/plugins/sentry/CHANGELOG.md +++ b/plugins/sentry/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-sentry +## 0.4.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.4.4 ### Patch Changes diff --git a/plugins/sentry/package.json b/plugins/sentry/package.json index 7a94be4841..4d83821fef 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.4", + "version": "0.4.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/shortcuts/CHANGELOG.md b/plugins/shortcuts/CHANGELOG.md index a7a499c87f..9caaea3d44 100644 --- a/plugins/shortcuts/CHANGELOG.md +++ b/plugins/shortcuts/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-shortcuts +## 0.3.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/theme@0.2.16 + ## 0.3.3 ### Patch Changes diff --git a/plugins/shortcuts/package.json b/plugins/shortcuts/package.json index 62581364f7..a32a83989f 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.3.3", + "version": "0.3.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/sonarqube-backend/CHANGELOG.md b/plugins/sonarqube-backend/CHANGELOG.md index a76482ae32..e574f9677e 100644 --- a/plugins/sonarqube-backend/CHANGELOG.md +++ b/plugins/sonarqube-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-sonarqube-backend +## 0.1.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.1.3 ### Patch Changes diff --git a/plugins/sonarqube-backend/package.json b/plugins/sonarqube-backend/package.json index 674eea9663..ba46e2bcc1 100644 --- a/plugins/sonarqube-backend/package.json +++ b/plugins/sonarqube-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-sonarqube-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/sonarqube/CHANGELOG.md b/plugins/sonarqube/CHANGELOG.md index 4c92de36ea..4fdf03eb53 100644 --- a/plugins/sonarqube/CHANGELOG.md +++ b/plugins/sonarqube/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-sonarqube +## 0.5.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 17a8e32f39: Updated dependency `rc-progress` to `3.4.1`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.5.0 ### Minor Changes diff --git a/plugins/sonarqube/package.json b/plugins/sonarqube/package.json index eba873d208..cc3757ac3c 100644 --- a/plugins/sonarqube/package.json +++ b/plugins/sonarqube/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-sonarqube", "description": "", - "version": "0.5.0", + "version": "0.5.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/splunk-on-call/CHANGELOG.md b/plugins/splunk-on-call/CHANGELOG.md index 35bf66f661..0fdd94313d 100644 --- a/plugins/splunk-on-call/CHANGELOG.md +++ b/plugins/splunk-on-call/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-splunk-on-call +## 0.4.1-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.4.0 ### Minor Changes diff --git a/plugins/splunk-on-call/package.json b/plugins/splunk-on-call/package.json index c184f2aeab..f1abb63b97 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.4.0", + "version": "0.4.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/stack-overflow-backend/CHANGELOG.md b/plugins/stack-overflow-backend/CHANGELOG.md index 4f4ba31caf..ebeefd5cbd 100644 --- a/plugins/stack-overflow-backend/CHANGELOG.md +++ b/plugins/stack-overflow-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-stack-overflow-backend +## 0.1.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/cli@0.21.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 0.1.7 ### Patch Changes diff --git a/plugins/stack-overflow-backend/package.json b/plugins/stack-overflow-backend/package.json index a31d1c1d14..80c45c3554 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.7", + "version": "0.1.8-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 3e97f1b293..7bc2866dfe 100644 --- a/plugins/stack-overflow/CHANGELOG.md +++ b/plugins/stack-overflow/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-stack-overflow +## 0.1.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-home@0.4.28-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 0.1.7 ### Patch Changes diff --git a/plugins/stack-overflow/package.json b/plugins/stack-overflow/package.json index e6e75d8183..cc0f6f615a 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.7", + "version": "0.1.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md b/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md index 94001990b9..c315132091 100644 --- a/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md +++ b/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-tech-insights-backend-module-jsonfc +## 0.1.23-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + - @backstage/plugin-tech-insights-node@0.3.7-next.0 + ## 0.1.22 ### Patch Changes diff --git a/plugins/tech-insights-backend-module-jsonfc/package.json b/plugins/tech-insights-backend-module-jsonfc/package.json index 0b344a4d04..3d62c81e96 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.22", + "version": "0.1.23-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-insights-backend/CHANGELOG.md b/plugins/tech-insights-backend/CHANGELOG.md index 262cdfc764..fa416ea7ac 100644 --- a/plugins/tech-insights-backend/CHANGELOG.md +++ b/plugins/tech-insights-backend/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-tech-insights-backend +## 0.5.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + - @backstage/plugin-tech-insights-node@0.3.7-next.0 + ## 0.5.4 ### Patch Changes diff --git a/plugins/tech-insights-backend/package.json b/plugins/tech-insights-backend/package.json index 6b3c50a6f1..fa573ae6c6 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.4", + "version": "0.5.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-insights-common/CHANGELOG.md b/plugins/tech-insights-common/CHANGELOG.md index 3ea396442e..97917ca063 100644 --- a/plugins/tech-insights-common/CHANGELOG.md +++ b/plugins/tech-insights-common/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-tech-insights-common +## 0.2.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + ## 0.2.8 ### Patch Changes diff --git a/plugins/tech-insights-common/package.json b/plugins/tech-insights-common/package.json index 910fe5608c..7a11122a63 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.8", + "version": "0.2.9-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-insights-node/CHANGELOG.md b/plugins/tech-insights-node/CHANGELOG.md index 82d2c59f0f..53f8656181 100644 --- a/plugins/tech-insights-node/CHANGELOG.md +++ b/plugins/tech-insights-node/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-tech-insights-node +## 0.3.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + ## 0.3.6 ### Patch Changes diff --git a/plugins/tech-insights-node/package.json b/plugins/tech-insights-node/package.json index b6f41aaa2e..7096496e3f 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.6", + "version": "0.3.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-insights/CHANGELOG.md b/plugins/tech-insights/CHANGELOG.md index 0066de5b0f..3415704918 100644 --- a/plugins/tech-insights/CHANGELOG.md +++ b/plugins/tech-insights/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-tech-insights +## 0.3.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + ## 0.3.3 ### Patch Changes diff --git a/plugins/tech-insights/package.json b/plugins/tech-insights/package.json index 87b03646f9..48dd4362be 100644 --- a/plugins/tech-insights/package.json +++ b/plugins/tech-insights/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-tech-insights", - "version": "0.3.3", + "version": "0.3.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-radar/CHANGELOG.md b/plugins/tech-radar/CHANGELOG.md index 17025f1c85..36d1932684 100644 --- a/plugins/tech-radar/CHANGELOG.md +++ b/plugins/tech-radar/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-tech-radar +## 0.5.19-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + ## 0.5.18 ### Patch Changes diff --git a/plugins/tech-radar/package.json b/plugins/tech-radar/package.json index 689d9b22c8..599cb2db96 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.18", + "version": "0.5.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/techdocs-addons-test-utils/CHANGELOG.md b/plugins/techdocs-addons-test-utils/CHANGELOG.md index dda684478d..70ad579f17 100644 --- a/plugins/techdocs-addons-test-utils/CHANGELOG.md +++ b/plugins/techdocs-addons-test-utils/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-techdocs-addons-test-utils +## 1.0.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/plugin-techdocs@1.4.1-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-search-react@1.2.2-next.0 + ## 1.0.6 ### Patch Changes diff --git a/plugins/techdocs-addons-test-utils/package.json b/plugins/techdocs-addons-test-utils/package.json index 99367c07f1..2721ff9348 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.6", + "version": "1.0.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/techdocs-backend/CHANGELOG.md b/plugins/techdocs-backend/CHANGELOG.md index 8965b8be7f..8c6f8ff66a 100644 --- a/plugins/techdocs-backend/CHANGELOG.md +++ b/plugins/techdocs-backend/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-techdocs-backend +## 1.4.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-techdocs-node@1.4.3-next.0 + ## 1.4.1 ### Patch Changes diff --git a/plugins/techdocs-backend/package.json b/plugins/techdocs-backend/package.json index 35391ad2a9..c9f7364500 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.4.1", + "version": "1.4.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/techdocs-module-addons-contrib/CHANGELOG.md b/plugins/techdocs-module-addons-contrib/CHANGELOG.md index 34d8ebacf1..8da781817a 100644 --- a/plugins/techdocs-module-addons-contrib/CHANGELOG.md +++ b/plugins/techdocs-module-addons-contrib/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-techdocs-module-addons-contrib +## 1.0.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 8536e7c281: Use `app.title` from `app-config.yaml` when creating new Documentation Feedback issue. `Backstage` is the default value. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/theme@0.2.16 + ## 1.0.6 ### Patch Changes diff --git a/plugins/techdocs-module-addons-contrib/package.json b/plugins/techdocs-module-addons-contrib/package.json index 8ad7811de8..beb5a8ddf1 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.6", + "version": "1.0.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/techdocs-module-addons-contrib/src/ReportIssue/hooks.ts b/plugins/techdocs-module-addons-contrib/src/ReportIssue/hooks.ts index 22dc359942..800a422066 100644 --- a/plugins/techdocs-module-addons-contrib/src/ReportIssue/hooks.ts +++ b/plugins/techdocs-module-addons-contrib/src/ReportIssue/hooks.ts @@ -16,7 +16,7 @@ import parseGitUrl from 'git-url-parse'; -import { useApi } from '@backstage/core-plugin-api'; +import { configApiRef, useApi } from '@backstage/core-plugin-api'; import { replaceGithubUrlType, replaceGitLabUrlType, @@ -48,7 +48,11 @@ export const getTitle = (selection: Selection) => { return `Documentation feedback: ${text}${ellipsis}`; }; -export const getBody = (selection: Selection, markdownUrl: string) => { +export const getBody = ( + selection: Selection, + markdownUrl: string, + appTitle: string, +) => { const title = '## Documentation Feedback 📝'; const subheading = '#### The highlighted text:'; const commentHeading = '#### The comment on the text:'; @@ -61,7 +65,7 @@ export const getBody = (selection: Selection, markdownUrl: string) => { .join('\n'); const facts = [ - `Backstage URL: <${window.location.href}> \nMarkdown URL: <${markdownUrl}>`, + `${appTitle} URL: <${window.location.href}> \nMarkdown URL: <${markdownUrl}>`, ]; return `${title}\n\n ${subheading} \n\n ${highlightedTextAsQuote}\n\n ${commentHeading} \n ${commentPlaceholder}\n\n ___\n${facts}`; @@ -73,7 +77,8 @@ export const useGitTemplate = (debounceTime?: number) => { const [editLink] = useShadowRootElements([PAGE_EDIT_LINK_SELECTOR]); const url = (editLink as HTMLAnchorElement)?.href ?? ''; const scmIntegrationsApi = useApi(scmIntegrationsApiRef); - + const configApi = useApi(configApiRef); + const appTitle = configApi.getOptionalString('app.title') || 'Backstage'; if (!selection || !url) return initialTemplate; const type = scmIntegrationsApi.byUrl(url)?.type; @@ -82,7 +87,7 @@ export const useGitTemplate = (debounceTime?: number) => { return { title: getTitle(selection), - body: getBody(selection, resolveBlobUrl(url, type)), + body: getBody(selection, resolveBlobUrl(url, type), appTitle), }; }; diff --git a/plugins/techdocs-module-addons-contrib/src/TextSize/TextSize.test.tsx b/plugins/techdocs-module-addons-contrib/src/TextSize/TextSize.test.tsx index 6b4a055c2a..081c718c2f 100644 --- a/plugins/techdocs-module-addons-contrib/src/TextSize/TextSize.test.tsx +++ b/plugins/techdocs-module-addons-contrib/src/TextSize/TextSize.test.tsx @@ -59,7 +59,7 @@ describe('TextSize', () => { expect(slider).toHaveTextContent('115%'); - let style = getComputedStyle(getByText('TEST_CONTENT')); + let style = window.getComputedStyle(getByText('TEST_CONTENT')); expect(style.getPropertyValue('--md-typeset-font-size')).toBe('18.4px'); @@ -73,7 +73,7 @@ describe('TextSize', () => { expect(slider).toHaveTextContent('100%'); - style = getComputedStyle(getByText('TEST_CONTENT')); + style = window.getComputedStyle(getByText('TEST_CONTENT')); expect(style.getPropertyValue('--md-typeset-font-size')).toBe('16px'); }); @@ -105,7 +105,7 @@ describe('TextSize', () => { expect(slider).toHaveTextContent('115%'); - let style = getComputedStyle(getByText('TEST_CONTENT')); + let style = window.getComputedStyle(getByText('TEST_CONTENT')); expect(style.getPropertyValue('--md-typeset-font-size')).toBe('18.4px'); @@ -117,7 +117,7 @@ describe('TextSize', () => { expect(slider).toHaveTextContent('100%'); - style = getComputedStyle(getByText('TEST_CONTENT')); + style = window.getComputedStyle(getByText('TEST_CONTENT')); expect(style.getPropertyValue('--md-typeset-font-size')).toBe('16px'); }); diff --git a/plugins/techdocs-node/CHANGELOG.md b/plugins/techdocs-node/CHANGELOG.md index 1fad63a9a1..981eff2be9 100644 --- a/plugins/techdocs-node/CHANGELOG.md +++ b/plugins/techdocs-node/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-techdocs-node +## 1.4.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 1.4.2 ### Patch Changes diff --git a/plugins/techdocs-node/package.json b/plugins/techdocs-node/package.json index 7da0d65167..ef900f49f9 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.4.2", + "version": "1.4.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { @@ -39,7 +39,7 @@ "url": "https://github.com/backstage/backstage/issues" }, "dependencies": { - "@azure/identity": "^2.0.1", + "@azure/identity": "^2.1.0", "@azure/storage-blob": "^12.5.0", "@backstage/backend-common": "workspace:^", "@backstage/catalog-model": "workspace:^", diff --git a/plugins/techdocs-react/CHANGELOG.md b/plugins/techdocs-react/CHANGELOG.md index 262c7f5284..ebea38b85e 100644 --- a/plugins/techdocs-react/CHANGELOG.md +++ b/plugins/techdocs-react/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-techdocs-react +## 1.0.7-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/version-bridge@1.0.2 + ## 1.0.6 ### Patch Changes diff --git a/plugins/techdocs-react/package.json b/plugins/techdocs-react/package.json index 3adc83c969..c2334785ff 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.6", + "version": "1.0.7-next.0", "publishConfig": { "access": "public", "alphaTypes": "dist/index.alpha.d.ts", diff --git a/plugins/techdocs/CHANGELOG.md b/plugins/techdocs/CHANGELOG.md index 8bbf00e84d..0757d6d1ce 100644 --- a/plugins/techdocs/CHANGELOG.md +++ b/plugins/techdocs/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-techdocs +## 1.4.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + ## 1.4.0 ### Minor Changes diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index a7e7b4bd32..ac1efbe5f7 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.4.0", + "version": "1.4.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/techdocs/src/home/components/Grids/EntityListDocsGrid.test.tsx b/plugins/techdocs/src/home/components/Grids/EntityListDocsGrid.test.tsx index 2837ab340a..acaf01b318 100644 --- a/plugins/techdocs/src/home/components/Grids/EntityListDocsGrid.test.tsx +++ b/plugins/techdocs/src/home/components/Grids/EntityListDocsGrid.test.tsx @@ -103,9 +103,9 @@ describe('Entity List Docs Grid', () => { }, ); - expect(screen.queryByText('All Documentation')).toBeInTheDocument(); - expect(screen.queryByText('Documentation #1')).toBeInTheDocument(); - expect(screen.queryByText('Documentation #2')).toBeInTheDocument(); + expect(screen.getByText('All Documentation')).toBeInTheDocument(); + expect(screen.getByText('Documentation #1')).toBeInTheDocument(); + expect(screen.getByText('Documentation #2')).toBeInTheDocument(); expect(screen.queryByTestId('doc-not-found')).not.toBeInTheDocument(); }); @@ -131,8 +131,8 @@ describe('Entity List Docs Grid', () => { }, ); - expect(screen.queryByText('Curated Documentation')).toBeInTheDocument(); - expect(screen.queryByText('Documentation #1')).toBeInTheDocument(); + expect(screen.getByText('Curated Documentation')).toBeInTheDocument(); + expect(screen.getByText('Documentation #1')).toBeInTheDocument(); expect(screen.queryByText('Documentation #2')).not.toBeInTheDocument(); expect(screen.queryByTestId('doc-not-found')).not.toBeInTheDocument(); }); @@ -182,6 +182,6 @@ describe('Entity List Docs Grid', () => { expect(screen.queryByText('All Documentation')).not.toBeInTheDocument(); expect(screen.queryByText('Documentation #1')).not.toBeInTheDocument(); expect(screen.queryByText('Documentation #2')).not.toBeInTheDocument(); - expect(screen.queryByTestId('doc-not-found')).toBeInTheDocument(); + expect(screen.getByTestId('doc-not-found')).toBeInTheDocument(); }); }); diff --git a/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts b/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts index 4613df374d..9c4ee08346 100644 --- a/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts +++ b/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts @@ -20,7 +20,7 @@ import { lightTheme } from '@backstage/theme'; import { waitFor } from '@testing-library/react'; const clipboardSpy = jest.fn(); -Object.defineProperty(navigator, 'clipboard', { +Object.defineProperty(window.navigator, 'clipboard', { value: { writeText: clipboardSpy, }, diff --git a/plugins/techdocs/src/reader/transformers/copyToClipboard.tsx b/plugins/techdocs/src/reader/transformers/copyToClipboard.tsx index 25a1d67f65..6adb4252d3 100644 --- a/plugins/techdocs/src/reader/transformers/copyToClipboard.tsx +++ b/plugins/techdocs/src/reader/transformers/copyToClipboard.tsx @@ -49,7 +49,7 @@ const CopyToClipboardButton = ({ text }: CopyToClipboardButtonProps) => { const [open, setOpen] = useState(false); const handleClick = useCallback(() => { - navigator.clipboard.writeText(text); + window.navigator.clipboard.writeText(text); setOpen(true); }, [text]); diff --git a/plugins/todo-backend/CHANGELOG.md b/plugins/todo-backend/CHANGELOG.md index 0acae327c1..59864387e3 100644 --- a/plugins/todo-backend/CHANGELOG.md +++ b/plugins/todo-backend/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-todo-backend +## 0.1.36-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.1.35 ### Patch Changes diff --git a/plugins/todo-backend/package.json b/plugins/todo-backend/package.json index 98e738bdd8..fd563c6a2e 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.35", + "version": "0.1.36-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/todo/CHANGELOG.md b/plugins/todo/CHANGELOG.md index f05b2c3d4d..3197a6ac95 100644 --- a/plugins/todo/CHANGELOG.md +++ b/plugins/todo/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-todo +## 0.2.14-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.2.13 ### Patch Changes diff --git a/plugins/todo/package.json b/plugins/todo/package.json index f5c4816b29..3247464afb 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.13", + "version": "0.2.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/user-settings-backend/CHANGELOG.md b/plugins/user-settings-backend/CHANGELOG.md index f17baf793d..c0bb920fce 100644 --- a/plugins/user-settings-backend/CHANGELOG.md +++ b/plugins/user-settings-backend/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-user-settings-backend +## 0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.1.2 ### Patch Changes diff --git a/plugins/user-settings-backend/package.json b/plugins/user-settings-backend/package.json index 94a9c01d55..4f9d278cdf 100644 --- a/plugins/user-settings-backend/package.json +++ b/plugins/user-settings-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-user-settings-backend", "description": "The Backstage backend plugin to manage user settings", - "version": "0.1.2", + "version": "0.1.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/user-settings/CHANGELOG.md b/plugins/user-settings/CHANGELOG.md index ff36b363d8..c9c2effcad 100644 --- a/plugins/user-settings/CHANGELOG.md +++ b/plugins/user-settings/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-user-settings +## 0.6.0-next.0 + +### Minor Changes + +- 29bdda5442: Added the ability to fully customize settings page. Deprecated UserSettingsTab in favour of SettingsLayout.Route + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.5.1 ### Patch Changes diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index 36c08ad872..e0b1822a9c 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.5.1", + "version": "0.6.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/vault-backend/CHANGELOG.md b/plugins/vault-backend/CHANGELOG.md index 08fb5bf341..8b41bafb81 100644 --- a/plugins/vault-backend/CHANGELOG.md +++ b/plugins/vault-backend/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-vault-backend +## 0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 7a3d2688ed: Use `express-promise-router` to catch errors properly. + Add `403` error as a known one. It will now return a `NotAllowed` error. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.4 ### Patch Changes diff --git a/plugins/vault-backend/package.json b/plugins/vault-backend/package.json index 970c1a588a..7a5b7894dc 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.4", + "version": "0.2.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/vault/CHANGELOG.md b/plugins/vault/CHANGELOG.md index 6f7da110d1..cc67baf940 100644 --- a/plugins/vault/CHANGELOG.md +++ b/plugins/vault/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-vault +## 0.1.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.1.5 ### Patch Changes diff --git a/plugins/vault/package.json b/plugins/vault/package.json index ad508d978f..3dde73660f 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.5", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/xcmetrics/CHANGELOG.md b/plugins/xcmetrics/CHANGELOG.md index a4fccd2e16..4fee3c2c3f 100644 --- a/plugins/xcmetrics/CHANGELOG.md +++ b/plugins/xcmetrics/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-xcmetrics +## 0.2.32-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.2.31 ### Patch Changes diff --git a/plugins/xcmetrics/package.json b/plugins/xcmetrics/package.json index 01e3467de8..db33c63d92 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.31", + "version": "0.2.32-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/scripts/check-if-release.js b/scripts/check-if-release.js index b61b0e2eb7..e7dabe14a4 100755 --- a/scripts/check-if-release.js +++ b/scripts/check-if-release.js @@ -28,6 +28,7 @@ const { execFile: execFileCb } = require('child_process'); const { resolve: resolvePath } = require('path'); const { promises: fs } = require('fs'); const { promisify } = require('util'); +const { EOL } = require('os'); const parentRef = process.env.COMMIT_SHA_BEFORE || 'HEAD^'; @@ -53,6 +54,10 @@ async function runPlain(cmd, ...args) { async function main() { process.cwd(resolvePath(__dirname, '..')); + if (!process.env.GITHUB_OUTPUT) { + throw new Error('GITHUB_OUTPUT environment variable not set'); + } + const diff = await runPlain( 'git', 'diff', @@ -103,7 +108,7 @@ async function main() { if (newVersions.length === 0) { console.log('No package version bumps detected, no release needed'); - console.log(`::set-output name=needs_release::false`); + await fs.appendFile(process.env.GITHUB_OUTPUT, `needs_release=false${EOL}`); return; } @@ -114,7 +119,7 @@ async function main() { ` ${name.padEnd(maxLength, ' ')} ${oldVersion} to ${newVersion}`, ); } - console.log(`::set-output name=needs_release::true`); + await fs.appendFile(process.env.GITHUB_OUTPUT, `needs_release=true${EOL}`); } main().catch(error => { diff --git a/scripts/create-release-tag.js b/scripts/create-release-tag.js index a2706c578f..28417024fd 100755 --- a/scripts/create-release-tag.js +++ b/scripts/create-release-tag.js @@ -19,6 +19,7 @@ const { Octokit } = require('@octokit/rest'); const path = require('path'); const fs = require('fs-extra'); +const { EOL } = require('os'); const baseOptions = { owner: 'backstage', @@ -64,6 +65,9 @@ async function main() { if (!process.env.GITHUB_TOKEN) { throw new Error('GITHUB_TOKEN is not set'); } + if (!process.env.GITHUB_OUTPUT) { + throw new Error('GITHUB_OUTPUT environment variable not set'); + } const commitSha = process.env.GITHUB_SHA; const octokit = new Octokit({ auth: process.env.GITHUB_TOKEN }); @@ -74,8 +78,11 @@ async function main() { console.log(`Creating release tag ${tagName} at ${commitSha}`); await createGitTag(octokit, commitSha, tagName); - console.log(`::set-output name=tag_name::${tagName}`); - console.log(`::set-output name=version::${releaseVersion}`); + await fs.appendFile(process.env.GITHUB_OUTPUT, `tag_name=${tagName}${EOL}`); + await fs.appendFile( + process.env.GITHUB_OUTPUT, + `version=${releaseVersion}${EOL}`, + ); } main().catch(error => { diff --git a/scripts/generate-merge-message.js b/scripts/generate-merge-message.js index 9b6fb5cbc6..f691c92c79 100755 --- a/scripts/generate-merge-message.js +++ b/scripts/generate-merge-message.js @@ -21,16 +21,22 @@ const { resolve: resolvePath } = require('path'); const execFile = promisify(execFileCb); -async function hasNewChangesets(ref) { - if (!ref) { - throw new Error('ref is required'); +async function hasNewChangesets(baseRef, headRef) { + if (!baseRef) { + throw new Error('baseRef is required'); + } + if (!headRef) { + throw new Error('headRef is required'); } const { stdout } = await execFile('git', [ 'diff', '--compact-summary', - ref, + baseRef, + headRef, + '--', '.changeset/*.md', + ':(exclude).changeset/create-app-*.md', ]); return stdout.includes('(new)'); } @@ -88,8 +94,9 @@ function findNextRelease(currentRelease, releaseSchedule) { } async function main() { - const [diffRef = 'origin/master'] = process.argv.slice(2); - const needsMessage = await hasNewChangesets(diffRef); + const [diffBaseRefRef = 'origin/master', diffHeadRef = 'HEAD'] = + process.argv.slice(2); + const needsMessage = await hasNewChangesets(diffBaseRefRef, diffHeadRef); if (!needsMessage) { return; } diff --git a/yarn.lock b/yarn.lock index 4134fc3035..72ab7f1ad3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -21,45 +21,15 @@ __metadata: languageName: node linkType: hard -"@apidevtools/json-schema-ref-parser@npm:9.0.6, @apidevtools/json-schema-ref-parser@npm:^9.0.6": - version: 9.0.6 - resolution: "@apidevtools/json-schema-ref-parser@npm:9.0.6" +"@apidevtools/json-schema-ref-parser@npm:^9.0.6": + version: 9.0.9 + resolution: "@apidevtools/json-schema-ref-parser@npm:9.0.9" dependencies: "@jsdevtools/ono": ^7.1.3 + "@types/json-schema": ^7.0.6 call-me-maybe: ^1.0.1 - js-yaml: ^3.13.1 - checksum: c7ff53623ab8a9dd221772a5757fa0b9e5167a5ac3a71c23596634bae6efc85d8efcdebbe17f73ee5c027ea5afc48c705e8a720f02c4909f9a357d8027040b7b - languageName: node - linkType: hard - -"@apidevtools/openapi-schemas@npm:^2.1.0": - version: 2.1.0 - resolution: "@apidevtools/openapi-schemas@npm:2.1.0" - checksum: 4a8f64935b9049ef21e41fa4b188f39f6bc3f5291cebd451701db1115451ccb246a739e46cc5ce9ecdec781671431db40db7851acdac84a990a45756e0f32de3 - languageName: node - linkType: hard - -"@apidevtools/swagger-methods@npm:^3.0.2": - version: 3.0.2 - resolution: "@apidevtools/swagger-methods@npm:3.0.2" - checksum: d06b1ac5c1956613c4c6be695612ef860cd4e962b93a509ca551735a328a856cae1e33399cac1dcbf8333ba22b231746f3586074769ef0e172cf549ec9e7eaae - languageName: node - linkType: hard - -"@apidevtools/swagger-parser@npm:^10.1.0": - version: 10.1.0 - resolution: "@apidevtools/swagger-parser@npm:10.1.0" - dependencies: - "@apidevtools/json-schema-ref-parser": 9.0.6 - "@apidevtools/openapi-schemas": ^2.1.0 - "@apidevtools/swagger-methods": ^3.0.2 - "@jsdevtools/ono": ^7.1.3 - ajv: ^8.6.3 - ajv-draft-04: ^1.0.0 - call-me-maybe: ^1.0.1 - peerDependencies: - openapi-types: ">=7" - checksum: c7c923755bd025ee2cae97e1cfd525538523ba74c341a0ac814c023ffe5e63fc2d997539a8ccf9a0fcec41a2d6337d40cc5735acb991ddcbb415853a241908d1 + js-yaml: ^4.1.0 + checksum: b21f6bdd37d2942c3967ee77569bc74fadd1b922f688daf5ef85057789a2c3a7f4afc473aa2f3a93ec950dabb6ef365f8bd9cf51e4e062a1ee1e59b989f8f9b4 languageName: node linkType: hard @@ -1320,7 +1290,7 @@ __metadata: languageName: node linkType: hard -"@azure/identity@npm:^2.0.1, @azure/identity@npm:^2.0.4, @azure/identity@npm:^2.1.0": +"@azure/identity@npm:^2.0.4, @azure/identity@npm:^2.1.0": version: 2.1.0 resolution: "@azure/identity@npm:2.1.0" dependencies: @@ -3078,6 +3048,17 @@ __metadata: languageName: unknown linkType: soft +"@backstage/catalog-client@npm:^1.1.2": + version: 1.1.2 + resolution: "@backstage/catalog-client@npm:1.1.2" + dependencies: + "@backstage/catalog-model": ^1.1.3 + "@backstage/errors": ^1.1.3 + cross-fetch: ^3.1.5 + checksum: 1f57de39d9122cb104283ab8c0d107a40148d4cd0d7a2c012013851682831810df2cae204090d0d1382b7cd82a801b930e2c653b77df97f134d8e746a9e63900 + languageName: node + linkType: hard + "@backstage/catalog-client@workspace:^, @backstage/catalog-client@workspace:packages/catalog-client": version: 0.0.0-use.local resolution: "@backstage/catalog-client@workspace:packages/catalog-client" @@ -3090,7 +3071,22 @@ __metadata: languageName: unknown linkType: soft -"@backstage/catalog-model@^1.1.2, @backstage/catalog-model@workspace:^, @backstage/catalog-model@workspace:packages/catalog-model": +"@backstage/catalog-model@npm:^1.1.2, @backstage/catalog-model@npm:^1.1.3": + version: 1.1.3 + resolution: "@backstage/catalog-model@npm:1.1.3" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/errors": ^1.1.3 + "@backstage/types": ^1.0.1 + ajv: ^8.10.0 + json-schema: ^0.4.0 + lodash: ^4.17.21 + uuid: ^8.0.0 + checksum: 51e6821be44201d012550d7429cf4dc278fdd7dc001f4f5f6339a44a7e4dc155fbd44105d0dd96ea07b409fe93cd113a5a67370a758dfd368ab7b8e18d37ee6a + languageName: node + linkType: hard + +"@backstage/catalog-model@workspace:^, @backstage/catalog-model@workspace:packages/catalog-model": version: 0.0.0-use.local resolution: "@backstage/catalog-model@workspace:packages/catalog-model" dependencies: @@ -3298,13 +3294,23 @@ __metadata: mock-fs: ^5.1.0 msw: ^0.49.0 node-fetch: ^2.6.7 - typescript-json-schema: ^0.54.0 + typescript-json-schema: ^0.55.0 yaml: ^2.0.0 yup: ^0.32.9 languageName: unknown linkType: soft -"@backstage/config@^1.0.3, @backstage/config@workspace:^, @backstage/config@workspace:packages/config": +"@backstage/config@npm:^1.0.3, @backstage/config@npm:^1.0.4": + version: 1.0.4 + resolution: "@backstage/config@npm:1.0.4" + dependencies: + "@backstage/types": ^1.0.1 + lodash: ^4.17.21 + checksum: f18e1afa024a752fc2667e2d0e54eadedfab231d9346a0fc8f8c0a5a5c04138ac1814209d89b43ec50f14309a76ad77f16213116675122fecc00bf085236d83e + languageName: node + linkType: hard + +"@backstage/config@workspace:^, @backstage/config@workspace:packages/config": version: 0.0.0-use.local resolution: "@backstage/config@workspace:packages/config" dependencies: @@ -3401,6 +3407,57 @@ __metadata: languageName: node linkType: hard +"@backstage/core-components@npm:^0.12.0": + version: 0.12.0 + resolution: "@backstage/core-components@npm:0.12.0" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/core-plugin-api": ^1.1.0 + "@backstage/errors": ^1.1.3 + "@backstage/theme": ^0.2.16 + "@backstage/version-bridge": ^1.0.2 + "@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-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 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 + react: ^16.13.1 || ^17.0.0 + react-dom: ^16.13.1 || ^17.0.0 + react-router: 6.0.0-beta.0 || ^6.3.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + checksum: d113d62942b33b0a1290caf7ae73b223e88eb8a91c206be9a598dd4abd103faeec747dec76145af33e7e7ceb5209fdeefb507cbc21d8260681d15c449c005440 + languageName: node + linkType: hard + "@backstage/core-components@workspace:^, @backstage/core-components@workspace:packages/core-components": version: 0.0.0-use.local resolution: "@backstage/core-components@workspace:packages/core-components" @@ -3473,7 +3530,25 @@ __metadata: languageName: unknown linkType: soft -"@backstage/core-plugin-api@^1.0.7, @backstage/core-plugin-api@workspace:^, @backstage/core-plugin-api@workspace:packages/core-plugin-api": +"@backstage/core-plugin-api@npm:^1.0.7, @backstage/core-plugin-api@npm:^1.1.0": + version: 1.1.0 + resolution: "@backstage/core-plugin-api@npm:1.1.0" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/types": ^1.0.1 + "@backstage/version-bridge": ^1.0.2 + history: ^5.0.0 + prop-types: ^15.7.2 + zen-observable: ^0.8.15 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 + react: ^16.13.1 || ^17.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + checksum: e63d6ac2bcaa0678f3051c3f9e91dfbb302c16b25c01bf9b463f01aeda309aca616fc482774f0c7cc1ecf91647bcd2b4899a58712b71785831d3be62d3ff58f6 + languageName: node + linkType: hard + +"@backstage/core-plugin-api@workspace:^, @backstage/core-plugin-api@workspace:packages/core-plugin-api": version: 0.0.0-use.local resolution: "@backstage/core-plugin-api@workspace:packages/core-plugin-api" dependencies: @@ -3559,7 +3634,18 @@ __metadata: languageName: unknown linkType: soft -"@backstage/errors@^1.1.2, @backstage/errors@workspace:^, @backstage/errors@workspace:packages/errors": +"@backstage/errors@npm:^1.1.2, @backstage/errors@npm:^1.1.3": + version: 1.1.3 + resolution: "@backstage/errors@npm:1.1.3" + dependencies: + "@backstage/types": ^1.0.1 + cross-fetch: ^3.1.5 + serialize-error: ^8.0.1 + checksum: 7d5d68ea79c179557f494fd83e9e457621d417d2b785378c8494ab441271cf541f4c0952f5afcb8dade1a51e715c5da5d926ed3154af54868b60b6c1d4cc0cf4 + languageName: node + linkType: hard + +"@backstage/errors@workspace:^, @backstage/errors@workspace:packages/errors": version: 0.0.0-use.local resolution: "@backstage/errors@workspace:packages/errors" dependencies: @@ -3570,7 +3656,26 @@ __metadata: languageName: unknown linkType: soft -"@backstage/integration-react@^1.1.5, @backstage/integration-react@workspace:^, @backstage/integration-react@workspace:packages/integration-react": +"@backstage/integration-react@npm:^1.1.5": + version: 1.1.6 + resolution: "@backstage/integration-react@npm:1.1.6" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/core-components": ^0.12.0 + "@backstage/core-plugin-api": ^1.1.0 + "@backstage/integration": ^1.4.0 + "@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 + peerDependencies: + react: ^16.13.1 || ^17.0.0 + checksum: d46bad383db0453fe5c2dc4a941c6b4aae7b519cc72e740259f9c34ebe295e6f62797ac6a1598c3babae015bd3666a94a4a8f684ee311aa86c00aec30a065e98 + languageName: node + linkType: hard + +"@backstage/integration-react@workspace:^, @backstage/integration-react@workspace:packages/integration-react": version: 0.0.0-use.local resolution: "@backstage/integration-react@workspace:packages/integration-react" dependencies: @@ -3597,6 +3702,22 @@ __metadata: languageName: unknown linkType: soft +"@backstage/integration@npm:^1.4.0": + version: 1.4.0 + resolution: "@backstage/integration@npm:1.4.0" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/errors": ^1.1.3 + "@octokit/auth-app": ^4.0.0 + "@octokit/rest": ^19.0.3 + cross-fetch: ^3.1.5 + git-url-parse: ^13.0.0 + lodash: ^4.17.21 + luxon: ^3.0.0 + checksum: 69ca3c99c96ca840990bfeedbc7099f39668bafdc11298bb74000473efd49b5b43d9ad610adcef2635bfdaaa8eb0f6381413ee43d32a5a9725dccc020bada177 + languageName: node + linkType: hard + "@backstage/integration@workspace:^, @backstage/integration@workspace:packages/integration": version: 0.0.0-use.local resolution: "@backstage/integration@workspace:packages/integration" @@ -4550,7 +4671,7 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-catalog-backend-module-openapi@workspace:plugins/catalog-backend-module-openapi" dependencies: - "@apidevtools/swagger-parser": ^10.1.0 + "@apidevtools/json-schema-ref-parser": ^9.0.6 "@backstage/backend-common": "workspace:^" "@backstage/backend-test-utils": "workspace:^" "@backstage/catalog-model": "workspace:^" @@ -4619,7 +4740,18 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-catalog-common@^1.0.7, @backstage/plugin-catalog-common@workspace:^, @backstage/plugin-catalog-common@workspace:plugins/catalog-common": +"@backstage/plugin-catalog-common@npm:^1.0.7, @backstage/plugin-catalog-common@npm:^1.0.8": + version: 1.0.8 + resolution: "@backstage/plugin-catalog-common@npm:1.0.8" + dependencies: + "@backstage/catalog-model": ^1.1.3 + "@backstage/plugin-permission-common": ^0.7.1 + "@backstage/plugin-search-common": ^1.1.1 + checksum: bcf05d3b05bfb6662b350e6168c6eae8d57b8ed0f4dcd029eac5b48ce87ffa424708f9cdf54f6ff3fc43c094b6553508d53a1bc74a4fad49a1766e1d1bca0b5d + languageName: node + linkType: hard + +"@backstage/plugin-catalog-common@workspace:^, @backstage/plugin-catalog-common@workspace:plugins/catalog-common": version: 0.0.0-use.local resolution: "@backstage/plugin-catalog-common@workspace:plugins/catalog-common" dependencies: @@ -4747,7 +4879,41 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-catalog-react@^1.2.0, @backstage/plugin-catalog-react@workspace:^, @backstage/plugin-catalog-react@workspace:plugins/catalog-react": +"@backstage/plugin-catalog-react@npm:^1.2.0, @backstage/plugin-catalog-react@npm:^1.2.1": + version: 1.2.1 + resolution: "@backstage/plugin-catalog-react@npm:1.2.1" + dependencies: + "@backstage/catalog-client": ^1.1.2 + "@backstage/catalog-model": ^1.1.3 + "@backstage/core-components": ^0.12.0 + "@backstage/core-plugin-api": ^1.1.0 + "@backstage/errors": ^1.1.3 + "@backstage/integration": ^1.4.0 + "@backstage/plugin-catalog-common": ^1.0.8 + "@backstage/plugin-permission-common": ^0.7.1 + "@backstage/plugin-permission-react": ^0.4.7 + "@backstage/theme": ^0.2.16 + "@backstage/types": ^1.0.1 + "@backstage/version-bridge": ^1.0.2 + "@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-use: ^17.2.4 + yaml: ^2.0.0 + zen-observable: ^0.8.15 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 + react: ^16.13.1 || ^17.0.0 + react-router: 6.0.0-beta.0 || ^6.3.0 + checksum: 623103b7cb8cc4f08edb31b79e46d04e5f2eb27e6d95421430da4a9d1a18e74dc4aabc3d7c9e2ff15c615f6881b6a2e35fb953abe0bac7a8b93ec47d65432517 + languageName: node + linkType: hard + +"@backstage/plugin-catalog-react@workspace:^, @backstage/plugin-catalog-react@workspace:plugins/catalog-react": version: 0.0.0-use.local resolution: "@backstage/plugin-catalog-react@workspace:plugins/catalog-react" dependencies: @@ -5767,7 +5933,31 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-home@^0.4.26, @backstage/plugin-home@workspace:^, @backstage/plugin-home@workspace:plugins/home": +"@backstage/plugin-home@npm:^0.4.26, @backstage/plugin-home@npm:^0.4.27": + version: 0.4.27 + resolution: "@backstage/plugin-home@npm:0.4.27" + dependencies: + "@backstage/catalog-model": ^1.1.3 + "@backstage/config": ^1.0.4 + "@backstage/core-components": ^0.12.0 + "@backstage/core-plugin-api": ^1.1.0 + "@backstage/plugin-catalog-react": ^1.2.1 + "@backstage/plugin-stack-overflow": ^0.1.7 + "@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-use: ^17.2.4 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 + react: ^16.13.1 || ^17.0.0 + react-router: 6.0.0-beta.0 || ^6.3.0 + checksum: 294dfe9ea8e59cef24fe71051f61ab46ee0eb140bc26828e9daa677265394a82ba869729401d898bff1b430a972131190ca98c0c4e5e15e503995332b25c02c0 + languageName: node + linkType: hard + +"@backstage/plugin-home@workspace:^, @backstage/plugin-home@workspace:plugins/home": version: 0.0.0-use.local resolution: "@backstage/plugin-home@workspace:plugins/home" dependencies: @@ -5964,6 +6154,7 @@ __metadata: dependencies: "@azure/identity": ^2.0.4 "@backstage/backend-common": "workspace:^" + "@backstage/backend-test-utils": "workspace:^" "@backstage/catalog-client": "workspace:^" "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" @@ -5972,9 +6163,11 @@ __metadata: "@backstage/plugin-auth-node": "workspace:^" "@backstage/plugin-kubernetes-common": "workspace:^" "@google-cloud/container": ^4.0.0 + "@jest-mock/express": ^2.0.1 "@kubernetes/client-node": 0.17.0 "@types/aws4": ^1.5.1 "@types/express": ^4.17.6 + "@types/http-proxy-middleware": ^0.19.3 "@types/luxon": ^3.0.0 aws-sdk: ^2.840.0 aws-sdk-mock: ^5.2.1 @@ -5985,9 +6178,12 @@ __metadata: express-promise-router: ^4.1.0 fs-extra: 10.1.0 helmet: ^6.0.0 + http-proxy-middleware: ^2.0.6 lodash: ^4.17.21 luxon: ^3.0.0 morgan: ^1.10.0 + msw: ^0.49.0 + node-fetch: ^2.6.7 stream-buffers: ^3.0.2 supertest: ^6.1.3 winston: ^3.2.1 @@ -6298,6 +6494,20 @@ __metadata: languageName: unknown linkType: soft +"@backstage/plugin-permission-common@npm:^0.7.1": + version: 0.7.1 + resolution: "@backstage/plugin-permission-common@npm:0.7.1" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/errors": ^1.1.3 + "@backstage/types": ^1.0.1 + cross-fetch: ^3.1.5 + uuid: ^8.0.0 + zod: ^3.11.6 + checksum: d0ed7f8f3ed4163087db140f46e0fd055cc85e8127c0b26b17a595801df4dc0fa21330513f782be75e10cffb64c5f42f82b541b669e46e63113c41052277b65e + languageName: node + linkType: hard + "@backstage/plugin-permission-common@workspace:^, @backstage/plugin-permission-common@workspace:plugins/permission-common": version: 0.0.0-use.local resolution: "@backstage/plugin-permission-common@workspace:plugins/permission-common" @@ -6335,6 +6545,24 @@ __metadata: languageName: unknown linkType: soft +"@backstage/plugin-permission-react@npm:^0.4.7": + version: 0.4.7 + resolution: "@backstage/plugin-permission-react@npm:0.4.7" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/core-plugin-api": ^1.1.0 + "@backstage/plugin-permission-common": ^0.7.1 + cross-fetch: ^3.1.5 + react-use: ^17.2.4 + swr: ^1.1.2 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 + react: ^16.13.1 || ^17.0.0 + react-router: 6.0.0-beta.0 || ^6.3.0 + checksum: 4fac3ea7ac33012bf0690f6a4813ec63ea96c0e145a125012f1174a3b93cac84cc803854fe2f85735d84f29a6d11ee1f97391f6551b1a7907d62cb2351dc16be + languageName: node + linkType: hard + "@backstage/plugin-permission-react@workspace:^, @backstage/plugin-permission-react@workspace:plugins/permission-react": version: 0.0.0-use.local resolution: "@backstage/plugin-permission-react@workspace:plugins/permission-react" @@ -6815,6 +7043,16 @@ __metadata: languageName: unknown linkType: soft +"@backstage/plugin-search-common@npm:^1.1.1": + version: 1.1.1 + resolution: "@backstage/plugin-search-common@npm:1.1.1" + dependencies: + "@backstage/plugin-permission-common": ^0.7.1 + "@backstage/types": ^1.0.1 + checksum: 7c90229997c5545fe7ceca1fde7159b9f30339755551a7845e8ac628b640826793f300f820dfeb76bf6e57baf03a6469806b12f381e35bda373ca2e18374873e + languageName: node + linkType: hard + "@backstage/plugin-search-common@workspace:^, @backstage/plugin-search-common@workspace:plugins/search-common": version: 0.0.0-use.local resolution: "@backstage/plugin-search-common@workspace:plugins/search-common" @@ -7056,6 +7294,30 @@ __metadata: languageName: unknown linkType: soft +"@backstage/plugin-stack-overflow@npm:^0.1.7": + version: 0.1.7 + resolution: "@backstage/plugin-stack-overflow@npm:0.1.7" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/core-components": ^0.12.0 + "@backstage/core-plugin-api": ^1.1.0 + "@backstage/plugin-home": ^0.4.27 + "@backstage/plugin-search-common": ^1.1.1 + "@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 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 + react: ^16.13.1 || ^17.0.0 + checksum: 2e0bcba106cd042f4955b89ceabdd811dfa292a407e191330d9aa2e8e79d534dddc672db2cec02ca82831db50b24a1caeecf8dd45ff3b06408be679a46356eea + languageName: node + linkType: hard + "@backstage/plugin-stack-overflow@workspace:^, @backstage/plugin-stack-overflow@workspace:plugins/stack-overflow": version: 0.0.0-use.local resolution: "@backstage/plugin-stack-overflow@workspace:plugins/stack-overflow" @@ -7336,7 +7598,7 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-techdocs-node@workspace:plugins/techdocs-node" dependencies: - "@azure/identity": ^2.0.1 + "@azure/identity": ^2.1.0 "@azure/storage-blob": ^12.5.0 "@backstage/backend-common": "workspace:^" "@backstage/catalog-model": "workspace:^" @@ -7710,7 +7972,14 @@ __metadata: languageName: unknown linkType: soft -"@backstage/types@^1.0.0, @backstage/types@workspace:^, @backstage/types@workspace:packages/types": +"@backstage/types@npm:^1.0.0, @backstage/types@npm:^1.0.1": + version: 1.0.1 + resolution: "@backstage/types@npm:1.0.1" + checksum: 4857bc916f6afb77516fee565bb8048f2110425e32621ae7f332b9b9d32a738df26886b641339e811f3342488d44383c7a2fdd799de897b08fcca2062f1a9a13 + languageName: node + linkType: hard + +"@backstage/types@workspace:^, @backstage/types@workspace:packages/types": version: 0.0.0-use.local resolution: "@backstage/types@workspace:packages/types" dependencies: @@ -7721,7 +7990,7 @@ __metadata: languageName: unknown linkType: soft -"@backstage/version-bridge@^1.0.1, @backstage/version-bridge@workspace:^, @backstage/version-bridge@workspace:packages/version-bridge": +"@backstage/version-bridge@^1.0.1, @backstage/version-bridge@^1.0.2, @backstage/version-bridge@workspace:^, @backstage/version-bridge@workspace:packages/version-bridge": version: 0.0.0-use.local resolution: "@backstage/version-bridge@workspace:packages/version-bridge" dependencies: @@ -9265,6 +9534,15 @@ __metadata: languageName: node linkType: hard +"@jest-mock/express@npm:^2.0.1": + version: 2.0.1 + resolution: "@jest-mock/express@npm:2.0.1" + dependencies: + "@types/express": ^4.17.13 + checksum: 999ea0a953b3e911d0b8ecc4cb3b78ac252b3354832db9659be6754094410b10508f1688f3e623ab13fe40c28d89fd5a81699e6acd148dd8128abec4e81f3f14 + languageName: node + linkType: hard + "@jest/console@npm:^29.0.3": version: 29.0.3 resolution: "@jest/console@npm:29.0.3" @@ -15126,18 +15404,6 @@ __metadata: languageName: node linkType: hard -"ajv-draft-04@npm:^1.0.0": - version: 1.0.0 - resolution: "ajv-draft-04@npm:1.0.0" - peerDependencies: - ajv: ^8.5.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 3f11fa0e7f7359bef6608657f02ab78e9cc62b1fb7bdd860db0d00351b3863a1189c1a23b72466d2d82726cab4eb20725c76f5e7c134a89865e2bfd0e6828137 - languageName: node - linkType: hard - "ajv-formats@npm:^2.1.1": version: 2.1.1 resolution: "ajv-formats@npm:2.1.1" @@ -15172,7 +15438,7 @@ __metadata: languageName: node linkType: hard -"ajv8@npm:ajv@^8.11.0, ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.6.3, ajv@npm:^8.8.0": +"ajv8@npm:ajv@^8.11.0, ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.8.0": version: 8.11.2 resolution: "ajv@npm:8.11.2" dependencies: @@ -18336,9 +18602,11 @@ __metadata: linkType: hard "cronstrue@npm:^2.2.0": - version: 2.14.0 - resolution: "cronstrue@npm:2.14.0" - checksum: ffbceca5211575513b37a454253fe7aeb16fe841ed12c1e8a2241f0e55f46a72d4cb97fc3b56aa6bfc58c7d249f8c168f89bfd2011841f237098f86f435f6fcf + version: 2.19.0 + resolution: "cronstrue@npm:2.19.0" + bin: + cronstrue: bin/cli.js + checksum: 8f51c4c5016ed696569aed4fdb91013a499c3ace93cc5385dfe41d15b9fcc5f284d7eb457fdfe2fa4b05a3849f025ba8a3ad22197c40453efb0ef94271b3e843 languageName: node linkType: hard @@ -23359,7 +23627,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-middleware@npm:^2.0.0, http-proxy-middleware@npm:^2.0.3": +"http-proxy-middleware@npm:^2.0.0, http-proxy-middleware@npm:^2.0.3, http-proxy-middleware@npm:^2.0.6": version: 2.0.6 resolution: "http-proxy-middleware@npm:2.0.6" dependencies: @@ -25306,9 +25574,9 @@ __metadata: linkType: hard "jose@npm:^4.10.0, jose@npm:^4.6.0": - version: 4.11.0 - resolution: "jose@npm:4.11.0" - checksum: 8d81e978e0da306911b61b1de1e2d78bd4903b4aa68a4b338b7c89c41edc3d56aea4d5ef4784a078a630dd6aa81f6328901ae3ce215f33b90d51ee8ebf4c9dbd + version: 4.11.1 + resolution: "jose@npm:4.11.1" + checksum: cd15cba258d0fd20f6168631ce2e94fda8442df80e43c1033c523915cecdf390a1cc8efe0eab0c2d65935ca973d791c668aea80724d2aa9c2879d4e70f3081d7 languageName: node linkType: hard @@ -27927,13 +28195,13 @@ __metadata: linkType: hard "mini-css-extract-plugin@npm:^2.4.2": - version: 2.6.1 - resolution: "mini-css-extract-plugin@npm:2.6.1" + version: 2.7.0 + resolution: "mini-css-extract-plugin@npm:2.7.0" dependencies: schema-utils: ^4.0.0 peerDependencies: webpack: ^5.0.0 - checksum: df60840404878c4832b4104799fd29c5a89b06b1e377956c8d4a5729efe0ef301a52e5087d6f383871df5e69a8445922a0ae635c11abf412d7645a7096d0e973 + checksum: e6b111d4289132bd496286eec42801c74c83af7eac71af630a5babae48ca65377f47d8b39e1f0653b449e68e67b57dbd0d36917242f08fc3e7770e70c0cb56cd languageName: node linkType: hard @@ -30897,11 +31165,11 @@ __metadata: linkType: hard "prettier@npm:^2.2.1, prettier@npm:^2.7.1": - version: 2.7.1 - resolution: "prettier@npm:2.7.1" + version: 2.8.0 + resolution: "prettier@npm:2.8.0" bin: prettier: bin-prettier.js - checksum: 55a4409182260866ab31284d929b3cb961e5fdb91fe0d2e099dac92eaecec890f36e524b4c19e6ceae839c99c6d7195817579cdffc8e2c80da0cb794463a748b + checksum: 72004ce0cc9bb097daf3e3833f62495768724392c1d5b178dd47372337616e9e50ecbb0804f236596223f7b5eb1bbe69cefc8957dca21112c5777e77ef73a564 languageName: node linkType: hard @@ -33345,7 +33613,7 @@ __metadata: languageName: node linkType: hard -"selfsigned@npm:^2.0.0, selfsigned@npm:^2.0.1": +"selfsigned@npm:^2.0.0, selfsigned@npm:^2.1.1": version: 2.1.1 resolution: "selfsigned@npm:2.1.1" dependencies: @@ -34800,8 +35068,8 @@ __metadata: linkType: hard "sucrase@npm:^3.18.0, sucrase@npm:^3.20.2": - version: 3.28.0 - resolution: "sucrase@npm:3.28.0" + version: 3.29.0 + resolution: "sucrase@npm:3.29.0" dependencies: commander: ^4.0.0 glob: 7.1.6 @@ -34812,7 +35080,7 @@ __metadata: bin: sucrase: bin/sucrase sucrase-node: bin/sucrase-node - checksum: 6a2369c140cee674988ebcf83538f38b11270e47ebaffc811baabe1db3fc586f1a357d4bbc66388a6b99054ba06a08f31b44b764e777abbd457b9e29332b12d0 + checksum: fc8f04c34f29c0e9ca63109815df138182d62663dbe9565fcd94161b77a88a639f40c46559d0bb84d7acf9346ce23ea102476fd9168ec279330c7faecefb81eb languageName: node linkType: hard @@ -35669,7 +35937,7 @@ __metadata: languageName: node linkType: hard -"ts-node@npm:^10.0.0, ts-node@npm:^10.2.1, ts-node@npm:^10.4.0, ts-node@npm:^10.8.1": +"ts-node@npm:^10.0.0, ts-node@npm:^10.4.0, ts-node@npm:^10.8.1, ts-node@npm:^10.9.1": version: 10.9.1 resolution: "ts-node@npm:10.9.1" dependencies: @@ -35907,25 +36175,25 @@ __metadata: languageName: node linkType: hard -"typescript-json-schema@npm:^0.54.0": - version: 0.54.0 - resolution: "typescript-json-schema@npm:0.54.0" +"typescript-json-schema@npm:^0.55.0": + version: 0.55.0 + resolution: "typescript-json-schema@npm:0.55.0" dependencies: "@types/json-schema": ^7.0.9 "@types/node": ^16.9.2 glob: ^7.1.7 path-equal: ^1.1.2 safe-stable-stringify: ^2.2.0 - ts-node: ^10.2.1 - typescript: ~4.6.0 + ts-node: ^10.9.1 + typescript: ~4.8.2 yargs: ^17.1.1 bin: typescript-json-schema: bin/typescript-json-schema - checksum: 49e03bd2612f79fe3ee9e9afcea34ae563da9aa799a8b4cf12b73feb60eb62a0786300eedb30261c69c482ed7e545acf1e5617d59861e6deee4f6570a658de88 + checksum: 4188e9d4cc1f1fc3201e2aa06b8d87d35695b0eaf049ff9d2cd3027d87406efc6978c4f90c2bf06f4fcd8d6dd40ceb65e744dc3cf9b412e1f74b8eb5bae96a05 languageName: node linkType: hard -"typescript@npm:~4.6.0, typescript@npm:~4.6.3": +"typescript@npm:~4.6.3": version: 4.6.4 resolution: "typescript@npm:4.6.4" bin: @@ -35945,7 +36213,17 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@~4.6.0#~builtin, typescript@patch:typescript@~4.6.3#~builtin": +"typescript@npm:~4.8.2": + version: 4.8.4 + resolution: "typescript@npm:4.8.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 3e4f061658e0c8f36c820802fa809e0fd812b85687a9a2f5430bc3d0368e37d1c9605c3ce9b39df9a05af2ece67b1d844f9f6ea8ff42819f13bcb80f85629af0 + languageName: node + linkType: hard + +"typescript@patch:typescript@~4.6.3#~builtin": version: 4.6.4 resolution: "typescript@patch:typescript@npm%3A4.6.4#~builtin::version=4.6.4&hash=a1c5e5" bin: @@ -35965,6 +36243,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@~4.8.2#~builtin": + version: 4.8.4 + resolution: "typescript@patch:typescript@npm%3A4.8.4#~builtin::version=4.8.4&hash=a1c5e5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 563a0ef47abae6df27a9a3ab38f75fc681f633ccf1a3502b1108e252e187787893de689220f4544aaf95a371a4eb3141e4a337deb9895de5ac3c1ca76430e5f0 + languageName: node + linkType: hard + "ua-parser-js@npm:^0.7.18": version: 0.7.28 resolution: "ua-parser-js@npm:0.7.28" @@ -36901,8 +37189,8 @@ __metadata: linkType: hard "webpack-dev-server@npm:^4.7.3": - version: 4.10.1 - resolution: "webpack-dev-server@npm:4.10.1" + version: 4.11.1 + resolution: "webpack-dev-server@npm:4.11.1" dependencies: "@types/bonjour": ^3.5.9 "@types/connect-history-api-fallback": ^1.3.5 @@ -36927,7 +37215,7 @@ __metadata: p-retry: ^4.5.0 rimraf: ^3.0.2 schema-utils: ^4.0.0 - selfsigned: ^2.0.1 + selfsigned: ^2.1.1 serve-index: ^1.9.1 sockjs: ^0.3.24 spdy: ^4.0.2 @@ -36940,7 +37228,7 @@ __metadata: optional: true bin: webpack-dev-server: bin/webpack-dev-server.js - checksum: d026e6be63058ba5f881c58c9d49367a26c43d76bb7c2a1d9fb80eeae644099cc098913b4e9f32e2ed89eff0e7cc08e03cae8a1c4e7a1c8f67c5c673ab70761e + checksum: b7601a39ee0f413988259e29a36835b0a68522cfaa161de5b7ec99b3399acdd99d44189add4aaf4a5191258bb130f9cf3e68919324a1955c7557f5fe6ab0d96c languageName: node linkType: hard @@ -37685,8 +37973,8 @@ __metadata: linkType: hard "yeoman-environment@npm:^3.9.1": - version: 3.10.0 - resolution: "yeoman-environment@npm:3.10.0" + version: 3.12.1 + resolution: "yeoman-environment@npm:3.12.1" dependencies: "@npmcli/arborist": ^4.0.4 are-we-there-yet: ^2.0.0 @@ -37729,7 +38017,7 @@ __metadata: mem-fs-editor: ^8.1.2 || ^9.0.0 bin: yoe: cli/index.js - checksum: 2ab844358d148889285fc9cd68b9eb6660af4721033c86f833ad60a0028bbe8b5c637fa290a1c29f54c4957df53e6c5cd05692c6e25e7d88c9442c9a5f9775dc + checksum: 71e777fcfa4baf26f9848265292447d7283f4bcb0e6b781018c8f8610c47c430e5a331eb0da03491621a7bcdd6ed40a2854c664a4f9f1ceb9ee111def37f52d1 languageName: node linkType: hard @@ -37843,11 +38131,11 @@ __metadata: linkType: hard "zod-to-json-schema@npm:^3.18.1": - version: 3.18.1 - resolution: "zod-to-json-schema@npm:3.18.1" + version: 3.19.1 + resolution: "zod-to-json-schema@npm:3.19.1" peerDependencies: - zod: ^3.18.0 - checksum: e55d0de83b50fbd1caa7541d037858815964477b52a9e6495496e447107386cf16e2c08b007fcfbffd7fbe069ca2c19018425a53eaee36aff5dda942d3db71f4 + zod: ^3.19.0 + checksum: 22c07668e3c28c9d7c9bd3ad04a354ea017b6fc8b4df77ed29d11e42c4c03181612319db374932a1f8b5c37ef861157938dced9d848cad5281ee1540a156995c languageName: node linkType: hard