Merge branch 'backstage:master' into fix-kubernetes-exports
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/create-app': patch
|
||||
---
|
||||
|
||||
Bumped create-app version.
|
||||
@@ -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
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-techdocs-node': patch
|
||||
---
|
||||
|
||||
Bump dependency @azure/identity to next minor
|
||||
@@ -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`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-cost-insights': patch
|
||||
---
|
||||
|
||||
Internal refactor to avoid usage of deprecated symbols
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/config-loader': patch
|
||||
---
|
||||
|
||||
Updated dependency `typescript-json-schema` to `^0.55.0`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/backend-common': patch
|
||||
---
|
||||
|
||||
Added the ability to understand Job Artifact URLs to the GitLab integration
|
||||
@@ -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).
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
|
||||
---
|
||||
|
||||
Fix repo:push topic not matching `BitbucketCloudEventRouter`.
|
||||
@@ -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`.
|
||||
@@ -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.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-cost-insights': patch
|
||||
---
|
||||
|
||||
Making a possibility to hide a trending line in a cost insights plugin
|
||||
+186
@@ -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(),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -126,6 +126,7 @@ github
|
||||
Gitiles
|
||||
gitlab
|
||||
GitLab
|
||||
globals
|
||||
Gource
|
||||
Grafana
|
||||
graphql
|
||||
@@ -409,3 +410,4 @@ Zolotusky
|
||||
zoomable
|
||||
zsh
|
||||
Lainfiesta
|
||||
allowlisted
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 }}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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'
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 142 KiB |
+3
-3
@@ -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
|
||||
|
||||
|
||||
+1
-1
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-app",
|
||||
"version": "0.2.77",
|
||||
"version": "0.2.78-next.0",
|
||||
"private": true,
|
||||
"backstage": {
|
||||
"role": "frontend"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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:/);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -73,7 +73,7 @@ export class GitlabUrlReader implements UrlReader {
|
||||
options?: ReadUrlOptions,
|
||||
): Promise<ReadUrlResponse> {
|
||||
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<string> {
|
||||
// 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/<namespace>/<project>/-/jobs/artifacts/<ref>/raw/<path_to_file>?job=<job_name>
|
||||
// to urls of the form:
|
||||
// https://example.com/api/v4/projects/:id/jobs/artifacts/:ref_name/raw/*artifact_path?job=<job_name>
|
||||
private async getGitlabArtifactFetchUrl(target: URL): Promise<URL> {
|
||||
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<number> {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)}}`);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -89,6 +89,6 @@ describe('AppIdentityProxy', () => {
|
||||
});
|
||||
|
||||
await proxy.signOut();
|
||||
expect(location.href).toBe('/foo');
|
||||
expect(window.location.href).toBe('/foo');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -124,6 +124,6 @@ export class AppIdentityProxy implements IdentityApi {
|
||||
|
||||
async signOut(): Promise<void> {
|
||||
await this.waitForTarget.then(target => target.signOut());
|
||||
location.href = this.signOutTargetUrl;
|
||||
window.location.href = this.signOutTargetUrl;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -154,7 +154,7 @@ export class DefaultAuthConnector<AuthSession>
|
||||
const scope = this.joinScopesFunc(scopes);
|
||||
const popupUrl = await this.buildUrl('/start', {
|
||||
scope,
|
||||
origin: location.origin,
|
||||
origin: window.location.origin,
|
||||
});
|
||||
|
||||
const payload = await showLoginPopup({
|
||||
|
||||
@@ -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(
|
||||
<Wrapper>
|
||||
<div>
|
||||
<FeatureFlagged with="hello-flag">
|
||||
@@ -45,14 +45,14 @@ describe('FeatureFlagged', () => {
|
||||
</Wrapper>,
|
||||
);
|
||||
|
||||
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(
|
||||
<Wrapper>
|
||||
<div>
|
||||
<FeatureFlagged with="hello-flag">
|
||||
@@ -62,7 +62,7 @@ describe('FeatureFlagged', () => {
|
||||
</Wrapper>,
|
||||
);
|
||||
|
||||
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(
|
||||
<Wrapper>
|
||||
<div>
|
||||
<FeatureFlagged without="hello-flag">
|
||||
@@ -81,14 +81,14 @@ describe('FeatureFlagged', () => {
|
||||
</Wrapper>,
|
||||
);
|
||||
|
||||
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(
|
||||
<Wrapper>
|
||||
<div>
|
||||
<FeatureFlagged without="hello-flag">
|
||||
@@ -98,7 +98,7 @@ describe('FeatureFlagged', () => {
|
||||
</Wrapper>,
|
||||
);
|
||||
|
||||
expect(queryByText('BACKSTAGE!')).toBeInTheDocument();
|
||||
expect(screen.getByText('BACKSTAGE!')).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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('<AlertDisplay />', () => {
|
||||
});
|
||||
|
||||
it('renders with message', async () => {
|
||||
const { queryByText } = await renderInTestApp(
|
||||
await renderInTestApp(
|
||||
<TestApiProvider
|
||||
apis={[
|
||||
[
|
||||
@@ -52,7 +53,7 @@ describe('<AlertDisplay />', () => {
|
||||
</TestApiProvider>,
|
||||
);
|
||||
|
||||
expect(queryByText(TEST_MESSAGE)).toBeInTheDocument();
|
||||
expect(screen.getByText(TEST_MESSAGE)).toBeInTheDocument();
|
||||
});
|
||||
|
||||
describe('with multiple messages', () => {
|
||||
@@ -73,23 +74,23 @@ describe('<AlertDisplay />', () => {
|
||||
] as const;
|
||||
|
||||
it('renders first message', async () => {
|
||||
const { queryByText } = await renderInTestApp(
|
||||
await renderInTestApp(
|
||||
<TestApiProvider apis={apis}>
|
||||
<AlertDisplay />
|
||||
</TestApiProvider>,
|
||||
);
|
||||
|
||||
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(
|
||||
<TestApiProvider apis={apis}>
|
||||
<AlertDisplay />
|
||||
</TestApiProvider>,
|
||||
);
|
||||
|
||||
expect(queryByText('(2 older messages)')).toBeInTheDocument();
|
||||
expect(screen.getByText('(2 older messages)')).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
+2
-2
@@ -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<HTMLElement | undefined>,
|
||||
@@ -169,7 +169,7 @@ function useSmoothScroll(
|
||||
return;
|
||||
}
|
||||
|
||||
const startTime = performance.now();
|
||||
const startTime = window.performance.now();
|
||||
const id = requestAnimationFrame(frameTime => {
|
||||
if (!ref.current) {
|
||||
return;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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('<SupportButton />', () => {
|
||||
it('renders without exploding', async () => {
|
||||
await renderInTestApp(<SupportButton />);
|
||||
|
||||
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('<SupportButton />', () => {
|
||||
it('shows popover on click', async () => {
|
||||
await renderInTestApp(<SupportButton />);
|
||||
|
||||
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();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -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 () => {
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -43,7 +43,7 @@ describe('<ComponentContextMenu />', () => {
|
||||
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('<ComponentContextMenu />', () => {
|
||||
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 () => {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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": {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user