Merge branch 'master' into renovate/kubernetes-client-node-0.x

Signed-off-by: Ben Lambert <blam@spotify.com>
This commit is contained in:
Ben Lambert
2022-07-06 11:16:24 +02:00
committed by GitHub
326 changed files with 5929 additions and 1675 deletions
+9
View File
@@ -0,0 +1,9 @@
---
'@backstage/plugin-code-coverage': minor
---
Cleaned up API exports.
The `Router` export has been removed; users are expected to use `EntityCodeCoverageContent` instead.
The `isPluginApplicableToEntity` helper has been deprecated, in favor of the `isCodeCoverageAvailable` helper.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-code-coverage-backend': minor
---
Cleaned up API exports.
The `CodeCoverageApi` and `makeRouter` exports have been removed from the backend, since they were not meant to be exported in the first place.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-fossa': patch
---
Allow configuration of base URL for Fossa links
+18
View File
@@ -0,0 +1,18 @@
---
'@backstage/plugin-kubernetes-backend': minor
---
Add new endpoints to Kubernetes backend plugin
BREAKING: Kubernetes backend plugin now depends on CatalogApi
```typescript
// Create new CatalogClient
const catalogApi = new CatalogClient({ discoveryApi: env.discovery });
const { router } = await KubernetesBuilder.createBuilder({
logger: env.logger,
config: env.config,
// Inject it into createBuilder params
catalogApi,
}).build();
```
+91
View File
@@ -0,0 +1,91 @@
---
'@backstage/plugin-catalog-backend-module-msgraph': minor
---
Align `msgraph` plugin's entity provider config with other providers. **Deprecated** entity processor as well as previous config.
You will see warning at the log output until you migrate to the new setup.
All deprecated parts will be removed eventually after giving some time to migrate.
Please find information on how to migrate your current setup to the new one below.
**Migration Guide:**
There were two different way on how to use the msgraph plugin: processor or provider.
Previous registration for the processor:
```typescript
// packages/backend/src/plugins/catalog.ts
builder.addProcessor(
MicrosoftGraphOrgReaderProcessor.fromConfig(env.config, {
logger: env.logger,
// [...]
}),
);
```
Previous registration when using the provider:
```typescript
// packages/backend/src/plugins/catalog.ts
builder.addEntityProvider(
MicrosoftGraphOrgEntityProvider.fromConfig(env.config, {
id: 'https://graph.microsoft.com/v1.0',
target: 'https://graph.microsoft.com/v1.0',
logger: env.logger,
schedule: env.scheduler.createScheduledTaskRunner({
frequency: { minutes: 30 },
timeout: { minutes: 3 },
}),
// [...]
}),
);
```
Previous configuration as used for both:
```yaml
# app-config.yaml
catalog:
processors:
microsoftGraphOrg:
providers:
- target: https://graph.microsoft.com/v1.0
# [...]
```
**Replacement:**
Please check https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-msgraph/README.md for the complete documentation of all configuration options (config as well as registration of the provider).
```yaml
# app-config.yaml
catalog:
providers:
microsoftGraphOrg:
# In case you used the deprecated configuration with the entity provider
# using the value of `target` will keep the same location key for all
providerId: # some stable ID which will be used as part of the location key for all ingested data
target: https://graph.microsoft.com/v1.0
# [...]
```
```typescript
// packages/backend/src/plugins/catalog.ts
builder.addEntityProvider(
MicrosoftGraphOrgEntityProvider.fromConfig(env.config, {
logger: env.logger,
schedule: env.scheduler.createScheduledTaskRunner({
frequency: { minutes: 30 },
timeout: { minutes: 3 },
}),
// [...]
}),
);
```
In case you've used multiple entity providers before
**and** you had different transformers for each of them
you can provide these directly at the one `fromConfig` call
by passing a Record with the provider ID as key.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-components': patch
---
Fix relative `sub-paths` by concatenating the app's base path with them.
+34 -2
View File
@@ -158,50 +158,76 @@
"@backstage/plugin-vault-backend": "0.1.0",
"@backstage/plugin-xcmetrics": "0.2.26",
"@backstage/plugin-api-docs-module-protoc-gen-doc": "0.0.0",
"@backstage/plugin-catalog-backend-module-openapi": "0.0.0"
"@backstage/plugin-catalog-backend-module-openapi": "0.0.0",
"@backstage/plugin-cost-insights-common": "0.0.0"
},
"changesets": [
"afraid-flies-try",
"beige-horses-scream",
"blue-monkeys-explain",
"breezy-poems-grab",
"breezy-seas-exist",
"bright-balloons-hide",
"calm-experts-buy",
"chilled-mirrors-grab",
"cool-toys-flow",
"create-app-1656408352",
"curly-candles-battle",
"curvy-weeks-matter",
"eight-suits-fail",
"eighty-windows-brush",
"eleven-mice-collect",
"five-fireants-run",
"forty-seals-complain",
"great-roses-pump",
"green-actors-argue",
"happy-boxes-melt",
"hot-rice-sin",
"large-kangaroos-poke",
"lemon-goats-obey",
"light-hornets-eat",
"long-bananas-rescue",
"many-vans-thank",
"metal-singers-matter",
"metal-windows-share",
"modern-ducks-lay",
"moody-crabs-march",
"nasty-zoos-cross",
"nervous-humans-sip",
"old-onions-hear",
"plenty-clouds-guess",
"polite-eagles-invite",
"polite-lions-sell",
"popular-pots-yell",
"pretty-masks-live",
"proud-toys-return",
"purple-beans-march",
"quiet-pens-notice",
"red-games-decide",
"renovate-149779d",
"renovate-2ae4dda",
"renovate-4b5ff24",
"renovate-7438bff",
"renovate-833a91b",
"renovate-9454dab",
"rude-llamas-lie",
"search-boats-double",
"search-lightning-cult",
"search-turtles-itch",
"serious-houses-watch",
"serious-zebras-joke",
"shaggy-melons-drive",
"sharp-numbers-taste",
"sharp-planes-turn",
"shiny-seahorses-do",
"shiny-turkeys-doubt",
"short-deers-remember",
"short-olives-train",
"shy-cameras-develop",
"silent-coats-brake",
"silly-geese-design",
"silver-needles-unite",
"smart-elephants-knock",
"smooth-sheep-hide",
"strange-tables-flash",
"strange-trains-collect",
@@ -211,14 +237,20 @@
"techdocs-eyes-sit",
"techdocs-gorgeous-plants-sniff",
"techdocs-sheep-talk",
"techdocs-sixty-mugs-hug",
"techdocs-the-whole-pulse",
"thick-cats-kiss",
"thick-radios-drive",
"thirty-rivers-watch",
"tricky-ravens-visit",
"twelve-candles-jump",
"two-crews-accept",
"unlucky-stingrays-juggle",
"weak-bananas-deliver",
"weak-jeans-cry",
"weak-llamas-repeat",
"wet-dolphins-act",
"wicked-icons-grin"
"wicked-icons-grin",
"wicked-ladybugs-argue"
]
}
+103
View File
@@ -0,0 +1,103 @@
---
'@backstage/backend-common': patch
'@backstage/backend-test-utils': patch
'@backstage/catalog-client': patch
'@backstage/cli': patch
'@backstage/config-loader': patch
'@backstage/core-app-api': patch
'@backstage/core-components': patch
'@backstage/core-plugin-api': patch
'@backstage/integration-react': patch
'@backstage/integration': patch
'@backstage/release-manifests': patch
'@backstage/test-utils': patch
'@backstage/plugin-adr-backend': patch
'@backstage/plugin-adr': patch
'@backstage/plugin-airbrake-backend': patch
'@backstage/plugin-airbrake': patch
'@backstage/plugin-allure': patch
'@backstage/plugin-analytics-module-ga': patch
'@backstage/plugin-apache-airflow': patch
'@backstage/plugin-api-docs': patch
'@backstage/plugin-app-backend': patch
'@backstage/plugin-auth-backend': patch
'@backstage/plugin-auth-node': patch
'@backstage/plugin-azure-devops-backend': patch
'@backstage/plugin-azure-devops': patch
'@backstage/plugin-badges': patch
'@backstage/plugin-bitbucket-cloud-common': patch
'@backstage/plugin-bitrise': patch
'@backstage/plugin-catalog-backend-module-azure': patch
'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
'@backstage/plugin-catalog-backend-module-bitbucket': patch
'@backstage/plugin-catalog-backend-module-gerrit': patch
'@backstage/plugin-catalog-backend-module-github': patch
'@backstage/plugin-catalog-backend-module-gitlab': patch
'@backstage/plugin-catalog-backend-module-msgraph': patch
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-catalog-graphql': patch
'@backstage/plugin-catalog-import': patch
'@backstage/plugin-circleci': patch
'@backstage/plugin-cloudbuild': patch
'@backstage/plugin-code-climate': patch
'@backstage/plugin-code-coverage-backend': patch
'@backstage/plugin-code-coverage': patch
'@backstage/plugin-codescene': patch
'@backstage/plugin-config-schema': patch
'@backstage/plugin-cost-insights': patch
'@backstage/plugin-dynatrace': patch
'@backstage/plugin-explore-react': patch
'@backstage/plugin-explore': patch
'@backstage/plugin-firehydrant': patch
'@backstage/plugin-fossa': patch
'@backstage/plugin-gcalendar': patch
'@backstage/plugin-gcp-projects': patch
'@backstage/plugin-git-release-manager': patch
'@backstage/plugin-github-actions': patch
'@backstage/plugin-github-deployments': patch
'@backstage/plugin-github-pull-requests-board': patch
'@backstage/plugin-gitops-profiles': patch
'@backstage/plugin-gocd': patch
'@backstage/plugin-graphiql': patch
'@backstage/plugin-graphql-backend': patch
'@backstage/plugin-home': patch
'@backstage/plugin-ilert': patch
'@backstage/plugin-jenkins-backend': patch
'@backstage/plugin-jenkins': patch
'@backstage/plugin-kafka': patch
'@backstage/plugin-kubernetes': patch
'@backstage/plugin-lighthouse': patch
'@backstage/plugin-newrelic': patch
'@backstage/plugin-org': patch
'@backstage/plugin-pagerduty': patch
'@backstage/plugin-periskop-backend': patch
'@backstage/plugin-periskop': patch
'@backstage/plugin-permission-backend': patch
'@backstage/plugin-permission-common': patch
'@backstage/plugin-permission-node': patch
'@backstage/plugin-rollbar-backend': patch
'@backstage/plugin-rollbar': patch
'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch
'@backstage/plugin-scaffolder-backend': patch
'@backstage/plugin-scaffolder': patch
'@backstage/plugin-search': patch
'@backstage/plugin-sentry': patch
'@backstage/plugin-shortcuts': patch
'@backstage/plugin-sonarqube': patch
'@backstage/plugin-splunk-on-call': patch
'@backstage/plugin-stack-overflow': patch
'@backstage/plugin-tech-insights': patch
'@backstage/plugin-tech-radar': patch
'@backstage/plugin-techdocs-addons-test-utils': patch
'@backstage/plugin-techdocs-backend': patch
'@backstage/plugin-techdocs-module-addons-contrib': patch
'@backstage/plugin-techdocs': patch
'@backstage/plugin-todo-backend': patch
'@backstage/plugin-todo': patch
'@backstage/plugin-user-settings': patch
'@backstage/plugin-vault-backend': patch
'@backstage/plugin-vault': patch
'@backstage/plugin-xcmetrics': patch
---
Updated dependency `msw` to `^0.43.0`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/config-loader': patch
---
Updated dependency `typescript-json-schema` to `^0.54.0`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-api-docs': patch
---
Updated dependency `@asyncapi/react-component` to `1.0.0-next.39`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-search-backend-node': patch
---
Exports `MissingIndexError` that can be used by the search engines for better error handling when missing index.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth-backend': minor
---
Allowed post method on /refresh path
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-search-backend': patch
---
If error is `MissingIndexError` we return a 400 response with a more clear error message.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/integration': patch
---
Avoid double encoding of the file path in `getBitbucketServerDownloadUrl`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-search-backend-module-elasticsearch': patch
---
Throws `MissingIndexError` when no index of type exist.
@@ -1,31 +0,0 @@
# on a review from someone in the reviewers group, remove the awaiting-review label and add the awaiting-author label
name: Automate review labels - scheduled
on:
schedule:
- cron: '* * * * *'
jobs:
label:
runs-on: ubuntu-latest
steps:
- name: Get Token
id: get_workflow_token
uses: peter-murray/workflow-application-token-action@v1
with:
application_id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
application_private_key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }}
organization: backstage
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 14
- run: npm install codeowners
- uses: actions/github-script@v6
id: fix-labels
with:
github-token: ${{ steps.get_workflow_token.outputs.token }}
script: |
const script = require('./scripts/goalie-labels.js')
await script({github, context, core})
@@ -1,84 +0,0 @@
# When the target of the PR changes, open, re-open or sync, then re-add the label.
name: Automate review labels
on:
pull_request_target:
types:
- opened
- closed
- synchronize
permissions:
issues: write
pull-requests: write
jobs:
label:
runs-on: ubuntu-latest
steps:
# THESE SCRIPTS SHOULD BE INLINED AND NOT IN REPO
# DUE TO THE TOKEN PERMISSIONS THAT ARE GIVEN
# TO THE WORKFLOW. THIS SCRIPT WILL AND SHOULD
# RUN FROM THE BASE REPO ALL TIMES.
- uses: actions/github-script@v6
id: fix-labels
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
if (['opened', 'synchronize'].includes('${{ github.event.action }}')) {
// if it's the author, always add awaiting-review label
const isAuthor = context.payload.pull_request.user.login === context.actor
if (isAuthor) {
await github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ['awaiting-review']
});
}
}
if ('${{ github.event.action}}' === 'closed') {
await github.rest.issues.removeLabel({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: 'awaiting-review'
}).catch((e) => {
console.log(e)
});
}
- name: Add PRs to review board
uses: actions/github-script@v6
if: github.event.action == 'opened' || github.event.action == 'reopened'
env:
PROJECT_ID: PN_kwDOBFKqdc02LQ
with:
github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
script: |
const prLookup = await github.graphql(`
query($owner: String!, $repo: String!, $number: Int!){
repository(owner: $owner, name: $repo) {
pullRequest(number: $number) {
id
}
}
}
`, context.issue);
await github.graphql(`
mutation($projectId: ID!, $contentId: ID!) {
addProjectNextItem(input: {
projectId: $projectId,
contentId: $contentId,
}) {
projectNextItem {
id
}
}
}
`, {
projectId: process.env.PROJECT_ID,
contentId: prLookup.repository.pullRequest.id
})
+1 -1
View File
@@ -25,6 +25,6 @@ jobs:
If you are the author and the PR has been closed, feel free to re-open the PR and continue the contribution!
days-before-pr-stale: 7
days-before-pr-close: 5
exempt-pr-labels: reviewer-approved,awaiting-review,will-fix
exempt-pr-labels: reviewer-approved,will-fix
stale-pr-label: stale
operations-per-run: 100
+108 -40
View File
@@ -9,9 +9,116 @@ concurrency:
cancel-in-progress: true
jobs:
# This step only runs yarn install to make sure that an exact match is available
# in the cache. The two following verify and tests jobs then always install from cache.
install:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x, 16.x]
env:
CI: true
NODE_OPTIONS: --max-old-space-size=4096
steps:
- uses: actions/checkout@v3
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@v0.5.2
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
# The verify jobs runs all the verification that doesn't require a
# diff towards master, since it takes some time to fetch that.
verify:
runs-on: ubuntu-latest
needs: install
strategy:
matrix:
node-version: [14.x, 16.x]
env:
CI: true
NODE_OPTIONS: --max-old-space-size=4096
steps:
- uses: actions/checkout@v3
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@v0.5.2
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: verify changesets
run: node scripts/verify-changesets.js
- name: verify local dependency ranges
run: node scripts/verify-local-dependencies.js
- name: validate config
run: yarn backstage-cli config:check --lax
- name: type checking and declarations
run: yarn tsc:full
- name: prettier
run: yarn prettier:check
# We need to generate the API references as well, so that we can verify the doc links
- name: check api reports and generate API reference
run: yarn build:api-reports:only --ci --docs
- name: verify api reference
run: node scripts/verify-api-reference.js
- name: verify doc links
run: node scripts/verify-links.js
- name: build all packages
run: yarn backstage-cli repo build --all
- name: verify type dependencies
run: yarn lint:type-deps
- name: verify plugin template
run: yarn lerna -- run diff -- --check
- name: ensure clean working directory
run: |
if files=$(git ls-files --exclude-standard --others --modified) && [[ -z "$files" ]]; then
exit 0
else
echo ""
echo "Working directory has been modified:"
echo ""
git status --short
echo ""
exit 1
fi
# The test job runs all tests as well as any verification step that
# requires a diff towards master.
test:
runs-on: ubuntu-latest
needs: install
strategy:
matrix:
node-version: [14.x, 16.x]
@@ -71,7 +178,7 @@ jobs:
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@v0.2.2
uses: backstage/actions/yarn-install@v0.5.2
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
@@ -80,48 +187,12 @@ jobs:
run: git diff --quiet origin/master HEAD -- yarn.lock
continue-on-error: true
- name: prettier
run: yarn prettier:check
- name: lock
run: yarn lock:check
- name: validate config
run: yarn backstage-cli config:check --lax
- name: lint
run: yarn backstage-cli repo lint --since origin/master
- name: type checking and declarations
run: yarn tsc:full
# We need to generate the API references as well, so that we can verify the doc links
- name: check api reports and generate API reference
run: yarn build:api-reports:only --ci --docs
- name: verify api reference
run: node scripts/verify-api-reference.js
- name: verify changesets
run: node scripts/verify-changesets.js
- name: verify doc links
run: node scripts/verify-links.js
- name: verify local dependency ranges
run: node scripts/verify-local-dependencies.js
- name: build changed packages
if: ${{ steps.yarn-lock.outcome == 'success' }}
run: yarn backstage-cli repo build --all --since origin/master
- name: build all packages
if: ${{ steps.yarn-lock.outcome == 'failure' }}
run: yarn backstage-cli repo build --all
- name: verify type dependencies
run: yarn lint:type-deps
- name: test changed packages
if: ${{ steps.yarn-lock.outcome == 'success' }}
run: yarn lerna -- run test --since origin/master -- --coverage --runInBand
@@ -144,9 +215,6 @@ jobs:
BACKSTAGE_TEST_DATABASE_POSTGRES9_CONNECTION_STRING: postgresql://postgres:postgres@localhost:${{ job.services.postgres9.ports[5432] }}
BACKSTAGE_TEST_DATABASE_MYSQL8_CONNECTION_STRING: mysql://root:root@localhost:${{ job.services.mysql8.ports[3306] }}/ignored
- name: verify plugin template
run: yarn lerna -- run diff -- --check
- name: ensure clean working directory
run: |
if files=$(git ls-files --exclude-standard --others --modified) && [[ -z "$files" ]]; then
+1 -1
View File
@@ -8,7 +8,7 @@ jobs:
cron:
runs-on: ubuntu-latest
steps:
- uses: backstage/actions/cron@v0.2.2
- uses: backstage/actions/cron@v0.5.2
with:
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }}
+1 -1
View File
@@ -79,7 +79,7 @@ jobs:
uses: docker/setup-buildx-action@v1
- name: Build and push
uses: docker/build-push-action@v2
uses: docker/build-push-action@v3
with:
context: './example-app'
file: ./example-app/packages/backend/Dockerfile
+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.2.2
uses: backstage/actions/yarn-install@v0.5.2
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.2.2
uses: backstage/actions/yarn-install@v0.5.2
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.2.2
uses: backstage/actions/yarn-install@v0.5.2
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.2.2
uses: backstage/actions/issue-sync@v0.5.2
@@ -0,0 +1,19 @@
# This workflow is used to trigger the "PR Review Comment" workflow. This chaining is needed
# because workflows triggered by pull_request_review_comment do not have access to secrets.
name: PR Review Comment Trigger
on:
pull_request_review_comment:
types:
- created
jobs:
trigger:
runs-on: ubuntu-latest
# The "PR Review Comment" workflow will check the success status of this workflow and only mark
# the PR for re-review if this workflow was successful, which is when the author leaves a review comment.
if: github.repository == 'backstage/backstage' && github.event.comment.user.id == github.event.pull_request.user.id
steps:
- run: echo "This PR needs another review"
+24
View File
@@ -0,0 +1,24 @@
# This workflow is triggered by "PR Review Comment Trigger"
name: PR Review Comment
on:
workflow_run:
workflows: [PR Review Comment Trigger]
types:
- completed
jobs:
re-review:
runs-on: ubuntu-latest
# The triggering workflow will report success if the PR needs re-review
if: github.repository == 'backstage/backstage' && github.event.workflow_run.conclusion == 'success'
steps:
- uses: backstage/actions/re-review@v0.5.2
with:
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }}
installation-id: ${{ secrets.BACKSTAGE_GOALIE_INSTALLATION_ID }}
project-id: PVT_kwDOBFKqdc02LQ
issue-number: ${{ github.event.workflow_run.pull_requests[0].number }}
+18 -3
View File
@@ -1,14 +1,29 @@
name: PR
on:
pull_request_target:
types:
- opened
- synchronize
- reopened
- closed
issue_comment:
types:
- created
jobs:
sync:
runs-on: ubuntu-latest
if: github.repository == 'backstage/backstage'
# Avoid running on issue comments
if: github.repository == 'backstage/backstage' && ( github.event.pull_request || github.event.issue.pull_request )
steps:
- name: PR sync
uses: backstage/actions/pr-sync@v0.2.2
uses: backstage/actions/pr-sync@v0.5.2
with:
github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }}
installation-id: ${{ secrets.BACKSTAGE_GOALIE_INSTALLATION_ID }}
project-id: PVT_kwDOBFKqdc02LQ
excluded-users: ${{ secrets.OOO_USERS }}
owning-teams: '@backstage/techdocs'
+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.2.2
uses: backstage/actions/yarn-install@v0.5.2
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
@@ -22,7 +22,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.2.2
uses: backstage/actions/yarn-install@v0.5.2
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
+1 -1
View File
@@ -46,7 +46,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.2.2
uses: backstage/actions/yarn-install@v0.5.2
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
+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.2.2
uses: backstage/actions/yarn-install@v0.5.2
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: storybook yarn install
+2 -2
View File
@@ -23,7 +23,7 @@ _You can do this by using the [Adopter form](https://form.typeform.com/to/zcOaKi
| [Fiverr](https://www.fiverr.com) | [@nirga](https://github.com/nirga) | Unifying separate tools that developers are using today (i.e. monitoring, dead letter queues management, etc.) into a single platform. |
| [Zalando SE](https://www.zalando.de) | [@leviferreira](https://github.com/leviferreira) | Building V2 of the Internal Development Portal. |
| [LegalZoom](https://legalzoom.com) | [@backjo](https://github.com/backjo) | Developer portal - hub for all engineering projects and metadata. |
| [Expedia Group](https://www.expediagroup.com) | [@guillermomanzo](https://github.com/guillermomanzo), [Sheena Sharma](mailto:shesharma@expediagroup.com) | EG Common Developer Toolkit |
| [Expedia Group](https://www.expediagroup.com) | [@guillermomanzo](https://github.com/guillermomanzo), [Sheena Sharma](mailto:shesharma@expediagroup.com), [@ajbw](https://github.com/ajbw) | EG Common Developer Toolkit |
| [Paddle.com](https://paddle.com) | [Ioannis Georgoulas](https://github.com/geototti21) | Developer portal (Tech Docs, Service Catalog, Internal Tooling), we use vanilla Backstage FE and custom BE implementation in Go |
| [Acast.com](https://acast.com) | [Olle Lundberg](https://github.com/lndbrg) | Developer portal with tech docs, service catalog and a bunch of other internal tooling |
| [Lunar](https://lunar.app) | [Jacob Valdemar](https://github.com/JacobValdemar) | Internal developer portal for service overview and insights, API documentation, technical guides, onboarding guides and RFC's. |
@@ -188,5 +188,5 @@ _You can do this by using the [Adopter form](https://form.typeform.com/to/zcOaKi
| [Cho Tot](https://www.chotot.com) | [Chotot Team](mailto:sre@chotot.vn) | Internal developer portal, service catalog with CI/CD tools. |
| [William Hill](https://www.williamhillgroup.com/) | [Pat Mills](mailto:pat.mills@williamhill.com), [Nathan Flynn](mailto:nflynn@williamhill.co.uk), and [Nishkarsh Raj](mailto:nishkarsh.raj@williamhill.co.uk) | William Hill are leveraging Backstage to build our Engineering Portal. Our mission is to centralize the software catalog inventory to enable service discoverability, reduce the onboarding time for new Engineers, provide a single pane of glass to accelerate Developer Productivity and Save Engineers time. Our aspiration is to create an InnerSource community focussed on organization-wide patterns that are re-usable and can be self-served with the Scaffolder. |
| [Vodafone NewZealand Limited](https://vodafone.co.nz) | [Ankit Gupta](mailto:ankit.gupta@vodafone.nz), [DevOps COE](mailto:devopstooling@vodafone.nz) | Vodafone NZ are leveraging Backstage to build centralised and self service Engineering Portal. Our mission is to standardised Pipeline templates across the Engineering teams, One shop stop to create the pipelines and repository with a template approach which reduces creation part from days to minutes and no wait time for developers. A unified view for Azure DevOps pipeline, Azure Repo pull requests, Deployment status from Azure RedHat Openshift-ArgoCD and SonarQube Security and code quality scans report on a single pan to provide a streamlined view for all microservices across the app stack. |
| [Coamo](http://www.coamo.com.br) | [@holiiveira](https://github.com/holiiveira), [@gpxlnx](https://github.com/gpxlnx) | We're starting to use it as the main tool of a DevOps platform. Our goal is to provide software templates, centralize our software catalog enabling efficient service discovery, and make it easy to manage the entire software ecosystem in one place.
| [Coamo](http://www.coamo.com.br) | [@holiiveira](https://github.com/holiiveira), [@gpxlnx](https://github.com/gpxlnx) | We're starting to use it as the main tool of a DevOps platform. Our goal is to provide software templates, centralize our software catalog enabling efficient service discovery, and make it easy to manage the entire software ecosystem in one place.
|
-10
View File
@@ -234,16 +234,6 @@ catalog:
# dn: ou=access,ou=groups,ou=example,dc=example,dc=net
# options:
# filter: (&(objectClass=some-group-class)(!(groupType=email)))
microsoftGraphOrg:
### Example for how to add your Microsoft Graph tenant
#providers:
# - target: https://graph.microsoft.com/v1.0
# authority: https://login.microsoftonline.com
# tenantId: ${MICROSOFT_GRAPH_TENANT_ID}
# clientId: ${MICROSOFT_GRAPH_CLIENT_ID}
# clientSecret: ${MICROSOFT_GRAPH_CLIENT_SECRET_TOKEN}
# userFilter: accountEnabled eq true and userType eq 'member'
# groupFilter: securityEnabled eq false and mailEnabled eq true and groupTypes/any(c:c+eq+'Unified')
locations:
# Add a location here to ingest it, for example from a URL:
+1
View File
@@ -350,6 +350,7 @@ router.get('/auth/providerA/handler/frame');
router.post('/auth/providerA/handler/frame');
router.post('/auth/providerA/logout');
router.get('/auth/providerA/refresh'); // if supported
router.post('/auth/providerA/refresh'); // if supported
```
As you can see each endpoint is prefixed with both `/auth` and its provider
+2 -1
View File
@@ -341,7 +341,8 @@ separate Docker images.
The backend container can be built by running the following command:
```bash
yarn run docker-build
yarn run build
yarn run build-image
```
This will create a container called `example-backend`.
File diff suppressed because it is too large Load Diff
@@ -1,7 +1,7 @@
---
title: Adopters Community Sessions
date: June 15, 2022
category: Upcoming
category: Meetup
description: Adopters Community Session ✨. It's the monthly meetup where we all come together to listen to the latest maintainer updates, learn from each other about adopting, share exciting new demos or discuss any relevant topic like developer effectiveness, developer experience, developer portals, etc.
youtubeUrl: https://youtu.be/aKZnjnE5Wy8
youtubeImgUrl: https://backstage.io/img/b-sessions.png
+2 -2
View File
@@ -1,9 +1,9 @@
---
title: Contributor Community Sessions
date: June 22, 2022
category: Upcoming
category: Meetup
description: Join the maintainers and contributors for the Contributor Community Sessions
youtubeUrl: https://youtu.be/aKZnjnE5Wy8
youtubeUrl: https://youtu.be/E-jWqWXBxUY
youtubeImgUrl: https://backstage.io/img/b-sessions.png
rsvpUrl: https://calendar.google.com/calendar/embed?src=c_qup9gbhn9sqpuao6trttd8mk5s@group.calendar.google.com
eventUrl: https://github.com/backstage/community/issues/49
+9
View File
@@ -0,0 +1,9 @@
---
title: Adopters Community Sessions
date: July 20, 2022
category: Upcoming
description: Adopters Community Session ✨. It's the monthly meetup where we all come together to listen to the latest maintainer updates, learn from each other about adopting, share exciting new demos or discuss any relevant topic like developer effectiveness, developer experience, developer portals, etc.
youtubeUrl: https://youtu.be/4VFNlPxWcx8
youtubeImgUrl: https://backstage.io/img/b-sessions.png
rsvpUrl: https://calendar.google.com/calendar/embed?src=c_qup9gbhn9sqpuao6trttd8mk5s@group.calendar.google.com
eventUrl: https://github.com/backstage/community/issues/52
+9
View File
@@ -0,0 +1,9 @@
---
title: Contributor Community Sessions
date: July 27, 2022
category: Upcoming
description: Join the maintainers and contributors for the Contributor Community Sessions
youtubeUrl: https://youtu.be/4VFNlPxWcx8
youtubeImgUrl: https://backstage.io/img/b-sessions.png
rsvpUrl: https://calendar.google.com/calendar/embed?src=c_qup9gbhn9sqpuao6trttd8mk5s@group.calendar.google.com
eventUrl: https://github.com/backstage/community/issues/52
+2 -2
View File
@@ -34,7 +34,7 @@ const Background = props => {
<Block.Container style={{ justifyContent: 'flex-start' }}>
<Block.MediaFrame>
<iframe
src="https://www.youtube.com/embed/aKZnjnE5Wy8"
src="https://www.youtube.com/embed/4VFNlPxWcx8"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
@@ -45,7 +45,7 @@ const Background = props => {
<iframe
width="300"
height="500"
src="https://www.youtube.com/live_chat?v=aKZnjnE5Wy8&embed_domain=backstage.io&dark_theme=1"
src="https://www.youtube.com/live_chat?v=4VFNlPxWcx8&embed_domain=backstage.io&dark_theme=1"
></iframe>
</Block.MediaFrame>
</Block.Container>
+1 -1
View File
@@ -49,7 +49,7 @@
"@types/react": "^17",
"@types/react-dom": "^17"
},
"version": "1.4.0-next.1",
"version": "1.4.0-next.2",
"dependencies": {
"@manypkg/get-packages": "^1.1.3",
"@microsoft/api-documenter": "^7.17.11",
+8
View File
@@ -1,5 +1,13 @@
# @backstage/app-defaults
## 1.0.4-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.10.0-next.2
- @backstage/theme@0.2.16-next.1
## 1.0.4-next.1
### Patch Changes
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/app-defaults",
"description": "Provides the default wiring of a Backstage App",
"version": "1.0.4-next.1",
"version": "1.0.4-next.2",
"private": false,
"publishConfig": {
"access": "public",
@@ -33,11 +33,11 @@
"start": "backstage-cli package start"
},
"dependencies": {
"@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-components": "^0.10.0-next.2",
"@backstage/core-app-api": "^1.0.4-next.0",
"@backstage/core-plugin-api": "^1.0.3",
"@backstage/plugin-permission-react": "^0.4.3-next.0",
"@backstage/theme": "^0.2.16-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"react-router-dom": "6.0.0-beta.0"
@@ -46,7 +46,7 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
"@backstage/cli": "^0.18.0-next.1",
"@backstage/cli": "^0.18.0-next.2",
"@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
+55
View File
@@ -1,5 +1,60 @@
# example-app
## 0.2.73-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-cost-insights@0.11.29-next.2
- @backstage/core-components@0.10.0-next.2
- @backstage/plugin-scaffolder@1.4.0-next.2
- @backstage/plugin-jenkins@0.7.6-next.2
- @backstage/catalog-model@1.1.0-next.2
- @backstage/plugin-search-react@0.2.2-next.2
- @backstage/theme@0.2.16-next.1
- @backstage/plugin-catalog-import@0.8.10-next.2
- @backstage/plugin-techdocs@1.2.1-next.2
- @backstage/plugin-techdocs-module-addons-contrib@1.0.2-next.2
- @backstage/plugin-api-docs@0.8.7-next.2
- @backstage/plugin-catalog@1.4.0-next.2
- @backstage/cli@0.18.0-next.2
- @backstage/plugin-catalog-react@1.1.2-next.2
- @backstage/app-defaults@1.0.4-next.2
- @backstage/integration-react@1.1.2-next.2
- @backstage/plugin-airbrake@0.3.7-next.2
- @backstage/plugin-apache-airflow@0.2.0-next.2
- @backstage/plugin-azure-devops@0.1.23-next.2
- @backstage/plugin-badges@0.2.31-next.2
- @backstage/plugin-catalog-graph@0.2.19-next.2
- @backstage/plugin-circleci@0.3.7-next.2
- @backstage/plugin-cloudbuild@0.3.7-next.2
- @backstage/plugin-code-coverage@0.1.34-next.2
- @backstage/plugin-dynatrace@0.1.1-next.2
- @backstage/plugin-explore@0.3.38-next.2
- @backstage/plugin-gcalendar@0.3.3-next.2
- @backstage/plugin-gcp-projects@0.3.26-next.2
- @backstage/plugin-github-actions@0.5.7-next.2
- @backstage/plugin-gocd@0.1.13-next.2
- @backstage/plugin-graphiql@0.2.39-next.2
- @backstage/plugin-home@0.4.23-next.2
- @backstage/plugin-kafka@0.3.7-next.2
- @backstage/plugin-kubernetes@0.6.7-next.2
- @backstage/plugin-lighthouse@0.3.7-next.2
- @backstage/plugin-newrelic@0.3.25-next.2
- @backstage/plugin-newrelic-dashboard@0.1.15-next.2
- @backstage/plugin-org@0.5.7-next.2
- @backstage/plugin-pagerduty@0.5.0-next.2
- @backstage/plugin-rollbar@0.4.7-next.2
- @backstage/plugin-search@0.9.1-next.2
- @backstage/plugin-sentry@0.3.45-next.2
- @backstage/plugin-shortcuts@0.2.8-next.2
- @backstage/plugin-stack-overflow@0.1.3-next.2
- @backstage/plugin-tech-insights@0.2.3-next.2
- @backstage/plugin-tech-radar@0.5.14-next.2
- @backstage/plugin-techdocs-react@1.0.2-next.1
- @backstage/plugin-todo@0.2.9-next.2
- @backstage/plugin-user-settings@0.4.6-next.2
## 0.2.73-next.1
### Patch Changes
+50 -50
View File
@@ -1,67 +1,67 @@
{
"name": "example-app",
"version": "0.2.73-next.1",
"version": "0.2.73-next.2",
"private": true,
"backstage": {
"role": "frontend"
},
"bundled": true,
"dependencies": {
"@backstage/app-defaults": "^1.0.4-next.1",
"@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/cli": "^0.18.0-next.1",
"@backstage/app-defaults": "^1.0.4-next.2",
"@backstage/catalog-model": "^1.1.0-next.2",
"@backstage/cli": "^0.18.0-next.2",
"@backstage/config": "^1.0.1",
"@backstage/core-app-api": "^1.0.4-next.0",
"@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-components": "^0.10.0-next.2",
"@backstage/core-plugin-api": "^1.0.3",
"@backstage/integration-react": "^1.1.2-next.1",
"@backstage/plugin-airbrake": "^0.3.7-next.1",
"@backstage/plugin-api-docs": "^0.8.7-next.1",
"@backstage/plugin-azure-devops": "^0.1.23-next.1",
"@backstage/plugin-apache-airflow": "^0.2.0-next.1",
"@backstage/plugin-badges": "^0.2.31-next.1",
"@backstage/plugin-catalog": "^1.3.1-next.1",
"@backstage/integration-react": "^1.1.2-next.2",
"@backstage/plugin-airbrake": "^0.3.7-next.2",
"@backstage/plugin-api-docs": "^0.8.7-next.2",
"@backstage/plugin-azure-devops": "^0.1.23-next.2",
"@backstage/plugin-apache-airflow": "^0.2.0-next.2",
"@backstage/plugin-badges": "^0.2.31-next.2",
"@backstage/plugin-catalog": "^1.4.0-next.2",
"@backstage/plugin-catalog-common": "^1.0.4-next.0",
"@backstage/plugin-catalog-graph": "^0.2.19-next.1",
"@backstage/plugin-catalog-import": "^0.8.10-next.1",
"@backstage/plugin-catalog-react": "^1.1.2-next.1",
"@backstage/plugin-circleci": "^0.3.7-next.1",
"@backstage/plugin-cloudbuild": "^0.3.7-next.1",
"@backstage/plugin-code-coverage": "^0.1.34-next.1",
"@backstage/plugin-cost-insights": "^0.11.29-next.1",
"@backstage/plugin-dynatrace": "^0.1.1-next.1",
"@backstage/plugin-explore": "^0.3.38-next.1",
"@backstage/plugin-gcalendar": "^0.3.3-next.1",
"@backstage/plugin-gcp-projects": "^0.3.26-next.1",
"@backstage/plugin-github-actions": "^0.5.7-next.1",
"@backstage/plugin-gocd": "^0.1.13-next.1",
"@backstage/plugin-graphiql": "^0.2.39-next.1",
"@backstage/plugin-home": "^0.4.23-next.1",
"@backstage/plugin-jenkins": "^0.7.6-next.1",
"@backstage/plugin-kafka": "^0.3.7-next.1",
"@backstage/plugin-kubernetes": "^0.6.7-next.1",
"@backstage/plugin-lighthouse": "^0.3.7-next.1",
"@backstage/plugin-newrelic": "^0.3.25-next.1",
"@backstage/plugin-newrelic-dashboard": "^0.1.15-next.1",
"@backstage/plugin-org": "^0.5.7-next.1",
"@backstage/plugin-pagerduty": "0.5.0-next.1",
"@backstage/plugin-catalog-graph": "^0.2.19-next.2",
"@backstage/plugin-catalog-import": "^0.8.10-next.2",
"@backstage/plugin-catalog-react": "^1.1.2-next.2",
"@backstage/plugin-circleci": "^0.3.7-next.2",
"@backstage/plugin-cloudbuild": "^0.3.7-next.2",
"@backstage/plugin-code-coverage": "^0.1.34-next.2",
"@backstage/plugin-cost-insights": "^0.11.29-next.2",
"@backstage/plugin-dynatrace": "^0.1.1-next.2",
"@backstage/plugin-explore": "^0.3.38-next.2",
"@backstage/plugin-gcalendar": "^0.3.3-next.2",
"@backstage/plugin-gcp-projects": "^0.3.26-next.2",
"@backstage/plugin-github-actions": "^0.5.7-next.2",
"@backstage/plugin-gocd": "^0.1.13-next.2",
"@backstage/plugin-graphiql": "^0.2.39-next.2",
"@backstage/plugin-home": "^0.4.23-next.2",
"@backstage/plugin-jenkins": "^0.7.6-next.2",
"@backstage/plugin-kafka": "^0.3.7-next.2",
"@backstage/plugin-kubernetes": "^0.6.7-next.2",
"@backstage/plugin-lighthouse": "^0.3.7-next.2",
"@backstage/plugin-newrelic": "^0.3.25-next.2",
"@backstage/plugin-newrelic-dashboard": "^0.1.15-next.2",
"@backstage/plugin-org": "^0.5.7-next.2",
"@backstage/plugin-pagerduty": "0.5.0-next.2",
"@backstage/plugin-permission-react": "^0.4.3-next.0",
"@backstage/plugin-rollbar": "^0.4.7-next.1",
"@backstage/plugin-scaffolder": "^1.4.0-next.1",
"@backstage/plugin-search": "^0.9.1-next.1",
"@backstage/plugin-search-react": "^0.2.2-next.1",
"@backstage/plugin-rollbar": "^0.4.7-next.2",
"@backstage/plugin-scaffolder": "^1.4.0-next.2",
"@backstage/plugin-search": "^0.9.1-next.2",
"@backstage/plugin-search-react": "^0.2.2-next.2",
"@backstage/plugin-search-common": "^0.3.6-next.0",
"@backstage/plugin-sentry": "^0.3.45-next.1",
"@backstage/plugin-shortcuts": "^0.2.8-next.1",
"@backstage/plugin-stack-overflow": "^0.1.3-next.1",
"@backstage/plugin-tech-radar": "^0.5.14-next.1",
"@backstage/plugin-techdocs": "^1.2.1-next.1",
"@backstage/plugin-techdocs-react": "^1.0.2-next.0",
"@backstage/plugin-techdocs-module-addons-contrib": "^1.0.2-next.1",
"@backstage/plugin-todo": "^0.2.9-next.1",
"@backstage/plugin-user-settings": "^0.4.6-next.1",
"@backstage/plugin-tech-insights": "^0.2.3-next.1",
"@backstage/theme": "^0.2.16-next.0",
"@backstage/plugin-sentry": "^0.3.45-next.2",
"@backstage/plugin-shortcuts": "^0.2.8-next.2",
"@backstage/plugin-stack-overflow": "^0.1.3-next.2",
"@backstage/plugin-tech-radar": "^0.5.14-next.2",
"@backstage/plugin-techdocs": "^1.2.1-next.2",
"@backstage/plugin-techdocs-react": "^1.0.2-next.1",
"@backstage/plugin-techdocs-module-addons-contrib": "^1.0.2-next.2",
"@backstage/plugin-todo": "^0.2.9-next.2",
"@backstage/plugin-user-settings": "^0.4.6-next.2",
"@backstage/plugin-tech-insights": "^0.2.3-next.2",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
+17
View File
@@ -1,5 +1,22 @@
# @backstage/backend-common
## 0.14.1-next.2
### Patch Changes
- 679b32172e: Updated dependency `knex` to `^2.0.0`.
- e2d7b76f43: Upgrade git-url-parse to 12.0.0.
Motivation for upgrade is transitively upgrading parse-url which is vulnerable
to several CVEs detected by Snyk.
- SNYK-JS-PARSEURL-2935944
- SNYK-JS-PARSEURL-2935947
- SNYK-JS-PARSEURL-2936249
- Updated dependencies
- @backstage/integration@1.2.2-next.2
## 0.14.1-next.1
### Patch Changes
+5 -5
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-common",
"description": "Common functionality library for Backstage backends",
"version": "0.14.1-next.1",
"version": "0.14.1-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -38,7 +38,7 @@
"@backstage/config": "^1.0.1",
"@backstage/config-loader": "^1.1.3-next.0",
"@backstage/errors": "^1.1.0-next.0",
"@backstage/integration": "^1.2.2-next.1",
"@backstage/integration": "^1.2.2-next.2",
"@backstage/types": "^1.0.0",
"@google-cloud/storage": "^6.0.0",
"@manypkg/get-packages": "^1.1.3",
@@ -91,8 +91,8 @@
}
},
"devDependencies": {
"@backstage/backend-test-utils": "^0.1.26-next.1",
"@backstage/cli": "^0.18.0-next.1",
"@backstage/backend-test-utils": "^0.1.26-next.2",
"@backstage/cli": "^0.18.0-next.2",
"@types/archiver": "^5.1.0",
"@types/base64-stream": "^1.0.2",
"@types/compression": "^1.7.0",
@@ -112,7 +112,7 @@
"better-sqlite3": "^7.5.0",
"http-errors": "^2.0.0",
"mock-fs": "^5.1.0",
"msw": "^0.42.0",
"msw": "^0.43.0",
"mysql2": "^2.2.5",
"recursive-readdir": "^2.2.2",
"supertest": "^6.1.3"
+8
View File
@@ -1,5 +1,13 @@
# @backstage/backend-tasks
## 0.3.3-next.2
### Patch Changes
- 679b32172e: Updated dependency `knex` to `^2.0.0`.
- Updated dependencies
- @backstage/backend-common@0.14.1-next.2
## 0.3.3-next.1
### Patch Changes
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-tasks",
"description": "Common distributed task management library for Backstage backends",
"version": "0.3.3-next.1",
"version": "0.3.3-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -33,7 +33,7 @@
"start": "backstage-cli package start"
},
"dependencies": {
"@backstage/backend-common": "^0.14.1-next.1",
"@backstage/backend-common": "^0.14.1-next.2",
"@backstage/config": "^1.0.1",
"@backstage/errors": "^1.1.0-next.0",
"@backstage/types": "^1.0.0",
@@ -48,8 +48,8 @@
"zod": "^3.9.5"
},
"devDependencies": {
"@backstage/backend-test-utils": "^0.1.26-next.1",
"@backstage/cli": "^0.18.0-next.1",
"@backstage/backend-test-utils": "^0.1.26-next.2",
"@backstage/cli": "^0.18.0-next.2",
"@types/cron": "^2.0.0",
"wait-for-expect": "^3.0.2"
},
+9
View File
@@ -1,5 +1,14 @@
# @backstage/backend-test-utils
## 0.1.26-next.2
### Patch Changes
- 679b32172e: Updated dependency `knex` to `^2.0.0`.
- Updated dependencies
- @backstage/backend-common@0.14.1-next.2
- @backstage/cli@0.18.0-next.2
## 0.1.26-next.1
### Patch Changes
+5 -5
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-test-utils",
"description": "Test helpers library for Backstage backends",
"version": "0.1.26-next.1",
"version": "0.1.26-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"private": false,
@@ -34,19 +34,19 @@
"start": "backstage-cli package start"
},
"dependencies": {
"@backstage/backend-common": "^0.14.1-next.1",
"@backstage/cli": "^0.18.0-next.1",
"@backstage/backend-common": "^0.14.1-next.2",
"@backstage/cli": "^0.18.0-next.2",
"@backstage/config": "^1.0.1",
"better-sqlite3": "^7.5.0",
"knex": "^2.0.0",
"msw": "^0.42.0",
"msw": "^0.43.0",
"mysql2": "^2.2.5",
"pg": "^8.3.0",
"testcontainers": "^8.1.2",
"uuid": "^8.0.0"
},
"devDependencies": {
"@backstage/cli": "^0.18.0-next.1"
"@backstage/cli": "^0.18.0-next.2"
},
"files": [
"dist"
+23
View File
@@ -1,5 +1,28 @@
# example-backend
## 0.2.73-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-kubernetes-backend@0.7.0-next.2
- @backstage/plugin-tech-insights-backend@0.5.0-next.2
- @backstage/plugin-jenkins-backend@0.1.24-next.2
- @backstage/plugin-search-backend-module-pg@0.3.5-next.2
- @backstage/plugin-scaffolder-backend@1.4.0-next.2
- @backstage/plugin-auth-backend@0.15.0-next.2
- @backstage/catalog-model@1.1.0-next.2
- @backstage/plugin-kafka-backend@0.2.27-next.2
- @backstage/backend-common@0.14.1-next.2
- @backstage/backend-tasks@0.3.3-next.2
- @backstage/plugin-app-backend@0.3.34-next.2
- @backstage/plugin-catalog-backend@1.2.1-next.2
- @backstage/plugin-code-coverage-backend@0.1.32-next.2
- @backstage/plugin-techdocs-backend@1.2.0-next.2
- @backstage/plugin-badges-backend@0.1.28-next.2
- @backstage/integration@1.2.2-next.2
- example-app@0.2.73-next.2
## 0.2.73-next.1
### Patch Changes
+18 -18
View File
@@ -1,6 +1,6 @@
{
"name": "example-backend",
"version": "0.2.73-next.1",
"version": "0.2.73-next.2",
"main": "dist/index.cjs.js",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -26,36 +26,36 @@
"build-image": "docker build ../.. -f Dockerfile --tag example-backend"
},
"dependencies": {
"@backstage/backend-common": "^0.14.1-next.1",
"@backstage/backend-tasks": "^0.3.3-next.1",
"@backstage/backend-common": "^0.14.1-next.2",
"@backstage/backend-tasks": "^0.3.3-next.2",
"@backstage/catalog-client": "^1.0.4-next.1",
"@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/catalog-model": "^1.1.0-next.2",
"@backstage/config": "^1.0.1",
"@backstage/integration": "^1.2.2-next.1",
"@backstage/plugin-app-backend": "^0.3.34-next.1",
"@backstage/plugin-auth-backend": "^0.15.0-next.1",
"@backstage/integration": "^1.2.2-next.2",
"@backstage/plugin-app-backend": "^0.3.34-next.2",
"@backstage/plugin-auth-backend": "^0.15.0-next.2",
"@backstage/plugin-auth-node": "^0.2.3-next.1",
"@backstage/plugin-azure-devops-backend": "^0.3.13-next.0",
"@backstage/plugin-badges-backend": "^0.1.28-next.1",
"@backstage/plugin-catalog-backend": "^1.2.1-next.1",
"@backstage/plugin-code-coverage-backend": "^0.1.32-next.1",
"@backstage/plugin-badges-backend": "^0.1.28-next.2",
"@backstage/plugin-catalog-backend": "^1.2.1-next.2",
"@backstage/plugin-code-coverage-backend": "^0.1.32-next.2",
"@backstage/plugin-graphql-backend": "^0.1.24-next.0",
"@backstage/plugin-jenkins-backend": "^0.1.24-next.1",
"@backstage/plugin-kubernetes-backend": "^0.7.0-next.1",
"@backstage/plugin-kafka-backend": "^0.2.27-next.1",
"@backstage/plugin-jenkins-backend": "^0.1.24-next.2",
"@backstage/plugin-kubernetes-backend": "^0.7.0-next.2",
"@backstage/plugin-kafka-backend": "^0.2.27-next.2",
"@backstage/plugin-permission-backend": "^0.5.9-next.1",
"@backstage/plugin-permission-common": "^0.6.3-next.0",
"@backstage/plugin-permission-node": "^0.6.3-next.1",
"@backstage/plugin-proxy-backend": "^0.2.28-next.0",
"@backstage/plugin-rollbar-backend": "^0.1.31-next.0",
"@backstage/plugin-scaffolder-backend": "^1.4.0-next.1",
"@backstage/plugin-scaffolder-backend": "^1.4.0-next.2",
"@backstage/plugin-scaffolder-backend-module-rails": "^0.4.2-next.1",
"@backstage/plugin-search-backend": "^0.5.4-next.1",
"@backstage/plugin-search-backend-node": "^0.6.3-next.1",
"@backstage/plugin-search-backend-module-elasticsearch": "^0.2.0-next.1",
"@backstage/plugin-search-backend-module-pg": "^0.3.5-next.1",
"@backstage/plugin-techdocs-backend": "^1.2.0-next.1",
"@backstage/plugin-tech-insights-backend": "^0.4.2-next.1",
"@backstage/plugin-search-backend-module-pg": "^0.3.5-next.2",
"@backstage/plugin-techdocs-backend": "^1.2.0-next.2",
"@backstage/plugin-tech-insights-backend": "^0.5.0-next.2",
"@backstage/plugin-tech-insights-node": "^0.3.2-next.0",
"@backstage/plugin-tech-insights-backend-module-jsonfc": "^0.1.18-next.1",
"@backstage/plugin-todo-backend": "^0.1.31-next.1",
@@ -75,7 +75,7 @@
"winston": "^3.2.1"
},
"devDependencies": {
"@backstage/cli": "^0.18.0-next.1",
"@backstage/cli": "^0.18.0-next.2",
"@types/dockerode": "^3.3.0",
"@types/express": "^4.17.6",
"@types/express-serve-static-core": "^4.17.5",
@@ -17,13 +17,16 @@
import { KubernetesBuilder } from '@backstage/plugin-kubernetes-backend';
import { Router } from 'express';
import { PluginEnvironment } from '../types';
import { CatalogClient } from '@backstage/catalog-client';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
const catalogApi = new CatalogClient({ discoveryApi: env.discovery });
const { router } = await KubernetesBuilder.createBuilder({
logger: env.logger,
config: env.config,
catalogApi,
}).build();
return router;
}
+1 -1
View File
@@ -40,7 +40,7 @@
"devDependencies": {
"@backstage/cli": "^0.18.0-next.1",
"@types/jest": "^26.0.7",
"msw": "^0.42.0"
"msw": "^0.43.0"
},
"files": [
"dist"
+6
View File
@@ -1,5 +1,11 @@
# @backstage/catalog-model
## 1.1.0-next.2
### Minor Changes
- 4cc81372f8: Introduced `GroupDefaultParentEntityPolicy` to set a default group entity parent.
## 1.1.0-next.1
### Patch Changes
+2 -2
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.0-next.1",
"version": "1.1.0-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -43,7 +43,7 @@
"uuid": "^8.0.0"
},
"devDependencies": {
"@backstage/cli": "^0.18.0-next.1",
"@backstage/cli": "^0.18.0-next.2",
"@types/jest": "^26.0.7",
"@types/json-schema": "^7.0.5",
"@types/lodash": "^4.14.151",
+6
View File
@@ -1,5 +1,11 @@
# @backstage/cli
## 0.18.0-next.2
### Patch Changes
- f6b6fb7165: The `test` command now ensures that all IO is flushed before exiting when printing `--help`.
## 0.18.0-next.1
### Minor Changes
+6 -6
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/cli",
"description": "CLI for developing Backstage plugins and apps",
"version": "0.18.0-next.1",
"version": "0.18.0-next.2",
"private": false,
"publishConfig": {
"access": "public"
@@ -126,14 +126,14 @@
"zod": "^3.11.6"
},
"devDependencies": {
"@backstage/backend-common": "^0.14.1-next.1",
"@backstage/backend-common": "^0.14.1-next.2",
"@backstage/config": "^1.0.1",
"@backstage/core-app-api": "^1.0.4-next.0",
"@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-components": "^0.10.0-next.2",
"@backstage/core-plugin-api": "^1.0.3",
"@backstage/dev-utils": "^1.0.4-next.1",
"@backstage/dev-utils": "^1.0.4-next.2",
"@backstage/test-utils": "^1.1.2-next.1",
"@backstage/theme": "^0.2.16-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@types/diff": "^5.0.0",
"@types/express": "^4.17.6",
"@types/fs-extra": "^9.0.1",
@@ -152,7 +152,7 @@
"@types/yarnpkg__lockfile": "^1.1.4",
"del": "^6.0.0",
"mock-fs": "^5.1.0",
"msw": "^0.42.0",
"msw": "^0.43.0",
"nodemon": "^2.0.2",
"ts-node": "^10.0.0"
},
@@ -41,7 +41,7 @@
"@backstage/cli": "{{versionQuery '@backstage/cli'}}",
"@types/supertest": "{{versionQuery '@types/supertest' '2.0.8'}}",
"supertest": "{{versionQuery 'supertest' '4.0.2'}}",
"msw": "{{versionQuery 'msw' '0.42.0'}}"
"msw": "{{versionQuery 'msw' '0.43.0'}}"
},
"files": [
"dist"
@@ -49,7 +49,7 @@
"@testing-library/user-event": "{{versionQuery '@testing-library/user-event' '14.0.0'}}",
"@types/jest": "{{versionQuery '@types/jest' '26.0.7'}}",
"@types/node": "{{versionQuery '@types/node' '16.11.26'}}",
"msw": "{{versionQuery 'msw' '0.42.0'}}",
"msw": "{{versionQuery 'msw' '0.43.0'}}",
"cross-fetch": "{{versionQuery 'cross-fetch' '3.1.5'}}"
},
"files": [
+2 -2
View File
@@ -46,7 +46,7 @@
"json-schema-merge-allof": "^0.8.1",
"json-schema-traverse": "^1.0.0",
"node-fetch": "^2.6.7",
"typescript-json-schema": "^0.53.0",
"typescript-json-schema": "^0.54.0",
"yaml": "^1.9.2",
"yup": "^0.32.9"
},
@@ -57,7 +57,7 @@
"@types/node": "^16.11.26",
"@types/yup": "^0.29.13",
"mock-fs": "^5.1.0",
"msw": "^0.42.0"
"msw": "^0.43.0"
},
"files": [
"dist"
+1 -1
View File
@@ -59,7 +59,7 @@
"@types/node": "^16.11.26",
"@types/zen-observable": "^0.8.0",
"cross-fetch": "^3.1.5",
"msw": "^0.42.0"
"msw": "^0.43.0"
},
"files": [
"dist",
+14
View File
@@ -1,5 +1,19 @@
# @backstage/core-components
## 0.10.0-next.2
### Minor Changes
- 32204fa794: Add `transformLinkUri` and `transformImageUri` to `MarkdownContent`
### Patch Changes
- b4b711bcc2: Fix the EntityLayout header style so that EntityContextMenu button can display in correct shape when user hover on it
- 15201b1032: Updated dependency `rc-progress` to `3.4.0`.
- 385389d23c: Updated to remove usage of the `bursts` object in the theme palette
- Updated dependencies
- @backstage/theme@0.2.16-next.1
## 0.9.6-next.1
### Patch Changes
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/core-components",
"description": "Core components used by Backstage plugins and apps",
"version": "0.9.6-next.1",
"version": "0.10.0-next.2",
"private": false,
"publishConfig": {
"access": "public",
@@ -36,7 +36,7 @@
"@backstage/config": "^1.0.1",
"@backstage/core-plugin-api": "^1.0.3",
"@backstage/errors": "^1.1.0-next.0",
"@backstage/theme": "^0.2.16-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@backstage/version-bridge": "^1.0.1",
"@material-table/core": "^3.1.0",
"@material-ui/core": "^4.12.2",
@@ -80,7 +80,7 @@
},
"devDependencies": {
"@backstage/core-app-api": "^1.0.4-next.0",
"@backstage/cli": "^0.18.0-next.1",
"@backstage/cli": "^0.18.0-next.2",
"@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
@@ -101,7 +101,7 @@
"@types/react-window": "^1.8.5",
"@types/zen-observable": "^0.8.0",
"cross-fetch": "^3.1.5",
"msw": "^0.42.0"
"msw": "^0.43.0"
},
"files": [
"dist"
@@ -21,9 +21,11 @@ import {
TestApiProvider,
wrapInTestApp,
} from '@backstage/test-utils';
import { analyticsApiRef } from '@backstage/core-plugin-api';
import { isExternalUri, Link } from './Link';
import { analyticsApiRef, configApiRef } from '@backstage/core-plugin-api';
import { isExternalUri, Link, useResolvedPath } from './Link';
import { Route, Routes } from 'react-router';
import { renderHook, WrapperComponent } from '@testing-library/react-hooks';
import { ConfigReader } from '@backstage/config';
describe('<Link />', () => {
it('navigates using react-router', async () => {
@@ -103,6 +105,58 @@ describe('<Link />', () => {
});
});
describe('resolves a sub-path correctly', () => {
it('when it starts with base path', async () => {
const testString = 'This is test string';
const linkText = 'Navigate!';
const configApi = new ConfigReader({
app: { baseUrl: 'http://localhost:3000/example' },
});
const { getByText } = render(
wrapInTestApp(
<TestApiProvider apis={[[configApiRef, configApi]]}>
<Routes>
<Link to="/example/test">{linkText}</Link>
<Route path="/example/test" element={<p>{testString}</p>} />
</Routes>
</TestApiProvider>,
),
);
expect(() => getByText(testString)).toThrow();
fireEvent.click(getByText(linkText));
await waitFor(() => {
expect(getByText(testString)).toBeInTheDocument();
});
});
it('when it does not start with base path', async () => {
const testString = 'This is test string';
const linkText = 'Navigate!';
const configApi = new ConfigReader({
app: { baseUrl: 'http://localhost:3000/example' },
});
const { getByText } = render(
wrapInTestApp(
<TestApiProvider apis={[[configApiRef, configApi]]}>
<Routes>
<Link to="/test">{linkText}</Link>
<Route path="/example/test" element={<p>{testString}</p>} />
</Routes>
</TestApiProvider>,
),
);
expect(() => getByText(testString)).toThrow();
fireEvent.click(getByText(linkText));
await waitFor(() => {
expect(getByText(testString)).toBeInTheDocument();
});
});
});
describe('isExternalUri', () => {
it.each([
[true, 'http://'],
@@ -128,4 +182,45 @@ describe('<Link />', () => {
expect(isExternalUri(uri)).toBe(expected);
});
});
describe('useResolvedPath', () => {
const wrapper: WrapperComponent<{}> = ({ children }) => {
const configApi = new ConfigReader({
app: { baseUrl: 'http://localhost:3000/example' },
});
return (
<TestApiProvider apis={[[configApiRef, configApi]]}>
{children}
</TestApiProvider>
);
};
describe('concatenate base path', () => {
it('when uri is internal and does not start with base path', () => {
const path = '/catalog/default/component/artist-lookup';
const { result } = renderHook(() => useResolvedPath(path), {
wrapper,
});
expect(result.current).toBe('/example'.concat(path));
});
});
describe('does not concatenate base path', () => {
it('when uri is external', () => {
const path = 'https://stackoverflow.com/questions/1/example';
const { result } = renderHook(() => useResolvedPath(path), {
wrapper,
});
expect(result.current).toBe(path);
});
it('when uri already starts with base path', () => {
const path = '/example/catalog/default/component/artist-lookup';
const { result } = renderHook(() => useResolvedPath(path), {
wrapper,
});
expect(result.current).toBe(path);
});
});
});
});
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { useAnalytics } from '@backstage/core-plugin-api';
import { configApiRef, useAnalytics, useApi } from '@backstage/core-plugin-api';
import classnames from 'classnames';
import MaterialLink, {
LinkProps as MaterialLinkProps,
@@ -25,6 +25,7 @@ import {
Link as RouterLink,
LinkProps as RouterLinkProps,
} from 'react-router-dom';
import { trimEnd } from 'lodash';
const useStyles = makeStyles(
{
@@ -52,6 +53,45 @@ export type LinkProps = MaterialLinkProps &
noTrack?: boolean;
};
/**
* Returns the app base url that could be empty if the Config API is not properly implemented.
* The only cases there would be no Config API are in tests and in storybook stories, and in those cases, it's unlikely that callers would rely on this subpath behavior.
*/
const useBaseUrl = () => {
try {
const config = useApi(configApiRef);
return config.getOptionalString('app.baseUrl');
} catch {
return undefined;
}
};
/**
* Get the app base path from the configured app baseUrl.
* The returned path does not have a trailing slash.
*/
const useBasePath = () => {
// baseUrl can be specified as just a path
const base = 'http://dummy.dev';
const url = useBaseUrl() ?? '/';
const { pathname } = new URL(url, base);
return trimEnd(pathname, '/');
};
export const useResolvedPath = (uri: LinkProps['to']) => {
let resolvedPath = String(uri);
const basePath = useBasePath();
const external = isExternalUri(resolvedPath);
const startsWithBasePath = resolvedPath.startsWith(basePath);
if (!external && !startsWithBasePath) {
resolvedPath = basePath.concat(resolvedPath);
}
return resolvedPath;
};
/**
* Given a react node, try to retrieve its text content.
*/
@@ -84,7 +124,7 @@ export const Link = React.forwardRef<any, LinkProps>(
({ onClick, noTrack, ...props }, ref) => {
const classes = useStyles();
const analytics = useAnalytics();
const to = String(props.to);
const to = useResolvedPath(props.to);
const linkText = getNodeText(props.children) || to;
const external = isExternalUri(to);
const newWindow = external && !!/^https?:/.exec(to);
@@ -99,11 +139,11 @@ export const Link = React.forwardRef<any, LinkProps>(
return external ? (
// External links
<MaterialLink
{...(newWindow ? { target: '_blank', rel: 'noopener' } : {})}
{...props}
ref={ref}
href={to}
onClick={handleClick}
{...(newWindow ? { target: '_blank', rel: 'noopener' } : {})}
{...props}
className={classnames(classes.externalLink, props.className)}
>
{props.children}
@@ -112,10 +152,11 @@ export const Link = React.forwardRef<any, LinkProps>(
) : (
// Interact with React Router for internal links
<MaterialLink
{...props}
ref={ref}
component={RouterLink}
to={to}
onClick={handleClick}
{...props}
/>
);
},
+1 -1
View File
@@ -58,7 +58,7 @@
"@types/prop-types": "^15.7.3",
"@types/zen-observable": "^0.8.0",
"cross-fetch": "^3.1.5",
"msw": "^0.42.0"
"msw": "^0.43.0"
},
"files": [
"dist"
+7
View File
@@ -1,5 +1,12 @@
# @backstage/create-app
## 0.4.29-next.2
### Patch Changes
- f281ad17c0: Adds the ability to define the Backstage app name using a `BACKSTAGE_APP_NAME`
environment variable when running `create-app`.
## 0.4.29-next.1
### 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.29-next.1",
"version": "0.4.29-next.2",
"private": false,
"publishConfig": {
"access": "public"
+12
View File
@@ -1,5 +1,17 @@
# @backstage/dev-utils
## 1.0.4-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.10.0-next.2
- @backstage/catalog-model@1.1.0-next.2
- @backstage/theme@0.2.16-next.1
- @backstage/plugin-catalog-react@1.1.2-next.2
- @backstage/app-defaults@1.0.4-next.2
- @backstage/integration-react@1.1.2-next.2
## 1.0.4-next.1
### Patch Changes
+8 -8
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/dev-utils",
"description": "Utilities for developing Backstage plugins.",
"version": "1.0.4-next.1",
"version": "1.0.4-next.2",
"private": false,
"publishConfig": {
"access": "public",
@@ -33,15 +33,15 @@
"start": "backstage-cli package start"
},
"dependencies": {
"@backstage/app-defaults": "^1.0.4-next.1",
"@backstage/app-defaults": "^1.0.4-next.2",
"@backstage/core-app-api": "^1.0.4-next.0",
"@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-components": "^0.10.0-next.2",
"@backstage/core-plugin-api": "^1.0.3",
"@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/integration-react": "^1.1.2-next.1",
"@backstage/plugin-catalog-react": "^1.1.2-next.1",
"@backstage/catalog-model": "^1.1.0-next.2",
"@backstage/integration-react": "^1.1.2-next.2",
"@backstage/plugin-catalog-react": "^1.1.2-next.2",
"@backstage/test-utils": "^1.1.2-next.1",
"@backstage/theme": "^0.2.16-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@testing-library/jest-dom": "^5.10.1",
@@ -59,7 +59,7 @@
"react-dom": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
"@backstage/cli": "^0.18.0-next.1",
"@backstage/cli": "^0.18.0-next.2",
"@types/jest": "^26.0.7",
"@types/node": "^16.0.0"
},
+9
View File
@@ -1,5 +1,14 @@
# @backstage/integration-react
## 1.1.2-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.10.0-next.2
- @backstage/theme@0.2.16-next.1
- @backstage/integration@1.2.2-next.2
## 1.1.2-next.1
### Patch Changes
+7 -7
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/integration-react",
"description": "Frontend package for managing integrations towards external systems",
"version": "1.1.2-next.1",
"version": "1.1.2-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,10 +25,10 @@
},
"dependencies": {
"@backstage/config": "^1.0.1",
"@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-components": "^0.10.0-next.2",
"@backstage/core-plugin-api": "^1.0.3",
"@backstage/integration": "^1.2.2-next.1",
"@backstage/theme": "^0.2.16-next.0",
"@backstage/integration": "^1.2.2-next.2",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -38,15 +38,15 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
"@backstage/cli": "^0.18.0-next.1",
"@backstage/dev-utils": "^1.0.4-next.1",
"@backstage/cli": "^0.18.0-next.2",
"@backstage/dev-utils": "^1.0.4-next.2",
"@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"msw": "^0.42.0",
"msw": "^0.43.0",
"cross-fetch": "^3.1.5"
},
"files": [
+13
View File
@@ -1,5 +1,18 @@
# @backstage/integration
## 1.2.2-next.2
### Patch Changes
- e2d7b76f43: Upgrade git-url-parse to 12.0.0.
Motivation for upgrade is transitively upgrading parse-url which is vulnerable
to several CVEs detected by Snyk.
- SNYK-JS-PARSEURL-2935944
- SNYK-JS-PARSEURL-2935947
- SNYK-JS-PARSEURL-2936249
## 1.2.2-next.1
### Patch Changes
+3 -3
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/integration",
"description": "Helpers for managing integrations towards external systems",
"version": "1.2.2-next.1",
"version": "1.2.2-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -43,12 +43,12 @@
"lodash": "^4.17.21"
},
"devDependencies": {
"@backstage/cli": "^0.18.0-next.1",
"@backstage/cli": "^0.18.0-next.2",
"@backstage/config-loader": "^1.1.3-next.0",
"@backstage/test-utils": "^1.1.2-next.1",
"@types/jest": "^26.0.7",
"@types/luxon": "^2.0.4",
"msw": "^0.42.0"
"msw": "^0.43.0"
},
"files": [
"dist",
@@ -108,6 +108,20 @@ describe('bitbucketServer core', () => {
);
});
it('does not double encode the filepath', async () => {
const config: BitbucketServerIntegrationConfig = {
host: 'bitbucket.mycompany.net',
apiBaseUrl: 'https://api.bitbucket.mycompany.net/rest/api/1.0',
};
const result = await getBitbucketServerDownloadUrl(
'https://bitbucket.mycompany.net/projects/backstage/repos/mock/browse/%2Fdocs?at=some-branch',
config,
);
expect(result).toEqual(
'https://api.bitbucket.mycompany.net/rest/api/1.0/projects/backstage/repos/mock/archive?format=tgz&at=some-branch&prefix=backstage-mock&path=%2Fdocs',
);
});
it('do not add path param if no path is specified for Bitbucket Server', async () => {
const defaultBranchResponse = {
displayId: 'main',
@@ -83,7 +83,9 @@ export async function getBitbucketServerDownloadUrl(
// path will limit the downloaded content
// /docs will only download the docs folder and everything below it
// /docs/index.md will download the docs folder and everything below it
const path = filepath ? `&path=${encodeURIComponent(filepath)}` : '';
const path = filepath
? `&path=${encodeURIComponent(decodeURIComponent(filepath))}`
: '';
return `${config.apiBaseUrl}/projects/${project}/repos/${repoName}/archive?format=tgz&at=${branch}&prefix=${project}-${repoName}${path}`;
}
+1 -1
View File
@@ -37,7 +37,7 @@
},
"devDependencies": {
"@backstage/test-utils": "^1.1.2-next.0",
"msw": "^0.42.0",
"msw": "^0.43.0",
"@types/jest": "^26.0.7",
"@types/node": "^16.0.0"
},
@@ -1,5 +1,20 @@
# techdocs-cli-embedded-app
## 0.2.72-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.10.0-next.2
- @backstage/catalog-model@1.1.0-next.2
- @backstage/theme@0.2.16-next.1
- @backstage/plugin-techdocs@1.2.1-next.2
- @backstage/plugin-catalog@1.4.0-next.2
- @backstage/cli@0.18.0-next.2
- @backstage/app-defaults@1.0.4-next.2
- @backstage/integration-react@1.1.2-next.2
- @backstage/plugin-techdocs-react@1.0.2-next.1
## 0.2.72-next.1
### Patch Changes
+11 -11
View File
@@ -1,25 +1,25 @@
{
"name": "techdocs-cli-embedded-app",
"version": "0.2.72-next.1",
"version": "0.2.72-next.2",
"private": true,
"backstage": {
"role": "frontend"
},
"bundled": true,
"dependencies": {
"@backstage/app-defaults": "^1.0.4-next.1",
"@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/cli": "^0.18.0-next.1",
"@backstage/app-defaults": "^1.0.4-next.2",
"@backstage/catalog-model": "^1.1.0-next.2",
"@backstage/cli": "^0.18.0-next.2",
"@backstage/config": "^1.0.1",
"@backstage/core-app-api": "^1.0.4-next.0",
"@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-components": "^0.10.0-next.2",
"@backstage/core-plugin-api": "^1.0.3",
"@backstage/integration-react": "^1.1.2-next.1",
"@backstage/plugin-catalog": "^1.3.1-next.1",
"@backstage/plugin-techdocs": "^1.2.1-next.1",
"@backstage/plugin-techdocs-react": "^1.0.2-next.0",
"@backstage/integration-react": "^1.1.2-next.2",
"@backstage/plugin-catalog": "^1.4.0-next.2",
"@backstage/plugin-techdocs": "^1.2.1-next.2",
"@backstage/plugin-techdocs-react": "^1.0.2-next.1",
"@backstage/test-utils": "^1.1.2-next.1",
"@backstage/theme": "^0.2.16-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
"history": "^5.0.0",
@@ -30,7 +30,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
"@backstage/cli": "^0.18.0-next.1",
"@backstage/cli": "^0.18.0-next.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
+1 -1
View File
@@ -58,7 +58,7 @@
"@backstage/cli": "^0.18.0-next.1",
"@types/jest": "^26.0.7",
"@types/node": "^16.11.26",
"msw": "^0.42.0"
"msw": "^0.43.0"
},
"files": [
"dist"
+8
View File
@@ -1,5 +1,13 @@
# @backstage/theme
## 0.2.16-next.1
### Patch Changes
- ff4f56eb49: **DEPRECATED**: The `bursts` object from `BackstagePaletteAdditions` has been depreciated and will be removed in a future release
The `genPageTheme` function now includes an optional options object with an optional `fontColor` which defaults to white if not provided.
## 0.2.16-next.0
### Patch Changes
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/theme",
"description": "material-ui theme for use with Backstage.",
"version": "0.2.16-next.0",
"version": "0.2.16-next.1",
"private": false,
"publishConfig": {
"access": "public",
@@ -36,7 +36,7 @@
"@material-ui/core": "^4.12.2"
},
"devDependencies": {
"@backstage/cli": "^0.18.0-next.1"
"@backstage/cli": "^0.18.0-next.2"
},
"files": [
"dist"
+1 -1
View File
@@ -48,7 +48,7 @@
"@types/marked": "^4.0.0",
"@types/supertest": "^2.0.8",
"supertest": "^6.1.3",
"msw": "^0.42.0"
"msw": "^0.43.0"
},
"files": [
"dist"
+20
View File
@@ -1,5 +1,25 @@
# @backstage/plugin-adr
## 0.1.2-next.2
### Patch Changes
- e2d7b76f43: Upgrade git-url-parse to 12.0.0.
Motivation for upgrade is transitively upgrading parse-url which is vulnerable
to several CVEs detected by Snyk.
- SNYK-JS-PARSEURL-2935944
- SNYK-JS-PARSEURL-2935947
- SNYK-JS-PARSEURL-2936249
- Updated dependencies
- @backstage/core-components@0.10.0-next.2
- @backstage/plugin-search-react@0.2.2-next.2
- @backstage/theme@0.2.16-next.1
- @backstage/plugin-catalog-react@1.1.2-next.2
- @backstage/integration-react@1.1.2-next.2
## 0.1.2-next.1
### Patch Changes
+9 -9
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-adr",
"version": "0.1.2-next.1",
"version": "0.1.2-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -22,14 +22,14 @@
"postpack": "backstage-cli package postpack"
},
"dependencies": {
"@backstage/core-components": "^0.9.6-next.1",
"@backstage/core-components": "^0.10.0-next.2",
"@backstage/core-plugin-api": "^1.0.3",
"@backstage/integration-react": "^1.1.2-next.1",
"@backstage/integration-react": "^1.1.2-next.2",
"@backstage/plugin-adr-common": "^0.1.2-next.1",
"@backstage/plugin-catalog-react": "^1.1.2-next.1",
"@backstage/plugin-catalog-react": "^1.1.2-next.2",
"@backstage/plugin-search-common": "^0.3.6-next.0",
"@backstage/plugin-search-react": "^0.2.2-next.1",
"@backstage/theme": "^0.2.16-next.0",
"@backstage/plugin-search-react": "^0.2.2-next.2",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -44,9 +44,9 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
"@backstage/cli": "^0.18.0-next.1",
"@backstage/cli": "^0.18.0-next.2",
"@backstage/core-app-api": "^1.0.4-next.0",
"@backstage/dev-utils": "^1.0.4-next.1",
"@backstage/dev-utils": "^1.0.4-next.2",
"@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
@@ -55,7 +55,7 @@
"@types/jest": "*",
"@types/node": "*",
"cross-fetch": "^3.1.5",
"msw": "^0.42.0"
"msw": "^0.43.0"
},
"files": [
"dist"
+1 -1
View File
@@ -37,7 +37,7 @@
"@types/http-proxy-middleware": "^0.19.3",
"@types/supertest": "^2.0.8",
"supertest": "^6.1.6",
"msw": "^0.42.0"
"msw": "^0.43.0"
},
"files": [
"dist",
+11
View File
@@ -1,5 +1,16 @@
# @backstage/plugin-airbrake
## 0.3.7-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.10.0-next.2
- @backstage/catalog-model@1.1.0-next.2
- @backstage/theme@0.2.16-next.1
- @backstage/plugin-catalog-react@1.1.2-next.2
- @backstage/dev-utils@1.0.4-next.2
## 0.3.7-next.1
### Patch Changes
+10 -10
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-airbrake",
"version": "0.3.7-next.1",
"version": "0.3.7-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -23,13 +23,13 @@
"clean": "backstage-cli package clean"
},
"dependencies": {
"@backstage/catalog-model": "^1.1.0-next.1",
"@backstage/core-components": "^0.9.6-next.1",
"@backstage/catalog-model": "^1.1.0-next.2",
"@backstage/core-components": "^0.10.0-next.2",
"@backstage/core-plugin-api": "^1.0.3",
"@backstage/dev-utils": "^1.0.4-next.1",
"@backstage/plugin-catalog-react": "^1.1.2-next.1",
"@backstage/dev-utils": "^1.0.4-next.2",
"@backstage/plugin-catalog-react": "^1.1.2-next.2",
"@backstage/test-utils": "^1.1.2-next.1",
"@backstage/theme": "^0.2.16-next.0",
"@backstage/theme": "^0.2.16-next.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.57",
@@ -40,9 +40,9 @@
"react": "^16.13.1 || ^17.0.0"
},
"devDependencies": {
"@backstage/app-defaults": "^1.0.4-next.1",
"@backstage/cli": "^0.18.0-next.1",
"@backstage/dev-utils": "^1.0.4-next.1",
"@backstage/app-defaults": "^1.0.4-next.2",
"@backstage/cli": "^0.18.0-next.2",
"@backstage/dev-utils": "^1.0.4-next.2",
"@backstage/test-utils": "^1.1.2-next.1",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
@@ -51,7 +51,7 @@
"@types/node": "^16.11.26",
"@types/object-hash": "^2.2.1",
"cross-fetch": "^3.1.5",
"msw": "^0.42.0",
"msw": "^0.43.0",
"react-router": "6.0.0-beta.0"
},
"files": [
+10
View File
@@ -1,5 +1,15 @@
# @backstage/plugin-allure
## 0.1.23-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.10.0-next.2
- @backstage/catalog-model@1.1.0-next.2
- @backstage/theme@0.2.16-next.1
- @backstage/plugin-catalog-react@1.1.2-next.2
## 0.1.23-next.1
### Patch Changes

Some files were not shown because too many files have changed in this diff Show More