Merge branch 'backstage:master' into fix-kubernetes-exports

This commit is contained in:
matteosilv
2022-11-24 15:33:57 +01:00
committed by GitHub
517 changed files with 7248 additions and 812 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
+15
View File
@@ -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
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-techdocs-node': patch
---
Bump dependency @azure/identity to next minor
+6
View File
@@ -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`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-cost-insights': patch
---
Internal refactor to avoid usage of deprecated symbols
+234
View File
@@ -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"
]
}
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/config-loader': patch
---
Updated dependency `typescript-json-schema` to `^0.55.0`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-common': patch
---
Added the ability to understand Job Artifact URLs to the GitLab integration
+6
View File
@@ -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).
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
---
Fix repo:push topic not matching `BitbucketCloudEventRouter`.
+5
View File
@@ -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`.
+5
View File
@@ -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.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-cost-insights': patch
---
Making a possibility to hide a trending line in a cost insights plugin
+186
View File
@@ -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(),
},
};
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+2
View File
@@ -126,6 +126,7 @@ github
Gitiles
gitlab
GitLab
globals
Gource
Grafana
graphql
@@ -409,3 +410,4 @@ Zolotusky
zoomable
zsh
Lainfiesta
allowlisted
+2 -2
View File
@@ -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
+3 -3
View File
@@ -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 }}
+1 -1
View File
@@ -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 }}
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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 }}
+2 -2
View File
@@ -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 }}
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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 }}
+1 -1
View File
@@ -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 }}
+1 -1
View File
@@ -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 }}
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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 }}
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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
+5
View File
@@ -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
View File
@@ -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
View File
@@ -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"
+11
View File
@@ -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 -1
View File
@@ -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",
+63
View File
@@ -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 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-app",
"version": "0.2.77",
"version": "0.2.78-next.0",
"private": true,
"backstage": {
"role": "frontend"
+12
View File
@@ -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 -1
View File
@@ -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": {
+14
View File
@@ -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 -1
View File
@@ -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);
}
}
+1 -1
View File
@@ -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)}}`);
+9
View File
@@ -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 -1
View File
@@ -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": {
+10
View File
@@ -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 -1
View File
@@ -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",
+11
View File
@@ -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 -1
View File
@@ -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": {
+10
View File
@@ -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 -1
View File
@@ -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": {
+12
View File
@@ -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 -1
View File
@@ -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": {
+46
View File
@@ -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 -1
View File
@@ -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",
+13
View File
@@ -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 -1
View File
@@ -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",
+9
View File
@@ -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 -1
View File
@@ -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",
+15
View File
@@ -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 -1
View File
@@ -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"
},
+11
View File
@@ -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
+2 -2
View File
@@ -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"
},
+7
View File
@@ -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 -1
View File
@@ -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",
+12
View File
@@ -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 -1
View File
@@ -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();
});
});
});
+17
View File
@@ -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 -1
View File
@@ -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();
});
});
});
@@ -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 () => {
+11
View File
@@ -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 -1
View File
@@ -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",
+8
View File
@@ -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 -1
View File
@@ -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"
},
+16
View File
@@ -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 -1
View File
@@ -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",
+7
View File
@@ -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 -1
View File
@@ -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",
+12
View File
@@ -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 -1
View File
@@ -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",
+10
View File
@@ -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 -1
View File
@@ -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",
+6
View File
@@ -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 -1
View File
@@ -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