Merge branch 'master' into docs/writing-custom-field-extension_add-imports

feat: update branch from backstage/backstage.
This commit is contained in:
Paulo Eduardo Peixoto
2024-11-11 09:38:23 -03:00
421 changed files with 9387 additions and 4542 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Fix dev server reloads of plugin discovery for new frontend system.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-search': patch
---
Removes the card UI from the search results type filter for a cleaner UI consistent with other filters
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes-react': patch
---
add the pod delete feature to the kubernetes react plugin
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-ldap': minor
---
Add Support for Google LDAP Vendor
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-techdocs': patch
---
Fix an issue with index page of documentation site being re-rendered.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-scaffolder-common': patch
'@backstage/plugin-scaffolder-react': patch
'@backstage/plugin-scaffolder': minor
---
Add scaffolder permission `scaffolder.template.management` for accessing the template management features
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-test-utils': minor
---
Made it possible to construct `mockServices.database` with a given knex instance
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Add `--max-warnings -1` support to `backstage-cli package lint`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-import': patch
---
Fixed parsing of catalog-info.yaml when creating a PR to register a repository if the file contains more than one document
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-components': patch
---
Change core component Table tool bar search box to the a appropriate Search icon and text
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/repo-tools': patch
---
The `generate-patch` command now properly includes newly created files in the patch.
+20
View File
@@ -196,8 +196,11 @@
},
"changesets": [
"afraid-bananas-behave",
"big-tips-heal",
"bright-singers-do",
"chilled-taxis-dance",
"create-app-1729608704",
"create-app-1730809984",
"curvy-bears-nail",
"cyan-trees-bow",
"early-cobras-compare",
@@ -207,15 +210,21 @@
"flat-feet-do",
"forty-pets-wave",
"forty-spoons-burn",
"fresh-jeans-relate",
"friendly-melons-shake",
"green-tools-arrive",
"grumpy-shoes-return",
"healthy-lions-judge",
"healthy-tables-wonder",
"heavy-mice-raise",
"heavy-phones-shave",
"hungry-owls-sell",
"itchy-elephants-trade",
"khaki-fireants-march",
"late-kings-wave",
"little-rivers-deny",
"loud-trainers-yawn",
"lucky-bananas-eat",
"mean-years-deliver",
"metal-files-itch",
"mighty-jobs-unite",
@@ -225,26 +234,35 @@
"perfect-goats-mate",
"plenty-students-check",
"pretty-zebras-listen",
"purple-masks-swim",
"quick-cougars-fry",
"rare-otters-judge",
"rare-trains-scream",
"red-fishes-press",
"renovate-3d822ce",
"renovate-7b59eed",
"renovate-b2c2aaf",
"renovate-bcc9782",
"rotten-lions-cover",
"rotten-needles-relax",
"selfish-ads-count",
"selfish-spies-cough",
"short-geckos-sniff",
"shy-clouds-brake",
"shy-pots-speak",
"shy-rats-hear",
"silent-wasps-whisper",
"silly-kiwis-destroy",
"silver-ears-grin",
"silver-kings-sort",
"slimy-jobs-scream",
"slimy-penguins-care",
"slow-mayflies-sleep",
"slow-shrimps-call",
"smart-bags-sell",
"spotty-snails-worry",
"swift-laws-applaud",
"ten-pears-unite",
"three-mangos-dance",
"tough-onions-dance",
"tricky-crabs-lick",
@@ -253,8 +271,10 @@
"violet-ears-dance",
"warm-tomatoes-develop",
"wild-experts-unite",
"wise-avocados-behave",
"witty-bobcats-push",
"witty-socks-repeat",
"yellow-horses-pretend",
"young-penguins-act"
]
}
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes-backend': patch
---
Adapted the config.d.ts for custom k8s cluster authProvider implementations
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Updated dependency `@module-federation/enhanced` to `^0.7.0`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder': patch
---
Updated dependency `idb-keyval` to `5.1.5`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': minor
---
The package packing now populates `typesVersions` for additional entry points rather than using additional `package.json` files for type resolution. This improves auto completion of separate entry points when consuming published packages.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-events-backend-module-github': patch
---
Fix the event request validation for incoming requests for GitHub webhook events
by using the raw body when verifying the signature.
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/plugin-events-node': patch
'@backstage/plugin-events-backend-module-github': patch
'@backstage/plugin-events-backend': patch
---
Add raw body information to `RequestDetails`
and use the raw body when validating incoming event requests.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-events-backend': patch
---
Cleaning up event subscriptions after the max age window
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-gitlab': minor
---
Extended the configuration with the `includeArchivedRepos` property, which allows including repositories when the project is archived.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-defaults': patch
---
Use `node-fetch` instead of native fetch, as per https://backstage.io/docs/architecture-decisions/adrs-adr013
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Fix for the `--link` flag for `package start` to deduplicate `react-router` and `react-router-dom`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-app-visualizer': patch
---
New `devDependency` for local development setup.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Modified `createDryRunner` and corresponding route to include `templateMetaData` inside the `templateInfo`. This allows custom action writers to access things like `templateInfo.entity.metadata.name` via the action context while executing templates using the dry run framework.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/repo-tools': patch
---
The `generate-patch` command will now fall back to always adding a `resolutions` entry, even if no matching descriptors are found.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Fixed an issue where `.css` style injection would fail for published packages.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Add new `fs:readdir` action to list current content of the workspace
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Added support for `.webp` files in the frontend tooling.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
---
Implemented discovery on project-level to shift Bitbucket Cloud API limits
@@ -74,6 +74,7 @@ configmaps
configs
const
cookiecutter
corepack
Corti
cron
cronjobs
@@ -90,7 +90,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
# Identify comment to be updated
- name: Find comment for API Changes
+1 -1
View File
@@ -27,7 +27,7 @@ jobs:
run: git fetch --depth 1 origin ${{ github.base_ref }}
- name: setup-node
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20.x
registry-url: https://registry.npmjs.org/
+5 -5
View File
@@ -35,7 +35,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -71,7 +71,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -219,7 +219,7 @@ jobs:
run: git fetch origin ${{ github.event.pull_request.base.ref }}
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -235,7 +235,7 @@ jobs:
# Use the lower-level cache actions for the success cache, so that we can store the cache even on failed builds
- name: restore backstage-cli cache
uses: actions/cache/restore@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4
uses: actions/cache/restore@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4
with:
path: .cache/backstage-cli
key: ${{ runner.os }}-v${{ matrix.node-version }}-backstage-cli-${{ github.run_id }}
@@ -256,7 +256,7 @@ jobs:
# Always save success cache even if there were failures, that way it can be used in re-triggered builds
- name: save backstage-cli cache
uses: actions/cache/save@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4
uses: actions/cache/save@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4
if: always()
with:
path: .cache/backstage-cli
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
ref: ${{ github.event.client_payload.version && env.RELEASE_VERSION || github.ref }}
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
+3 -3
View File
@@ -59,7 +59,7 @@ jobs:
ref: refs/tags/${{ steps.find-release.outputs.result }}
- name: Use Node.js 20.x
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20.x
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -99,7 +99,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node.js 20.x
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20.x
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -163,7 +163,7 @@ jobs:
egress-policy: audit
- name: Use Node.js 20.x
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20.x
registry-url: https://registry.npmjs.org/ # Needed for auth
+2 -2
View File
@@ -71,7 +71,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -94,7 +94,7 @@ jobs:
run: yarn backstage-cli config:check --lax
- name: backstage-cli cache
uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4
uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4
with:
path: .cache/backstage-cli
key: ${{ runner.os }}-v${{ matrix.node-version }}-backstage-cli-${{ github.run_id }}
+1 -1
View File
@@ -20,7 +20,7 @@ jobs:
fetch-depth: 0
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
+1 -1
View File
@@ -19,7 +19,7 @@ jobs:
ref: v${{ github.event.client_payload.version }}
- name: Use Node.js 20.x
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20.x
registry-url: https://registry.npmjs.org/ # Needed for auth
@@ -19,7 +19,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node.js 20.x
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20.x
registry-url: https://registry.npmjs.org/ # Needed for auth
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node.js 20.x
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20.x
- name: yarn install
+1 -1
View File
@@ -53,7 +53,7 @@ jobs:
git config --global user.name 'GitHub e2e user'
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
+1 -1
View File
@@ -35,7 +35,7 @@ jobs:
egress-policy: audit
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: '3.9'
+2 -2
View File
@@ -50,13 +50,13 @@ jobs:
git config --global user.name 'GitHub e2e user'
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
- name: setup python
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
with:
python-version: '3.10'
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node.js 20.x
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20.x
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5
@@ -22,7 +22,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node.js 20.x
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 20.x
+1 -1
View File
@@ -37,7 +37,7 @@ jobs:
fetch-depth: 0 # Required to retrieve git history
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
+1 -1
View File
@@ -36,7 +36,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: use node.js ${{ matrix.node-version }}
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ matrix.node-version }}
registry-url: https://registry.npmjs.org/ # Needed for auth
-3
View File
@@ -1,6 +1,3 @@
> [!NOTE]
> 🏖 From Monday October 28th through November 4th, maintainers and Spotify employees will be on vacation due to Wellness Week. Expect the project to move a little slower than normal, and support to be limited. Normal service will resume after that! 🏝
[![headline](docs/assets/headline.png)](https://backstage.io/)
# [Backstage](https://backstage.io)
@@ -224,10 +224,7 @@ your test database.
```ts
const { knex, subject } = await createSubject(databaseId);
const { server } = await startTestBackend({
features: [
myPlugin(),
mockServices.database.mock({ getClient: async () => knex }),
],
features: [myPlugin(), mockServices.database.factory({ knex })],
});
```
+52
View File
@@ -17,6 +17,9 @@ The following is a full example entry in `app-config.yaml`:
```yaml
kubernetes:
frontend:
podDelete:
enabled: true
serviceLocatorMethod:
type: 'multiTenant'
clusterLocatorMethods:
@@ -48,6 +51,55 @@ kubernetes:
exposeDashboard: true
```
### `frontend` (optional)
This is an array used to configure some frontend features.
Valid values are:
- `podDelete`
#### `podDelete` (optional)
This configures the behavior of the delete pod button in the container panel.
Valid configurations are:
- `enabled`
##### `enabled`
This configuration controls the visibility of this feature.
Valid values are:
- `true`
- `false`
The default value is `false`.
#### Internationalization
To customize or translate the **Delete Pod** text, use the following approach:
```js
import { createTranslationMessages } from '@backstage/core-plugin-api/alpha';
import { kubernetesReactTranslationRef } from '@backstage/plugin-kubernetes-react/alpha';
const app = createApp({
__experimentalTranslations: {
resources: [
createTranslationMessages({
ref: kubernetesReactTranslationRef,
messages: {
"podDrawer.buttons.delete": 'Restart Pod'
}
})
]
},
...
```
### `serviceLocatorMethod`
This configures how to determine which clusters a component is running in.
+3 -1
View File
@@ -25,7 +25,9 @@ locations like GitHub or GitLab.
If you're running Backstage with Node 20 or later, you'll need to pass the flag `--no-node-snapshot` to Node in order to
use the templates feature.
One way to do this is to specify the `NODE_OPTIONS` environment variable before starting Backstage:
`export NODE_OPTIONS=--no-node-snapshot`
`export NODE_OPTIONS="${NODE_OPTIONS:-} --no-node-snapshot"`
> It's important to append to the existing `NODE_OPTIONS` value, if it's already set, rather than overwriting it, since some NodeJS Debugging tools may rely on this environment variable to work properly.
:::
+12 -9
View File
@@ -35,11 +35,12 @@ This guide assumes a basic understanding of working on a Linux based operating s
- Using `nvm` (recommended)
- [Installing nvm](https://github.com/nvm-sh/nvm#install--update-script)
- [Install and change Node version with nvm](https://nodejs.org/en/download/package-manager/#nvm)
- Node 20 is a good starting point, this can be installed using `nvm install lts/iron`
- [Binary Download](https://nodejs.org/en/download/)
- [Package manager](https://nodejs.org/en/download/package-manager/)
- [Using NodeSource packages](https://github.com/nodesource/distributions/blob/master/README.md)
- `yarn` [Installation](https://classic.yarnpkg.com/en/docs/install)
- You will need to use Yarn classic to create a new project, but it can then be [migrated to Yarn 3](../tutorials/yarn-migration.md)
- `yarn` [Installation](https://yarnpkg.com/getting-started/install)
- Backstage currently uses Yarn 4.4.1, once you've ran `corepack enable` you'll want to then run `yarn set version 4.4.1`
- `docker` [installation](https://docs.docker.com/engine/install/)
- `git` [installation](https://github.com/git-guides/install-git)
- If the system is not directly accessible over your network the following ports
@@ -142,16 +143,18 @@ Choose the correct next steps for your user role, if you're likely to be deployi
### Admin
- Deploying a production server
- Deploying to production
- [Setting up authentication](./config/authentication.md)
- [Configuring a database](./config/database.md)
- [Deploying with Docker](../deployment/docker.md)
- [Deploying with Kubernetes](../deployment/k8s.md)
- [Deploying with AWS Lightsail](../deployment/backstage-deploy/aws.md)
- Configuring Backstage
- [Database](./config/database.md)
- [Authentication](./config/authentication.md)
- [Plugins](./configure-app-with-plugins.md)
- [Theme](./app-custom-theme.md)
- [Homepage](./homepage.md)
- [Adding plugins](./configure-app-with-plugins.md)
- [Customizing the theme](./app-custom-theme.md)
- [Populating the homepage](./homepage.md)
### Developer
@@ -1,5 +1,5 @@
---
id: discovery
id: discovery--old
title: Bitbucket Server Discovery
sidebar_label: Discovery
# prettier-ignore
+3
View File
@@ -150,6 +150,7 @@ catalog:
branch: main # Optional. Used to discover on a specific branch
fallbackBranch: master # Optional. Fallback to be used if there is no default branch configured at the Gitlab repository. It is only used, if `branch` is undefined. Uses `master` as default
skipForkedRepos: false # Optional. If the project is a fork, skip repository
includeArchivedRepos: false # Optional. If project is archived, include repository
group: example-group # Optional. Group and subgroup (if needed) to look for repositories. If not present the whole instance will be scanned
entityFilename: catalog-info.yaml # Optional. Defaults to `catalog-info.yaml`
projectPattern: '[\s\S]*' # Optional. Filters found projects based on provided patter. Defaults to `[\s\S]*`, which means to not filter anything
@@ -212,3 +213,5 @@ catalog:
If you don't want create location object if file with component definition do not exists in project, you can set the `skipReposWithoutExactFileMatch` option. That can reduce count of request to gitlab with 404 status code.
If you don't want to create location object if the project is a fork, you can set the `skipForkedRepos` option.
If you want to create location object if the project is archived, you can set the `includeArchivedRepos` option.
File diff suppressed because it is too large Load Diff
+8 -5
View File
@@ -92,9 +92,11 @@ Usage: backstage-cli repo lint [options]
Lint all packages in the project
Options:
--format <format> Lint report output format (default: "eslint-formatter-friendly")
--since <ref> Only lint packages that changed since the specified ref
--fix Attempt to automatically fix violations
--format <format> Lint report output format (default: "eslint-formatter-friendly")
--since <ref> Only lint packages that changed since the specified ref
--successCache Enable success caching, which skips running tests for unchanged packages that were successful in the previous run
--successCacheDir <path> Set the success cache location, (default: node_modules/.cache/backstage-cli)
--fix Attempt to automatically fix violations
```
## repo test
@@ -185,8 +187,9 @@ Usage: backstage-cli package lint [options]
Lint a package
Options:
--format <format> Lint report output format (default: "eslint-formatter-friendly")
--fix Attempt to automatically fix violations
--format <format> Lint report output format (default: "eslint-formatter-friendly")
--fix Attempt to automatically fix violations
--max-warnings <number> Fail if more than this number of warnings. -1 allows warnings. (default: 0)
```
## package test
@@ -0,0 +1,10 @@
---
title: Catalog Webhook
author: Forged Apps
authorUrl: https://forgedapps.com
category: Catalog
description: Send catalog entity changes to a remote endpoint to keep an external system in sync with Backstage.
documentation: https://github.com/ForgedApps/backstage-catalog-webhook-plugin/blob/main/README.md
iconUrl: /img/forgedapps.jpg
npmPackageName: '@forgedapps/backstage-catalog-webhook-plugin'
addedDate: '2024-10-28'
+10
View File
@@ -0,0 +1,10 @@
---
title: Liatrio DORA Metrics
author: Liatrio
authorUrl: https://github.com/liatrio
category: Observability
description: Provide a seamless way to display DORA Metrics in your developer portals.
documentation: https://github.com/liatrio/backstage-dora-plugin/tree/main
iconUrl: /img/liatrio-icon.png
npmPackageName: '@liatrio/backstage-dora-plugin'
addedDate: '2024-10-14'
+3
View File
@@ -444,5 +444,8 @@ const config: Config = {
],
},
} satisfies Preset.ThemeConfig,
future: {
experimental_faster: true,
},
};
export default config;
+7 -6
View File
@@ -19,10 +19,10 @@
},
"prettier": "@spotify/prettier-config",
"dependencies": {
"@docusaurus/core": "^3.1.1",
"@docusaurus/plugin-client-redirects": "^3.1.1",
"@docusaurus/preset-classic": "^3.1.1",
"@docusaurus/types": "^3.1.1",
"@docusaurus/core": "^3.6.0",
"@docusaurus/plugin-client-redirects": "^3.6.0",
"@docusaurus/preset-classic": "^3.6.0",
"@docusaurus/types": "^3.6.0",
"@mdx-js/react": "^3.0.0",
"@swc/core": "^1.3.46",
"clsx": "^2.0.0",
@@ -36,8 +36,9 @@
"swc-loader": "^0.2.3"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "^3.1.1",
"@docusaurus/tsconfig": "^3.1.1",
"@docusaurus/faster": "^3.6.0",
"@docusaurus/module-type-aliases": "^3.6.0",
"@docusaurus/tsconfig": "^3.6.0",
"@spotify/prettier-config": "^15.0.0",
"@types/luxon": "^3.0.0",
"@types/webpack-env": "^1.18.0",
Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

+1641 -1433
View File
File diff suppressed because it is too large Load Diff
+3
View File
@@ -5,6 +5,9 @@ edit_uri: edit/master/docs
plugins:
- techdocs-core
- redirects:
redirect_maps:
'index.md': 'overview/what-is-backstage.md'
# For sidebar navigation on https://backstage.io/, see `microsite/sidebars.js`
nav:
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "root",
"version": "1.33.0-next.1",
"version": "1.33.0-next.2",
"private": true,
"repository": {
"type": "git",
+1 -1
View File
@@ -86,7 +86,7 @@ export type OptionalAppOptions = {
/**
* A set of components to override the default components with.
*
* The override is applied for each icon individually.
* The override is applied for each app component individually.
*
* @public
*/
+45
View File
@@ -1,5 +1,50 @@
# example-app-next
## 0.0.17-next.2
### Patch Changes
- Updated dependencies
- @backstage/cli@0.29.0-next.2
- @backstage/plugin-catalog-import@0.12.6-next.2
- @backstage/plugin-scaffolder@1.26.3-next.2
- @backstage/plugin-app-visualizer@0.1.12-next.2
- @backstage/plugin-catalog@1.24.1-next.2
- @backstage/plugin-catalog-graph@0.4.12-next.2
- @backstage/plugin-catalog-react@1.14.1-next.2
- @backstage/plugin-home@0.8.1-next.2
- @backstage/plugin-org@0.6.32-next.2
- @backstage/plugin-scaffolder-react@1.13.3-next.2
- @backstage/app-defaults@1.5.13-next.1
- @backstage/catalog-model@1.7.0
- @backstage/config@1.2.0
- @backstage/core-app-api@1.15.1
- @backstage/core-compat-api@0.3.2-next.1
- @backstage/core-components@0.16.0-next.1
- @backstage/core-plugin-api@1.10.0
- @backstage/frontend-app-api@0.10.1-next.1
- @backstage/frontend-defaults@0.1.2-next.1
- @backstage/frontend-plugin-api@0.9.1-next.1
- @backstage/integration-react@1.2.0
- @backstage/theme@0.6.1-next.0
- @backstage/plugin-api-docs@0.11.12-next.2
- @backstage/plugin-app@0.1.2-next.1
- @backstage/plugin-auth-react@0.1.8-next.1
- @backstage/plugin-catalog-common@1.1.0
- @backstage/plugin-catalog-unprocessed-entities@0.2.10-next.1
- @backstage/plugin-kubernetes@0.12.0-next.2
- @backstage/plugin-kubernetes-cluster@0.0.18-next.2
- @backstage/plugin-notifications@0.3.3-next.1
- @backstage/plugin-permission-react@0.4.27
- @backstage/plugin-search@1.4.19-next.2
- @backstage/plugin-search-common@1.2.14
- @backstage/plugin-search-react@1.8.2-next.1
- @backstage/plugin-signals@0.0.12-next.1
- @backstage/plugin-techdocs@1.11.1-next.2
- @backstage/plugin-techdocs-module-addons-contrib@1.1.17-next.1
- @backstage/plugin-techdocs-react@1.2.10-next.1
- @backstage/plugin-user-settings@0.8.15-next.2
## 0.0.17-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-app-next",
"version": "0.0.17-next.1",
"version": "0.0.17-next.2",
"backstage": {
"role": "frontend"
},
+41
View File
@@ -1,5 +1,46 @@
# example-app
## 0.2.103-next.2
### Patch Changes
- Updated dependencies
- @backstage/cli@0.29.0-next.2
- @backstage/plugin-catalog-import@0.12.6-next.2
- @backstage/plugin-scaffolder@1.26.3-next.2
- @backstage/plugin-catalog@1.24.1-next.2
- @backstage/plugin-catalog-graph@0.4.12-next.2
- @backstage/plugin-catalog-react@1.14.1-next.2
- @backstage/plugin-home@0.8.1-next.2
- @backstage/plugin-org@0.6.32-next.2
- @backstage/plugin-scaffolder-react@1.13.3-next.2
- @backstage/app-defaults@1.5.13-next.1
- @backstage/catalog-model@1.7.0
- @backstage/config@1.2.0
- @backstage/core-app-api@1.15.1
- @backstage/core-components@0.16.0-next.1
- @backstage/core-plugin-api@1.10.0
- @backstage/frontend-app-api@0.10.1-next.1
- @backstage/integration-react@1.2.0
- @backstage/theme@0.6.1-next.0
- @backstage/plugin-api-docs@0.11.12-next.2
- @backstage/plugin-auth-react@0.1.8-next.1
- @backstage/plugin-catalog-common@1.1.0
- @backstage/plugin-catalog-unprocessed-entities@0.2.10-next.1
- @backstage/plugin-devtools@0.1.20-next.1
- @backstage/plugin-kubernetes@0.12.0-next.2
- @backstage/plugin-kubernetes-cluster@0.0.18-next.2
- @backstage/plugin-notifications@0.3.3-next.1
- @backstage/plugin-permission-react@0.4.27
- @backstage/plugin-search@1.4.19-next.2
- @backstage/plugin-search-common@1.2.14
- @backstage/plugin-search-react@1.8.2-next.1
- @backstage/plugin-signals@0.0.12-next.1
- @backstage/plugin-techdocs@1.11.1-next.2
- @backstage/plugin-techdocs-module-addons-contrib@1.1.17-next.1
- @backstage/plugin-techdocs-react@1.2.10-next.1
- @backstage/plugin-user-settings@0.8.15-next.2
## 0.2.103-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-app",
"version": "0.2.103-next.1",
"version": "0.2.103-next.2",
"backstage": {
"role": "frontend"
},
@@ -73,7 +73,7 @@ const SearchPage = () => {
{!isMobile && (
<Grid item xs={3}>
<SearchType.Accordion
name="Result Type"
name="Result type"
defaultValue="software-catalog"
showCounts
types={[
+14
View File
@@ -1,5 +1,19 @@
# @backstage/backend-app-api
## 1.0.2-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.5.4-next.2
- @backstage/backend-plugin-api@1.0.2-next.2
- @backstage/cli-common@0.1.15-next.0
- @backstage/config@1.2.0
- @backstage/config-loader@1.9.2-next.0
- @backstage/errors@1.2.4
- @backstage/types@1.1.1
- @backstage/plugin-permission-node@0.8.5-next.2
## 1.0.2-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/backend-app-api",
"version": "1.0.2-next.1",
"version": "1.0.2-next.2",
"description": "Core API used by Backstage backend apps",
"backstage": {
"role": "node-library"
+21
View File
@@ -1,5 +1,26 @@
# @backstage/backend-defaults
## 0.5.3-next.2
### Patch Changes
- e30bb46: Disabling database migrations now correctly uses the `backend.default.skipMigrations` config value.
- Updated dependencies
- @backstage/plugin-events-node@0.4.5-next.2
- @backstage/plugin-auth-node@0.5.4-next.2
- @backstage/backend-app-api@1.0.2-next.2
- @backstage/backend-dev-utils@0.1.5
- @backstage/backend-plugin-api@1.0.2-next.2
- @backstage/cli-common@0.1.15-next.0
- @backstage/cli-node@0.2.10-next.0
- @backstage/config@1.2.0
- @backstage/config-loader@1.9.2-next.0
- @backstage/errors@1.2.4
- @backstage/integration@1.15.1
- @backstage/integration-aws-node@0.1.12
- @backstage/types@1.1.1
- @backstage/plugin-permission-node@0.8.5-next.2
## 0.5.3-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/backend-defaults",
"version": "0.5.3-next.1",
"version": "0.5.3-next.2",
"description": "Backend defaults used by Backstage backend apps",
"backstage": {
"role": "node-library"
@@ -22,6 +22,7 @@ import { tokenTypes } from '@backstage/plugin-auth-node';
import { JwksClient } from '../JwksClient';
import { HumanDuration, durationToMilliseconds } from '@backstage/types';
import { PluginKeySource } from './keys/types';
import fetch from 'node-fetch';
const SECONDS_IN_MS = 1000;
@@ -46,7 +46,7 @@ describe('DatabaseKeyStore', () => {
knex,
logger,
keyStore: await DatabaseKeyStore.create({
database: { getClient: async () => knex },
database: mockServices.database({ knex }),
logger,
}),
};
@@ -14,16 +14,11 @@
* limitations under the License.
*/
import {
TestDatabaseId,
TestDatabases,
mockServices,
} from '@backstage/backend-test-utils';
import { TestDatabases, mockServices } from '@backstage/backend-test-utils';
import { Duration } from 'luxon';
import waitForExpect from 'wait-for-expect';
import { DefaultSchedulerService } from './DefaultSchedulerService';
import { createTestScopedSignal } from './__testUtils__/createTestScopedSignal';
import { DatabaseService } from '@backstage/backend-plugin-api';
jest.setTimeout(60_000);
@@ -32,19 +27,12 @@ describe('TaskScheduler', () => {
const databases = TestDatabases.create();
const testScopedSignal = createTestScopedSignal();
async function createDatabase(
databaseId: TestDatabaseId,
): Promise<DatabaseService> {
const knex = await databases.init(databaseId);
return {
getClient: async () => knex,
};
}
it.each(databases.eachSupportedId())(
'can return a working v1 plugin impl, %p',
async databaseId => {
const database = await createDatabase(databaseId);
const knex = await databases.init(databaseId);
const database = mockServices.database({ knex });
const manager = DefaultSchedulerService.create({ database, logger });
const fn = jest.fn();
@@ -65,7 +53,9 @@ describe('TaskScheduler', () => {
it.each(databases.eachSupportedId())(
'can return a working v2 plugin impl, %p',
async databaseId => {
const database = await createDatabase(databaseId);
const knex = await databases.init(databaseId);
const database = mockServices.database({ knex });
const manager = DefaultSchedulerService.create({ database, logger });
const fn = jest.fn();
@@ -1,5 +1,41 @@
# @backstage/backend-dynamic-feature-service
## 0.5.0-next.2
### Minor Changes
- e939cd7: **BREAKING** The `dynamicPluginsFeatureLoader` options related to the root logger behavior (`transports`, `level`, `format`) are now gathered under a single `logger` option which is a function taking an optional `Config` argument and returning the logger options.
This breaking change is required for 2 reasons:
- it's totally possible that the current `Config` would be required to provide the logger options,
- the logger-related options should be gathered under a common `logger` option because, when the root auditing service is introduced, distinct but similarly-named options would be required for the auditor as well.
### Patch Changes
- 1aeec12: Enhance the `CommonJSModuleLoader` to add support for `resolvePackagePath` calls from backend dynamic plugins, with customizable package resolution, and make the `CommonJSModuleLoader` public API.
Fixing this backend dynamic plugin limitation related to `resolvePackagePath` is important for backend dynamic plugins which use the database, since database migration scripts systematically use `resolvePackagePath`.
- Updated dependencies
- @backstage/plugin-catalog-backend@1.28.0-next.2
- @backstage/backend-defaults@0.5.3-next.2
- @backstage/plugin-events-backend@0.3.16-next.2
- @backstage/plugin-events-node@0.4.5-next.2
- @backstage/plugin-auth-node@0.5.4-next.2
- @backstage/backend-app-api@1.0.2-next.2
- @backstage/backend-plugin-api@1.0.2-next.2
- @backstage/cli-common@0.1.15-next.0
- @backstage/cli-node@0.2.10-next.0
- @backstage/config@1.2.0
- @backstage/config-loader@1.9.2-next.0
- @backstage/errors@1.2.4
- @backstage/types@1.1.1
- @backstage/plugin-app-node@0.1.27-next.2
- @backstage/plugin-permission-common@0.8.1
- @backstage/plugin-permission-node@0.8.5-next.2
- @backstage/plugin-scaffolder-node@0.5.1-next.2
- @backstage/plugin-search-backend-node@1.3.5-next.2
- @backstage/plugin-search-common@1.2.14
## 0.4.4-next.1
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "@backstage/backend-dynamic-feature-service",
"version": "0.4.4-next.1",
"version": "0.5.0-next.2",
"description": "Backstage dynamic feature service",
"backstage": {
"role": "node-library"
+41
View File
@@ -1,5 +1,46 @@
# example-backend-legacy
## 0.2.104-next.2
### Patch Changes
- Updated dependencies
- @backstage/catalog-client@1.8.0-next.1
- @backstage/plugin-catalog-backend@1.28.0-next.2
- @backstage/plugin-search-backend@1.7.0-next.2
- @backstage/plugin-kubernetes-backend@0.19.0-next.2
- @backstage/backend-defaults@0.5.3-next.2
- @backstage/plugin-events-backend@0.3.16-next.2
- @backstage/plugin-events-node@0.4.5-next.2
- @backstage/plugin-auth-backend@0.24.0-next.2
- @backstage/plugin-auth-node@0.5.4-next.2
- @backstage/plugin-catalog-node@1.14.0-next.2
- @backstage/plugin-scaffolder-backend@1.27.0-next.2
- @backstage/plugin-search-backend-module-catalog@0.2.5-next.2
- @backstage/plugin-search-backend-module-techdocs@0.3.2-next.2
- @backstage/plugin-techdocs-backend@1.11.2-next.2
- @backstage/backend-plugin-api@1.0.2-next.2
- @backstage/catalog-model@1.7.0
- @backstage/config@1.2.0
- @backstage/integration@1.15.1
- @backstage/plugin-app-backend@0.3.77-next.2
- @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.2.2-next.2
- @backstage/plugin-catalog-backend-module-unprocessed@0.5.2-next.2
- @backstage/plugin-devtools-backend@0.4.2-next.2
- @backstage/plugin-permission-backend@0.5.51-next.2
- @backstage/plugin-permission-common@0.8.1
- @backstage/plugin-permission-node@0.8.5-next.2
- @backstage/plugin-proxy-backend@0.5.8-next.2
- @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.3.2-next.2
- @backstage/plugin-scaffolder-backend-module-gitlab@0.6.1-next.2
- @backstage/plugin-scaffolder-backend-module-rails@0.5.2-next.2
- @backstage/plugin-search-backend-module-elasticsearch@1.6.2-next.2
- @backstage/plugin-search-backend-module-explore@0.2.5-next.2
- @backstage/plugin-search-backend-module-pg@0.5.38-next.2
- @backstage/plugin-search-backend-node@1.3.5-next.2
- @backstage/plugin-signals-backend@0.2.3-next.2
- @backstage/plugin-signals-node@0.1.14-next.2
## 0.2.104-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-backend-legacy",
"version": "0.2.104-next.1",
"version": "0.2.104-next.2",
"backstage": {
"role": "backend"
},
@@ -1,5 +1,18 @@
# @backstage/backend-openapi-utils
## 0.3.0-next.2
### Minor Changes
- 1440232: Adds a new `createValidatedOpenApiRouterFromGeneratedEndpointMap` function that uses the new static server generation in `backstage-cli package schema openapi generate --server` to create a typed express router.
### Patch Changes
- Updated dependencies
- @backstage/backend-plugin-api@1.0.2-next.2
- @backstage/errors@1.2.4
- @backstage/types@1.1.1
## 0.2.1-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/backend-openapi-utils",
"version": "0.2.1-next.1",
"version": "0.3.0-next.2",
"description": "OpenAPI typescript support.",
"backstage": {
"role": "node-library"
+12
View File
@@ -1,5 +1,17 @@
# @backstage/backend-plugin-api
## 1.0.2-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-auth-node@0.5.4-next.2
- @backstage/cli-common@0.1.15-next.0
- @backstage/config@1.2.0
- @backstage/errors@1.2.4
- @backstage/types@1.1.1
- @backstage/plugin-permission-common@0.8.1
## 1.0.2-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/backend-plugin-api",
"version": "1.0.2-next.1",
"version": "1.0.2-next.2",
"description": "Core API used by Backstage backend plugins",
"backstage": {
"role": "node-library"
+18
View File
@@ -1,5 +1,23 @@
# @backstage/backend-test-utils
## 1.1.0-next.2
### Minor Changes
- 5064827: Made it possible to construct `mockServices.database` with a given knex instance
### Patch Changes
- Updated dependencies
- @backstage/backend-defaults@0.5.3-next.2
- @backstage/plugin-events-node@0.4.5-next.2
- @backstage/plugin-auth-node@0.5.4-next.2
- @backstage/backend-app-api@1.0.2-next.2
- @backstage/backend-plugin-api@1.0.2-next.2
- @backstage/config@1.2.0
- @backstage/errors@1.2.4
- @backstage/types@1.1.1
## 1.0.3-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/backend-test-utils",
"version": "1.0.3-next.1",
"version": "1.1.0-next.2",
"description": "Test helpers library for Backstage backends",
"backstage": {
"role": "node-library"
+15 -6
View File
@@ -175,14 +175,23 @@ export namespace mockServices {
partialImpl?: Partial<CacheService> | undefined,
) => ServiceMock<CacheService>;
}
export function database(options: {
knex: Knex;
migrations?: {
skip?: boolean;
};
}): DatabaseService;
// (undocumented)
export namespace database {
const // (undocumented)
factory: () => ServiceFactory<DatabaseService, 'plugin', 'singleton'>;
const // (undocumented)
mock: (
partialImpl?: Partial<DatabaseService> | undefined,
) => ServiceMock<DatabaseService>;
const factory: (options?: {
knex: Knex;
migrations?: {
skip?: boolean;
};
}) => ServiceFactory<DatabaseService, 'plugin', 'singleton'>;
const mock: (
partialImpl?: Partial<DatabaseService> | undefined,
) => ServiceMock<DatabaseService>;
}
// (undocumented)
export function discovery(): DiscoveryService;
@@ -30,6 +30,7 @@ import {
AuthService,
BackstageCredentials,
BackstageUserInfo,
DatabaseService,
DiscoveryService,
HttpAuthService,
LoggerService,
@@ -51,6 +52,7 @@ import { MockHttpAuthService } from './MockHttpAuthService';
import { MockRootLoggerService } from './MockRootLoggerService';
import { MockUserInfoService } from './MockUserInfoService';
import { mockCredentials } from './mockCredentials';
import { Knex } from 'knex';
/** @internal */
function createLoggerMock() {
@@ -376,8 +378,45 @@ export namespace mockServices {
}));
}
/**
* Creates a mock implementation of the
* {@link @backstage/backend-plugin-api#coreServices.database}. Just returns
* the given `knex` instance, which is useful in combination with the
* {@link TestDatabases} facility.
*/
export function database(options: {
knex: Knex;
migrations?: { skip?: boolean };
}): DatabaseService {
return {
getClient: async () => options.knex,
migrations: options.migrations,
};
}
export namespace database {
export const factory = () => databaseServiceFactory;
/**
* Creates a mock factory for the
* {@link @backstage/backend-plugin-api#coreServices.database}. Just returns
* the given `knex` instance if you supply one, which is useful in
* combination with the {@link TestDatabases} facility. Otherwise, it
* returns the regular default database factory which reads config settings.
*/
export const factory = (options?: {
knex: Knex;
migrations?: { skip?: boolean };
}) =>
options
? createServiceFactory({
service: coreServices.database,
deps: {},
factory: () => database(options),
})
: databaseServiceFactory;
/**
* Creates a mock of the
* {@link @backstage/backend-plugin-api#coreServices.database}, optionally
* with some given method implementations.
*/
export const mock = simpleMock(coreServices.database, () => ({
getClient: jest.fn(),
}));
+38
View File
@@ -1,5 +1,43 @@
# example-backend
## 0.0.32-next.2
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-backend@1.28.0-next.2
- @backstage/plugin-search-backend@1.7.0-next.2
- @backstage/plugin-kubernetes-backend@0.19.0-next.2
- @backstage/backend-defaults@0.5.3-next.2
- @backstage/plugin-events-backend@0.3.16-next.2
- @backstage/plugin-auth-backend@0.24.0-next.2
- @backstage/plugin-auth-node@0.5.4-next.2
- @backstage/plugin-notifications-backend@0.4.3-next.2
- @backstage/plugin-scaffolder-backend@1.27.0-next.2
- @backstage/plugin-scaffolder-backend-module-github@0.5.2-next.2
- @backstage/plugin-search-backend-module-catalog@0.2.5-next.2
- @backstage/plugin-search-backend-module-techdocs@0.3.2-next.2
- @backstage/plugin-techdocs-backend@1.11.2-next.2
- @backstage/backend-plugin-api@1.0.2-next.2
- @backstage/catalog-model@1.7.0
- @backstage/plugin-app-backend@0.3.77-next.2
- @backstage/plugin-auth-backend-module-github-provider@0.2.2-next.2
- @backstage/plugin-auth-backend-module-guest-provider@0.2.2-next.2
- @backstage/plugin-catalog-backend-module-backstage-openapi@0.4.2-next.2
- @backstage/plugin-catalog-backend-module-openapi@0.2.4-next.2
- @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.2.2-next.2
- @backstage/plugin-catalog-backend-module-unprocessed@0.5.2-next.2
- @backstage/plugin-devtools-backend@0.4.2-next.2
- @backstage/plugin-permission-backend@0.5.51-next.2
- @backstage/plugin-permission-backend-module-allow-all-policy@0.2.2-next.2
- @backstage/plugin-permission-common@0.8.1
- @backstage/plugin-permission-node@0.8.5-next.2
- @backstage/plugin-proxy-backend@0.5.8-next.2
- @backstage/plugin-scaffolder-backend-module-notifications@0.1.3-next.2
- @backstage/plugin-search-backend-module-explore@0.2.5-next.2
- @backstage/plugin-search-backend-node@1.3.5-next.2
- @backstage/plugin-signals-backend@0.2.3-next.2
## 0.0.32-next.1
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "example-backend",
"version": "0.0.32-next.1",
"version": "0.0.32-next.2",
"backstage": {
"role": "backend"
},
@@ -62,7 +62,7 @@
"@backstage/plugin-search-backend-node": "workspace:^",
"@backstage/plugin-signals-backend": "workspace:^",
"@backstage/plugin-techdocs-backend": "workspace:^",
"@opentelemetry/auto-instrumentations-node": "^0.51.0",
"@opentelemetry/auto-instrumentations-node": "^0.52.0",
"@opentelemetry/exporter-prometheus": "^0.53.0",
"@opentelemetry/sdk-node": "^0.53.0",
"example-app": "link:../app"
+12
View File
@@ -1,5 +1,17 @@
# @backstage/catalog-client
## 1.8.0-next.1
### Minor Changes
- 656d1ef: Internal update to use the updated generated code from `backstage-cli package schema openapi generate --client-package ...`.
### Patch Changes
- Updated dependencies
- @backstage/catalog-model@1.7.0
- @backstage/errors@1.2.4
## 1.8.0-next.0
### Minor Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/catalog-client",
"version": "1.8.0-next.0",
"version": "1.8.0-next.1",
"description": "An isomorphic client for the catalog backend",
"backstage": {
"role": "common-library"
+22
View File
@@ -1,5 +1,27 @@
# @backstage/cli
## 0.29.0-next.2
### Minor Changes
- bc47b17: **BREAKING**: Updates ESLint config to ignore all generated source code under `src/**/generated/**/*.ts`.
### Patch Changes
- e19c53c: Fix for the `--link` flag for `package start` to deduplicate `react-router` and `react-router-dom`.
- e565f73: Added support for `.webp` files in the frontend tooling.
- Updated dependencies
- @backstage/catalog-model@1.7.0
- @backstage/cli-common@0.1.15-next.0
- @backstage/cli-node@0.2.10-next.0
- @backstage/config@1.2.0
- @backstage/config-loader@1.9.2-next.0
- @backstage/errors@1.2.4
- @backstage/eslint-plugin@0.1.10
- @backstage/integration@1.15.1
- @backstage/release-manifests@0.0.11
- @backstage/types@1.1.1
## 0.29.0-next.1
### Minor Changes
+1 -1
View File
@@ -213,7 +213,7 @@ async function getProjectConfig(targetPath, extraConfig, extraOptions) {
},
},
],
'\\.(bmp|gif|jpg|jpeg|png|ico|frag|xml|svg|eot|woff|woff2|ttf)$':
'\\.(bmp|gif|jpg|jpeg|png|ico|webp|frag|xml|svg|eot|woff|woff2|ttf)$':
require.resolve('./jestFileTransform.js'),
'\\.(yaml)$': require.resolve('./jestYamlTransform'),
},
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/cli",
"version": "0.29.0-next.1",
"version": "0.29.0-next.2",
"description": "CLI for developing Backstage plugins and apps",
"backstage": {
"role": "cli"
@@ -53,7 +53,7 @@
"@backstage/release-manifests": "workspace:^",
"@backstage/types": "workspace:^",
"@manypkg/get-packages": "^1.1.3",
"@module-federation/enhanced": "^0.6.0",
"@module-federation/enhanced": "^0.7.0",
"@octokit/graphql": "^5.0.0",
"@octokit/graphql-schema": "^13.7.0",
"@octokit/oauth-app": "^4.2.0",
+1 -1
View File
@@ -175,7 +175,7 @@ export function registerScriptCommand(program: Command) {
.option('--fix', 'Attempt to automatically fix violations')
.option(
'--max-warnings <number>',
'Fail if more than this number of warnings (default: 0)',
'Fail if more than this number of warnings. -1 allows warnings. (default: 0)',
)
.description('Lint a package')
.action(lazy(() => import('./lint').then(m => m.default)));
+4 -2
View File
@@ -30,11 +30,13 @@ export default async (directories: string[], opts: OptionValues) => {
);
const maxWarnings = opts.maxWarnings ?? 0;
const ignoreWarnings = +maxWarnings === -1;
const failed =
results.some(r => r.errorCount > 0) ||
results.reduce((current, next) => current + next.warningCount, 0) >
maxWarnings;
(!ignoreWarnings &&
results.reduce((current, next) => current + next.warningCount, 0) >
maxWarnings);
if (opts.fix) {
await ESLint.outputFixes(results);

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