Merge branch 'master' into broadcast-notifications-to-specified-slack-channels

Signed-off-by: Henrik Edegård <158468178+henrikedegrd@users.noreply.github.com>
This commit is contained in:
Henrik Edegård
2025-12-15 09:26:58 +01:00
committed by GitHub
780 changed files with 20878 additions and 7365 deletions
@@ -14,16 +14,16 @@ A Backstage App is a monorepo setup that includes everything you need to run Bac
To create a new Backstage app we recommend using the `@backstage/create-app` command line, and the easiest way to run this package is with `npx`:
:::note
The create-app CLI requires Node.js Active LTS Release.
The create-app CLI requires Node.js Active LTS Release, see the [prerequisites documentation](../../getting-started/index.md) for all the details.
:::
```sh
# The command bellow creates a Backstage App inside the current folder.
# The name of the app-folder is the name that was provided when prompted.
npx @backstage/create-app@latest
npx @backstage/create-app@latest --next
```
The created-app is currently templated for legacy frontend system applications, so the app wiring code it creates needs to be migrated, see [the app instance](#the-app-instance) section for an example.
Using the `--next` flag will result in a Backstage app using the New Frontend System which will be further explained in the sections below.
## The app instance
@@ -54,6 +54,8 @@ You need to decide how you want to receive events from external sources like
- [via HTTP endpoint](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md)
- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md)
- [via Google Pub/Sub](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-google-pubsub/README.md)
- [via a Kafka topic](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-kafka/README.md)
Further documentation:
@@ -72,6 +74,8 @@ Additionally, you need to decide how you want to receive events from external so
- [via HTTP endpoint](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md)
- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md)
- [via Google Pub/Sub](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-google-pubsub/README.md)
- [via a Kafka topic](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-kafka/README.md)
Set up your provider
@@ -42,6 +42,8 @@ You need to decide how you want to receive events from external sources like
- [via HTTP endpoint](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md)
- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md)
- [via Google Pub/Sub](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-google-pubsub/README.md)
- [via a Kafka topic](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-kafka/README.md)
Further documentation:
+48 -2
View File
@@ -141,7 +141,7 @@ events:
region: us-east-2
```
The [AWS SQS module `README`](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-aws-sqs/README.md#configuration) has more details on the configuration options, the example above includes on the required options.
The [AWS SQS module `README`](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-aws-sqs/README.md#configuration) has more details on the configuration options, the example above includes only the required options.
### Events Setup using Google Pub/Sub module
@@ -179,7 +179,53 @@ events:
targetTopic: 'github.{{ event.attributes.x-github-event }}'
```
The [Google Pub/Sub module `README`](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-google-pubsub/README.md#configuration) has more details on the configuration options, the example above includes on the required options.
The [Google Pub/Sub module `README`](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-google-pubsub/README.md#configuration) has more details on the configuration options, the example above includes only the required options.
### Events Setup using Kafka module
Alternatively to using the HTTP endpoint you can use the Kafka module, here's how.
First we need to add the package:
```bash title="from your Backstage root directory"
yarn --cwd packages/backend add @backstage/plugin-events-backend-module-kafka
```
Then we need to add it to your backend:
```ts title="in packages/backend/src/index.ts"
backend.add(import('@backstage/plugin-events-backend'));
backend.add(import('@backstage/plugin-events-backend-module-github'));
/* highlight-add-start */
backend.add(import('@backstage/plugin-events-backend-module-kafka'));
/* highlight-add-end */
```
Finally you will want to configure it:
```yaml title="app-config.yaml
events:
modules:
kafka:
kafkaConsumingEventPublisher:
# Client ID used by Backstage to identify when connecting to the Kafka cluster.
clientId: your-client-id
# List of brokers in the Kafka cluster to connect to.
brokers:
- broker1
- broker2
topics:
# Replace with actual topic name as expected by subscribers
- topic: 'backstage.topic'
kafka:
# The Kafka topics to subscribe to.
topics:
- topic1
# The GroupId to be used by the topic consumers.
groupId: your-group-id
```
The [Kafka module `README`](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-kafka/README.md#configuration) has more details on the configuration options, the example above includes only the required options.
## Configuration
+5
View File
@@ -90,6 +90,7 @@ catalog:
initialDelay: { seconds: 30 }
frequency: { hours: 1 }
timeout: { minutes: 50 }
excludeSuspendedUsers: true
```
Directly under the `githubOrg` is a list of configurations, each entry is a structure with the following elements:
@@ -106,6 +107,8 @@ Directly under the `githubOrg` is a list of configurations, each entry is a stru
Reducing page sizes will result in more API calls and slightly longer sync times, but will prevent API resource limits for organizations with large number of teams and members.
- `excludeSuspendedUsers` (optional): Whether to exclude suspended users when querying organization users. Only for GitHub Enterprise instances. Will error if used against GitHub.com API.
### Events Support
The catalog module for GitHub Org comes with events support enabled.
@@ -129,6 +132,8 @@ You can decide between the following options (extensible):
- [via HTTP endpoint](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md)
- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md)
- [via Google Pub/Sub](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-google-pubsub/README.md)
- [via a Kafka topic](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-kafka/README.md)
You can check the official docs to [configure your webhook](https://docs.github.com/en/developers/webhooks-and-events/webhooks/creating-webhooks) and to [secure your request](https://docs.github.com/en/developers/webhooks-and-events/webhooks/securing-your-webhooks).
The webhook will need to be configured to forward `organization`,`team` and `membership` events.
+4
View File
@@ -43,6 +43,8 @@ You need to decide how you want to receive events from external sources like
- [via HTTP endpoint](https://github.com/backstage/backstage/blob/master/plugins/events-backend/README.md#configuration)
- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md)
- [via Google Pub/Sub](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-google-pubsub/README.md)
- [via a Kafka topic](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-kafka/README.md)
Further documentation:
@@ -92,6 +94,8 @@ Additionally, you need to decide how you want to receive events from external so
- [via HTTP endpoint](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md)
- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md)
- [via Google Pub/Sub](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-google-pubsub/README.md)
- [via a Kafka topic](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-kafka/README.md)
Set up your provider
+4
View File
@@ -49,6 +49,8 @@ You need to decide how you want to receive events from external sources like
- [via HTTP endpoint](https://github.com/backstage/backstage/blob/master/plugins/events-backend/README.md#configuration)
- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md)
- [via Google Pub/Sub](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-google-pubsub/README.md)
- [via a Kafka topic](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-kafka/README.md)
Further documentation:
@@ -101,6 +103,8 @@ Additionally, you need to decide how you want to receive events from external so
- [via HTTP endpoint](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md)
- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md)
- [via Google Pub/Sub](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-google-pubsub/README.md)
- [via a Kafka topic](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-kafka/README.md)
Set up your provider
+2
View File
@@ -149,6 +149,8 @@ notifications:
broadcastChannels: # Optional, if you wish to support broadcast notifications.
- C12345678
username: 'Backstage Bot' # Optional, defaults to the name of the Slack App.
concurrencyLimit: 20 # Optional, number of messages allowed per interval. Defaults to 10.
throttleInterval: 1m # Optional, Accepts ISO-8601 duration, ms-style ("1m", "30s"), or HumanDuration ({ minutes: 2 }). Defaults to 1 minute
```
Multiple instances can be added in the `slack` array, allowing you to have multiple configurations if you need to send
+1 -1
View File
@@ -177,7 +177,7 @@ When we say _Supporting_ a Node.js release, that means the following:
- New Backstage projects created with `@backstage/create-app` will have their `engines.node` version set accordingly.
- Dropping compatibility with unsupported releases is not considered a breaking change. This includes using new syntax or APIs, as well as bumping dependencies that drop support for these versions.
Based on the above Backstage supports Node.js 20 and 22 as of the `1.33.0` release.
Based on the above Backstage supports Node.js 22 and 24 as of the `1.46.0` release.
## TypeScript Releases
-2
View File
@@ -39,8 +39,6 @@ Out of the box, Backstage includes:
Backstage is a CNCF Incubation project after graduating from Sandbox. Read the announcement
[here](https://backstage.io/blog/2022/03/16/backstage-turns-two#out-of-the-sandbox-and-into-incubation).
<img src="https://backstage.io/img/cncf-white.svg" alt="CNCF logo" width="400" />
## Benefits
- For _engineering managers_, it allows you to maintain standards and best
+1 -1
View File
@@ -159,7 +159,7 @@ To install custom rules in a plugin, we need to use the [`PermissionsRegistrySer
```typescript title="packages/backend/src/modules/catalogPermissionRules.ts"
import { createBackendModule } from '@backstage/backend-plugin-api';
import { catalogPermissionExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
import { isInSystemRule } from './permissionPolicyExtension';
import { isInSystemRule } from './permissionsPolicyExtension';
export default createBackendModule({
pluginId: 'catalog',
+1 -1
View File
@@ -81,7 +81,7 @@ export const ExamplePage = examplePlugin.provide(
```
This is where the plugin is created and where it creates and exports extensions
that can be imported and used the app. See reference docs for
that can be imported and used in the app. See reference docs for
[`createPlugin`](../reference/core-plugin-api.createplugin.md) or introduction to
the new [Composability System](./composability.md).
+392
View File
@@ -0,0 +1,392 @@
# Release v1.46.0-next.1
Upgrade Helper: [https://backstage.github.io/upgrade-helper/?to=1.46.0-next.1](https://backstage.github.io/upgrade-helper/?to=1.46.0-next.1)
## @backstage/plugin-techdocs-addons-test-utils@2.0.0-next.1
### Major Changes
- 8d6709e: **BREAKING**: `TechDocsAddonTester.renderWithEffects()` no longer returns a screen; this means that you can no longer grab assertions such as `getByText` from its return value.
Newer versions of `@testing-library` recommends using the `screen` export for assertions - and removing this from the addon tester contract allows us to more freely iterate on which underlying version of the testing library is being used.
One notable effect of this, however, is that the `@testing-library` `screen` does NOT support assertions on the shadow DOM, which techdocs relies on. You will therefore want to add a dependency on [the `shadow-dom-testing-library` package](https://github.com/konnorrogers/shadow-dom-testing-library/) in your tests, and using its `screen` and its dedicated `*Shadow*` methods. As an example, if you keep doing `getByText` you will not get matches inside the shadow DOM - switch to `getByShadowText` instead.
```ts
import { screen } from 'shadow-dom-testing-library';
// ... render the addon ...
await TechDocsAddonTester.buildAddonsInTechDocs([<AnAddon />])
.withDom(<body>TEST_CONTENT</body>)
.renderWithEffects();
expect(screen.getByShadowText('TEST_CONTENT')).toBeInTheDocument();
```
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-react@1.21.4-next.1
- @backstage/plugin-techdocs@1.16.1-next.1
## @backstage/ui@0.10.0-next.1
### Minor Changes
- 16543fa: **Breaking change** The `Cell` component has been refactored to be a generic wrapper component that accepts `children` for custom cell content. The text-specific functionality (previously part of `Cell`) has been moved to a new `CellText` component.
### Migration Guide
If you were using `Cell` with text-specific props (`title`, `description`, `leadingIcon`, `href`), you need to update your code to use `CellText` instead:
**Before:**
```tsx
<Cell
title="My Title"
description="My description"
leadingIcon={<Icon />}
href="/path"
/>
```
**After:**
```tsx
<CellText
title="My Title"
description="My description"
leadingIcon={<Icon />}
href="/path"
/>
```
For custom cell content, use the new generic `Cell` component:
```tsx
<Cell>{/* Your custom content */}</Cell>
```
### Patch Changes
- 50b7927: Fixed Checkbox indicator showing checkmark color when unchecked.
Affected components: Checkbox
- 5bacf55: Fixed `ButtonIcon` incorrectly applying `className` to inner elements instead of only the root element.
Affected components: ButtonIcon
- a20d317: Added row selection support with visual state styling for hover, selected, and pressed states. Fixed checkbox rendering to only show for multi-select toggle mode.
Affected components: Table, TableHeader, Row, Column
## @backstage/cli@0.34.6-next.1
### Patch Changes
- 7fbac5c: Updated to use new utilities from `@backstage/cli-common`.
- Updated dependencies
- @backstage/cli-node@0.2.16-next.1
- @backstage/cli-common@0.1.16-next.1
## @backstage/cli-common@0.1.16-next.1
### Patch Changes
- 5cfb2a4: Added new `run`, `runOutput`, and `runCheck` utilities to help run child processes in a safe and portable way.
## @backstage/cli-node@0.2.16-next.1
### Patch Changes
- 4e8c726: Updated to use new utilities from `@backstage/cli-common`.
- Updated dependencies
- @backstage/cli-common@0.1.16-next.1
## @backstage/codemods@0.1.53-next.1
### Patch Changes
- 688f070: Updated to use new utilities from `@backstage/cli-common`.
- Updated dependencies
- @backstage/cli-common@0.1.16-next.1
## @backstage/core-components@0.18.4-next.1
### Patch Changes
- 9a942a4: Fixed bug in the `LogViewer` component where shift + click always opened a new window instead of just changing the selection.
In addition, improved the `LogViewer` component by a few usability enhancements:
- Added support for multiple selections using cmd/ctrl + click
- Improved the generated hash that is added to the URL to also support ranges & multiple selections
- Added an hover effect & info tooltip to the "Copy to clipboard" button to indicate its functionality
- Added some color and a separator to the line numbers to improve readability
- 207c3c8: long words like urls now breaks to new line on warning panels instead of overflowing the container
- 5d52dab: Add i18n support for LogViewer search control
## @backstage/create-app@0.7.7-next.1
### Patch Changes
- Bumped create-app version.
- Updated dependencies
- @backstage/cli-common@0.1.16-next.1
## @backstage/dev-utils@1.1.18-next.1
### Patch Changes
- Updated dependencies
- @backstage/ui@0.10.0-next.1
- @backstage/core-components@0.18.4-next.1
- @backstage/plugin-catalog-react@1.21.4-next.1
## @backstage/repo-tools@0.16.1-next.1
### Patch Changes
- 688f070: Updated to use new utilities from `@backstage/cli-common`.
- d1e38a7: Properly create workspace in OS temporary directory for `generate-patch` command
- Updated dependencies
- @backstage/cli-node@0.2.16-next.1
- @backstage/cli-common@0.1.16-next.1
## @techdocs/cli@1.10.3-next.1
### Patch Changes
- 43629b1: Updated to use new utilities from `@backstage/cli-common`.
- Updated dependencies
- @backstage/cli-common@0.1.16-next.1
## @backstage/plugin-app-visualizer@0.1.26-next.1
### Patch Changes
- Updated dependencies
- @backstage/ui@0.10.0-next.1
- @backstage/core-components@0.18.4-next.1
## @backstage/plugin-catalog-backend-module-aws@0.4.18-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-kubernetes-common@0.9.9-next.0
## @backstage/plugin-catalog-backend-module-gcp@0.3.15-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-kubernetes-common@0.9.9-next.0
## @backstage/plugin-catalog-backend-module-github@0.11.3-next.1
### Patch Changes
- ed5a7a3: Introduce new configuration option to exclude suspended users from GitHub Enterprise instances.
When its set to true, suspended users wont be returned when querying the organization users for GitHub Enterprise instances.
Note that this option should be used only against GitHub Enterprise instances, the property does not exist in the github.com GraphQL schema, setting it will cause a schema validation error and the syncing of users will fail.
## @backstage/plugin-catalog-backend-module-github-org@0.3.17-next.1
### Patch Changes
- ed5a7a3: Introduce new configuration option to exclude suspended users from GitHub Enterprise instances.
When its set to true, suspended users wont be returned when querying the organization users for GitHub Enterprise instances.
Note that this option should be used only against GitHub Enterprise instances, the property does not exist in the github.com GraphQL schema, setting it will cause a schema validation error and the syncing of users will fail.
- Updated dependencies
- @backstage/plugin-catalog-backend-module-github@0.11.3-next.1
## @backstage/plugin-catalog-backend-module-unprocessed@0.6.7-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog-unprocessed-entities-common@0.0.12-next.0
## @backstage/plugin-catalog-react@1.21.4-next.1
### Patch Changes
- 6d39141: Fixed an issue where `EntityOwnerPicker` failed to filter options when the input text contained uppercase characters.
- Updated dependencies
- @backstage/core-components@0.18.4-next.1
## @backstage/plugin-catalog-unprocessed-entities@0.2.24-next.1
### Patch Changes
- df4d646: Moved types, API and client to the common package, allowing both frontend and
backend plugins to use the `CatalogUnprocessedEntitiesClient`.
The following types, clients and interfaces have been deprecated and should be
imported from the `@backstage/plugin-catalog-unprocessed-entities-common` instead:
`CatalogUnprocessedEntitiesApi`, `CatalogUnprocessedEntitiesApiResponse`, `UnprocessedEntity`,
`UnprocessedEntityCache`, `UnprocessedEntityError`, `CatalogUnprocessedEntitiesClient`.
All those types, clients and interfaces are re-exported temporarily in the
`@backstage/plugin-catalog-unprocessed-entities` package until cleaned up.
- Updated dependencies
- @backstage/core-components@0.18.4-next.1
- @backstage/plugin-catalog-unprocessed-entities-common@0.0.12-next.0
## @backstage/plugin-catalog-unprocessed-entities-common@0.0.12-next.0
### Patch Changes
- df4d646: Moved types, API and client to the common package, allowing both frontend and
backend plugins to use the `CatalogUnprocessedEntitiesClient`.
The following types, clients and interfaces have been deprecated and should be
imported from the `@backstage/plugin-catalog-unprocessed-entities-common` instead:
`CatalogUnprocessedEntitiesApi`, `CatalogUnprocessedEntitiesApiResponse`, `UnprocessedEntity`,
`UnprocessedEntityCache`, `UnprocessedEntityError`, `CatalogUnprocessedEntitiesClient`.
All those types, clients and interfaces are re-exported temporarily in the
`@backstage/plugin-catalog-unprocessed-entities` package until cleaned up.
## @backstage/plugin-kubernetes@0.12.14-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-kubernetes-react@0.5.14-next.1
- @backstage/core-components@0.18.4-next.1
- @backstage/plugin-catalog-react@1.21.4-next.1
- @backstage/plugin-kubernetes-common@0.9.9-next.0
## @backstage/plugin-kubernetes-backend@0.20.5-next.1
### Patch Changes
- 8fa8d87: Add Kubernetes Plugin Secrets Accordion with masked secret datas
- Updated dependencies
- @backstage/plugin-kubernetes-common@0.9.9-next.0
- @backstage/plugin-kubernetes-node@0.3.7-next.1
## @backstage/plugin-kubernetes-cluster@0.0.32-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-kubernetes-react@0.5.14-next.1
- @backstage/core-components@0.18.4-next.1
- @backstage/plugin-catalog-react@1.21.4-next.1
- @backstage/plugin-kubernetes-common@0.9.9-next.0
## @backstage/plugin-kubernetes-common@0.9.9-next.0
### Patch Changes
- 8fa8d87: Add Kubernetes Plugin Secrets Accordion with masked secret datas
## @backstage/plugin-kubernetes-node@0.3.7-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-kubernetes-common@0.9.9-next.0
## @backstage/plugin-kubernetes-react@0.5.14-next.1
### Patch Changes
- f966a85: Enabled a pod terminal at GKE
- 8fa8d87: Add Kubernetes Plugin Secrets Accordion with masked secret datas
- Updated dependencies
- @backstage/core-components@0.18.4-next.1
- @backstage/plugin-kubernetes-common@0.9.9-next.0
## @backstage/plugin-mui-to-bui@0.2.2-next.1
### Patch Changes
- Updated dependencies
- @backstage/ui@0.10.0-next.1
## @backstage/plugin-scaffolder-react@1.19.4-next.1
### Patch Changes
- 5ca461e: Fixed bug where custom `review.name` values were incorrectly formatted by `startCase`, preserving them exactly as written.
- Updated dependencies
- @backstage/core-components@0.18.4-next.1
- @backstage/plugin-catalog-react@1.21.4-next.1
## @backstage/plugin-techdocs@1.16.1-next.1
### Patch Changes
- 592361e: The `techdocs` config is now marked as optional.
- Updated dependencies
- @backstage/core-components@0.18.4-next.1
- @backstage/plugin-catalog-react@1.21.4-next.1
## @backstage/plugin-techdocs-backend@2.1.3-next.1
### Patch Changes
- 592361e: The `techdocs` config is now marked as optional.
## @backstage/plugin-techdocs-module-addons-contrib@1.1.31-next.1
### Patch Changes
- 8d6709e: Updated tests to match test-utils change
- Updated dependencies
- @backstage/core-components@0.18.4-next.1
## example-app@0.2.116-next.1
### Patch Changes
- Updated dependencies
- @backstage/ui@0.10.0-next.1
- @backstage/core-components@0.18.4-next.1
- @backstage/plugin-techdocs-module-addons-contrib@1.1.31-next.1
- @backstage/plugin-catalog-react@1.21.4-next.1
- @backstage/plugin-scaffolder-react@1.19.4-next.1
- @backstage/plugin-catalog-unprocessed-entities@0.2.24-next.1
- @backstage/cli@0.34.6-next.1
- @backstage/plugin-techdocs@1.16.1-next.1
- @backstage/plugin-mui-to-bui@0.2.2-next.1
- @backstage/plugin-kubernetes@0.12.14-next.1
- @backstage/plugin-kubernetes-cluster@0.0.32-next.1
## example-app-next@0.0.30-next.1
### Patch Changes
- Updated dependencies
- @backstage/ui@0.10.0-next.1
- @backstage/core-components@0.18.4-next.1
- @backstage/plugin-techdocs-module-addons-contrib@1.1.31-next.1
- @backstage/plugin-catalog-react@1.21.4-next.1
- @backstage/plugin-scaffolder-react@1.19.4-next.1
- @backstage/plugin-catalog-unprocessed-entities@0.2.24-next.1
- @backstage/cli@0.34.6-next.1
- @backstage/plugin-techdocs@1.16.1-next.1
- @backstage/plugin-app-visualizer@0.1.26-next.1
- @backstage/plugin-kubernetes@0.12.14-next.1
- @backstage/plugin-kubernetes-cluster@0.0.32-next.1
## techdocs-cli-embedded-app@0.2.115-next.1
### Patch Changes
- Updated dependencies
- @backstage/ui@0.10.0-next.1
- @backstage/core-components@0.18.4-next.1
- @backstage/cli@0.34.6-next.1
- @backstage/plugin-techdocs@1.16.1-next.1
File diff suppressed because it is too large Load Diff
+11 -8
View File
@@ -610,7 +610,7 @@ With that in mind, here are some IDEs configurations to run backstage components
1. Click on "Edit Configurations" on top panel
2. In the modal dialog click on link "Edit configuration templates..." located in the bottom left corner.
3. "Configuration file": leave empty (`backstage-cli` adds the config)
4. "Node options": `--no-node-snapshot --experimental-vm-modules`
4. "Node options": ` --experimental-vm-modules`
5. "Jest package": `~/workspace/backstage/node_modules/@backstage/cli` - the location of the backstage cli package.
6. "Working directory": `~/workspace/backstage`
7. "Jest Options": `repo test --runInBand --watch=false`
@@ -621,20 +621,21 @@ With that in mind, here are some IDEs configurations to run backstage components
#### VS Code
1. Install the [Jest extension](https://marketplace.visualstudio.com/items?itemName=Orta.vscode-jest) for VS Code.
2. Update `settings.json` in the `.vscode` folder with:
```jsonc
{
"jest.jestCommandLine": "yarn test",
// In a large repo like the Backstage main repo you likely want to disable
// watch mode and the initial test run too, leaving just manual and perhaps
// on-save test runs in place.
"jest.autoRun": {
"watch": false,
"onSave": "test-src-file"
}
"jest.runMode": "on-save"
}
```
A complete launch configuration for VS Code debugging may look like this:
3. Add a launch configuration for VS Code in `launch.json` in the `.vscode` folder.
A complete configuration for debugging may look like this:
```jsonc
{
@@ -653,11 +654,13 @@ A complete launch configuration for VS Code debugging may look like this:
],
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"disableOptimisticBPs": true,
"program": "${workspaceFolder}/node_modules/.bin/backstage-cli"
"program": "${workspaceFolder}/node_modules/@backstage/cli/bin/backstage-cli"
}
```
4. The configuration is not for manual runs from the "Run and Debug" view.
Instead use the Jest test explorer or the [test's gutter menu](https://github.com/jest-community/vscode-jest#how-to-trigger-a-test-run).
## Publishing
Package publishing is an optional part of the Backstage build system and not