Merge branch 'master' of github.com:hghtwr/backstage into 26554

This commit is contained in:
Hghtwr
2024-11-15 22:50:52 +01:00
334 changed files with 5766 additions and 1650 deletions
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-catalog': minor
---
- Updated EntityLayout component to implement breadcrumb navigation based on the entity relations.
- Added parentEntityRelations prop to EntityLayoutProps to specify relation types for parent entities.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-api-docs': minor
---
Added support for pagination in api-docs plugin - DefaultApiExplorerPage
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/integration-aws-node': patch
---
The `getDefaultCredentialsChain` function now accepts and applies a `region` parameter, preventing it from defaulting to `us-east-1` when no region is specified.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend-module-gitlab': patch
---
Improve error messages from Gitlab
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-notifications': patch
---
Added title to the Notifications' table. The title clearly states the filter selection and total count of messages. This change aligns the look and feel closer to other tables.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-notifications': patch
---
The "Created after" filter renamed to the "Sent out" based on the received users' feedback.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-react': patch
---
Ensure EntityDisplayName component link receives underline on hover.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-react': patch
---
Improve UI consistency of default catalog filters
+31 -1
View File
@@ -1,5 +1,5 @@
{
"mode": "pre",
"mode": "exit",
"tag": "next",
"initialVersions": {
"example-app": "0.2.102",
@@ -196,7 +196,9 @@
},
"changesets": [
"afraid-bananas-behave",
"afraid-carrots-greet",
"big-tips-heal",
"bright-buckets-laugh",
"bright-singers-do",
"chilled-taxis-dance",
"create-app-1729608704",
@@ -211,27 +213,37 @@
"forty-pets-wave",
"forty-spoons-burn",
"fresh-jeans-relate",
"friendly-hats-push",
"friendly-kids-judge",
"friendly-melons-shake",
"green-tools-arrive",
"grumpy-shoes-return",
"healthy-bags-jog",
"healthy-lions-judge",
"healthy-tables-wonder",
"heavy-mice-raise",
"heavy-phones-shave",
"hungry-cats-juggle",
"hungry-owls-sell",
"itchy-elephants-trade",
"khaki-fireants-march",
"late-kings-wave",
"lemon-gifts-crash",
"little-rivers-deny",
"loud-plants-dream",
"loud-trainers-yawn",
"lucky-bananas-eat",
"lucky-snakes-complain",
"mean-years-deliver",
"metal-files-itch",
"mighty-jobs-unite",
"mighty-spoons-suffer",
"neat-buttons-wait",
"ninety-panthers-provide",
"ninety-shirts-float",
"orange-moles-taste",
"perfect-goats-mate",
"pink-schools-shave",
"plenty-students-check",
"pretty-zebras-listen",
"purple-masks-swim",
@@ -240,6 +252,9 @@
"rare-trains-scream",
"red-fishes-press",
"renovate-3d822ce",
"renovate-4635182",
"renovate-6193787",
"renovate-7a33477",
"renovate-7b59eed",
"renovate-b2c2aaf",
"renovate-bcc9782",
@@ -247,7 +262,12 @@
"rotten-needles-relax",
"selfish-ads-count",
"selfish-spies-cough",
"serious-penguins-remain",
"seven-berries-listen",
"seven-hotels-move",
"shiny-falcons-fly",
"short-geckos-sniff",
"short-pots-remember",
"shy-clouds-brake",
"shy-pots-speak",
"shy-rats-hear",
@@ -255,23 +275,33 @@
"silly-kiwis-destroy",
"silver-ears-grin",
"silver-kings-sort",
"six-beds-exercise",
"slimy-jobs-scream",
"slimy-penguins-care",
"slow-mayflies-sleep",
"slow-shrimps-call",
"smart-bags-sell",
"soft-turkeys-tie",
"spotty-snails-worry",
"strange-clocks-pretend",
"strong-paws-change",
"swift-laws-applaud",
"ten-hats-appear",
"ten-pears-unite",
"tender-feet-scream",
"thick-trees-worry",
"three-mangos-dance",
"tough-onions-dance",
"tricky-crabs-lick",
"twelve-masks-call",
"two-donuts-float",
"unlucky-countries-shop",
"violet-ears-dance",
"violet-parrots-knock",
"warm-tomatoes-develop",
"wild-experts-unite",
"wise-avocados-behave",
"wise-snakes-sleep",
"witty-bobcats-push",
"witty-socks-repeat",
"yellow-horses-pretend",
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/cli': patch
'@backstage/repo-tools': patch
'@backstage/plugin-bitbucket-cloud-common': patch
---
Updated dependency `ts-morph` to `^24.0.0`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Updated dependency `css-loader` to `^7.0.0`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-github': patch
---
Fixed an issue in `GithubOrgEntityProvider` that caused an error when processing teams without a parent.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
This update adds the @backstage/repo-tools package to the versions.ts file, enabling proper version resolution for templates. The {{version '@backstage/repo-tools'}} placeholder now works as expected in the create-app process.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog': minor
---
Allow `OffsetPaginatedCatalogTable` to configure Table options and `CursorPaginatedCatalogTable` to configure `paginationPosition`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend': patch
---
Fixed an issue where entities would not be marked for restitching if only the target of a relationship changed.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
Use the main entrypoint for `create-app` installs
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-scaffolder-react': minor
'@backstage/plugin-scaffolder': minor
---
Fix `contextMenu` not being disabled bug in new scaffolder pages
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend': minor
---
Added `entity_ref` column to `final_entities` in order to move `refresh_state` away from the read path
+34
View File
@@ -0,0 +1,34 @@
---
'@backstage/plugin-auth-backend-module-cloudflare-access-provider': patch
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
'@backstage/plugin-catalog-backend-module-backstage-openapi': patch
'@backstage/plugin-catalog-backend-module-bitbucket-server': patch
'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
'@backstage/plugin-search-backend-module-elasticsearch': patch
'@backstage/plugin-catalog-backend-module-puppetdb': patch
'@backstage/plugin-catalog-backend-module-msgraph': patch
'@backstage/plugin-catalog-backend-module-gerrit': patch
'@backstage/plugin-catalog-backend-module-github': patch
'@backstage/plugin-catalog-backend-module-gitlab': patch
'@backstage/plugin-catalog-backend-module-azure': patch
'@backstage/plugin-catalog-backend-module-ldap': patch
'@backstage/plugin-catalog-backend-module-aws': patch
'@backstage/plugin-search-backend-module-pg': patch
'@backstage/plugin-notifications-backend': patch
'@backstage/backend-test-utils': patch
'@backstage/plugin-search-backend-node': patch
'@backstage/plugin-notifications-node': patch
'@backstage/plugin-scaffolder-backend': patch
'@backstage/backend-defaults': patch
'@backstage/plugin-permission-common': patch
'@backstage/backend-app-api': patch
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-signals-backend': patch
'@backstage/plugin-proxy-backend': patch
'@backstage/plugin-auth-backend': patch
'@backstage/plugin-signals-node': patch
'@backstage/plugin-auth-node': patch
'@backstage/plugin-signals': patch
---
Upgrade to uuid v11 internally
+14
View File
@@ -0,0 +1,14 @@
---
'@backstage/plugin-catalog-backend': minor
---
Drop redundant indices from the database.
The following redundant indices are removed in this version:
- `final_entities_entity_id_idx` - overlaps with `final_entities_pkey`
- `refresh_state_entity_id_idx` - overlaps with `refresh_state_pkey`
- `refresh_state_entity_ref_idx` - overlaps with `refresh_state_entity_ref_uniq`
- `search_key_idx` and `search_value_idx` - these were replaced by the composite index `search_key_value_idx` in #22594
No negative end user impact is expected, but rather that performance should increase due to less index churn.
+16
View File
@@ -0,0 +1,16 @@
---
'@backstage/plugin-search-backend-module-stack-overflow-collator': patch
'@backstage/plugin-scaffolder-backend-module-notifications': patch
'@backstage/plugin-auth-backend-module-aws-alb-provider': patch
'@backstage/plugin-auth-backend-module-guest-provider': patch
'@backstage/plugin-notifications-backend-module-email': patch
'@backstage/plugin-auth-backend-module-oidc-provider': patch
'@backstage/plugin-scaffolder-backend-module-yeoman': patch
'@backstage/plugin-notifications-node': patch
'@backstage/backend-app-api': patch
'@backstage/plugin-signals-node': patch
'@backstage/plugin-events-node': patch
'@backstage/cli': patch
---
Remove unused backend-common dependency
+1 -1
View File
@@ -225,7 +225,7 @@ jobs:
run: ls microsite/build && ls microsite/build/storybook
- name: Deploy both microsite and storybook to gh-pages
uses: JamesIves/github-pages-deploy-action@881db5376404c5c8d621010bcbec0310b58d5e29 # v4.6.8
uses: JamesIves/github-pages-deploy-action@62fec3add6773ec5dbbf18d2ee4260911aa35cf4 # v4.6.9
with:
branch: gh-pages
folder: microsite/build
+1 -1
View File
@@ -51,7 +51,7 @@ jobs:
- run: yarn build-storybook
- uses: chromaui/action@25f8ff36486472c2d6b5b02dc2d277f051a3ecdb # v11
- uses: chromaui/action@0efa3230f403b7848d5d65c6ce140b617fb68380 # v11
with:
token: ${{ secrets.GITHUB_TOKEN }}
# projectToken intentionally shared to allow collaborators to run Chromatic on forks
+1 -1
View File
@@ -276,4 +276,4 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/
| [Cigna](https://www.cigna.com/) / [Evernorth](https://www.evernorth.com/) | [@raphtalia](https://github.com/raphtalia), [Devon Paluso](mailto:Devon.Paluso@evernorth.com), [Bryan Rego](mailto:Bryan.Rego@evernorth.com), [Ian Skillings](mailto:Ian.Skillings@evernorth.com) | Internal developer portal providing TechDocs, software templates, centralized secret management, with information consolidation from ServiceNow, Okta, GitHub, GitLab, and WebEx. |
| [Infobip](https://www.infobip.com/) | [Antonio Ereiz](https://github.com/SonilPro) | Visual representation of all our entities registered within an existing internal catalog, along with a UI for editing their manifests. It serves as the go-to place for new internal tools that require a user interface and provides standardization of new components using Software Templates.
| [CloudScript](https://www.cloudscript.com.br/) | [Helias Rodrigues](https://github.com/xcloudscript) | We use it to centralize and organize the components of our internal development platform. In addition, it provides an integrated experience for developers by using all the core modules and some plugins.
| [Alauda](https://www.alauda.io/) | [Mario](https://github.com/mario-mui) | We use it to centralize and organize the components of our internal development platform. In addition, it provides environment templates for developers to create development testing or others environments
+1 -1
View File
@@ -20,4 +20,4 @@ metadata:
spec:
type: library
owner: CNCF
lifecycle: experimental
lifecycle: production
@@ -7,14 +7,14 @@ description: Architecture Decision Record (ADR) logs as a reference point for th
## Decision
A decision was made to store ADRs in a log in the project repository
A decision was made to store ADRs in a log in the project repository.
## Discussion
There is a need to store big decisions made in a log as a reference point for
the team, help with onboarding new members and give context to others interested
the team, help with onboarding new members, and give context to others interested
in the project.
## Risks
People stop adding ADRs to the log and context gets lost
People stop adding ADRs to the log and context gets lost.
@@ -7,9 +7,9 @@ description: Architecture Decision Record (ADR) log on Default Software Catalog
## Background
Backstage comes with a software catalog functionality, that you can use to track
Backstage comes with software catalog functionality that you can use to track
all your software components and more. It can be powered by data from various
sources, and one of them that is included with the package, is a custom database
sources, and one of them that is included with the package is a custom database
backed catalog. It has the ability to keep itself updated automatically based on
the contents of little descriptor files in your version control system of
choice. Developers create these files and maintain them side by side with their
@@ -21,15 +21,15 @@ This ADR describes the default format of these descriptor files.
Internally at Spotify, a homegrown software catalog system is used heavily and
forms a core part of Backstage and other important pieces of the infrastructure.
The user experience, learnings and certain pieces of metadata from that catalog
The user experience, learnings, and certain pieces of metadata from that catalog
are being carried over to the open source effort.
The file format described herein, also draws heavy inspiration from the
The file format described herein also draws heavy inspiration from the
[kubernetes object format](https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/).
### Core Concepts
There are a number of descriptor files, all of whose locations (e.g. within a
There are a number of descriptor files, all of whose locations (e.g., within a
version control system) are registered with the software catalog. The method of
registration is not covered in this document; it could happen either manually
inside Backstage, or by push events from a CI/CD pipelines, or by webhook
@@ -45,7 +45,7 @@ Entities have distinct names, and they may reference each other by those names.
## Format
Descriptor files use the [YAML](https://yaml.org/spec/1.2/spec.html) format.
They may be written by hand, or created using automated tools. Each file may
They may be written by hand or created using automated tools. Each file may
consist of several YAML documents (separated by `---`), where each document
describes a single entity.
@@ -71,7 +71,7 @@ spec:
```
The root fields `apiVersion`, `kind`, `metadata`, and `spec` are part of the
_envelope_, defining the overall structure of all kinds of entity. Likewise, the
_envelope_, defining the overall structure of all kinds of entities. Likewise, the
`name`, `namespace`, `labels`, and `annotations` metadata fields are of special
significance and have reserved purposes and distinct shapes.
@@ -87,23 +87,23 @@ The `kind` is the high level entity type being described, typically from the
[Backstage system model](https://github.com/backstage/backstage/issues/390). The
first versions of the catalog will focus on the `Component` kind.
The `apiVersion`is the version of specification format for that particular
The `apiVersion` is the version of the specification format for that particular
entity that this file is written against. The version is used for being able to
evolve the format, and the tuple of `apiVersion` and `kind` should be enough for
a parser to know how to interpret the contents of the rest of the document.
Backstage specific entities have an `apiVersion` that is prefixed with
`backstage.io/`, to distinguish them from other types of object that share the
`backstage.io/`, to distinguish them from other types of objects that share the
same type of structure. This may be relevant when co-hosting these
specifications with e.g. kubernetes object manifests.
specifications with, e.g., Kubernetes object manifests.
Early versions of the catalog will be using alpha/beta versions, e.g.
`backstage.io/v1alpha1`, to signal that the format may still change. After that,
Early versions of the catalog will be using alpha/beta versions, e.g.,
`backstage.io/v1alpha1` to signal that the format may still change. After that,
we will be using `backstage.io/v1` and up.
### `metadata`
A structure that contains metadata about the entity, i.e. things that aren't
A structure that contains metadata about the entity, i.e., things that aren't
directly part of the entity specification itself. See below for more details
about this structure.
@@ -142,40 +142,40 @@ Example: `visits-tracking-service`, `CircleciBuildsDs_avro_gcs`
### `namespace`
The `name` of a namespace that the entity belongs to. This field is optional,
The `name` of a namespace that the entity belongs to. This field is optional
and currently has no special semantics apart from bounding the name uniqueness
constraint if specified. It is reserved for future use and may get broader
semantic implication.
Namespaces may also be part of the catalog, and are `v1` / `Namespace` entities,
i.e. not Backstage specific but the same as in Kubernetes.
Namespaces may also be part of the catalog and are `v1` / `Namespace` entities,
i.e., not Backstage specific but the same as in Kubernetes.
### `description`
A human readable description of the entity, to be shown in Backstage. Should be
A human readable description of the entity to be shown in Backstage. Should be
kept short and informative, suitable to give an overview of the entity's purpose
at a glance. More detailed explanations and documentation should be placed
elsewhere.
### `labels`
Labels are optional key/value pairs of that are attached to the entity, and
Labels are optional key/value pairs that are attached to the entity, and
their use is identical to
[kubernetes object labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/).
Their main purpose is for references to other entities, and for information that
Their main purpose is for references to other entities and for information that
is in one way or another classifying for the current entity. They are often used
as values in queries or filters.
Both the key and the value are strings, subject to the following restrictions.
Keys have an optional prefix followed by a slash, and then the name part which
Keys have an optional prefix followed by a slash, and then the name part, which
is required. The prefix must be a valid lowercase domain name, at most 253
characters in total. The name part must be sequences of `[a-zA-Z0-9]` separated
by any of `[-_.]`, at most 63 characters in total.
The `backstage.io/` prefix is reserved for use by Backstage core components.
Some keys such as `system` also have predefined semantics.
Some keys, such as `system` also have predefined semantics.
Values are strings that follow the same restrictions as `name` above.
@@ -186,19 +186,19 @@ identical in use to
[kubernetes object annotations](https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/).
Their purpose is mainly, but not limited, to reference into external systems.
This could for example be a reference to the git ref the entity was ingested
This could, for example, be a reference to the git ref the entity was ingested
from, to monitoring and logging systems, to pagerduty schedules, etc.
Both the key and the value are strings, subject to the following restrictions.
Keys have an optional prefix followed by a slash, and then the name part which
Keys have an optional prefix followed by a slash, and then the name part, which
is required. The prefix must be a valid lowercase domain name, at most 253
characters in total. The name part must be sequences of `[a-zA-Z0-9]` separated
by any of `[-_.]`, at most 63 characters in total.
The `backstage.io/` prefix is reserved for use by Backstage core components.
Values can be of any length, but are limited to being strings.
Values can be of any length but are limited to being strings.
## Component
@@ -16,7 +16,7 @@ thing well". The module would be consumed
structure.
Now, `ESModules` are the primary authoring format. They have numerous benefits,
such as compile-time verification of exports, and standards-defined semantics.
such as compile-time verification of exports and standards-defined semantics.
They have a similar mechanism known as "default exports", which allows for a
consumer to `import localName from 'the-module';`. This is implicitly the same
as `import { default as localName } from 'the-module';`.
@@ -43,8 +43,8 @@ A summary:
Using named exports helps prevent needing to rename symbols, which has myriad
benefits. A few are:
- IDE tools like "Find All References" and "Go To Definition" function
- Manual codebase searching ("grep", etc) is easier with a unique symbol
- IDE tools like "Find All References" and the "Go To Definition" function.
- Manual codebase searching ("grep", etc) is easier with a unique symbol.
## Decision
@@ -45,8 +45,8 @@ Of these, only `name` is always required. Optionality of `kind` and `namespace`
are contextual, and they may or may not have default contextual fallback values.
All other possible key values in this structure are reserved for future use.
A system or user wanting to express a full entity name that is always valid,
shall supply the entire triplet whether using the string form or the compound
A system or user wanting to express a full entity name that is always valid
shall supply the entire triplet, whether using the string form or the compound
form.
A full description of the format can be found
@@ -62,7 +62,7 @@ containing the reference shall take the following form:
```
All three parts are required under all circumstances. The default value for the
`namespace` in the catalog is the string `"default"`, if the entity does not
`namespace` in the catalog is the string `"default"` if the entity does not
specify one explicitly in `metadata.namespace`.
This means that we do not encourage the string form of entity references to be
@@ -204,7 +204,8 @@ It can be configured with the `stitchingStrategy` app-config parameter.
```yaml title="app-config.yaml"
catalog:
stitchingStrategy: immediate
stitchingStrategy:
mode: immediate
```
For the `deferred` mode you can set up additional parameters to further tune the process,
@@ -217,9 +218,10 @@ These parameters accept a duration object, similar to the `processingInterval` p
```yaml title="app-config.yaml"
catalog:
stitchingStrategy: deferred
pollingInterval: { seconds: 1 }
stitchTimeout: { minutes: 1 };
stitchingStrategy:
mode: deferred
pollingInterval: { seconds: 1 }
stitchTimeout: { minutes: 1 };
```
## Subscribing to Catalog Errors
@@ -33,6 +33,9 @@ import React from 'react';
import { FieldExtensionComponentProps } from '@backstage/plugin-scaffolder-react';
import type { FieldValidation } from '@rjsf/utils';
import FormControl from '@material-ui/core/FormControl';
import FormHelperText from '@material-ui/core/FormHelperText';
import Input from '@material-ui/core/Input';
import InputLabel from '@material-ui/core/InputLabel';
/*
This is the actual component that will get rendered in the form
*/
@@ -714,7 +714,7 @@ how to use them in the Scaffolder templates. It's important to mention that Back
native filters from the Nunjucks library. For a complete list of these native filters and their usage,
refer to the [Nunjucks documentation](https://mozilla.github.io/nunjucks/templating.html#builtin-filters).
To create your own custom filters, look to the section [Custom Filters](#custom-filters) hereafter.
To create your own custom filters, look to the section [Custom Filters and Globals](#custom-filters-and-globals) hereafter.
### parseRepoUrl
+16 -5
View File
@@ -600,7 +600,7 @@ Note: To refer external diagram files, we need to include the diagrams directory
## How to add Mermaid support in TechDocs
There are two options for adding Mermaid support in TechDocs: using [Kroki](https://kroki.io) or by using [markdown-inline-mermaid](https://github.com/johanneswuerbach/markdown-inline-mermaid). We currently use `markdown-inline-mermaid` for the [Mermaid example on the Demo site](https://demo.backstage.io/docs/default/component/backstage-demo/examples/mermaid/).
There are a few options for adding Mermaid support in TechDocs: using [Kroki](https://kroki.io) or [markdown-inline-mermaid](https://github.com/johanneswuerbach/markdown-inline-mermaid) to generate the diagrams at build time, or the [`backstage-plugin-techdocs-addon-mermaid`](https://github.com/johanneswuerbach/backstage-plugin-techdocs-addon-mermaid) plugin to generate the diagram in the browser. We currently use `backstage-plugin-techdocs-addon-mermaid` plugin for the [Mermaid example on the Demo site](https://demo.backstage.io/docs/default/component/backstage-demo/examples/mermaid/).
### Using Kroki
@@ -706,16 +706,23 @@ Done! Now you have a support of the following diagrams along with mermaid:
To use `markdown-inline-mermaid` to generate your Mermaid diagrams in TechDocs you'll need to do the following:
1. In your Dockerfile you will need to make sure you install `markdown-inline-mermaid` like this: `RUN pip3 install mkdocs-techdocs-core markdown-inline-mermaid`
2. You will also need to install the `@mermaid-js/mermaid-cli`, to do that add this: `RUN yarn global add @mermaid-js/mermaid-cli`
3. Now in your `mkdocs.yml` file you will need to add the following section (this is at the root level like `plugins` which you should already have):
1. In your Dockerfile you will need to make sure you install `markdown-inline-mermaid` and its dependencies, you will also need to install the `@mermaid-js/mermaid-cli`:
```dockerfile title="Dockerfile"
RUN apt-get install -y chromium
RUN pip3 install mkdocs-techdocs-core markdown-inline-mermaid
RUN npm install -g @mermaid-js/mermaid-cli
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
```
2. Now in your `mkdocs.yml` file you will need to add the following section (this is at the root level like `plugins` which you should already have):
```yaml title="mkdocs.yml"
markdown_extensions:
- markdown_inline_mermaid
```
4. With this in place you can now add Mermaid diagrams in your Markdown files like this:
3. With this in place you can now add Mermaid diagrams in your Markdown files like this:
````md
```mermaid
@@ -726,6 +733,10 @@ To use `markdown-inline-mermaid` to generate your Mermaid diagrams in TechDocs y
```
````
### Using the `backstage-plugin-techdocs-addon-mermaid` plugin
Please follow the [Getting Started](https://github.com/johanneswuerbach/backstage-plugin-techdocs-addon-mermaid?tab=readme-ov-file#getting-started) instructions in the plugin's README.
## How to implement a hybrid build strategy
One limitation of the [Recommended deployment](./architecture.md#recommended-deployment) is that
File diff suppressed because it is too large Load Diff
+8
View File
@@ -66,6 +66,14 @@ You can now start your Backstage instance as usual, using `yarn dev`.
## Production Setup
In your `.dockerignore`, add this line:
```
!packages/backend/src/instrumentation.js
```
This ensures that Docker build will not ignore the instrumentation file if you are following the recommended `.dockerignore` setup.
In your `Dockerfile`, copy `instrumentation.js` file into the root of the working directory.
```Dockerfile
+14
View File
@@ -0,0 +1,14 @@
---
title: Daytona
author: Daytona
authorUrl: https://www.daytona.io/
category: Development
description: Open Source Development Environment Manager
documentation: https://github.com/daytonaio/backstage-plugins/tree/main/plugins/daytona
iconUrl: /img/daytona.svg
npmPackageName: '@daytonaio/backstage-plugin-daytona'
tags:
- Development
- Tools
- Productivity
addedDate: '2024-11-02'
+62
View File
@@ -0,0 +1,62 @@
<svg
width="24"
height="24"
viewBox="0 0 211 220"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<rect
x="11.1428"
y="149.025"
width="76.2474"
height="26.1421"
fill="currentColor"
/>
<rect
x="113.522"
y="57.5287"
width="87.1399"
height="26.1421"
fill="currentColor"
/>
<rect
width="91.4971"
height="26.142"
transform="matrix(0.707105 -0.707108 0.707105 0.707108 67.7737 65.5858)"
fill="currentColor"
/>
<rect
width="70.2691"
height="26.142"
transform="matrix(-0.707105 -0.707108 -0.707105 0.707108 68.1729 130.941)"
fill="currentColor"
/>
<rect
width="74.0691"
height="26.142"
transform="matrix(-0.707105 0.707108 -0.707105 -0.707108 133.532 167.511)"
fill="currentColor"
/>
<rect
width="82.7831"
height="26.142"
transform="matrix(0.707105 0.707108 0.707105 -0.707108 133.133 102.156)"
fill="currentColor"
/>
<rect
x="67.7737"
y="37.9226"
width="63.1767"
height="26.142"
transform="rotate(90 67.7737 37.9226)"
fill="currentColor"
/>
<rect
x="159.278"
y="129.419"
width="78.4262"
height="26.142"
transform="rotate(90 159.278 129.419)"
fill="currentColor"
/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

+56 -56
View File
@@ -2861,92 +2861,92 @@ __metadata:
languageName: node
linkType: hard
"@swc/core-darwin-arm64@npm:1.8.0":
version: 1.8.0
resolution: "@swc/core-darwin-arm64@npm:1.8.0"
"@swc/core-darwin-arm64@npm:1.9.2":
version: 1.9.2
resolution: "@swc/core-darwin-arm64@npm:1.9.2"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@swc/core-darwin-x64@npm:1.8.0":
version: 1.8.0
resolution: "@swc/core-darwin-x64@npm:1.8.0"
"@swc/core-darwin-x64@npm:1.9.2":
version: 1.9.2
resolution: "@swc/core-darwin-x64@npm:1.9.2"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@swc/core-linux-arm-gnueabihf@npm:1.8.0":
version: 1.8.0
resolution: "@swc/core-linux-arm-gnueabihf@npm:1.8.0"
"@swc/core-linux-arm-gnueabihf@npm:1.9.2":
version: 1.9.2
resolution: "@swc/core-linux-arm-gnueabihf@npm:1.9.2"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
"@swc/core-linux-arm64-gnu@npm:1.8.0":
version: 1.8.0
resolution: "@swc/core-linux-arm64-gnu@npm:1.8.0"
"@swc/core-linux-arm64-gnu@npm:1.9.2":
version: 1.9.2
resolution: "@swc/core-linux-arm64-gnu@npm:1.9.2"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
"@swc/core-linux-arm64-musl@npm:1.8.0":
version: 1.8.0
resolution: "@swc/core-linux-arm64-musl@npm:1.8.0"
"@swc/core-linux-arm64-musl@npm:1.9.2":
version: 1.9.2
resolution: "@swc/core-linux-arm64-musl@npm:1.9.2"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
"@swc/core-linux-x64-gnu@npm:1.8.0":
version: 1.8.0
resolution: "@swc/core-linux-x64-gnu@npm:1.8.0"
"@swc/core-linux-x64-gnu@npm:1.9.2":
version: 1.9.2
resolution: "@swc/core-linux-x64-gnu@npm:1.9.2"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"@swc/core-linux-x64-musl@npm:1.8.0":
version: 1.8.0
resolution: "@swc/core-linux-x64-musl@npm:1.8.0"
"@swc/core-linux-x64-musl@npm:1.9.2":
version: 1.9.2
resolution: "@swc/core-linux-x64-musl@npm:1.9.2"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
"@swc/core-win32-arm64-msvc@npm:1.8.0":
version: 1.8.0
resolution: "@swc/core-win32-arm64-msvc@npm:1.8.0"
"@swc/core-win32-arm64-msvc@npm:1.9.2":
version: 1.9.2
resolution: "@swc/core-win32-arm64-msvc@npm:1.9.2"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"@swc/core-win32-ia32-msvc@npm:1.8.0":
version: 1.8.0
resolution: "@swc/core-win32-ia32-msvc@npm:1.8.0"
"@swc/core-win32-ia32-msvc@npm:1.9.2":
version: 1.9.2
resolution: "@swc/core-win32-ia32-msvc@npm:1.9.2"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"@swc/core-win32-x64-msvc@npm:1.8.0":
version: 1.8.0
resolution: "@swc/core-win32-x64-msvc@npm:1.8.0"
"@swc/core-win32-x64-msvc@npm:1.9.2":
version: 1.9.2
resolution: "@swc/core-win32-x64-msvc@npm:1.9.2"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"@swc/core@npm:^1.3.46, @swc/core@npm:^1.7.39":
version: 1.8.0
resolution: "@swc/core@npm:1.8.0"
version: 1.9.2
resolution: "@swc/core@npm:1.9.2"
dependencies:
"@swc/core-darwin-arm64": 1.8.0
"@swc/core-darwin-x64": 1.8.0
"@swc/core-linux-arm-gnueabihf": 1.8.0
"@swc/core-linux-arm64-gnu": 1.8.0
"@swc/core-linux-arm64-musl": 1.8.0
"@swc/core-linux-x64-gnu": 1.8.0
"@swc/core-linux-x64-musl": 1.8.0
"@swc/core-win32-arm64-msvc": 1.8.0
"@swc/core-win32-ia32-msvc": 1.8.0
"@swc/core-win32-x64-msvc": 1.8.0
"@swc/core-darwin-arm64": 1.9.2
"@swc/core-darwin-x64": 1.9.2
"@swc/core-linux-arm-gnueabihf": 1.9.2
"@swc/core-linux-arm64-gnu": 1.9.2
"@swc/core-linux-arm64-musl": 1.9.2
"@swc/core-linux-x64-gnu": 1.9.2
"@swc/core-linux-x64-musl": 1.9.2
"@swc/core-win32-arm64-msvc": 1.9.2
"@swc/core-win32-ia32-msvc": 1.9.2
"@swc/core-win32-x64-msvc": 1.9.2
"@swc/counter": ^0.1.3
"@swc/types": ^0.1.14
"@swc/types": ^0.1.15
peerDependencies:
"@swc/helpers": "*"
dependenciesMeta:
@@ -2973,7 +2973,7 @@ __metadata:
peerDependenciesMeta:
"@swc/helpers":
optional: true
checksum: 8b62e6399943ef930cd32dd4e34de475baa62be7873ee0d4f89a1c4784e441df1373d9df6dda1c00203cda9907af347329e32874059ff00bed004de1cfc373a1
checksum: 325afca1473e371804cc420d096553a0c6b19d01296b46b23e3b75a797c8b139c712ad79bc5c876cfc6d7bd6d60014a9f81286a2e888e94f0dec70903893f0b6
languageName: node
linkType: hard
@@ -3094,12 +3094,12 @@ __metadata:
languageName: node
linkType: hard
"@swc/types@npm:^0.1.14":
version: 0.1.14
resolution: "@swc/types@npm:0.1.14"
"@swc/types@npm:^0.1.15":
version: 0.1.15
resolution: "@swc/types@npm:0.1.15"
dependencies:
"@swc/counter": ^0.1.3
checksum: d7f198e1a07f4dbcff62a9823dfa81703e0029a908a02f9e9bfb9f18bc259c05b780f3385d36ec220e86a107dd6908f96bdc50319699bd34bf04b01d9adb5d5b
checksum: 19889eed42d28f5dcef7c16f3b0cf4375890984b106aca46d9455d1f5ba364156d206a8e1f73962718ee408ff9e460b84aaa79025bf8dc30e0d6ded471e1e2d2
languageName: node
linkType: hard
@@ -6998,10 +6998,10 @@ __metadata:
languageName: node
linkType: hard
"immutable@npm:^4.0.0":
version: 4.2.2
resolution: "immutable@npm:4.2.2"
checksum: 4d6437ea9388fe8ceca7eed5c768cf438cda7fa14d2831b87b90aa00cc60d536964d107c255b8a2e5dbf4f44a0e1295afbb9d1f0a65fb4f57b936e71df601862
"immutable@npm:^5.0.2":
version: 5.0.2
resolution: "immutable@npm:5.0.2"
checksum: 4adbd70580c78fafa7e367473e4f307f78f6768372ef464d45ba55f670b7f61d92c71461da571d80011544b61416d3dee0132736d9b592f33dcfa86e43bdd8f1
languageName: node
linkType: hard
@@ -10857,19 +10857,19 @@ __metadata:
linkType: hard
"sass@npm:^1.57.1":
version: 1.80.6
resolution: "sass@npm:1.80.6"
version: 1.81.0
resolution: "sass@npm:1.81.0"
dependencies:
"@parcel/watcher": ^2.4.1
chokidar: ^4.0.0
immutable: ^4.0.0
immutable: ^5.0.2
source-map-js: ">=0.6.2 <2.0.0"
dependenciesMeta:
"@parcel/watcher":
optional: true
bin:
sass: sass.js
checksum: 1a81e0fe093ff9109228b5dc1ea2ad64d3fb0e266d968e664a52aca059dd448fbe9a90d9a5a7518e5f31fd1087149ea349bf6fe1271ab15075b7a145c1bea0c9
checksum: 93db5b342c3b0449af2b08123ed4c0793643bd3a30f78e4e0686a1aa991ad640e0d9bc8da09aa5d7ff313bbd317b3be9c827cca60fb33b07d9f4b14b001eccfe
languageName: node
linkType: hard
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "root",
"version": "1.33.0-next.2",
"version": "1.33.0-next.3",
"private": true,
"repository": {
"type": "git",
+11
View File
@@ -1,5 +1,16 @@
# @backstage/app-defaults
## 1.5.13-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.16.0-next.2
- @backstage/core-app-api@1.15.1
- @backstage/core-plugin-api@1.10.0
- @backstage/theme@0.6.1-next.0
- @backstage/plugin-permission-react@0.4.27
## 1.5.13-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/app-defaults",
"version": "1.5.13-next.1",
"version": "1.5.13-next.2",
"description": "Provides the default wiring of a Backstage App",
"backstage": {
"role": "web-library"
@@ -1,5 +1,13 @@
# app-next-example-plugin
## 0.0.17-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.16.0-next.2
- @backstage/frontend-plugin-api@0.9.1-next.2
## 0.0.17-next.1
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "app-next-example-plugin",
"version": "0.0.17-next.1",
"version": "0.0.17-next.2",
"description": "Backstage internal example plugin",
"backstage": {
"role": "frontend-plugin",
+45
View File
@@ -1,5 +1,50 @@
# example-app-next
## 0.0.17-next.3
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog@1.25.0-next.3
- @backstage/cli@0.29.0-next.3
- @backstage/plugin-search@1.4.19-next.3
- @backstage/plugin-techdocs@1.11.1-next.3
- @backstage/plugin-scaffolder-react@1.14.0-next.3
- @backstage/plugin-scaffolder@1.27.0-next.3
- @backstage/core-components@0.16.0-next.2
- @backstage/plugin-catalog-react@1.14.1-next.3
- @backstage/core-compat-api@0.3.2-next.2
- @backstage/plugin-api-docs@0.11.12-next.3
- @backstage/plugin-catalog-graph@0.4.12-next.3
- @backstage/plugin-catalog-import@0.12.6-next.3
- @backstage/plugin-org@0.6.32-next.3
- @backstage/plugin-user-settings@0.8.15-next.3
- @backstage/app-defaults@1.5.13-next.2
- @backstage/catalog-model@1.7.0
- @backstage/config@1.2.0
- @backstage/core-app-api@1.15.1
- @backstage/core-plugin-api@1.10.0
- @backstage/frontend-app-api@0.10.1-next.2
- @backstage/frontend-defaults@0.1.2-next.2
- @backstage/frontend-plugin-api@0.9.1-next.2
- @backstage/integration-react@1.2.0
- @backstage/theme@0.6.1-next.0
- @backstage/plugin-app@0.1.2-next.2
- @backstage/plugin-app-visualizer@0.1.12-next.3
- @backstage/plugin-auth-react@0.1.8-next.2
- @backstage/plugin-catalog-common@1.1.0
- @backstage/plugin-catalog-unprocessed-entities@0.2.10-next.2
- @backstage/plugin-home@0.8.1-next.3
- @backstage/plugin-kubernetes@0.12.0-next.3
- @backstage/plugin-kubernetes-cluster@0.0.18-next.3
- @backstage/plugin-notifications@0.3.3-next.2
- @backstage/plugin-permission-react@0.4.27
- @backstage/plugin-search-common@1.2.14
- @backstage/plugin-search-react@1.8.2-next.2
- @backstage/plugin-signals@0.0.12-next.2
- @backstage/plugin-techdocs-module-addons-contrib@1.1.17-next.2
- @backstage/plugin-techdocs-react@1.2.10-next.2
## 0.0.17-next.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-app-next",
"version": "0.0.17-next.2",
"version": "0.0.17-next.3",
"backstage": {
"role": "frontend"
},
+41
View File
@@ -1,5 +1,46 @@
# example-app
## 0.2.103-next.3
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog@1.25.0-next.3
- @backstage/cli@0.29.0-next.3
- @backstage/plugin-search@1.4.19-next.3
- @backstage/plugin-techdocs@1.11.1-next.3
- @backstage/plugin-scaffolder-react@1.14.0-next.3
- @backstage/plugin-scaffolder@1.27.0-next.3
- @backstage/core-components@0.16.0-next.2
- @backstage/plugin-catalog-react@1.14.1-next.3
- @backstage/plugin-api-docs@0.11.12-next.3
- @backstage/plugin-catalog-graph@0.4.12-next.3
- @backstage/plugin-catalog-import@0.12.6-next.3
- @backstage/plugin-org@0.6.32-next.3
- @backstage/plugin-user-settings@0.8.15-next.3
- @backstage/app-defaults@1.5.13-next.2
- @backstage/catalog-model@1.7.0
- @backstage/config@1.2.0
- @backstage/core-app-api@1.15.1
- @backstage/core-plugin-api@1.10.0
- @backstage/frontend-app-api@0.10.1-next.2
- @backstage/integration-react@1.2.0
- @backstage/theme@0.6.1-next.0
- @backstage/plugin-auth-react@0.1.8-next.2
- @backstage/plugin-catalog-common@1.1.0
- @backstage/plugin-catalog-unprocessed-entities@0.2.10-next.2
- @backstage/plugin-devtools@0.1.20-next.2
- @backstage/plugin-home@0.8.1-next.3
- @backstage/plugin-kubernetes@0.12.0-next.3
- @backstage/plugin-kubernetes-cluster@0.0.18-next.3
- @backstage/plugin-notifications@0.3.3-next.2
- @backstage/plugin-permission-react@0.4.27
- @backstage/plugin-search-common@1.2.14
- @backstage/plugin-search-react@1.8.2-next.2
- @backstage/plugin-signals@0.0.12-next.2
- @backstage/plugin-techdocs-module-addons-contrib@1.1.17-next.2
- @backstage/plugin-techdocs-react@1.2.10-next.2
## 0.2.103-next.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-app",
"version": "0.2.103-next.2",
"version": "0.2.103-next.3",
"backstage": {
"role": "frontend"
},
@@ -13,12 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { EntityLayout, catalogPlugin } from '@backstage/plugin-catalog';
import {
EntityProvider,
starredEntitiesApiRef,
MockStarredEntitiesApi,
catalogApiRef,
} from '@backstage/plugin-catalog-react';
import { permissionApiRef } from '@backstage/plugin-permission-react';
import {
@@ -28,6 +28,7 @@ import {
} from '@backstage/test-utils';
import React from 'react';
import { cicdContent } from './EntityPage';
import { catalogApiMock } from '@backstage/plugin-catalog-react/testUtils';
describe('EntityPage Test', () => {
const entity = {
@@ -55,6 +56,7 @@ describe('EntityPage Test', () => {
apis={[
[starredEntitiesApiRef, new MockStarredEntitiesApi()],
[permissionApiRef, mockApis.permission()],
[catalogApiRef, catalogApiMock()],
]}
>
<EntityProvider entity={entity}>
@@ -85,15 +85,14 @@ const customEntityFilterKind = ['Component', 'API', 'System'];
const EntityLayoutWrapper = (props: { children?: ReactNode }) => {
return (
<>
<EntityLayout
UNSTABLE_contextMenuOptions={{
disableUnregister: 'visible',
}}
>
{props.children}
</EntityLayout>
</>
<EntityLayout
parentEntityRelations={['partOf', 'memberOf', 'childOf']}
UNSTABLE_contextMenuOptions={{
disableUnregister: 'visible',
}}
>
{props.children}
</EntityLayout>
);
};
+1 -2
View File
@@ -50,7 +50,6 @@
"test": "backstage-cli package test"
},
"dependencies": {
"@backstage/backend-common": "^0.25.0",
"@backstage/backend-plugin-api": "workspace:^",
"@backstage/cli-common": "workspace:^",
"@backstage/config": "workspace:^",
@@ -80,7 +79,7 @@
"selfsigned": "^2.0.0",
"stoppable": "^1.1.0",
"triple-beam": "^1.4.1",
"uuid": "^9.0.0",
"uuid": "^11.0.0",
"winston": "^3.2.1",
"winston-transport": "^4.5.0"
},
+21
View File
@@ -1,5 +1,26 @@
# @backstage/backend-defaults
## 0.5.3-next.3
### Patch Changes
- ecf6b39: Use `node-fetch` instead of native fetch, as per https://backstage.io/docs/architecture-decisions/adrs-adr013
- Updated dependencies
- @backstage/integration-aws-node@0.1.13-next.0
- @backstage/plugin-events-node@0.4.5-next.3
- @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/types@1.1.1
- @backstage/plugin-auth-node@0.5.4-next.2
- @backstage/plugin-permission-node@0.8.5-next.2
## 0.5.3-next.2
### Patch Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/backend-defaults",
"version": "0.5.3-next.2",
"version": "0.5.3-next.3",
"description": "Backend defaults used by Backstage backend apps",
"backstage": {
"role": "node-library"
@@ -178,7 +178,7 @@
"stoppable": "^1.1.0",
"tar": "^6.1.12",
"triple-beam": "^1.4.1",
"uuid": "^9.0.0",
"uuid": "^11.0.0",
"winston": "^3.2.1",
"winston-transport": "^4.5.0",
"yauzl": "^3.0.0",
@@ -1,5 +1,30 @@
# @backstage/backend-dynamic-feature-service
## 0.5.0-next.3
### Patch Changes
- Updated dependencies
- @backstage/plugin-events-node@0.4.5-next.3
- @backstage/plugin-events-backend@0.3.16-next.3
- @backstage/plugin-catalog-backend@1.28.0-next.3
- @backstage/backend-defaults@0.5.3-next.3
- @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-auth-node@0.5.4-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.3
- @backstage/plugin-search-backend-node@1.3.5-next.3
- @backstage/plugin-search-common@1.2.14
## 0.5.0-next.2
### Minor Changes
@@ -1,6 +1,6 @@
{
"name": "@backstage/backend-dynamic-feature-service",
"version": "0.5.0-next.2",
"version": "0.5.0-next.3",
"description": "Backstage dynamic feature service",
"backstage": {
"role": "node-library"
+41
View File
@@ -1,5 +1,46 @@
# example-backend-legacy
## 0.2.104-next.3
### Patch Changes
- Updated dependencies
- @backstage/plugin-events-node@0.4.5-next.3
- @backstage/plugin-events-backend@0.3.16-next.3
- @backstage/plugin-catalog-backend@1.28.0-next.3
- @backstage/backend-defaults@0.5.3-next.3
- @backstage/plugin-scaffolder-backend@1.27.0-next.3
- @backstage/backend-plugin-api@1.0.2-next.2
- @backstage/catalog-client@1.8.0-next.1
- @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-auth-backend@0.24.0-next.2
- @backstage/plugin-auth-node@0.5.4-next.2
- @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.2.2-next.3
- @backstage/plugin-catalog-backend-module-unprocessed@0.5.2-next.2
- @backstage/plugin-catalog-node@1.14.0-next.2
- @backstage/plugin-devtools-backend@0.4.2-next.2
- @backstage/plugin-kubernetes-backend@0.19.0-next.3
- @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.3
- @backstage/plugin-scaffolder-backend-module-gitlab@0.6.1-next.3
- @backstage/plugin-scaffolder-backend-module-rails@0.5.2-next.3
- @backstage/plugin-search-backend@1.7.0-next.3
- @backstage/plugin-search-backend-module-catalog@0.2.5-next.3
- @backstage/plugin-search-backend-module-elasticsearch@1.6.2-next.3
- @backstage/plugin-search-backend-module-explore@0.2.5-next.3
- @backstage/plugin-search-backend-module-pg@0.5.38-next.3
- @backstage/plugin-search-backend-module-techdocs@0.3.2-next.3
- @backstage/plugin-search-backend-node@1.3.5-next.3
- @backstage/plugin-signals-backend@0.2.3-next.3
- @backstage/plugin-signals-node@0.1.14-next.3
- @backstage/plugin-techdocs-backend@1.11.2-next.3
## 0.2.104-next.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-backend-legacy",
"version": "0.2.104-next.2",
"version": "0.2.104-next.3",
"backstage": {
"role": "backend"
},
+14
View File
@@ -1,5 +1,19 @@
# @backstage/backend-test-utils
## 1.1.0-next.3
### Patch Changes
- Updated dependencies
- @backstage/plugin-events-node@0.4.5-next.3
- @backstage/backend-defaults@0.5.3-next.3
- @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
- @backstage/plugin-auth-node@0.5.4-next.2
## 1.1.0-next.2
### Minor Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/backend-test-utils",
"version": "1.1.0-next.2",
"version": "1.1.0-next.3",
"description": "Test helpers library for Backstage backends",
"backstage": {
"role": "node-library"
@@ -70,7 +70,7 @@
"pg-connection-string": "^2.3.0",
"testcontainers": "^10.0.0",
"textextensions": "^5.16.0",
"uuid": "^9.0.0",
"uuid": "^11.0.0",
"yn": "^4.0.0"
},
"devDependencies": {
+38
View File
@@ -1,5 +1,43 @@
# example-backend
## 0.0.32-next.3
### Patch Changes
- Updated dependencies
- @backstage/plugin-events-backend@0.3.16-next.3
- @backstage/plugin-catalog-backend@1.28.0-next.3
- @backstage/backend-defaults@0.5.3-next.3
- @backstage/plugin-scaffolder-backend@1.27.0-next.3
- @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@0.24.0-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-auth-node@0.5.4-next.2
- @backstage/plugin-catalog-backend-module-backstage-openapi@0.4.2-next.2
- @backstage/plugin-catalog-backend-module-openapi@0.2.4-next.3
- @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.2.2-next.3
- @backstage/plugin-catalog-backend-module-unprocessed@0.5.2-next.2
- @backstage/plugin-devtools-backend@0.4.2-next.2
- @backstage/plugin-kubernetes-backend@0.19.0-next.3
- @backstage/plugin-notifications-backend@0.4.3-next.3
- @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-github@0.5.2-next.3
- @backstage/plugin-scaffolder-backend-module-notifications@0.1.3-next.3
- @backstage/plugin-search-backend@1.7.0-next.3
- @backstage/plugin-search-backend-module-catalog@0.2.5-next.3
- @backstage/plugin-search-backend-module-explore@0.2.5-next.3
- @backstage/plugin-search-backend-module-techdocs@0.3.2-next.3
- @backstage/plugin-search-backend-node@1.3.5-next.3
- @backstage/plugin-signals-backend@0.2.3-next.3
- @backstage/plugin-techdocs-backend@1.11.2-next.3
## 0.0.32-next.2
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "example-backend",
"version": "0.0.32-next.2",
"version": "0.0.32-next.3",
"backstage": {
"role": "backend"
},
@@ -63,8 +63,8 @@
"@backstage/plugin-signals-backend": "workspace:^",
"@backstage/plugin-techdocs-backend": "workspace:^",
"@opentelemetry/auto-instrumentations-node": "^0.52.0",
"@opentelemetry/exporter-prometheus": "^0.53.0",
"@opentelemetry/sdk-node": "^0.53.0",
"@opentelemetry/exporter-prometheus": "^0.54.0",
"@opentelemetry/sdk-node": "^0.54.0",
"example-app": "link:../app"
},
"devDependencies": {
+26
View File
@@ -1,5 +1,31 @@
# @backstage/cli
## 0.29.0-next.3
### Minor Changes
- d849865: 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.
### Patch Changes
- 4a378d3: Fix dev server reloads of plugin discovery for new frontend system.
- 6c48ebd: Add `--max-warnings -1` support to `backstage-cli package lint`
- 23f1da2: Updated dependency `ts-morph` to `^24.0.0`.
- b533056: Updated dependency `css-loader` to `^7.0.0`.
- be008c3: Updated dependency `@module-federation/enhanced` to `^0.7.0`.
- 09ea093: Fixed an issue where `.css` style injection would fail for published packages.
- 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.2
### Minor Changes
+3 -4
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/cli",
"version": "0.29.0-next.2",
"version": "0.29.0-next.3",
"description": "CLI for developing Backstage plugins and apps",
"backstage": {
"role": "cli"
@@ -88,7 +88,7 @@
"commander": "^12.0.0",
"cross-fetch": "^4.0.0",
"cross-spawn": "^7.0.3",
"css-loader": "^6.5.1",
"css-loader": "^7.0.0",
"ctrlc-windows": "^2.1.0",
"esbuild": "^0.24.0",
"esbuild-loader": "^4.0.0",
@@ -147,7 +147,7 @@
"swc-loader": "^0.2.3",
"tar": "^6.1.12",
"terser-webpack-plugin": "^5.1.3",
"ts-morph": "^23.0.0",
"ts-morph": "^24.0.0",
"util": "^0.12.3",
"webpack": "^5.94.0",
"webpack-dev-server": "^5.0.0",
@@ -158,7 +158,6 @@
"zod": "^3.22.4"
},
"devDependencies": {
"@backstage/backend-common": "^0.25.0",
"@backstage/backend-plugin-api": "workspace:^",
"@backstage/backend-test-utils": "workspace:^",
"@backstage/catalog-client": "workspace:^",
+9
View File
@@ -1,5 +1,14 @@
# @backstage/core-compat-api
## 0.3.2-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-plugin-api@1.10.0
- @backstage/frontend-plugin-api@0.9.1-next.2
- @backstage/version-bridge@1.0.10
## 0.3.2-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/core-compat-api",
"version": "0.3.2-next.1",
"version": "0.3.2-next.2",
"backstage": {
"role": "web-library"
},
+12
View File
@@ -1,5 +1,17 @@
# @backstage/core-components
## 0.16.0-next.2
### Patch Changes
- 0f18340: Change core component Table tool bar search box to the a appropriate Search icon and text
- Updated dependencies
- @backstage/config@1.2.0
- @backstage/core-plugin-api@1.10.0
- @backstage/errors@1.2.4
- @backstage/theme@0.6.1-next.0
- @backstage/version-bridge@1.0.10
## 0.16.0-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/core-components",
"version": "0.16.0-next.1",
"version": "0.16.0-next.2",
"description": "Core components used by Backstage plugins and apps",
"backstage": {
"role": "web-library"
+8
View File
@@ -1,5 +1,13 @@
# @backstage/create-app
## 0.5.22-next.3
### Patch Changes
- 5872964: Use the main entrypoint for `create-app` installs
- Updated dependencies
- @backstage/cli-common@0.1.15-next.0
## 0.5.22-next.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/create-app",
"version": "0.5.22-next.2",
"version": "0.5.22-next.3",
"description": "A CLI that helps you create your own Backstage app",
"backstage": {
"role": "cli"
+2
View File
@@ -45,6 +45,7 @@ import { version as errors } from '../../../errors/package.json';
import { version as integrationReact } from '../../../integration-react/package.json';
import { version as testUtils } from '../../../test-utils/package.json';
import { version as theme } from '../../../theme/package.json';
import { version as repoTools } from '../../../repo-tools/package.json';
import { version as pluginApiDocs } from '../../../../plugins/api-docs/package.json';
import { version as pluginAppBackend } from '../../../../plugins/app-backend/package.json';
@@ -98,6 +99,7 @@ export const packageVersions = {
'@backstage/e2e-test-utils': e2eTestUtils,
'@backstage/errors': errors,
'@backstage/integration-react': integrationReact,
'@backstage/repo-tools': repoTools,
'@backstage/plugin-api-docs': pluginApiDocs,
'@backstage/plugin-app-backend': pluginAppBackend,
'@backstage/plugin-auth-backend': pluginAuthBackend,
@@ -10,10 +10,10 @@ import { createBackend } from '@backstage/backend-defaults';
const backend = createBackend();
backend.add(import('@backstage/plugin-app-backend/alpha'));
backend.add(import('@backstage/plugin-proxy-backend/alpha'));
backend.add(import('@backstage/plugin-scaffolder-backend/alpha'));
backend.add(import('@backstage/plugin-techdocs-backend/alpha'));
backend.add(import('@backstage/plugin-app-backend'));
backend.add(import('@backstage/plugin-proxy-backend'));
backend.add(import('@backstage/plugin-scaffolder-backend'));
backend.add(import('@backstage/plugin-techdocs-backend'));
// auth plugin
backend.add(import('@backstage/plugin-auth-backend'));
@@ -22,7 +22,7 @@ backend.add(import('@backstage/plugin-auth-backend-module-guest-provider'));
// See https://backstage.io/docs/auth/guest/provider
// catalog plugin
backend.add(import('@backstage/plugin-catalog-backend/alpha'));
backend.add(import('@backstage/plugin-catalog-backend'));
backend.add(
import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'),
);
@@ -31,24 +31,24 @@ backend.add(
backend.add(import('@backstage/plugin-catalog-backend-module-logs'));
// permission plugin
backend.add(import('@backstage/plugin-permission-backend/alpha'));
backend.add(import('@backstage/plugin-permission-backend'));
// See https://backstage.io/docs/permissions/getting-started for how to create your own permission policy
backend.add(
import('@backstage/plugin-permission-backend-module-allow-all-policy'),
);
// search plugin
backend.add(import('@backstage/plugin-search-backend/alpha'));
backend.add(import('@backstage/plugin-search-backend'));
// search engine
// See https://backstage.io/docs/features/search/search-engines
backend.add(import('@backstage/plugin-search-backend-module-pg/alpha'));
backend.add(import('@backstage/plugin-search-backend-module-pg'));
// search collators
backend.add(import('@backstage/plugin-search-backend-module-catalog/alpha'));
backend.add(import('@backstage/plugin-search-backend-module-techdocs/alpha'));
backend.add(import('@backstage/plugin-search-backend-module-catalog'));
backend.add(import('@backstage/plugin-search-backend-module-techdocs'));
// kubernetes
backend.add(import('@backstage/plugin-kubernetes-backend/alpha'));
backend.add(import('@backstage/plugin-kubernetes-backend'));
backend.start();
+14
View File
@@ -1,5 +1,19 @@
# @backstage/dev-utils
## 1.1.3-next.3
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.16.0-next.2
- @backstage/plugin-catalog-react@1.14.1-next.3
- @backstage/app-defaults@1.5.13-next.2
- @backstage/catalog-model@1.7.0
- @backstage/core-app-api@1.15.1
- @backstage/core-plugin-api@1.10.0
- @backstage/integration-react@1.2.0
- @backstage/theme@0.6.1-next.0
## 1.1.3-next.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/dev-utils",
"version": "1.1.3-next.2",
"version": "1.1.3-next.3",
"description": "Utilities for developing Backstage plugins.",
"backstage": {
"role": "web-library"
+9
View File
@@ -1,5 +1,14 @@
# e2e-test
## 0.2.22-next.3
### Patch Changes
- Updated dependencies
- @backstage/create-app@0.5.22-next.3
- @backstage/cli-common@0.1.15-next.0
- @backstage/errors@1.2.4
## 0.2.22-next.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "e2e-test",
"version": "0.2.22-next.2",
"version": "0.2.22-next.3",
"description": "E2E test for verifying Backstage packages",
"backstage": {
"role": "cli"
+14
View File
@@ -1,5 +1,19 @@
# @backstage/frontend-app-api
## 0.10.1-next.2
### Patch Changes
- Updated dependencies
- @backstage/config@1.2.0
- @backstage/core-app-api@1.15.1
- @backstage/core-plugin-api@1.10.0
- @backstage/errors@1.2.4
- @backstage/frontend-defaults@0.1.2-next.2
- @backstage/frontend-plugin-api@0.9.1-next.2
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.10
## 0.10.1-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/frontend-app-api",
"version": "0.10.1-next.1",
"version": "0.10.1-next.2",
"backstage": {
"role": "web-library"
},
+11
View File
@@ -1,5 +1,16 @@
# @backstage/frontend-defaults
## 0.1.2-next.2
### Patch Changes
- Updated dependencies
- @backstage/config@1.2.0
- @backstage/errors@1.2.4
- @backstage/frontend-app-api@0.10.1-next.2
- @backstage/frontend-plugin-api@0.9.1-next.2
- @backstage/plugin-app@0.1.2-next.2
## 0.1.2-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/frontend-defaults",
"version": "0.1.2-next.1",
"version": "0.1.2-next.2",
"backstage": {
"role": "web-library"
},
+9
View File
@@ -1,5 +1,14 @@
# @internal/frontend
## 0.0.3-next.2
### Patch Changes
- Updated dependencies
- @backstage/frontend-plugin-api@0.9.1-next.2
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.10
## 0.0.3-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@internal/frontend",
"version": "0.0.3-next.1",
"version": "0.0.3-next.2",
"backstage": {
"role": "web-library",
"inline": true
+10
View File
@@ -1,5 +1,15 @@
# @backstage/frontend-plugin-api
## 0.9.1-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.16.0-next.2
- @backstage/core-plugin-api@1.10.0
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.10
## 0.9.1-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/frontend-plugin-api",
"version": "0.9.1-next.1",
"version": "0.9.1-next.2",
"backstage": {
"role": "web-library"
},
+13
View File
@@ -1,5 +1,18 @@
# @backstage/frontend-test-utils
## 0.2.2-next.2
### Patch Changes
- Updated dependencies
- @backstage/config@1.2.0
- @backstage/frontend-app-api@0.10.1-next.2
- @backstage/frontend-plugin-api@0.9.1-next.2
- @backstage/test-utils@1.7.1-next.0
- @backstage/types@1.1.1
- @backstage/version-bridge@1.0.10
- @backstage/plugin-app@0.1.2-next.2
## 0.2.2-next.1
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/frontend-test-utils",
"version": "0.2.2-next.1",
"version": "0.2.2-next.2",
"backstage": {
"role": "web-library"
},
@@ -1,5 +1,14 @@
# @backstage/integration-aws-node
## 0.1.13-next.0
### Patch Changes
- 52ae92d: The `getDefaultCredentialsChain` function now accepts and applies a `region` parameter, preventing it from defaulting to `us-east-1` when no region is specified.
- Updated dependencies
- @backstage/config@1.2.0
- @backstage/errors@1.2.4
## 0.1.12
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/integration-aws-node",
"version": "0.1.12",
"version": "0.1.13-next.0",
"description": "Helpers for fetching AWS account credentials",
"backstage": {
"role": "node-library"
@@ -24,12 +24,20 @@ import {
} from '@aws-sdk/client-sts';
import { Config, ConfigReader } from '@backstage/config';
import { promises } from 'fs';
import { fromNodeProviderChain } from '@aws-sdk/credential-providers';
const env = process.env;
let stsMock: AwsClientStub<STSClient>;
let config: Config;
jest.mock('fs', () => ({ promises: { readFile: jest.fn() } }));
jest.mock('@aws-sdk/credential-providers', () => {
const originalModule = jest.requireActual('@aws-sdk/credential-providers');
return {
...originalModule,
fromNodeProviderChain: jest.fn(),
};
});
describe('DefaultAwsCredentialsManager', () => {
beforeEach(() => {
@@ -127,12 +135,17 @@ describe('DefaultAwsCredentialsManager', () => {
},
});
const testDate = new Date('2022-01-10');
process.env.AWS_ACCESS_KEY_ID = 'ACCESS_KEY_ID_10';
process.env.AWS_SECRET_ACCESS_KEY = 'SECRET_ACCESS_KEY_10';
process.env.AWS_SESSION_TOKEN = 'SESSION_TOKEN_10';
process.env.AWS_CREDENTIAL_EXPIRATION = new Date(
'2022-01-10',
).toISOString();
process.env.AWS_CREDENTIAL_EXPIRATION = testDate.toISOString();
// Return creds from env
(fromNodeProviderChain as jest.Mock).mockImplementation(
jest.requireActual('@aws-sdk/credential-providers').fromNodeProviderChain,
);
const mockProfile = `[my-profile]
aws_access_key_id=ACCESS_KEY_ID_9
@@ -431,5 +444,49 @@ describe('DefaultAwsCredentialsManager', () => {
provider.getCredentialProvider({ accountId: '123456789012' }),
).rejects.toThrow(/No credentials found/);
});
it('passes the region to getDefaultCredentialsChain', async () => {
const region = 'us-west-2';
const configWithRegion = new ConfigReader({
aws: {
mainAccount: {
region,
},
},
});
const provider =
DefaultAwsCredentialsManager.fromConfig(configWithRegion);
const awsCredentialProvider = await provider.getCredentialProvider();
// Trigger the call to fromNodeProviderChain
await awsCredentialProvider.sdkCredentialProvider();
expect(fromNodeProviderChain).toHaveBeenCalledWith({
clientConfig: {
region,
},
});
});
it('uses default region when none is specified', async () => {
const configWithoutRegion = new ConfigReader({
aws: {
mainAccount: {},
},
});
const provider =
DefaultAwsCredentialsManager.fromConfig(configWithoutRegion);
const awsCredentialProvider = await provider.getCredentialProvider();
await awsCredentialProvider.sdkCredentialProvider();
expect(fromNodeProviderChain).toHaveBeenCalledWith({
clientConfig: {
region: 'us-east-1',
},
});
});
});
});
@@ -77,8 +77,15 @@ function getProfileCredentials(
});
}
function getDefaultCredentialsChain(): AwsCredentialIdentityProvider {
return fromNodeProviderChain();
/**
* Include the region if present, otherwise use the default region.
*
* @see https://www.npmjs.com/package/@aws-sdk/credential-provider-node
*/
function getDefaultCredentialsChain(
region = 'us-east-1',
): AwsCredentialIdentityProvider {
return fromNodeProviderChain({ clientConfig: { region } });
}
/**
@@ -123,7 +130,7 @@ function getSdkCredentialProvider(
return getProfileCredentials(config.profile!, config.region);
}
return getDefaultCredentialsChain();
return getDefaultCredentialsChain(config.region);
}
/**
@@ -145,7 +152,7 @@ function getMainAccountSdkCredentialProvider(
return getProfileCredentials(config.profile!, config.region);
}
return getDefaultCredentialsChain();
return getDefaultCredentialsChain(config.region);
}
/**
+15
View File
@@ -1,5 +1,20 @@
# @backstage/repo-tools
## 0.11.0-next.3
### Patch Changes
- 95401a8: The `generate-patch` command now properly includes newly created files in the patch.
- 23f1da2: Updated dependency `ts-morph` to `^24.0.0`.
- 3f1fb21: The `generate-patch` command will now fall back to always adding a `resolutions` entry, even if no matching descriptors are found.
- Updated dependencies
- @backstage/backend-plugin-api@1.0.2-next.2
- @backstage/catalog-model@1.7.0
- @backstage/cli-common@0.1.15-next.0
- @backstage/cli-node@0.2.10-next.0
- @backstage/config-loader@1.9.2-next.0
- @backstage/errors@1.2.4
## 0.11.0-next.2
### Minor Changes
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/repo-tools",
"version": "0.11.0-next.2",
"version": "0.11.0-next.3",
"description": "CLI for Backstage repo tooling ",
"backstage": {
"role": "cli"
@@ -75,7 +75,7 @@
"p-limit": "^3.0.2",
"portfinder": "^1.0.32",
"tar": "^6.1.12",
"ts-morph": "^23.0.0",
"ts-morph": "^24.0.0",
"yaml-diff-patch": "^2.0.0"
},
"devDependencies": {
@@ -1,5 +1,12 @@
# @internal/scaffolder
## 0.0.3-next.3
### Patch Changes
- Updated dependencies
- @backstage/plugin-scaffolder-react@1.14.0-next.3
## 0.0.3-next.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@internal/scaffolder",
"version": "0.0.3-next.2",
"version": "0.0.3-next.3",
"backstage": {
"role": "web-library",
"inline": true
@@ -1,5 +1,24 @@
# techdocs-cli-embedded-app
## 0.2.102-next.3
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog@1.25.0-next.3
- @backstage/cli@0.29.0-next.3
- @backstage/plugin-techdocs@1.11.1-next.3
- @backstage/core-components@0.16.0-next.2
- @backstage/app-defaults@1.5.13-next.2
- @backstage/catalog-model@1.7.0
- @backstage/config@1.2.0
- @backstage/core-app-api@1.15.1
- @backstage/core-plugin-api@1.10.0
- @backstage/integration-react@1.2.0
- @backstage/test-utils@1.7.1-next.0
- @backstage/theme@0.6.1-next.0
- @backstage/plugin-techdocs-react@1.2.10-next.2
## 0.2.102-next.2
### Patch Changes
@@ -1,6 +1,6 @@
{
"name": "techdocs-cli-embedded-app",
"version": "0.2.102-next.2",
"version": "0.2.102-next.3",
"backstage": {
"role": "frontend"
},
+11
View File
@@ -1,5 +1,16 @@
# @techdocs/cli
## 1.8.22-next.3
### Patch Changes
- Updated dependencies
- @backstage/backend-defaults@0.5.3-next.3
- @backstage/catalog-model@1.7.0
- @backstage/cli-common@0.1.15-next.0
- @backstage/config@1.2.0
- @backstage/plugin-techdocs-node@1.12.13-next.3
## 1.8.22-next.2
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@techdocs/cli",
"version": "1.8.22-next.2",
"version": "1.8.22-next.3",
"description": "Utility CLI for managing TechDocs sites in Backstage.",
"backstage": {
"role": "cli"
+15
View File
@@ -1,5 +1,20 @@
# @backstage/plugin-api-docs
## 0.11.12-next.3
### Patch Changes
- Updated dependencies
- @backstage/plugin-catalog@1.25.0-next.3
- @backstage/core-components@0.16.0-next.2
- @backstage/plugin-catalog-react@1.14.1-next.3
- @backstage/core-compat-api@0.3.2-next.2
- @backstage/catalog-model@1.7.0
- @backstage/core-plugin-api@1.10.0
- @backstage/frontend-plugin-api@0.9.1-next.2
- @backstage/plugin-catalog-common@1.1.0
- @backstage/plugin-permission-react@0.4.27
## 0.11.12-next.2
### Patch Changes
+17
View File
@@ -371,6 +371,23 @@ export const apis: AnyApiFactory[] = [
]
```
### Pagination
You can add pagination support to `ApiExplorerPage` extension.
This is an example:
```tsx
// In packages/app/src/App.tsx
import { ApiExplorerPage } from '@backstage/plugin-api-docs';
<Route
path="/api-docs"
element={<ApiExplorerPage pagination={{ mode: 'offset', limit: 20 }} />}
/>;
```
## Links
- [The Backstage homepage](https://backstage.io)
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-api-docs",
"version": "0.11.12-next.2",
"version": "0.11.12-next.3",
"description": "A Backstage plugin that helps represent API entities in the frontend",
"backstage": {
"role": "frontend-plugin",
+2
View File
@@ -10,6 +10,7 @@ import { ApiRef } from '@backstage/core-plugin-api';
import { BackstagePlugin } from '@backstage/core-plugin-api';
import { CatalogTableRow } from '@backstage/plugin-catalog';
import { ComponentEntity } from '@backstage/catalog-model';
import { EntityListPagination } from '@backstage/plugin-catalog-react';
import { EntityOwnerPickerProps } from '@backstage/plugin-catalog-react';
import { ExternalRouteRef } from '@backstage/core-plugin-api';
import { InfoCardVariants } from '@backstage/core-components';
@@ -121,6 +122,7 @@ export type DefaultApiExplorerPageProps = {
columns?: TableColumn<CatalogTableRow>[];
actions?: TableProps<CatalogTableRow>['actions'];
ownerPickerMode?: EntityOwnerPickerProps['mode'];
pagination?: EntityListPagination;
};
// @public (undocumented)

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