Merge branch 'plugin-azure-functions' of https://github.com/wesley-pattison/backstage into plugin-azure-functions

This commit is contained in:
Wesley Pattison
2022-09-30 18:36:25 +02:00
471 changed files with 11598 additions and 5034 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder': patch
---
Making the description of the GitLab repoUrl owner field more clearer by focusing it refers to the GitLab namespace.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-user-settings': patch
---
Prevent `.set()` to execute a request to the StorageClient if the user is `guest`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-test-utils': patch
---
Fixed handling of root scoped services in `startTestBackend`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': minor
---
Added a new property called `additionalTemplateGlobals` which allows you to add global functions to the scaffolder nunjucks templates.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-components': patch
---
Deep-import LightAsync component to improve module-import speed
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-app-api': patch
---
Added possibility to configure index plugin of the HTTP router service.
+14
View File
@@ -0,0 +1,14 @@
---
'@techdocs/cli': patch
'@backstage/plugin-techdocs-node': patch
---
fixing techdocs-cli Docker client creation
Docker client does not need to be created when --no-docker
option is provided.
If you had DOCKER_CERT_PATH environment variable defined
the Docker client was looking for certificates
and breaking techdocs-cli generate command even with --no-docker
option.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-plugin-api': patch
---
Allow interfaces to be used for inferred option types.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Added root logger service to the set of default services.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-user-settings': patch
---
Update installation instructions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-tech-insights': patch
---
making available the search for the last FACTS executed
+11
View File
@@ -0,0 +1,11 @@
---
'@backstage/plugin-bitbucket-cloud-common': minor
---
Update Bitbucket Cloud models to latest OAS version.
The latest specification contained some BREAKING CHANGES
due to removed fields.
All of these fields are not used at other plugins, though.
Therefore, this change has no impact on other modules here.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-search-backend': minor
---
Be less restrictive with unknown keys on query endpoint
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder': minor
---
Add support for link to TechDocs and other links defined in template entity specification metadata on TemplateCard
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-github-issues': patch
'@backstage/plugin-github-pull-requests-board': patch
---
Properly filter on relations instead of the spec, when finding by owner
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/catalog-client': patch
---
Renamed argument in `validateEntity` from `location` to `locationRef`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend': patch
---
Fixed a bug where entities provided without a location key would always replace existing entities, rather than updating them.
+46 -1
View File
@@ -175,5 +175,50 @@
"@backstage/plugin-vault-backend": "0.2.2",
"@backstage/plugin-xcmetrics": "0.2.29"
},
"changesets": []
"changesets": [
"breezy-pots-worry",
"bright-rules-shout",
"clean-camels-sneeze",
"curvy-kiwis-fold",
"curvy-lemons-change",
"dull-rocks-warn",
"eleven-apples-accept",
"fair-tools-melt",
"grumpy-pans-knock",
"itchy-schools-run",
"kind-penguins-report",
"large-dingos-juggle",
"lazy-beds-pull",
"lazy-fireants-check",
"little-roses-rule",
"lucky-cows-boil",
"odd-singers-taste",
"old-cobras-suffer",
"perfect-moose-drum",
"poor-clouds-ring",
"quiet-hats-kick",
"quiet-ligers-draw",
"red-pants-rush",
"renovate-a02d90b",
"rich-carrots-reflect",
"rude-bulldogs-sleep",
"selfish-turkeys-exist",
"shaggy-books-smell",
"sixty-items-nail",
"slow-mirrors-eat",
"smooth-tables-pull",
"soft-falcons-love",
"stupid-dragons-complain",
"sweet-insects-camp",
"swift-phones-cheat",
"tall-baboons-deliver",
"tender-drinks-drive",
"tender-parrots-peel",
"thick-kings-destroy",
"tiny-mails-bathe",
"tough-hairs-sparkle",
"wild-weeks-live",
"wise-ligers-scream",
"yellow-lemons-march"
]
}
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-gcalendar': patch
---
Fixed loader showing when user not signed in
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-app-backend': patch
---
Added alpha plugin implementation for the new backend system. Available at `@backstage/plugin-app-backend/alpha`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': minor
---
Add `allowAutoMerge` option for `publish:github` action
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-api-docs': patch
---
Updated dependency `@asyncapi/react-component` to `1.0.0-next.43`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
Initializes a git repository when creating an app using @packages/create-app
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes': patch
---
Fix infinite call bug in `useCustomResources` hook
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth-backend': patch
---
Fix GitLab provider setup so that it supports GitLab installations with a path in the URL.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Switch to upfront resolution of `swc-loader` in Webpack config.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-user-settings-backend': patch
---
Fix wrong import statement in `README.md`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
Added `*.session.sql` Visual Studio Code database functionality files to `.gitignore` in the default template. This is optional but potentially helpful if your developers use Visual Studio Code; you can add a line with that exact value to your own root `.gitignore` if you want the same.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder': patch
---
Add support for `allowedOrganizations` and `allowedOwners` to the `AzureRepoPicker`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-tech-insights-backend': patch
---
Modify router endpoint to handle singular and collections of request parameters similarly.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-scaffolder': patch
'@backstage/plugin-scaffolder-backend': patch
---
Ignore .git directories in Template Editor, increase upload limit for dry-runs to 10MB.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-app-api': patch
---
Properly export `rootLoggerFactory`.
+1 -1
View File
@@ -9,7 +9,7 @@ search:
- plugins/search/**/*
- plugins/search-*/**/*
- packages/search-*/**/*
docs-like-code:
techdocs:
- plugins/techdocs/**/*
- plugins/techdocs-*/**/*
- packages/techdocs-*/**/*
+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.5
uses: backstage/actions/yarn-install@v0.5.6
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.5
uses: backstage/actions/yarn-install@v0.5.6
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
@@ -178,7 +178,7 @@ jobs:
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@v0.5.5
uses: backstage/actions/yarn-install@v0.5.6
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.5
- uses: backstage/actions/cron@v0.5.6
with:
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }}
+2 -2
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.5
uses: backstage/actions/yarn-install@v0.5.6
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
@@ -57,7 +57,7 @@ jobs:
- name: publish nightly release
run: |
yarn config set -H 'npmAuthToken' "${{secrets.NPM_TOKEN}}"
yarn workspaces foreach -v --no-private npm publish --access public --tag nightly
yarn workspaces foreach -v --no-private npm publish --access public --tolerate-republish --tag nightly
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
+4 -4
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.5
uses: backstage/actions/yarn-install@v0.5.6
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.5
uses: backstage/actions/yarn-install@v0.5.6
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
@@ -164,9 +164,9 @@ jobs:
run: |
yarn config set -H 'npmAuthToken' "${{secrets.NPM_TOKEN}}"
if [ -f ".changeset/pre.json" ]; then
yarn workspaces foreach -v --no-private npm publish --access public --tag next
yarn workspaces foreach -v --no-private npm publish --access public --tolerate-republish --tag next
else
yarn workspaces foreach -v --no-private npm publish --access public
yarn workspaces foreach -v --no-private npm publish --access public --tolerate-republish
fi
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
+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.5
uses: backstage/actions/issue-sync@v0.5.6
+1 -1
View File
@@ -35,7 +35,7 @@ jobs:
const prNumber = artifact.name.slice('pr_number-'.length)
console.log(`::set-output name=pr-number::${prNumber}`);
- uses: backstage/actions/re-review@v0.5.5
- uses: backstage/actions/re-review@v0.5.6
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.5
uses: backstage/actions/pr-sync@v0.5.6
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.5
uses: backstage/actions/yarn-install@v0.5.6
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.5.5
uses: backstage/actions/yarn-install@v0.5.6
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
+6 -1
View File
@@ -41,13 +41,18 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Configure Git
run: |
git config --global user.email noreply@backstage.io
git config --global user.name 'GitHub e2e user'
- 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.5
uses: backstage/actions/yarn-install@v0.5.6
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
+1 -1
View File
@@ -39,7 +39,7 @@ jobs:
run: yarn build
- name: Install mkdocs & techdocs-core
run: python -m pip install mkdocs-techdocs-core
run: python -m pip install mkdocs-techdocs-core==1.1.6 mkdocs==1.3.1
- name: techdocs-cli e2e test
working-directory: packages/techdocs-cli
+5
View File
@@ -39,6 +39,11 @@ jobs:
- uses: actions/checkout@v3
- name: Configure Git
run: |
git config --global user.email noreply@backstage.io
git config --global user.name 'GitHub e2e user'
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
+1 -1
View File
@@ -28,7 +28,7 @@ jobs:
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: yarn install
uses: backstage/actions/yarn-install@v0.5.5
uses: backstage/actions/yarn-install@v0.5.6
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.5.5
uses: backstage/actions/yarn-install@v0.5.6
with:
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
- name: storybook yarn install
+3
View File
@@ -149,3 +149,6 @@ cypress/cypress/*
# Possible leftover from build:api-reports
tsconfig.tmp.json
# vscode database functionality support files
*.session.sql
@@ -0,0 +1,30 @@
# Upgrade Backstage App
## Overview
The script upgrades the version of Backstage created via the create-app plugin. It lets you resolve conflicts iteratively with your own merge [tool](https://www.git-scm.com/docs/git-mergetool).
## Requirements
You will need to have the following tools in your shell environment:
- git
- curl
- jq
## Usage
Here's how to use the script:
1. download the script
2. copy it in the root of your app
3. bootstrap a git repository (you may already have done so):
```bash
git init
git add .
git commit -m "initial commit"
```
4. run `sh upgrade-backstage-app.sh [optional-backstage-version]`
5. resolve any conflicts iteratively
@@ -0,0 +1,15 @@
#!/bin/sh
CURRENT_VERSION="v$(cat backstage.json | jq -r '.version')"
TARGET_VERSION=${1:-"$(curl -s https://api.github.com/repos/backstage/backstage/releases/latest | jq -r '.tag_name')"}
CREATE_APP_CURRENT_VERSION=$(curl -s https://raw.githubusercontent.com/backstage/backstage/$CURRENT_VERSION/packages/create-app/package.json | jq -r '.version')
CREATE_APP_TARGET_VERSION=$(curl -s https://raw.githubusercontent.com/backstage/backstage/$TARGET_VERSION/packages/create-app/package.json | jq -r '.version')
if [ "$CURRENT_VERSION" == "$TARGET_VERSION" ]; then
echo "Already up to date"
else
echo "Attempting upgrade from Backstage $CURRENT_VERSION (create-app $CREATE_APP_CURRENT_VERSION) to $TARGET_VERSION ($CREATE_APP_TARGET_VERSION)"
rm -rf .upgrade && mkdir .upgrade
curl -s https://raw.githubusercontent.com/backstage/upgrade-helper-diff/master/diffs/$CREATE_APP_CURRENT_VERSION..$CREATE_APP_TARGET_VERSION.diff > .upgrade/upgrade.diff
git apply -3 .upgrade/upgrade.diff
git mergetool
fi
+14 -9
View File
@@ -101,14 +101,14 @@ array. Users will see this value in the Software Catalog Kubernetes plugin.
This determines how the Kubernetes client authenticates with the Kubernetes
cluster. Valid values are:
| Value | Description |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `serviceAccount` | This will use a Kubernetes [service account](https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/) to access the Kubernetes API. When this is used the `serviceAccountToken` field should also be set. |
| `google` | This will use a user's Google auth token from the [Google auth plugin](https://backstage.io/docs/auth/) to access the Kubernetes API. |
| `aws` | This will use AWS credentials to access resources in EKS clusters |
| `googleServiceAccount` | This will use the Google Cloud service account credentials to access resources in clusters |
| `azure` | This will use [Azure Identity](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview) to access resources in clusters |
| `oidc` | This will use [Oidc Tokens](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#openid-connect-tokens) to authenticate to the Kubernetes API. When this is used the `oidcTokenProvider` field should also be set. |
| Value | Description |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `serviceAccount` | This will use a Kubernetes [service account](https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/) to access the Kubernetes API. When this is used the `serviceAccountToken` field should also be set. |
| `google` | This will use a user's Google auth token from the [Google auth plugin](https://backstage.io/docs/auth/) to access the Kubernetes API. |
| `aws` | This will use AWS credentials to access resources in EKS clusters |
| `googleServiceAccount` | This will use the Google Cloud service account credentials to access resources in clusters |
| `azure` | This will use [Azure Identity](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview) to access resources in clusters |
| `oidc` | This will use [Oidc Tokens](https://kubernetes.io/docs/reference/access-authn-authz/authentication/#openid-connect-tokens) to authenticate to the Kubernetes API. When this is used the `oidcTokenProvider` field should also be set. Please note the cluster must support OIDC, at the time of writing AKS clusters do not support OIDC. |
Check the [Kubernetes Authentication][4] section for additional explanation.
@@ -159,7 +159,12 @@ auth:
audience: ${AUTH_OKTA_AUDIENCE}
```
The following values are supported out-of-the-box by the frontend: `google`, `microsoft`, `okta`, `onelogin`.
The following values are supported out-of-the-box by the frontend: `google`, `microsoft`,
`okta`, `onelogin`.
Take note that `oidcTokenProvider` is just the issuer for the token, you can use any
of these with an OIDC enabled cluster, like using `microsoft` as the issuer for a EKS
cluster.
##### `clusters.\*.dashboardUrl` (optional)
+1 -1
View File
@@ -15,7 +15,7 @@ invoking the
from the root of your project.
```bash
yarn create-plugin
yarn new --select plugin
```
![](../assets/getting-started/create-plugin_output.png)
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -44,7 +44,7 @@
"@types/react": "^17",
"@types/react-dom": "^17"
},
"version": "1.6.0",
"version": "1.7.0-next.0",
"dependencies": {
"@manypkg/get-packages": "^1.1.3",
"@microsoft/api-documenter": "^7.17.11",
+11
View File
@@ -1,5 +1,16 @@
# @backstage/app-defaults
## 1.0.7-next.0
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.11.2-next.0
- @backstage/core-app-api@1.1.1-next.0
- @backstage/core-plugin-api@1.0.7-next.0
- @backstage/theme@0.2.16
- @backstage/plugin-permission-react@0.4.6-next.0
## 1.0.6
### 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.6",
"version": "1.0.7-next.0",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
+62
View File
@@ -1,5 +1,67 @@
# example-app
## 0.2.76-next.0
### Patch Changes
- Updated dependencies
- @backstage/plugin-org@0.5.10-next.0
- @backstage/catalog-model@1.1.2-next.0
- @backstage/core-components@0.11.2-next.0
- @backstage/cli@0.20.0-next.0
- @backstage/plugin-kubernetes@0.7.3-next.0
- @backstage/plugin-scaffolder@1.7.0-next.0
- @backstage/plugin-api-docs@0.8.10-next.0
- @backstage/plugin-user-settings@0.5.0-next.0
- @backstage/plugin-cost-insights@0.11.32-next.0
- @backstage/plugin-airbrake@0.3.10-next.0
- @backstage/plugin-azure-devops@0.2.1-next.0
- @backstage/plugin-badges@0.2.34-next.0
- @backstage/plugin-catalog-graph@0.2.22-next.0
- @backstage/plugin-catalog-import@0.8.13-next.0
- @backstage/plugin-catalog-react@1.1.5-next.0
- @backstage/plugin-circleci@0.3.10-next.0
- @backstage/plugin-cloudbuild@0.3.10-next.0
- @backstage/plugin-code-coverage@0.2.3-next.0
- @backstage/plugin-dynatrace@0.2.1-next.0
- @backstage/plugin-explore@0.3.41-next.0
- @backstage/plugin-github-actions@0.5.10-next.0
- @backstage/plugin-gocd@0.1.16-next.0
- @backstage/plugin-home@0.4.26-next.0
- @backstage/plugin-jenkins@0.7.9-next.0
- @backstage/plugin-kafka@0.3.10-next.0
- @backstage/plugin-lighthouse@0.3.10-next.0
- @backstage/plugin-newrelic-dashboard@0.2.3-next.0
- @backstage/plugin-pagerduty@0.5.3-next.0
- @backstage/plugin-playlist@0.1.1-next.0
- @backstage/plugin-rollbar@0.4.10-next.0
- @backstage/plugin-search@1.0.3-next.0
- @backstage/plugin-sentry@0.4.3-next.0
- @backstage/plugin-tech-insights@0.3.1-next.0
- @backstage/plugin-techdocs@1.3.3-next.0
- @backstage/plugin-techdocs-react@1.0.5-next.0
- @backstage/plugin-todo@0.2.12-next.0
- @backstage/app-defaults@1.0.7-next.0
- @backstage/integration-react@1.1.5-next.0
- @backstage/plugin-apache-airflow@0.2.3-next.0
- @backstage/plugin-gcalendar@0.3.6-next.0
- @backstage/plugin-gcp-projects@0.3.29-next.0
- @backstage/plugin-graphiql@0.2.42-next.0
- @backstage/plugin-newrelic@0.3.28-next.0
- @backstage/plugin-search-react@1.1.1-next.0
- @backstage/plugin-shortcuts@0.3.2-next.0
- @backstage/plugin-stack-overflow@0.1.6-next.0
- @backstage/plugin-tech-radar@0.5.17-next.0
- @backstage/plugin-techdocs-module-addons-contrib@1.0.5-next.0
- @backstage/config@1.0.3-next.0
- @backstage/core-app-api@1.1.1-next.0
- @backstage/core-plugin-api@1.0.7-next.0
- @backstage/theme@0.2.16
- @backstage/plugin-catalog-common@1.0.7-next.0
- @backstage/plugin-permission-react@0.4.6-next.0
- @backstage/plugin-search-common@1.0.2-next.0
- @internal/plugin-catalog-customized@0.0.3-next.0
## 0.2.75
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-app",
"version": "0.2.75",
"version": "0.2.76-next.0",
"private": true,
"backstage": {
"role": "frontend"
+1
View File
@@ -136,6 +136,7 @@ const app = createApp({
});
bind(scaffolderPlugin.externalRoutes, {
registerComponent: catalogImportPlugin.routes.importPage,
viewTechDoc: techdocsPlugin.routes.docRoot,
});
bind(orgPlugin.externalRoutes, {
catalogIndex: catalogPlugin.routes.catalogIndex,
+13
View File
@@ -1,5 +1,18 @@
# @backstage/backend-app-api
## 0.2.2-next.0
### Patch Changes
- 0027a749cd: Added possibility to configure index plugin of the HTTP router service.
- 45857bffae: Properly export `rootLoggerFactory`.
- Updated dependencies
- @backstage/backend-plugin-api@0.1.3-next.0
- @backstage/backend-common@0.15.2-next.0
- @backstage/backend-tasks@0.3.6-next.0
- @backstage/plugin-permission-node@0.6.6-next.0
- @backstage/errors@1.1.2-next.0
## 0.2.1
### Patch Changes
+9 -1
View File
@@ -58,9 +58,14 @@ export const discoveryFactory: (
// @public (undocumented)
export const httpRouterFactory: (
options?: undefined,
options?: HttpRouterFactoryOptions | undefined,
) => ServiceFactory<HttpRouterService>;
// @public (undocumented)
export type HttpRouterFactoryOptions = {
indexPlugin?: string;
};
// @public (undocumented)
export const loggerFactory: (options?: undefined) => ServiceFactory<Logger>;
@@ -69,6 +74,9 @@ export const permissionsFactory: (
options?: undefined,
) => ServiceFactory<PermissionAuthorizer | PermissionEvaluator>;
// @public (undocumented)
export const rootLoggerFactory: (options?: undefined) => ServiceFactory<Logger>;
// @public (undocumented)
export const schedulerFactory: (
options?: undefined,
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-app-api",
"description": "Core API used by Backstage backend apps",
"version": "0.2.1",
"version": "0.2.2-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
@@ -24,6 +24,16 @@ import Router from 'express-promise-router';
import { Handler } from 'express';
import { createServiceBuilder } from '@backstage/backend-common';
/**
* @public
*/
export type HttpRouterFactoryOptions = {
/**
* The plugin ID used for the index route. Defaults to 'app'
*/
indexPlugin?: string;
};
/** @public */
export const httpRouterFactory = createServiceFactory({
service: httpRouterServiceRef,
@@ -31,21 +41,28 @@ export const httpRouterFactory = createServiceFactory({
config: configServiceRef,
plugin: pluginMetadataServiceRef,
},
async factory({ config }) {
async factory({ config }, options?: HttpRouterFactoryOptions) {
const defaultPluginId = options?.indexPlugin ?? 'app';
const apiRouter = Router();
const rootRouter = Router();
const service = createServiceBuilder(module)
.loadConfig(config)
.addRouter('/api', apiRouter)
.addRouter('', rootRouter);
await service.start();
return async ({ plugin }) => {
const pluginId = plugin.getId();
const path = pluginId ? `/api/${pluginId}` : '';
return {
use(handler: Handler) {
rootRouter.use(path, handler);
if (pluginId === defaultPluginId) {
rootRouter.use(handler);
} else {
apiRouter.use(`/${pluginId}`, handler);
}
},
};
};
@@ -19,8 +19,10 @@ export { configFactory } from './configService';
export { databaseFactory } from './databaseService';
export { discoveryFactory } from './discoveryService';
export { loggerFactory } from './loggerService';
export { rootLoggerFactory } from './rootLoggerService';
export { permissionsFactory } from './permissionsService';
export { schedulerFactory } from './schedulerService';
export { tokenManagerFactory } from './tokenManagerService';
export { urlReaderFactory } from './urlReaderService';
export { httpRouterFactory } from './httpRouterService';
export type { HttpRouterFactoryOptions } from './httpRouterService';
@@ -39,7 +39,7 @@ class BackstageLogger implements Logger {
}
/** @public */
export const loggerFactory = createServiceFactory({
export const rootLoggerFactory = createServiceFactory({
service: rootLoggerServiceRef,
deps: {},
async factory() {
+12
View File
@@ -1,5 +1,17 @@
# @backstage/backend-common
## 0.15.2-next.0
### Patch Changes
- Updated dependencies
- @backstage/cli-common@0.1.10
- @backstage/config@1.0.3-next.0
- @backstage/config-loader@1.1.5-next.0
- @backstage/errors@1.1.2-next.0
- @backstage/integration@1.3.2-next.0
- @backstage/types@1.0.0
## 0.15.1
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-common",
"description": "Common functionality library for Backstage backends",
"version": "0.15.1",
"version": "0.15.2-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
+9
View File
@@ -1,5 +1,14 @@
# @backstage/backend-defaults
## 0.1.2-next.0
### Patch Changes
- 96d288a02d: Added root logger service to the set of default services.
- Updated dependencies
- @backstage/backend-app-api@0.2.2-next.0
- @backstage/backend-plugin-api@0.1.3-next.0
## 0.1.1
### 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.1",
"version": "0.1.2-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
@@ -24,6 +24,7 @@ import {
httpRouterFactory,
loggerFactory,
permissionsFactory,
rootLoggerFactory,
schedulerFactory,
tokenManagerFactory,
urlReaderFactory,
@@ -36,6 +37,7 @@ export const defaultServiceFactories = [
databaseFactory,
discoveryFactory,
loggerFactory,
rootLoggerFactory,
permissionsFactory,
schedulerFactory,
tokenManagerFactory,
+10
View File
@@ -1,5 +1,15 @@
# example-backend-next
## 0.0.4-next.0
### Patch Changes
- Updated dependencies
- @backstage/plugin-scaffolder-backend@1.7.0-next.0
- @backstage/backend-defaults@0.1.2-next.0
- @backstage/plugin-catalog-backend@1.4.1-next.0
- @backstage/plugin-app-backend@0.3.37-next.0
## 0.0.3
### Patch Changes
+2 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-backend-next",
"version": "0.0.3",
"version": "0.0.4-next.0",
"main": "dist/index.cjs.js",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -26,6 +26,7 @@
},
"dependencies": {
"@backstage/backend-defaults": "workspace:^",
"@backstage/plugin-app-backend": "workspace:^",
"@backstage/plugin-catalog-backend": "workspace:^",
"@backstage/plugin-scaffolder-backend": "workspace:^"
},
+2
View File
@@ -17,9 +17,11 @@
import { catalogPlugin } from '@backstage/plugin-catalog-backend';
import { scaffolderCatalogModule } from '@backstage/plugin-scaffolder-backend';
import { createBackend } from '@backstage/backend-defaults';
import { appPlugin } from '@backstage/plugin-app-backend';
const backend = createBackend();
backend.add(catalogPlugin());
backend.add(scaffolderCatalogModule());
backend.add(appPlugin({ appPackageName: 'example-app' }));
backend.start();
+11
View File
@@ -1,5 +1,16 @@
# @backstage/backend-plugin-api
## 0.1.3-next.0
### Patch Changes
- 28377dc89f: Allow interfaces to be used for inferred option types.
- Updated dependencies
- @backstage/backend-common@0.15.2-next.0
- @backstage/backend-tasks@0.3.6-next.0
- @backstage/config@1.0.3-next.0
- @backstage/plugin-permission-common@0.6.5-next.0
## 0.1.2
### Patch Changes
+7 -18
View File
@@ -73,11 +73,7 @@ export const configServiceRef: ServiceRef<Config, 'root'>;
// @public (undocumented)
export function createBackendModule<
TOptions extends
| {
[name: string]: unknown;
}
| undefined = undefined,
TOptions extends object | undefined = undefined,
>(
config: BackendModuleConfig<TOptions>,
): undefined extends TOptions
@@ -86,14 +82,11 @@ export function createBackendModule<
// @public (undocumented)
export function createBackendPlugin<
TOptions extends
| {
[name: string]: unknown;
}
| undefined = undefined,
>(
config: BackendPluginConfig<TOptions>,
): undefined extends TOptions
TOptions extends object | undefined = undefined,
>(config: {
id: string;
register(reg: BackendRegistrationPoints, options: TOptions): void;
}): undefined extends TOptions
? (options?: TOptions) => BackendFeature
: (options: TOptions) => BackendFeature;
@@ -110,11 +103,7 @@ export function createServiceFactory<
TDeps extends {
[name in string]: ServiceRef<unknown>;
},
TOpts extends
| {
[name in string]: unknown;
}
| undefined = undefined,
TOpts extends object | undefined = undefined,
>(config: {
service: ServiceRef<TService, TScope>;
deps: TDeps;
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-plugin-api",
"description": "Core API used by Backstage backend plugins",
"version": "0.1.2",
"version": "0.1.3-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
@@ -58,6 +58,8 @@ describe('createServiceFactory', () => {
metaFactory({});
metaFactory({ x: 1 });
// @ts-expect-error
metaFactory({ x: 1, y: 2 });
// @ts-expect-error
metaFactory(null);
metaFactory(undefined);
metaFactory();
@@ -80,10 +82,145 @@ describe('createServiceFactory', () => {
metaFactory({});
metaFactory({ x: 1 });
// @ts-expect-error
metaFactory({ x: 1, y: 2 });
// @ts-expect-error
metaFactory(null);
// @ts-expect-error
metaFactory(undefined);
// @ts-expect-error
metaFactory();
});
it('should create a meta factory with optional options as interface', () => {
interface TestOptions {
x: number;
}
const ref = createServiceRef<string>({ id: 'x' });
const metaFactory = createServiceFactory({
service: ref,
deps: {},
async factory(_deps, _opts?: TestOptions) {
return async () => 'x';
},
});
expect(metaFactory).toEqual(expect.any(Function));
// @ts-expect-error
metaFactory('string');
// @ts-expect-error
metaFactory({});
metaFactory({ x: 1 });
// @ts-expect-error
metaFactory({ x: 1, y: 2 });
// @ts-expect-error
metaFactory(null);
metaFactory(undefined);
metaFactory();
});
it('should create a meta factory with required options as interface', () => {
interface TestOptions {
x: number;
}
const ref = createServiceRef<string>({ id: 'x' });
const metaFactory = createServiceFactory({
service: ref,
deps: {},
async factory(_deps, _opts: TestOptions) {
return async () => 'x';
},
});
expect(metaFactory).toEqual(expect.any(Function));
// @ts-expect-error
metaFactory('string');
// @ts-expect-error
metaFactory({});
metaFactory({ x: 1 });
// @ts-expect-error
metaFactory({ x: 1, y: 2 });
// @ts-expect-error
metaFactory(null);
// @ts-expect-error
metaFactory(undefined);
// @ts-expect-error
metaFactory();
});
it('should only allow objects as options', () => {
const ref = createServiceRef<string>({ id: 'x' });
const metaFactory = createServiceFactory({
service: ref,
deps: {},
// @ts-expect-error
async factory(_deps, _opts: string) {
return async () => 'x';
},
});
expect(metaFactory).toEqual(expect.any(Function));
createServiceFactory({
service: ref,
deps: {},
// @ts-expect-error
async factory(_deps, _opts: number) {
return async () => 'x';
},
});
createServiceFactory({
service: ref,
deps: {},
// @ts-expect-error
async factory(_deps, _opts: symbol) {
return async () => 'x';
},
});
createServiceFactory({
service: ref,
deps: {},
// @ts-expect-error
async factory(_deps, _opts: bigint) {
return async () => 'x';
},
});
createServiceFactory({
service: ref,
deps: {},
// @ts-expect-error
async factory(_deps, _opts: 'string') {
return async () => 'x';
},
});
createServiceFactory({
service: ref,
deps: {},
// @ts-expect-error
async factory(_deps, _opts: Array) {
return async () => 'x';
},
});
createServiceFactory({
service: ref,
deps: {},
// @ts-expect-error
async factory(_deps, _opts: Map) {
return async () => 'x';
},
});
createServiceFactory({
service: ref,
deps: {},
// @ts-expect-error
async factory(_deps, _opts: Set) {
return async () => 'x';
},
});
createServiceFactory({
service: ref,
deps: {},
// @ts-expect-error
async factory(_deps, _opts: null) {
return async () => 'x';
},
});
});
});
@@ -133,7 +133,7 @@ export function createServiceFactory<
TScope extends 'root' | 'plugin',
TImpl extends TService,
TDeps extends { [name in string]: ServiceRef<unknown> },
TOpts extends { [name in string]: unknown } | undefined = undefined,
TOpts extends object | undefined = undefined,
>(config: {
service: ServiceRef<TService, TScope>;
deps: TDeps;
@@ -31,7 +31,7 @@ describe('createExtensionPoint', () => {
});
describe('createBackendPlugin', () => {
it('should create an BackendPlugin', () => {
it('should create a BackendPlugin', () => {
const plugin = createBackendPlugin({
id: 'x',
register(_reg, _options: { a: string }) {},
@@ -68,10 +68,42 @@ describe('createBackendPlugin', () => {
// @ts-expect-error
expect(plugin({})).toBeDefined();
});
it('should create a BackendPlugin with options as interface', () => {
interface TestOptions {
a: string;
}
const plugin = createBackendPlugin({
id: 'x',
register(_reg, _options: TestOptions) {},
});
expect(plugin).toBeDefined();
expect(plugin({ a: 'a' })).toBeDefined();
expect(plugin({ a: 'a' }).id).toBe('x');
// @ts-expect-error
expect(plugin()).toBeDefined();
// @ts-expect-error
expect(plugin({ b: 'b' })).toBeDefined();
});
it('should create plugins with optional options as interface', () => {
interface TestOptions {
a: string;
}
const plugin = createBackendPlugin({
id: 'x',
register(_reg, _options?: TestOptions) {},
});
expect(plugin).toBeDefined();
expect(plugin({ a: 'a' })).toBeDefined();
expect(plugin()).toBeDefined();
// @ts-expect-error
expect(plugin({ b: 'b' })).toBeDefined();
});
});
describe('createBackendModule', () => {
it('should create an BackendModule', () => {
it('should create a BackendModule', () => {
const mod = createBackendModule({
pluginId: 'x',
moduleId: 'y',
@@ -111,4 +143,38 @@ describe('createBackendModule', () => {
// @ts-expect-error
expect(mod({})).toBeDefined();
});
it('should create a BackendModule as interface', () => {
interface TestOptions {
a: string;
}
const mod = createBackendModule({
pluginId: 'x',
moduleId: 'y',
register(_reg, _options: TestOptions) {},
});
expect(mod).toBeDefined();
expect(mod({ a: 'a' })).toBeDefined();
expect(mod({ a: 'a' }).id).toBe('x.y');
// @ts-expect-error
expect(mod()).toBeDefined();
// @ts-expect-error
expect(mod({ b: 'b' })).toBeDefined();
});
it('should create modules with optional options as interface', () => {
interface TestOptions {
a: string;
}
const mod = createBackendModule({
pluginId: 'x',
moduleId: 'y',
register(_reg, _options?: TestOptions) {},
});
expect(mod).toBeDefined();
expect(mod({ a: 'a' })).toBeDefined();
expect(mod()).toBeDefined();
// @ts-expect-error
expect(mod({ b: 'b' })).toBeDefined();
});
});
@@ -44,10 +44,11 @@ export interface BackendPluginConfig<TOptions> {
/** @public */
export function createBackendPlugin<
TOptions extends { [name: string]: unknown } | undefined = undefined,
>(
config: BackendPluginConfig<TOptions>,
): undefined extends TOptions
TOptions extends object | undefined = undefined,
>(config: {
id: string;
register(reg: BackendRegistrationPoints, options: TOptions): void;
}): undefined extends TOptions
? (options?: TOptions) => BackendFeature
: (options: TOptions) => BackendFeature {
return (options?: TOptions) => ({
@@ -70,7 +71,7 @@ export interface BackendModuleConfig<TOptions> {
/** @public */
export function createBackendModule<
TOptions extends { [name: string]: unknown } | undefined = undefined,
TOptions extends object | undefined = undefined,
>(
config: BackendModuleConfig<TOptions>,
): undefined extends TOptions
+10
View File
@@ -1,5 +1,15 @@
# @backstage/backend-tasks
## 0.3.6-next.0
### Patch Changes
- Updated dependencies
- @backstage/backend-common@0.15.2-next.0
- @backstage/config@1.0.3-next.0
- @backstage/errors@1.1.2-next.0
- @backstage/types@1.0.0
## 0.3.5
### 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.5",
"version": "0.3.6-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
+13
View File
@@ -1,5 +1,18 @@
# @backstage/backend-test-utils
## 0.1.29-next.0
### Patch Changes
- 72549952d1: Fixed handling of root scoped services in `startTestBackend`.
- e91e8e9c55: Increased test database max connection pool size to reduce the risk of resource exhaustion.
- Updated dependencies
- @backstage/backend-app-api@0.2.2-next.0
- @backstage/backend-plugin-api@0.1.3-next.0
- @backstage/cli@0.20.0-next.0
- @backstage/backend-common@0.15.2-next.0
- @backstage/config@1.0.3-next.0
## 0.1.28
### 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.28",
"version": "0.1.29-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
@@ -63,10 +63,18 @@ export async function startTestBackend<
if (Array.isArray(serviceDef)) {
// if type is ExtensionPoint?
// do something differently?
const [ref, impl] = serviceDef;
if (ref.scope === 'plugin') {
return createServiceFactory({
service: ref,
deps: {},
factory: async () => async () => impl,
});
}
return createServiceFactory({
service: serviceDef[0],
service: ref,
deps: {},
factory: async () => async () => serviceDef[1],
factory: async () => impl,
});
}
return serviceDef as ServiceFactory;
+42
View File
@@ -1,5 +1,47 @@
# example-backend
## 0.2.76-next.0
### Patch Changes
- Updated dependencies
- @backstage/catalog-model@1.1.2-next.0
- @backstage/plugin-scaffolder-backend@1.7.0-next.0
- @backstage/plugin-auth-backend@0.17.0-next.0
- @backstage/plugin-catalog-backend@1.4.1-next.0
- @backstage/plugin-jenkins-backend@0.1.27-next.0
- @backstage/plugin-app-backend@0.3.37-next.0
- @backstage/plugin-tech-insights-node@0.3.5-next.0
- example-app@0.2.76-next.0
- @backstage/catalog-client@1.1.1-next.0
- @backstage/plugin-badges-backend@0.1.31-next.0
- @backstage/plugin-code-coverage-backend@0.2.3-next.0
- @backstage/plugin-kafka-backend@0.2.30-next.0
- @backstage/plugin-kubernetes-backend@0.7.3-next.0
- @backstage/plugin-playlist-backend@0.1.1-next.0
- @backstage/plugin-tech-insights-backend@0.5.3-next.0
- @backstage/plugin-techdocs-backend@1.3.1-next.0
- @backstage/plugin-todo-backend@0.1.34-next.0
- @backstage/backend-common@0.15.2-next.0
- @backstage/backend-tasks@0.3.6-next.0
- @backstage/plugin-auth-node@0.2.6-next.0
- @backstage/plugin-permission-node@0.6.6-next.0
- @backstage/plugin-rollbar-backend@0.1.34-next.0
- @backstage/plugin-search-backend-module-pg@0.4.1-next.0
- @backstage/plugin-scaffolder-backend-module-rails@0.4.5-next.0
- @backstage/config@1.0.3-next.0
- @backstage/integration@1.3.2-next.0
- @backstage/plugin-azure-devops-backend@0.3.16-next.0
- @backstage/plugin-graphql-backend@0.1.27-next.0
- @backstage/plugin-permission-backend@0.5.12-next.0
- @backstage/plugin-permission-common@0.6.5-next.0
- @backstage/plugin-proxy-backend@0.2.31-next.0
- @backstage/plugin-search-backend@1.0.3-next.0
- @backstage/plugin-search-backend-module-elasticsearch@1.0.3-next.0
- @backstage/plugin-search-backend-node@1.0.3-next.0
- @backstage/plugin-search-common@1.0.2-next.0
- @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.21-next.0
## 0.2.75
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-backend",
"version": "0.2.75",
"version": "0.2.76-next.0",
"main": "dist/index.cjs.js",
"types": "src/index.ts",
"license": "Apache-2.0",
+8
View File
@@ -1,5 +1,13 @@
# @backstage/catalog-client
## 1.1.1-next.0
### Patch Changes
- Updated dependencies
- @backstage/catalog-model@1.1.2-next.0
- @backstage/errors@1.1.2-next.0
## 1.1.0
### Minor Changes
+2 -2
View File
@@ -68,7 +68,7 @@ export interface CatalogApi {
): Promise<void>;
validateEntity(
entity: Entity,
location: string,
locationRef: string,
options?: CatalogRequestOptions,
): Promise<ValidateEntityResponse>;
}
@@ -130,7 +130,7 @@ export class CatalogClient implements CatalogApi {
): Promise<void>;
validateEntity(
entity: Entity,
location: string,
locationRef: string,
options?: CatalogRequestOptions,
): Promise<ValidateEntityResponse>;
}
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/catalog-client",
"description": "An isomorphic client for the catalog backend",
"version": "1.1.0",
"version": "1.1.1-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -322,7 +322,7 @@ describe('CatalogClient', () => {
name: '',
},
},
'http://example.com',
'url:http://example.com',
),
).toMatchObject({
valid: false,
@@ -350,7 +350,7 @@ describe('CatalogClient', () => {
name: 'good',
},
},
'http://example.com',
'url:http://example.com',
),
).toMatchObject({
valid: true,
@@ -373,7 +373,7 @@ describe('CatalogClient', () => {
name: 'good',
},
},
'http://example.com',
'url:http://example.com',
),
).rejects.toThrow(/Request failed with 500 Error/);
});
+2 -2
View File
@@ -359,7 +359,7 @@ export class CatalogClient implements CatalogApi {
*/
async validateEntity(
entity: Entity,
location: string,
locationRef: string,
options?: CatalogRequestOptions,
): Promise<ValidateEntityResponse> {
const response = await this.fetchApi.fetch(
@@ -370,7 +370,7 @@ export class CatalogClient implements CatalogApi {
...(options?.token && { Authorization: `Bearer ${options?.token}` }),
},
method: 'POST',
body: JSON.stringify({ entity, location }),
body: JSON.stringify({ entity, location: locationRef }),
},
);
+2 -2
View File
@@ -405,11 +405,11 @@ export interface CatalogApi {
* Validate entity and its location.
*
* @param entity - Entity to validate
* @param location - URL location of the entity
* @param locationRef - Location ref in format `url:http://example.com/file`
*/
validateEntity(
entity: Entity,
location: string,
locationRef: string,
options?: CatalogRequestOptions,
): Promise<ValidateEntityResponse>;
}
+10
View File
@@ -1,5 +1,15 @@
# @backstage/catalog-model
## 1.1.2-next.0
### Patch Changes
- 6f3b8d0962: Defer `ajv` compilation of schema validators to improve module-import performance
- Updated dependencies
- @backstage/config@1.0.3-next.0
- @backstage/errors@1.1.2-next.0
- @backstage/types@1.0.0
## 1.1.1
### 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.1",
"version": "1.1.2-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
+36
View File
@@ -1,5 +1,41 @@
# @backstage/cli
## 0.20.0-next.0
### Minor Changes
- f368ad7279: **BREAKING**: Bumped `jest`, `jest-runtime`, and `jest-environment-jsdom` to v29. This is up from v27, so check out both the [v28](https://jestjs.io/docs/28.x/upgrading-to-jest28) and [v29](https://jestjs.io/docs/upgrading-to-jest29) (later [here](https://jestjs.io/docs/29.x/upgrading-to-jest29)) migration guides.
Particular changes that where encountered in the main Backstage repo are:
- The updated snapshot format.
- `jest.useFakeTimers('legacy')` is now `jest.useFakeTimers({ legacyFakeTimers: true })`.
- Error objects collected by `withLogCollector` from `@backstage/test-utils` are now objects with a `detail` property rather than a string.
### Patch Changes
- 3e309107ca: Updated fallback versions of dependencies in all templates.
- 292a088807: Added a new `repo test` command.
- ba63cae41c: Updated lockfile parsing to have better support for Yarn 3.
- 2dddb32fea: Switched the Jest transform for YAML files to use a custom one available at `@backstage/cli/config/jestYamlTransform.js`.
- a541a3a78a: Switch to upfront resolution of `swc-loader` in Webpack config.
- cfb3598410: Removed `tsx` and `jsx` as supported extensions in backend packages. For most
repos, this will not have any effect. But if you inadvertently had added some
`tsx`/`jsx` files to your backend package, you may now start to see `code: 'MODULE_NOT_FOUND'` errors when launching the backend locally. The reason for
this is that the offending files get ignored during transpilation. Hence, the
importing file can no longer find anything to import.
The fix is to rename any `.tsx` files in your backend packages to `.ts` instead,
or `.jsx` to `.js`.
- Updated dependencies
- @backstage/cli-common@0.1.10
- @backstage/config@1.0.3-next.0
- @backstage/config-loader@1.1.5-next.0
- @backstage/errors@1.1.2-next.0
- @backstage/release-manifests@0.0.6
- @backstage/types@1.0.0
## 0.19.0
### Minor Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/cli",
"description": "CLI for developing Backstage plugins and apps",
"version": "0.19.0",
"version": "0.20.0-next.0",
"publishConfig": {
"access": "public"
},
+3 -3
View File
@@ -55,7 +55,7 @@ export const transforms = (options: TransformOptions): Transforms => {
exclude: /node_modules/,
use: [
{
loader: 'swc-loader',
loader: require.resolve('swc-loader'),
options: {
jsc: {
target: 'es2019',
@@ -81,7 +81,7 @@ export const transforms = (options: TransformOptions): Transforms => {
exclude: /node_modules/,
use: [
{
loader: 'swc-loader',
loader: require.resolve('swc-loader'),
options: {
jsc: {
target: 'es2019',
@@ -112,7 +112,7 @@ export const transforms = (options: TransformOptions): Transforms => {
test: [/\.icon\.svg$/],
use: [
{
loader: 'swc-loader',
loader: require.resolve('swc-loader'),
options: {
jsc: {
target: 'es2019',
+7
View File
@@ -1,5 +1,12 @@
# @backstage/codemods
## 0.1.40-next.0
### Patch Changes
- Updated dependencies
- @backstage/cli-common@0.1.10
## 0.1.39
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/codemods",
"description": "A collection of codemods for Backstage projects",
"version": "0.1.39",
"version": "0.1.40-next.0",
"publishConfig": {
"access": "public",
"main": "dist/index.cjs.js"

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