Merge branch 'master' into fix/adr-fetch-subdirectory

Signed-off-by: Andy Ladjadj <andy.ladjadj@gmail.com>
This commit is contained in:
Andy Ladjadj
2023-03-30 16:39:17 +02:00
committed by GitHub
527 changed files with 8929 additions and 2149 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Fix the build for packages with multiple entry points to avoid duplicated modules.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-techdocs-module-addons-contrib': patch
---
Bump `photoswipe` dependency to `^5.3.7`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-rollbar-backend': patch
---
Replace `camelcase-keys` dependency with one with better compatibility.
+1 -1
View File
@@ -2,4 +2,4 @@
'@backstage/plugin-search-backend': minor
---
Exports search plugin that can be used with the new backend system. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](../docs/features/search/how-to-guides.md#how-to-migrate-to-use-search-together-with-the-new-backend-system).
Exports search plugin that can be used with the new backend system. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](https://backstage.io/docs/features/search/how-to-guides/#how-to-migrate-your-backend-installation-to-use-search-together-with-the-new-backend-system).
+1 -1
View File
@@ -3,4 +3,4 @@
'@backstage/plugin-search-backend-module-pg': patch
---
Search backend modules migrated to the new backend system. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](../docs/features/search/how-to-guides.md#how-to-migrate-to-use-search-together-with-the-new-backend-system).
Search backend modules migrated to the new backend system. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](https://backstage.io/docs/features/search/how-to-guides/#how-to-migrate-your-backend-installation-to-use-search-together-with-the-new-backend-system).
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-scaffolder-backend': patch
'@backstage/plugin-scaffolder-node': patch
---
Improve type-check for scaffolder output parameters
+12
View File
@@ -0,0 +1,12 @@
---
'@backstage/create-app': patch
---
Upgraded the TypeScript version to 5.0
To apply this change in your own project, switch the TypeScript version in your root `package.json`:
```diff
- "typescript": "~4.6.4",
+ "typescript": "~5.0.0",
```
+10
View File
@@ -0,0 +1,10 @@
---
'@backstage/plugin-git-release-manager': patch
'@backstage/plugin-cicd-statistics': patch
'@backstage/plugin-code-coverage': patch
'@backstage/plugin-cost-insights': patch
'@backstage/plugin-xcmetrics': patch
'@backstage/plugin-bitrise': patch
---
Bumped `recharts` dependency to `^2.5.0`.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-techdocs': patch
---
Change anchor links color in Techdocs content
With the color (mkdocs supplied) used for anchor links the background and foreground colors do not have a sufficient contrast ratio. Using the link color from theme palette.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes-backend': patch
---
fix localKubectlProxy auth provider fetching
+18
View File
@@ -0,0 +1,18 @@
---
'@backstage/plugin-permission-backend': patch
'@backstage/plugin-scaffolder-backend': patch
'@backstage/plugin-permission-common': patch
'@backstage/core-components': patch
'@backstage/plugin-playlist-backend': patch
'@backstage/plugin-scaffolder-react': patch
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-permission-node': patch
'@backstage/plugin-scaffolder-node': patch
'@backstage/backend-tasks': patch
'@backstage/plugin-search-backend': patch
'@backstage/core-app-api': patch
'@backstage/plugin-scaffolder': patch
'@backstage/cli': patch
---
Bump `zod` and `zod-to-json-schema` dependencies.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-tech-insights-backend-module-jsonfc': patch
---
When multiple fact retrievers are used for a check, allow for cases where only one returns a given fact
+35 -2
View File
@@ -212,18 +212,33 @@
"@backstage/plugin-vault": "0.1.10",
"@backstage/plugin-vault-backend": "0.2.10",
"@backstage/plugin-xcmetrics": "0.2.36",
"@backstage/plugin-scaffolder-backend-module-gitlab": "0.0.0"
"@backstage/plugin-scaffolder-backend-module-gitlab": "0.0.0",
"@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.0.0",
"@backstage/plugin-search-backend-module-catalog": "0.0.0",
"@backstage/plugin-search-backend-module-explore": "0.0.0",
"@backstage/plugin-search-backend-module-techdocs": "0.0.0"
},
"changesets": [
"all-my-auth-wanna-ride-today",
"bright-pumpkins-bake",
"chatty-coats-thank",
"clean-dolls-search",
"create-app-1679405836",
"curly-boats-trade",
"curly-jobs-kneel",
"curvy-rocks-guess",
"eleven-bats-tease",
"eleven-coats-refuse",
"fair-roses-stare",
"fast-snakes-buy",
"forty-gorillas-help",
"fresh-schools-fly",
"funny-pots-hide",
"funny-rivers-grin",
"fuzzy-actors-turn",
"fuzzy-wombats-search",
"giant-hairs-serve",
"good-papayas-lay",
"heavy-colts-wash",
"hungry-lies-cry",
"hungry-monkeys-reply",
@@ -237,26 +252,44 @@
"mighty-lamps-cross",
"nasty-nails-appear",
"neat-donkeys-work",
"new-pigs-jam",
"odd-grapes-double",
"old-cougars-sit",
"olive-cycles-join",
"olive-months-talk",
"orange-rabbits-jam",
"popular-parents-crash",
"pretty-carpets-cross",
"rare-seals-decide",
"renovate-179fa0e",
"renovate-a9116b7",
"renovate-c574b04",
"rotten-carrots-cheer",
"seven-gifts-fetch",
"short-panthers-float",
"silly-adults-accept",
"soft-roses-cover",
"sour-buttons-collect",
"sour-dragons-cheat",
"stale-cobras-beg",
"strong-crews-repeat",
"swift-meals-live",
"tall-chairs-explain",
"tall-oranges-own",
"ten-hounds-bathe",
"ten-mayflies-beam",
"thick-forks-prove",
"thin-spoons-prove",
"thirty-crabs-tell",
"tiny-apes-scream",
"tough-cameras-beam",
"twelve-parrots-camp",
"twelve-vans-sell",
"warm-buses-switch",
"weak-turtles-arrive",
"wet-lamps-happen",
"wise-garlics-camp",
"witty-berries-love"
"witty-berries-love",
"witty-points-visit"
]
}
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Ensure that the `package prepack` command and backend bundling uses posix paths in `package.json` on all OSes.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes-backend': minor
---
Add support for the new plugin system to the Kubernetes plugin
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-bazaar': patch
---
Added the `fullWidth` and `fullHeight` optional properties to the `BazaarPage`,
to replicate the styling options available on the `BazaarOverviewCard`.
+10
View File
@@ -0,0 +1,10 @@
---
'@backstage/plugin-scaffolder-backend': minor
---
Provide some more default filters out of the box and refactoring how the filters are applied to the `SecureTemplater`.
- `parseEntityRef` will take an string entity triplet and return a parsed object.
- `pick` will allow you to reference a specific property in the piped object.
So you can now combine things like this: `${{ parameters.entity | parseEntityRef | pick('name') }}` to get the name of a specific entity, or `${{ parameters.repoUrl | parseRepoUrl | pick('owner') }}` to get the owner of a repo.
+1 -1
View File
@@ -2,4 +2,4 @@
'@backstage/plugin-search-backend-node': minor
---
Exports services and extension points that can be used with the new backend system. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](../docs/features/search/how-to-guides.md#how-to-migrate-to-use-search-together-with-the-new-backend-system).
Exports services and extension points that can be used with the new backend system. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](https://backstage.io/docs/features/search/how-to-guides/#how-to-migrate-your-backend-installation-to-use-search-together-with-the-new-backend-system).
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/core-plugin-api': patch
'@backstage/plugin-scaffolder-react': patch
'@backstage/plugin-scaffolder-node': patch
'@backstage/plugin-catalog-react': patch
---
Minor type tweaks for TypeScript 5.0
+1 -1
View File
@@ -4,4 +4,4 @@
'@backstage/plugin-search-backend-module-explore': minor
---
Package introduced to export search backend modules that can be used with the new backend system to extend search with plugin specific functionality, such as collators. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](../docs/features/search/how-to-guides.md#how-to-migrate-to-use-search-together-with-the-new-backend-system).
Package introduced to export search backend modules that can be used with the new backend system to extend search with plugin specific functionality, such as collators. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](https://backstage.io/docs/features/search/how-to-guides/#how-to-migrate-your-backend-installation-to-use-search-together-with-the-new-backend-system).
+103
View File
@@ -0,0 +1,103 @@
---
'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch
'@backstage/plugin-api-docs-module-protoc-gen-doc': patch
'@backstage/plugin-techdocs-module-addons-contrib': patch
'@backstage/plugin-cicd-statistics-module-gitlab': patch
'@backstage/plugin-github-pull-requests-board': patch
'@backstage/plugin-techdocs-addons-test-utils': patch
'@backstage/plugin-analytics-module-ga': patch
'@backstage/plugin-git-release-manager': patch
'@backstage/integration-react': patch
'@backstage/plugin-github-deployments': patch
'@backstage/plugin-microsoft-calendar': patch
'@backstage/plugin-newrelic-dashboard': patch
'@backstage/plugin-entity-validation': patch
'@backstage/plugin-sonarqube-backend': patch
'@backstage/core-components': patch
'@backstage/core-plugin-api': patch
'@backstage/plugin-permission-react': patch
'@backstage/plugin-scaffolder-react': patch
'@backstage/version-bridge': patch
'@backstage/plugin-apollo-explorer': patch
'@backstage/plugin-catalog-graphql': patch
'@backstage/plugin-cicd-statistics': patch
'@backstage/plugin-entity-feedback': patch
'@backstage/plugin-gitops-profiles': patch
'@backstage/plugin-graphql-voyager': patch
'@backstage/plugin-sonarqube-react': patch
'@backstage/plugin-apache-airflow': patch
'@backstage/plugin-catalog-import': patch
'@backstage/plugin-github-actions': patch
'@backstage/plugin-octopus-deploy': patch
'@backstage/plugin-splunk-on-call': patch
'@backstage/plugin-stack-overflow': patch
'@backstage/plugin-techdocs-react': patch
'@backstage/core-app-api': patch
'@backstage/plugin-catalog-graph': patch
'@backstage/plugin-catalog-react': patch
'@backstage/plugin-code-coverage': patch
'@backstage/plugin-config-schema': patch
'@backstage/plugin-cost-insights': patch
'@backstage/plugin-explore-react': patch
'@backstage/plugin-github-issues': patch
'@backstage/plugin-tech-insights': patch
'@backstage/plugin-user-settings': patch
'@backstage/integration': patch
'@backstage/plugin-auth-backend': patch
'@backstage/plugin-azure-devops': patch
'@backstage/plugin-code-climate': patch
'@backstage/plugin-gcp-projects': patch
'@backstage/plugin-search-react': patch
'@backstage/create-app': patch
'@backstage/test-utils': patch
'@backstage/plugin-azure-sites': patch
'@backstage/plugin-firehydrant': patch
'@backstage/dev-utils': patch
'@backstage/plugin-cloudbuild': patch
'@backstage/plugin-kubernetes': patch
'@backstage/plugin-lighthouse': patch
'@backstage/plugin-scaffolder': patch
'@backstage/plugin-stackstorm': patch
'@backstage/plugin-tech-radar': patch
'@backstage/plugin-codescene': patch
'@backstage/plugin-dynatrace': patch
'@backstage/plugin-gcalendar': patch
'@backstage/plugin-org-react': patch
'@backstage/plugin-pagerduty': patch
'@backstage/plugin-shortcuts': patch
'@backstage/plugin-sonarqube': patch
'@backstage/plugin-xcmetrics': patch
'@backstage/plugin-airbrake': patch
'@backstage/plugin-api-docs': patch
'@backstage/plugin-circleci': patch
'@backstage/plugin-graphiql': patch
'@backstage/plugin-linguist': patch
'@backstage/plugin-newrelic': patch
'@backstage/plugin-periskop': patch
'@backstage/plugin-playlist': patch
'@backstage/plugin-techdocs': patch
'@backstage/plugin-bitrise': patch
'@backstage/plugin-catalog': patch
'@backstage/plugin-explore': patch
'@backstage/plugin-jenkins': patch
'@backstage/plugin-rollbar': patch
'@backstage/theme': patch
'@backstage/plugin-allure': patch
'@backstage/plugin-badges': patch
'@backstage/plugin-bazaar': patch
'@backstage/plugin-search': patch
'@backstage/plugin-sentry': patch
'@backstage/plugin-fossa': patch
'@backstage/plugin-ilert': patch
'@backstage/plugin-kafka': patch
'@backstage/plugin-vault': patch
'@backstage/plugin-gocd': patch
'@backstage/plugin-home': patch
'@backstage/plugin-todo': patch
'@backstage/plugin-adr': patch
'@backstage/plugin-org': patch
'@backstage/repo-tools': patch
'@backstage/cli': patch
---
Update peer dependencies
+1
View File
@@ -267,6 +267,7 @@ permissioning
plantuml
Platformize
Podman
posix
postgres
postpack
pre
+1
View File
@@ -235,4 +235,5 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/
| [The LEGO Group](https://www.lego.com) | [Waqas Ali](https://www.linkedin.com/in/waqasali47) | We are building our internal develper portal on top of Backstage. |
| [CORS.gmbh](https://www.cors.gmbh) | [@dpfaffenbauer](https://github.com/dpfaffenbauer) | Developer Portal for our Projects we develop for our Customers and Hosting them On Kubernetes. |
| [Comcast](https://comcast.github.io/) | [Ryan Emerle](https://github.com/remerle) | Developer portal enabling discovery of products, services, and documentation throughout the enterprise to ultimately reduce friction and improve time-to-market. |
| [Syntasso](https://www.syntasso.io/) | [@syntassodev](https://github.com/syntassodev) | Backstage is used as a optional UI for the [Kratix project](https://kratix.io), a framework for building platforms.
+19 -17
View File
@@ -44,9 +44,10 @@ Team: @backstage/kubernetes-maintainers
Scope: The Kubernetes plugin and the base it provides for other plugins to build upon.
| Name | Organization | Team | GitHub | Discord |
| -------------- | ------------ | ---- | ---------------------------------------- | ------------ |
| Matthew Clarke | Spotify | | [mclarke47](http://github.com/mclarke47) | mclarke#0725 |
| Name | Organization | Team | GitHub | Discord |
| -------------- | ------------ | ---- | ---------------------------------------------- | ----------------- |
| Matthew Clarke | Spotify | | [mclarke47](http://github.com/mclarke47) | mclarke#0725 |
| Jamie Klassen | VMware | | [jamieklassen](http://github.com/jamieklassen) | jamieklassen#3047 |
### TechDocs
@@ -69,20 +70,21 @@ Scope: The TechDocs plugin and related tooling
## Organization Members
| Name | Organization | GitHub | Discord |
| ------------------ | ------------------------- | ----------------------------------------------- | ------------------------------ |
| Adam Harvey | Cisco | [adamdmharvey](https://github.com/adamdmharvey) | `adamharvey#3739` |
| Andre Wanlin | Keyloop | [awanlin](https://github.com/awanlin) | `Ahhhndre#3095` |
| Andrew Thauer | Wealthsimple | [andrewthauer](https://github.com/andrewthauer) | `andrewthauer#3060` |
| Brian Fletcher | RoadieHQ | [punkle](https://github.com/punkle) | `Brian Fletcher#7051` |
| David Tuite | Roadie | [dtuite](https://github.com/dtuite) | `David Tuite (roadie.io)#1010` |
| Himanshu Mishra | Harness.io | [OrkoHunter](https://github.com/OrkoHunter) | `OrkoHunter#1520` |
| Jamie Klassen | VMware | [jamieklassen](https://github.com/jamieklassen) | `jamieklassen#3047` |
| Jussi Hallila | Roadie | [Xantier](https://github.com/Xantier) | `Xantier#0086` |
| Mark Avery | Cvent | [webark](https://github.com/webark) | `webark#8471` |
| Patrick Jungermann | Bonial International GmbH | [pjungermann](https://github.com/pjungermann) | `pjungermann#6933` |
| Phil Kuang | FactSet Research Systems | [kuangp](https://github.com/kuangp) | `pkuang#3202` |
| Taras Mankovski | Frontside | [taras](https://github.com/taras) | `tarasm#1256` |
| Name | Organization | GitHub | Discord |
| ------------------------------ | ------------------------- | ----------------------------------------------- | ------------------------------ |
| Adam Harvey | Cisco | [adamdmharvey](https://github.com/adamdmharvey) | `adamharvey#3739` |
| Andre Wanlin | Keyloop | [awanlin](https://github.com/awanlin) | `Ahhhndre#3095` |
| Andrew Thauer | Wealthsimple | [andrewthauer](https://github.com/andrewthauer) | `andrewthauer#3060` |
| Brian Fletcher | RoadieHQ | [punkle](https://github.com/punkle) | `Brian Fletcher#7051` |
| Carlos Esteban Lopez Jaramillo | VMWare | [luchillo17](https://github.com/luchillo17) | `luchillo17#8777` |
| David Tuite | Roadie | [dtuite](https://github.com/dtuite) | `David Tuite (roadie.io)#1010` |
| Himanshu Mishra | Harness.io | [OrkoHunter](https://github.com/OrkoHunter) | `OrkoHunter#1520` |
| Jamie Klassen | VMware | [jamieklassen](https://github.com/jamieklassen) | `jamieklassen#3047` |
| Jussi Hallila | Roadie | [Xantier](https://github.com/Xantier) | `Xantier#0086` |
| Mark Avery | Cvent | [webark](https://github.com/webark) | `webark#8471` |
| Patrick Jungermann | Bonial International GmbH | [pjungermann](https://github.com/pjungermann) | `pjungermann#6933` |
| Phil Kuang | FactSet Research Systems | [kuangp](https://github.com/kuangp) | `pkuang#3202` |
| Taras Mankovski | Frontside | [taras](https://github.com/taras) | `tarasm#1256` |
## Emeritus Core Maintainers
@@ -121,7 +121,7 @@ given prefix.
In the simple case, what we did above is sufficient, TypeScript is happy, and
the backend runs with the new feature. If they do, feel free to skip this entire
section, and deleting `types.ts`.
section, and delete `types.ts`.
Sometimes though, type errors can be reported on the newly added line, saying
that parts of the `PluginEnvironment` type do not match. This happens when the
@@ -31,7 +31,7 @@ import { z } from 'zod';
export const createNewFileAction = () => {
return createTemplateAction({
id: 'mycompany:create-file',
id: 'acme:file:create',
schema: {
input: z.object({
contents: z.string().describe('The contents of the file'),
@@ -75,7 +75,7 @@ import { writeFile } from 'fs';
export const createNewFileAction = () => {
return createTemplateAction<{ contents: string; filename: string }>({
id: 'mycompany:create-file',
id: 'acme:file:create',
schema: {
input: {
required: ['contents', 'filename'],
@@ -107,6 +107,17 @@ export const createNewFileAction = () => {
};
```
#### Naming Conventions
Try to keep names consistent for both your own custom actions, and any actions contributed to open source. We've found that a separation of `:` and using a verb as the last part of the name works well.
We follow `provider:entity:verb` or as close to this as possible for our built in actions. For example, `github:actions:create` or `github:repo:create`.
Also feel free to use your company name to namespace them if you prefer too, for example `acme:file:create` like above.
Prefer to use `camelCase` over `snake-case` for these actions if possible, which leads to better reading and writing of template entity definitions.
> We're aware that there are some exceptions to this, but try to follow as close as possible. We'll be working on migrating these in the repository over time too.
### The context object
When the action `handler` is called, we provide you a `context` as the only
+11 -7
View File
@@ -139,21 +139,25 @@ import { TechDocsCustomHome } from '@backstage/plugin-techdocs';
const techDocsTabsConfig = [
{
label: "Recommended Documentation",
label: 'Recommended Documentation',
panels: [
{
title: 'Golden Path',
description: 'Documentation about standards to follow',
panelType: 'DocsCardGrid',
filterPredicate: entity => entity?.metadata?.tags?.includes('recommended') ?? false,
}
]
}
]
filterPredicate: entity =>
entity?.metadata?.tags?.includes('recommended') ?? false,
},
],
},
];
const AppRoutes = () => {
<FlatRoutes>
<Route path="/docs" element={<TechDocsCustomHome tabsConfig={techDocsTabsConfig} />}>
<Route
path="/docs"
element={<TechDocsCustomHome tabsConfig={techDocsTabsConfig} />}
/>
</FlatRoutes>;
};
```
+8 -8
View File
@@ -196,14 +196,14 @@ const App = () => (
There are a couple of naming patterns to adhere to as you build plugins, which
helps clarify the intent and usage of the exports.
| Description | Pattern | Examples |
| --------------------- | ----------------- | ---------------------------------------------------- |
| Top-level Pages | `\*Page` | `CatalogIndexPage`, `SettingsPage`, `LighthousePage` |
| Entity Tab Content | `Entity\*Content` | `EntityJenkinsContent`, `EntityKubernetesContent` |
| Entity Overview Card | `Entity\*Card` | `EntitySentryCard`, `EntityPagerDutyCard` |
| Entity Conditional | `is\*Available` | `isPagerDutyAvailable`, `isJenkinsAvailable` |
| Plugin Instance | `\*Plugin` | `jenkinsPlugin`, `catalogPlugin` |
| Utility API Reference | `\*ApiRef` | `configApiRef`, `catalogApiRef` |
| Description | Pattern | Examples |
| --------------------- | ---------------- | ---------------------------------------------------- |
| Top-level Pages | `*Page` | `CatalogIndexPage`, `SettingsPage`, `LighthousePage` |
| Entity Tab Content | `Entity*Content` | `EntityJenkinsContent`, `EntityKubernetesContent` |
| Entity Overview Card | `Entity*Card` | `EntitySentryCard`, `EntityPagerDutyCard` |
| Entity Conditional | `is*Available` | `isPagerDutyAvailable`, `isJenkinsAvailable` |
| Plugin Instance | `*Plugin` | `jenkinsPlugin`, `catalogPlugin` |
| Utility API Reference | `*ApiRef` | `configApiRef`, `catalogApiRef` |
### Routing System
+6 -7
View File
@@ -13,7 +13,8 @@ The new plugin should look something like:
```
new-plugin/
dist/
dev/
index.ts
node_modules/
src/
components/
@@ -29,11 +30,10 @@ new-plugin/
plugin.test.ts
plugin.ts
routes.ts
jest.config.js
jest.setup.ts
setupTests.ts
.eslintrc.js
package.json
README.md
tsconfig.json
```
You might note a thing or two. Yes, a plugin looks like a mini project on it's
@@ -48,8 +48,7 @@ folder.
## Base files
In the root folder you have some configuration for typescript and jest, the test
runner. You get a readme to populate with info about your plugin and a
You get a readme to populate with info about your plugin and a
package.json to declare the plugin dependencies, metadata and scripts.
## The plugin file
@@ -92,7 +91,7 @@ The generated plugin includes two example components to showcase how we
structure our plugins. There are usually one or multiple page components and
next to them you can split up the UI in as many components as you feel like.
We have the `ExamplePage` to show an example Backstage page component. The
We have the `ExampleComponent` to show an example Backstage page component. The
`ExampleFetchComponent` showcases the common task of making an async request to
a public API and plot the response data in a table using Material-UI components.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,10 @@
---
title: AWS Code Services
author: Amazon Web Services
authorUrl: https://aws.amazon.com/
category: CI/CD
description: View resources related to AWS CodePipeline, AWS CodeBuild and AWS CodeDeploy for your components in Backstage.
documentation: https://github.com/awslabs/aws-codeservices-plugins-for-backstage#readme
iconUrl: https://github.com/awslabs/aws-codeservices-plugins-for-backstage/blob/main/docs/images/codepipeline-logo.png?raw=true
npmPackageName: '@aws/aws-codeservices-plugin-for-backstage'
addedDate: '2023-01-17'
-10
View File
@@ -1,10 +0,0 @@
---
title: AWS CodeSuite
author: Amazon Web Services
authorUrl: https://aws.amazon.com/
category: CI/CD
description: View resources related to AWS CodePipeline, AWS CodeBuild and AWS CodeDeploy for your components in Backstage.
documentation: https://github.com/awslabs/aws-codesuite-plugins-for-backstage#readme
iconUrl: https://github.com/awslabs/aws-codesuite-plugins-for-backstage/blob/main/docs/images/codepipeline-logo.png?raw=true
npmPackageName: '@aws/aws-codesuite-plugin-for-backstage'
addedDate: '2023-01-17'
+3 -3
View File
@@ -17,7 +17,7 @@
"docusaurus": "docusaurus"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "2.3.1",
"@docusaurus/module-type-aliases": "2.4.0",
"@spotify/prettier-config": "^14.0.0",
"@tsconfig/docusaurus": "^1.0.6",
"@types/webpack-env": "^1.18.0",
@@ -29,9 +29,9 @@
},
"prettier": "@spotify/prettier-config",
"dependencies": {
"@docusaurus/core": "2.3.1",
"@docusaurus/core": "2.4.0",
"@docusaurus/plugin-client-redirects": "^2.3.1",
"@docusaurus/preset-classic": "2.3.1",
"@docusaurus/preset-classic": "2.4.0",
"@swc/core": "^1.3.36",
"clsx": "^1.1.1",
"docusaurus-plugin-sass": "^0.2.3",
+195 -194
View File
@@ -1660,9 +1660,9 @@ __metadata:
languageName: node
linkType: hard
"@docusaurus/core@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/core@npm:2.3.1"
"@docusaurus/core@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/core@npm:2.4.0"
dependencies:
"@babel/core": ^7.18.6
"@babel/generator": ^7.18.7
@@ -1674,13 +1674,13 @@ __metadata:
"@babel/runtime": ^7.18.6
"@babel/runtime-corejs3": ^7.18.6
"@babel/traverse": ^7.18.8
"@docusaurus/cssnano-preset": 2.3.1
"@docusaurus/logger": 2.3.1
"@docusaurus/mdx-loader": 2.3.1
"@docusaurus/cssnano-preset": 2.4.0
"@docusaurus/logger": 2.4.0
"@docusaurus/mdx-loader": 2.4.0
"@docusaurus/react-loadable": 5.5.2
"@docusaurus/utils": 2.3.1
"@docusaurus/utils-common": 2.3.1
"@docusaurus/utils-validation": 2.3.1
"@docusaurus/utils": 2.4.0
"@docusaurus/utils-common": 2.4.0
"@docusaurus/utils-validation": 2.4.0
"@slorber/static-site-generator-webpack-plugin": ^4.0.7
"@svgr/webpack": ^6.2.1
autoprefixer: ^10.4.7
@@ -1740,40 +1740,40 @@ __metadata:
react-dom: ^16.8.4 || ^17.0.0
bin:
docusaurus: bin/docusaurus.mjs
checksum: 812aecae45af3f4d02fd16e89517ca9f1ba22821a078aaa890f5797ac7e0cc0c79e7623eb999e885cf7e7652a6ffda8ff7c06dfd85ca29aaab600993c3d9980d
checksum: 04d30e31e9c4198ce3f4a47c4f59943f357ef96a5cfa10674fd3049d4cf067c15fa0ae184383ba3e420f59a9b3077ed1cf1f373626399f0e46cea6fcf0897d7b
languageName: node
linkType: hard
"@docusaurus/cssnano-preset@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/cssnano-preset@npm:2.3.1"
"@docusaurus/cssnano-preset@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/cssnano-preset@npm:2.4.0"
dependencies:
cssnano-preset-advanced: ^5.3.8
postcss: ^8.4.14
postcss-sort-media-queries: ^4.2.1
tslib: ^2.4.0
checksum: a3d00ce86b16caffde36734bb2f4541d2c0df5e8ab6891a78ad05bccc631a895fecb04c385626ebcb8f905510c28fa6158288585673ae96565532d4ee4b60d4f
checksum: b8982230ec014378a5453453df400a328a6ecdeecffb666ead5cfbeb5dc689610f0e62ee818ffcc8adc270c7c47cb818ad730c769eb8fa689dd79d4f9d448b6d
languageName: node
linkType: hard
"@docusaurus/logger@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/logger@npm:2.3.1"
"@docusaurus/logger@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/logger@npm:2.4.0"
dependencies:
chalk: ^4.1.2
tslib: ^2.4.0
checksum: eff5f258aeac9c643431426256e3bc4515074cc3cc754fa643579ba427ba232ecace9a9579ae5af542330b22d7361892a1eaf84526983a0c821c5ca3ee895176
checksum: 0424b77e2abaa50f20d6042ededf831157852656d1242ae9b0829b897e6f5b1e1e5ea30df599839e0ec51c72e42a5a867b136387dd5359032c735f431eddd078
languageName: node
linkType: hard
"@docusaurus/mdx-loader@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/mdx-loader@npm:2.3.1"
"@docusaurus/mdx-loader@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/mdx-loader@npm:2.4.0"
dependencies:
"@babel/parser": ^7.18.8
"@babel/traverse": ^7.18.8
"@docusaurus/logger": 2.3.1
"@docusaurus/utils": 2.3.1
"@docusaurus/logger": 2.4.0
"@docusaurus/utils": 2.4.0
"@mdx-js/mdx": ^1.6.22
escape-html: ^1.0.3
file-loader: ^6.2.0
@@ -1790,16 +1790,16 @@ __metadata:
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: 4a1c9ef0e8506ab4d9cb4714ff7437664e238e0f2878a5eb4a2e082897bbee7ae8d0b61ba9d45ffa820beb5ce75aa0050201db815b00c18fc136aaa4c6411c21
checksum: 3d4e7bf6840fa7dcf4250aa5ea019f80dac6cc38e9f8b9a0515b81b6c0f6d6f4ed4103f521784e70db856aec06cff4be176ef281e1cac53afc82bc1182bbf9ad
languageName: node
linkType: hard
"@docusaurus/module-type-aliases@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/module-type-aliases@npm:2.3.1"
"@docusaurus/module-type-aliases@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/module-type-aliases@npm:2.4.0"
dependencies:
"@docusaurus/react-loadable": 5.5.2
"@docusaurus/types": 2.3.1
"@docusaurus/types": 2.4.0
"@types/history": ^4.7.11
"@types/react": "*"
"@types/react-router-config": "*"
@@ -1809,19 +1809,19 @@ __metadata:
peerDependencies:
react: "*"
react-dom: "*"
checksum: 74f799f81455dc8ff3e6edf07428996764014c2c7b416e6b5d160af15f00ad3aa1ab75dee5356645ec7f2ea832fb2aca6e9a32b19d64abeb9e3d57c4195f1e50
checksum: fc655d9dc77d88ba9d10abe602c9fd5533992b14de495e4f3e4caea368693a7b7e5a805fb2938287bed949900e7e3d7f94bea3c1a8727b45e19c85996965d0c7
languageName: node
linkType: hard
"@docusaurus/plugin-client-redirects@npm:^2.3.1":
version: 2.3.1
resolution: "@docusaurus/plugin-client-redirects@npm:2.3.1"
version: 2.4.0
resolution: "@docusaurus/plugin-client-redirects@npm:2.4.0"
dependencies:
"@docusaurus/core": 2.3.1
"@docusaurus/logger": 2.3.1
"@docusaurus/utils": 2.3.1
"@docusaurus/utils-common": 2.3.1
"@docusaurus/utils-validation": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/logger": 2.4.0
"@docusaurus/utils": 2.4.0
"@docusaurus/utils-common": 2.4.0
"@docusaurus/utils-validation": 2.4.0
eta: ^2.0.0
fs-extra: ^10.1.0
lodash: ^4.17.21
@@ -1829,21 +1829,21 @@ __metadata:
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: bb730359c7f9015108a3d4ec8a570e9c73847349747bf71711f522a7dc40007786b7cd25cebc845eeb16b3505e8068242559a2eda790f4c07d4083d9014a6f84
checksum: e0a82b71521752fb338b928fd0e04c78f01a1b8f240ffde12631a25711cdf63b0bf1a56d1ee19e479ea11d33ef9aabf337071f2eb5dcd55b4f17228374ceae26
languageName: node
linkType: hard
"@docusaurus/plugin-content-blog@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/plugin-content-blog@npm:2.3.1"
"@docusaurus/plugin-content-blog@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/plugin-content-blog@npm:2.4.0"
dependencies:
"@docusaurus/core": 2.3.1
"@docusaurus/logger": 2.3.1
"@docusaurus/mdx-loader": 2.3.1
"@docusaurus/types": 2.3.1
"@docusaurus/utils": 2.3.1
"@docusaurus/utils-common": 2.3.1
"@docusaurus/utils-validation": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/logger": 2.4.0
"@docusaurus/mdx-loader": 2.4.0
"@docusaurus/types": 2.4.0
"@docusaurus/utils": 2.4.0
"@docusaurus/utils-common": 2.4.0
"@docusaurus/utils-validation": 2.4.0
cheerio: ^1.0.0-rc.12
feed: ^4.2.2
fs-extra: ^10.1.0
@@ -1856,21 +1856,21 @@ __metadata:
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: abc668ceab15269f57be7f74acbec2e139b4f6b90af8771d246a9036d124b49b0d9fd4890e9566df7a4ba960f2da0316c18741eed1be0646f2b4602465219ddd
checksum: e912ea1a01c1769b374aecf1af72cef96dbed5faa01b74cc12d951dd5dccc089994ff649f0a18f994e39730338f99c0aa12f3b2a1eefc40888f1fb7956cece29
languageName: node
linkType: hard
"@docusaurus/plugin-content-docs@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/plugin-content-docs@npm:2.3.1"
"@docusaurus/plugin-content-docs@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/plugin-content-docs@npm:2.4.0"
dependencies:
"@docusaurus/core": 2.3.1
"@docusaurus/logger": 2.3.1
"@docusaurus/mdx-loader": 2.3.1
"@docusaurus/module-type-aliases": 2.3.1
"@docusaurus/types": 2.3.1
"@docusaurus/utils": 2.3.1
"@docusaurus/utils-validation": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/logger": 2.4.0
"@docusaurus/mdx-loader": 2.4.0
"@docusaurus/module-type-aliases": 2.4.0
"@docusaurus/types": 2.4.0
"@docusaurus/utils": 2.4.0
"@docusaurus/utils-validation": 2.4.0
"@types/react-router-config": ^5.0.6
combine-promises: ^1.1.0
fs-extra: ^10.1.0
@@ -1883,132 +1883,132 @@ __metadata:
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: bcf8d921407d11b497926a1f61a1dc8c96f82fbe5a1959cc106b082e555f8fb6f42cf9262a658acf33d9543e5eb3e778049d91f71e4a2855993dc759c845cf31
checksum: 5a273e80f2c28e4a33ab994e8702b3afaff04eb73f156a0a3e42cd9d182f8e1ed2b794348b090ec170cc1e4aba2e997d1fb6e8684f73ac6698bf66d96114c57b
languageName: node
linkType: hard
"@docusaurus/plugin-content-pages@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/plugin-content-pages@npm:2.3.1"
"@docusaurus/plugin-content-pages@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/plugin-content-pages@npm:2.4.0"
dependencies:
"@docusaurus/core": 2.3.1
"@docusaurus/mdx-loader": 2.3.1
"@docusaurus/types": 2.3.1
"@docusaurus/utils": 2.3.1
"@docusaurus/utils-validation": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/mdx-loader": 2.4.0
"@docusaurus/types": 2.4.0
"@docusaurus/utils": 2.4.0
"@docusaurus/utils-validation": 2.4.0
fs-extra: ^10.1.0
tslib: ^2.4.0
webpack: ^5.73.0
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: 8543050ed7330f54a28c0daeef11662eed3f3a08a6d0015b1a32db3d5e9ec46f0c6a8a5a4cb3e871ce953074d60424cc418b7ffa280695294626855a7a1a146a
checksum: 5381e913101f271476cbdc264e6058a0cbe0835ed4a823e430540da545253c1dc56578c66a6d978ee2f1aca114110aba529443ae835f26ef0eaf7de1ed6a5001
languageName: node
linkType: hard
"@docusaurus/plugin-debug@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/plugin-debug@npm:2.3.1"
"@docusaurus/plugin-debug@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/plugin-debug@npm:2.4.0"
dependencies:
"@docusaurus/core": 2.3.1
"@docusaurus/types": 2.3.1
"@docusaurus/utils": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/types": 2.4.0
"@docusaurus/utils": 2.4.0
fs-extra: ^10.1.0
react-json-view: ^1.21.3
tslib: ^2.4.0
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: e660575f900eedbeab6e222eb4f8ef6a7a49815c91a97839a4839737c0b3101698bf7c6e035cbafaa49010340010a9ec0d37270dc81a470b3bae42662c7a24b8
checksum: 921614843453ef189dfa2ada31e7abed8f976b0c314f7486fde35f976911de2ab307863608326e96bea67468e98dc648aeea82dbad04d0701c3c48c92bd40c6c
languageName: node
linkType: hard
"@docusaurus/plugin-google-analytics@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/plugin-google-analytics@npm:2.3.1"
"@docusaurus/plugin-google-analytics@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/plugin-google-analytics@npm:2.4.0"
dependencies:
"@docusaurus/core": 2.3.1
"@docusaurus/types": 2.3.1
"@docusaurus/utils-validation": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/types": 2.4.0
"@docusaurus/utils-validation": 2.4.0
tslib: ^2.4.0
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: 9306ae89cd5fb8ca86fd58809d7e624f988411d8908a151e9b6d9e8d0b84e08f1e3eba46024bc4321bcaeb3e9bc38e919b0bcf561adc9d40fa97c8ffeb232888
checksum: 2d8c7e5689675ced9acffe1e2187144d6ebeea471a5992139c3eea87094e315e272263da5499591e85bc3501b7583f693d33c660507b36a835fc9eb75584c706
languageName: node
linkType: hard
"@docusaurus/plugin-google-gtag@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/plugin-google-gtag@npm:2.3.1"
"@docusaurus/plugin-google-gtag@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/plugin-google-gtag@npm:2.4.0"
dependencies:
"@docusaurus/core": 2.3.1
"@docusaurus/types": 2.3.1
"@docusaurus/utils-validation": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/types": 2.4.0
"@docusaurus/utils-validation": 2.4.0
tslib: ^2.4.0
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: 494f0405d79aa9cb36d1ea4cf739499ad15b59fe876573ab5b304b5e84ab6ef4d428ebdc26647777b0816af452f62959b5ddb25e5bbf73c7fb3d6568258980d0
checksum: 6aa0bb6ac5e410ea438db2de20c95a4a34d7056855b2e0baa7685e31bd9b3f48ef55f8135ca496688ccbfaba88945219acae146a244141bfb7e2372ba54c0ce2
languageName: node
linkType: hard
"@docusaurus/plugin-google-tag-manager@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/plugin-google-tag-manager@npm:2.3.1"
"@docusaurus/plugin-google-tag-manager@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/plugin-google-tag-manager@npm:2.4.0"
dependencies:
"@docusaurus/core": 2.3.1
"@docusaurus/types": 2.3.1
"@docusaurus/utils-validation": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/types": 2.4.0
"@docusaurus/utils-validation": 2.4.0
tslib: ^2.4.0
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: d0b2ccc212652bb4f1c1bd61420e7f235325d4f2e8de0f5b25282305f54209d05da981c1253325bcae9afbc7575bd5c246d037d2be5fbda06f2842ba8335ab47
checksum: 2df57cd95808ed7cf58ade342dcc3382e167ecebaedc7184588c214f6b64eab60fa0145ab0ce7e25803acfe3952412c1134d52ad0ea636cef652a73ccd79a5cb
languageName: node
linkType: hard
"@docusaurus/plugin-sitemap@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/plugin-sitemap@npm:2.3.1"
"@docusaurus/plugin-sitemap@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/plugin-sitemap@npm:2.4.0"
dependencies:
"@docusaurus/core": 2.3.1
"@docusaurus/logger": 2.3.1
"@docusaurus/types": 2.3.1
"@docusaurus/utils": 2.3.1
"@docusaurus/utils-common": 2.3.1
"@docusaurus/utils-validation": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/logger": 2.4.0
"@docusaurus/types": 2.4.0
"@docusaurus/utils": 2.4.0
"@docusaurus/utils-common": 2.4.0
"@docusaurus/utils-validation": 2.4.0
fs-extra: ^10.1.0
sitemap: ^7.1.1
tslib: ^2.4.0
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: 667d2abbf46efffc4d20e38fe435a19392f07726446193a017306652ee9db3d478e971eefb209e1a5c243b6b82af3de72d4b975b8e74aa93bda4711ce8c309bc
checksum: e96fcc84352880da6a3e566cdc249e44ad825b400f2d798746201c3a4a255b196b999f5bf5d0a5b52c752acf9e9eb1169111b463914502a6cae9c114800fa09e
languageName: node
linkType: hard
"@docusaurus/preset-classic@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/preset-classic@npm:2.3.1"
"@docusaurus/preset-classic@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/preset-classic@npm:2.4.0"
dependencies:
"@docusaurus/core": 2.3.1
"@docusaurus/plugin-content-blog": 2.3.1
"@docusaurus/plugin-content-docs": 2.3.1
"@docusaurus/plugin-content-pages": 2.3.1
"@docusaurus/plugin-debug": 2.3.1
"@docusaurus/plugin-google-analytics": 2.3.1
"@docusaurus/plugin-google-gtag": 2.3.1
"@docusaurus/plugin-google-tag-manager": 2.3.1
"@docusaurus/plugin-sitemap": 2.3.1
"@docusaurus/theme-classic": 2.3.1
"@docusaurus/theme-common": 2.3.1
"@docusaurus/theme-search-algolia": 2.3.1
"@docusaurus/types": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/plugin-content-blog": 2.4.0
"@docusaurus/plugin-content-docs": 2.4.0
"@docusaurus/plugin-content-pages": 2.4.0
"@docusaurus/plugin-debug": 2.4.0
"@docusaurus/plugin-google-analytics": 2.4.0
"@docusaurus/plugin-google-gtag": 2.4.0
"@docusaurus/plugin-google-tag-manager": 2.4.0
"@docusaurus/plugin-sitemap": 2.4.0
"@docusaurus/theme-classic": 2.4.0
"@docusaurus/theme-common": 2.4.0
"@docusaurus/theme-search-algolia": 2.4.0
"@docusaurus/types": 2.4.0
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: e4128a1bcb64d5ced04a281476ec1ae2d5523040d41ed57a8f744fb83659a2a2be902e94989de69ab1e6d693ec26c60d1ef6b2fe3ec96d5af6c9b3ef58f5b0cd
checksum: 33961a1edd445f13971e640db9445a0fae418babf0fe5f4078f21e605f9d945f7a3a4b7ad53ac7b578a7302f093c708429f462a76a3f297b3439d8e23b3990aa
languageName: node
linkType: hard
@@ -2024,26 +2024,26 @@ __metadata:
languageName: node
linkType: hard
"@docusaurus/theme-classic@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/theme-classic@npm:2.3.1"
"@docusaurus/theme-classic@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/theme-classic@npm:2.4.0"
dependencies:
"@docusaurus/core": 2.3.1
"@docusaurus/mdx-loader": 2.3.1
"@docusaurus/module-type-aliases": 2.3.1
"@docusaurus/plugin-content-blog": 2.3.1
"@docusaurus/plugin-content-docs": 2.3.1
"@docusaurus/plugin-content-pages": 2.3.1
"@docusaurus/theme-common": 2.3.1
"@docusaurus/theme-translations": 2.3.1
"@docusaurus/types": 2.3.1
"@docusaurus/utils": 2.3.1
"@docusaurus/utils-common": 2.3.1
"@docusaurus/utils-validation": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/mdx-loader": 2.4.0
"@docusaurus/module-type-aliases": 2.4.0
"@docusaurus/plugin-content-blog": 2.4.0
"@docusaurus/plugin-content-docs": 2.4.0
"@docusaurus/plugin-content-pages": 2.4.0
"@docusaurus/theme-common": 2.4.0
"@docusaurus/theme-translations": 2.4.0
"@docusaurus/types": 2.4.0
"@docusaurus/utils": 2.4.0
"@docusaurus/utils-common": 2.4.0
"@docusaurus/utils-validation": 2.4.0
"@mdx-js/react": ^1.6.22
clsx: ^1.2.1
copy-text-to-clipboard: ^3.0.1
infima: 0.2.0-alpha.42
infima: 0.2.0-alpha.43
lodash: ^4.17.21
nprogress: ^0.2.0
postcss: ^8.4.14
@@ -2056,20 +2056,21 @@ __metadata:
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: 273812924fc29b2316aff554ae0302509ebeaca5aa829b58253e74d22a66e69444f1c324a2d5e8e170e6c6f27dd0d6927e6c6a22a7e0c14567ff777d04a5b0c1
checksum: 7f3161d7be653b6a86ffd58d8a6c6d62f464db919c32b7b9ab2ec9ca1b79136e2278fdc908e90cfa31cf21385d87cd7496d5bf9c80d30c2279ef95e7f7be28aa
languageName: node
linkType: hard
"@docusaurus/theme-common@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/theme-common@npm:2.3.1"
"@docusaurus/theme-common@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/theme-common@npm:2.4.0"
dependencies:
"@docusaurus/mdx-loader": 2.3.1
"@docusaurus/module-type-aliases": 2.3.1
"@docusaurus/plugin-content-blog": 2.3.1
"@docusaurus/plugin-content-docs": 2.3.1
"@docusaurus/plugin-content-pages": 2.3.1
"@docusaurus/utils": 2.3.1
"@docusaurus/mdx-loader": 2.4.0
"@docusaurus/module-type-aliases": 2.4.0
"@docusaurus/plugin-content-blog": 2.4.0
"@docusaurus/plugin-content-docs": 2.4.0
"@docusaurus/plugin-content-pages": 2.4.0
"@docusaurus/utils": 2.4.0
"@docusaurus/utils-common": 2.4.0
"@types/history": ^4.7.11
"@types/react": "*"
"@types/react-router-config": "*"
@@ -2082,22 +2083,22 @@ __metadata:
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: 6b902e9e782721c3c49bcdee5d969ea1c1138ebcb03891e34f827b16f2c06f43a86d95f240a60ed084539e9b16435312a41be7bff4e724f4fb209998dd4d3a59
checksum: 0790c6e5ad14bc8518173314a058e01837321d5992364d1ae4f9907f1d055f5852f883512d7a64e5add95dcfe362a009b374220de6493b32624a406d8ce74750
languageName: node
linkType: hard
"@docusaurus/theme-search-algolia@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/theme-search-algolia@npm:2.3.1"
"@docusaurus/theme-search-algolia@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/theme-search-algolia@npm:2.4.0"
dependencies:
"@docsearch/react": ^3.1.1
"@docusaurus/core": 2.3.1
"@docusaurus/logger": 2.3.1
"@docusaurus/plugin-content-docs": 2.3.1
"@docusaurus/theme-common": 2.3.1
"@docusaurus/theme-translations": 2.3.1
"@docusaurus/utils": 2.3.1
"@docusaurus/utils-validation": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/logger": 2.4.0
"@docusaurus/plugin-content-docs": 2.4.0
"@docusaurus/theme-common": 2.4.0
"@docusaurus/theme-translations": 2.4.0
"@docusaurus/utils": 2.4.0
"@docusaurus/utils-validation": 2.4.0
algoliasearch: ^4.13.1
algoliasearch-helper: ^3.10.0
clsx: ^1.2.1
@@ -2109,23 +2110,23 @@ __metadata:
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: 965303068e43b11f58d20b95bb6dfc01d5e575c2070d2730b94303bd2a1d33794075cae43bfe472f08061bd8770f14c8eb54932274e6b39f954ab34e7cfc5689
checksum: a74a199faf6bab1d663cd41f9477c65c17f8dd2080664d5c00f998eb7c57345f1c30ff4f2c3bc88863f2e606c6f7475300747480dc145e61dd42798ca4fd435e
languageName: node
linkType: hard
"@docusaurus/theme-translations@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/theme-translations@npm:2.3.1"
"@docusaurus/theme-translations@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/theme-translations@npm:2.4.0"
dependencies:
fs-extra: ^10.1.0
tslib: ^2.4.0
checksum: dd3796be63c4c946af789c3da18ed2704a2fa90d8e752ba2b780a124dc13369ba590218afad0ac4ea2342f7331ccb9eb1be086226c950b8384978d94a15c57ad
checksum: 37f329eb74fcb16c14bd370038d8bd1e18017fb1f78564d960c53fd4e110eb166f6f1c03f323dea28ede95873ebe28a659554d02cc26d1c3e748a772f9d2313a
languageName: node
linkType: hard
"@docusaurus/types@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/types@npm:2.3.1"
"@docusaurus/types@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/types@npm:2.4.0"
dependencies:
"@types/history": ^4.7.11
"@types/react": "*"
@@ -2138,13 +2139,13 @@ __metadata:
peerDependencies:
react: ^16.8.4 || ^17.0.0
react-dom: ^16.8.4 || ^17.0.0
checksum: 91e52f37b97964112aa0d50ee4a6f534d7da941443af5ddc96418817c6ce532a98c73e67045ac703b582c7ed703ebb360205eec30da7f738c0105f2b3ae1a246
checksum: 54b0cd8992269ab0508d94ce19a7fcc2b3e7c9700eb112c9b859ddac8228dcc64282c414b602ba44894be87be79eeeef730fb8e569be68b6e26453e18addcf21
languageName: node
linkType: hard
"@docusaurus/utils-common@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/utils-common@npm:2.3.1"
"@docusaurus/utils-common@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/utils-common@npm:2.4.0"
dependencies:
tslib: ^2.4.0
peerDependencies:
@@ -2152,28 +2153,28 @@ __metadata:
peerDependenciesMeta:
"@docusaurus/types":
optional: true
checksum: 405dc5b8aba9a97b2670ba8ff3911bbdaed274edc15214ab482a7159a07ad1c9b3198835a7bee42de4e0320d42bd402ed89ae6896744a364d64d89d9f78bcfb0
checksum: 711e61e899b133fc7cd755e6de75fd79a712eeabbd9853b9122e3929c8390e015bb9e4bca2284028e40e7a0fb2b89ef1c184f7e4149097ffd7b64821b38c11da
languageName: node
linkType: hard
"@docusaurus/utils-validation@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/utils-validation@npm:2.3.1"
"@docusaurus/utils-validation@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/utils-validation@npm:2.4.0"
dependencies:
"@docusaurus/logger": 2.3.1
"@docusaurus/utils": 2.3.1
"@docusaurus/logger": 2.4.0
"@docusaurus/utils": 2.4.0
joi: ^17.6.0
js-yaml: ^4.1.0
tslib: ^2.4.0
checksum: 1e5529d1d0c4fcd9006adf2e5b545458a7dba3877563fb444dcec472f27a3d8492d4c6fb5dd1071bb6e668a13a845d74b8f6c4b6387babfa0e467a9b8b237fda
checksum: 21a229858ed9254830b68dd08de6456dc19b68adead581f86e854ea3e55b64b9616a3bbca521e74f754c9c7bc835ca348dfe9f0949d9a8d189db5b39bcdb9f6b
languageName: node
linkType: hard
"@docusaurus/utils@npm:2.3.1":
version: 2.3.1
resolution: "@docusaurus/utils@npm:2.3.1"
"@docusaurus/utils@npm:2.4.0":
version: 2.4.0
resolution: "@docusaurus/utils@npm:2.4.0"
dependencies:
"@docusaurus/logger": 2.3.1
"@docusaurus/logger": 2.4.0
"@svgr/webpack": ^6.2.1
escape-string-regexp: ^4.0.0
file-loader: ^6.2.0
@@ -2194,7 +2195,7 @@ __metadata:
peerDependenciesMeta:
"@docusaurus/types":
optional: true
checksum: e8bce9bbd98bf63664fcd7c0a5f8dec30dad31ed19e18d724b43189b04ecdc1174537e1d987293575ec18d421236fb92d3d39d28477e921507260a39c3f6d6d0
checksum: 7ba6634b6ff71bb7cc64b0eb3c6d2892a21873bce8559bcd460693a80ca0229828c04da751277cdb17c6f18e80e061322bbcd84e9b743adc96c594b43e8a2165
languageName: node
linkType: hard
@@ -3726,10 +3727,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "backstage-microsite@workspace:."
dependencies:
"@docusaurus/core": 2.3.1
"@docusaurus/module-type-aliases": 2.3.1
"@docusaurus/core": 2.4.0
"@docusaurus/module-type-aliases": 2.4.0
"@docusaurus/plugin-client-redirects": ^2.3.1
"@docusaurus/preset-classic": 2.3.1
"@docusaurus/preset-classic": 2.4.0
"@spotify/prettier-config": ^14.0.0
"@swc/core": ^1.3.36
"@tsconfig/docusaurus": ^1.0.6
@@ -6443,10 +6444,10 @@ __metadata:
languageName: node
linkType: hard
"infima@npm:0.2.0-alpha.42":
version: 0.2.0-alpha.42
resolution: "infima@npm:0.2.0-alpha.42"
checksum: 7206f36639c00a08daab811fedc748068951497efb5ec948cba846fb23856443668015f6bd65ddebe857cc2235f6ca98429f7018c73dcac47b0361ef4721bb8f
"infima@npm:0.2.0-alpha.43":
version: 0.2.0-alpha.43
resolution: "infima@npm:0.2.0-alpha.43"
checksum: fc5f79240e940eddd750439511767092ccb4051e5e91d253ec7630a9e7ce691812da3aa0f05e46b4c0a95dbfadeae5714fd0073f8d2df12e5aaff0697a1d6aa2
languageName: node
linkType: hard
@@ -8559,11 +8560,11 @@ __metadata:
linkType: hard
"prettier@npm:^2.6.2":
version: 2.8.6
resolution: "prettier@npm:2.8.6"
version: 2.8.7
resolution: "prettier@npm:2.8.7"
bin:
prettier: bin-prettier.js
checksum: 8ac94fa67aec0e65743ea15ebf954ef2f1e52638abd129dc04e8b49e8bb3224c0233c98df6b5c98efd31bd2a43866590486559438ee4ead09dc81be389068572
checksum: fdc8f2616f099f5f0d685907f4449a70595a0fc1d081a88919604375989e0d5e9168d6121d8cc6861f21990b31665828e00472544d785d5940ea08a17660c3a6
languageName: node
linkType: hard
+3 -3
View File
@@ -8,7 +8,7 @@
"dev": "concurrently \"yarn start\" \"yarn start-backend\"",
"start": "yarn workspace example-app start",
"start-backend": "yarn workspace example-backend start",
"build:backend": "yarn workspace backend build",
"build:backend": "yarn workspace example-backend build",
"build:all": "backstage-cli repo build --all",
"build:api-reports": "yarn build:api-reports:only --tsc",
"build:api-reports:only": "backstage-repo-tools api-reports --allow-warnings 'packages/core-components,plugins/+(catalog|catalog-import|git-release-manager|jenkins|kubernetes)' -o ae-wrong-input-file-type --validate-release-tags",
@@ -47,7 +47,7 @@
"@types/react": "^17",
"@types/react-dom": "^17"
},
"version": "1.13.0-next.0",
"version": "1.13.0-next.1",
"dependencies": {
"@backstage/errors": "workspace:^",
"@manypkg/get-packages": "^1.1.3"
@@ -81,7 +81,7 @@
"semver": "^7.3.2",
"shx": "^0.3.2",
"ts-node": "^10.4.0",
"typescript": "~4.7.0"
"typescript": "~5.0.0"
},
"prettier": "@spotify/prettier-config",
"lint-staged": {
+11
View File
@@ -1,5 +1,16 @@
# @backstage/app-defaults
## 1.3.0-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.12.6-next.1
- @backstage/core-app-api@1.7.0-next.1
- @backstage/core-plugin-api@1.5.1-next.0
- @backstage/plugin-permission-react@0.4.12-next.0
- @backstage/theme@0.2.19-next.0
## 1.3.0-next.0
### Minor Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/app-defaults",
"description": "Provides the default wiring of a Backstage App",
"version": "1.3.0-next.0",
"version": "1.3.0-next.1",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
+69
View File
@@ -1,5 +1,74 @@
# example-app
## 0.2.82-next.1
### Patch Changes
- Updated dependencies
- @backstage/core-components@0.12.6-next.1
- @backstage/cli@0.22.6-next.1
- @backstage/plugin-org@0.6.7-next.1
- @backstage/plugin-techdocs@1.6.1-next.1
- @backstage/plugin-scaffolder-react@1.3.0-next.1
- @backstage/core-app-api@1.7.0-next.1
- @backstage/plugin-scaffolder@1.13.0-next.1
- @backstage/plugin-dynatrace@3.0.1-next.1
- @backstage/plugin-airbrake@0.3.17-next.1
- @backstage/plugin-circleci@0.3.17-next.1
- @backstage/integration-react@1.1.12-next.1
- @backstage/plugin-stackstorm@0.1.1-next.1
- @backstage/plugin-linguist@0.1.2-next.1
- @backstage/plugin-playlist@0.1.8-next.1
- @backstage/plugin-graphiql@0.2.49-next.1
- @backstage/plugin-techdocs-module-addons-contrib@1.0.12-next.1
- @backstage/plugin-microsoft-calendar@0.1.2-next.1
- @backstage/plugin-newrelic-dashboard@0.2.10-next.1
- @backstage/core-plugin-api@1.5.1-next.0
- @backstage/plugin-permission-react@0.4.12-next.0
- @backstage/plugin-entity-feedback@0.2.0-next.1
- @backstage/plugin-apache-airflow@0.2.10-next.1
- @backstage/plugin-catalog-import@0.9.7-next.1
- @backstage/plugin-github-actions@0.5.17-next.1
- @backstage/plugin-stack-overflow@0.1.13-next.1
- @backstage/plugin-techdocs-react@1.1.5-next.1
- @backstage/plugin-catalog-graph@0.2.29-next.1
- @backstage/plugin-catalog-react@1.4.1-next.1
- @backstage/plugin-code-coverage@0.2.10-next.1
- @backstage/plugin-cost-insights@0.12.6-next.1
- @backstage/plugin-tech-insights@0.3.9-next.1
- @backstage/plugin-user-settings@0.7.2-next.1
- @backstage/plugin-azure-devops@0.2.8-next.1
- @backstage/plugin-gcp-projects@0.3.36-next.1
- @backstage/plugin-search-react@1.5.2-next.1
- @backstage/plugin-azure-sites@0.1.6-next.1
- @backstage/plugin-cloudbuild@0.3.17-next.1
- @backstage/plugin-kubernetes@0.7.10-next.1
- @backstage/plugin-lighthouse@0.4.2-next.1
- @backstage/plugin-tech-radar@0.6.3-next.1
- @backstage/plugin-gcalendar@0.3.13-next.1
- @backstage/plugin-pagerduty@0.5.10-next.1
- @backstage/plugin-shortcuts@0.3.9-next.1
- @backstage/plugin-api-docs@0.9.2-next.1
- @backstage/plugin-newrelic@0.3.35-next.1
- @backstage/plugin-explore@0.4.2-next.1
- @backstage/plugin-jenkins@0.7.16-next.1
- @backstage/plugin-rollbar@0.4.17-next.1
- @backstage/theme@0.2.19-next.0
- @backstage/plugin-badges@0.2.41-next.1
- @backstage/plugin-search@1.1.2-next.1
- @backstage/plugin-sentry@0.5.2-next.1
- @backstage/plugin-kafka@0.3.17-next.1
- @backstage/plugin-gocd@0.1.23-next.1
- @backstage/plugin-home@0.4.33-next.1
- @backstage/plugin-todo@0.2.19-next.1
- @backstage/app-defaults@1.3.0-next.1
- @backstage/catalog-model@1.2.1
- @backstage/config@1.0.7
- @backstage/plugin-catalog-common@1.0.13-next.0
- @backstage/plugin-linguist-common@0.1.0
- @backstage/plugin-search-common@1.2.3-next.0
- @internal/plugin-catalog-customized@0.0.9-next.1
## 0.2.82-next.0
### Patch Changes
+3 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-app",
"version": "0.2.82-next.0",
"version": "0.2.82-next.1",
"private": true,
"backstage": {
"role": "frontend"
@@ -83,6 +83,7 @@
"prop-types": "^15.7.2",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-router": "^6.3.0",
"react-router-dom": "^6.3.0",
"react-use": "^17.2.4",
"zen-observable": "^0.10.0"
@@ -90,6 +91,7 @@
"devDependencies": {
"@backstage/test-utils": "workspace:^",
"@testing-library/cypress": "^9.0.0",
"@testing-library/dom": "^8.0.0",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
+3 -4
View File
@@ -60,12 +60,11 @@ import { HomepageCompositionRoot } from '@backstage/plugin-home';
import { LighthousePage } from '@backstage/plugin-lighthouse';
import { NewRelicPage } from '@backstage/plugin-newrelic';
import { NextScaffolderPage } from '@backstage/plugin-scaffolder/alpha';
import { ScaffolderPage, scaffolderPlugin } from '@backstage/plugin-scaffolder';
import {
ScaffolderPage,
scaffolderPlugin,
ScaffolderFieldExtensions,
ScaffolderLayouts,
} from '@backstage/plugin-scaffolder';
import { ScaffolderFieldExtensions } from '@backstage/plugin-scaffolder-react';
} from '@backstage/plugin-scaffolder-react';
import { SearchPage } from '@backstage/plugin-search';
import { TechRadarPage } from '@backstage/plugin-tech-radar';
import {
+16
View File
@@ -1,5 +1,21 @@
# @backstage/backend-app-api
## 0.4.2-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-node@0.7.7-next.1
- @backstage/backend-tasks@0.5.1-next.1
- @backstage/backend-common@0.18.4-next.1
- @backstage/backend-plugin-api@0.5.1-next.1
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.7
- @backstage/config-loader@1.1.9
- @backstage/errors@1.1.5
- @backstage/types@1.0.2
- @backstage/plugin-auth-node@0.2.13-next.1
## 0.4.2-next.0
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-app-api",
"description": "Core API used by Backstage backend apps",
"version": "0.4.2-next.0",
"version": "0.4.2-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
+16
View File
@@ -1,5 +1,21 @@
# @backstage/backend-common
## 0.18.4-next.1
### Patch Changes
- Updated dependencies
- @backstage/integration@1.4.4-next.0
- @backstage/backend-app-api@0.4.2-next.1
- @backstage/backend-dev-utils@0.1.1
- @backstage/backend-plugin-api@0.5.1-next.1
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.7
- @backstage/config-loader@1.1.9
- @backstage/errors@1.1.5
- @backstage/integration-aws-node@0.1.2
- @backstage/types@1.0.2
## 0.18.4-next.0
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-common",
"description": "Common functionality library for Backstage backends",
"version": "0.18.4-next.0",
"version": "0.18.4-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
+9
View File
@@ -1,5 +1,14 @@
# @backstage/backend-defaults
## 0.1.9-next.1
### Patch Changes
- Updated dependencies
- @backstage/backend-app-api@0.4.2-next.1
- @backstage/backend-common@0.18.4-next.1
- @backstage/backend-plugin-api@0.5.1-next.1
## 0.1.9-next.0
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-defaults",
"description": "Backend defaults used by Backstage backend apps",
"version": "0.1.9-next.0",
"version": "0.1.9-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
+18
View File
@@ -1,5 +1,23 @@
# example-backend-next
## 0.0.10-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-search-backend@1.3.0-next.1
- @backstage/plugin-scaffolder-backend@1.13.0-next.1
- @backstage/plugin-catalog-backend@1.8.1-next.1
- @backstage/plugin-kubernetes-backend@0.10.0-next.1
- @backstage/plugin-techdocs-backend@1.6.1-next.1
- @backstage/plugin-search-backend-node@1.2.0-next.1
- @backstage/plugin-search-backend-module-techdocs@0.1.0-next.0
- @backstage/plugin-search-backend-module-catalog@0.1.0-next.0
- @backstage/plugin-search-backend-module-explore@0.1.0-next.0
- @backstage/backend-defaults@0.1.9-next.1
- @backstage/plugin-app-backend@0.3.44-next.1
- @backstage/plugin-todo-backend@0.1.41-next.1
## 0.0.10-next.0
### Patch Changes
+2 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-backend-next",
"version": "0.0.10-next.0",
"version": "0.0.10-next.1",
"main": "dist/index.cjs.js",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -28,6 +28,7 @@
"@backstage/backend-defaults": "workspace:^",
"@backstage/plugin-app-backend": "workspace:^",
"@backstage/plugin-catalog-backend": "workspace:^",
"@backstage/plugin-kubernetes-backend": "workspace:^",
"@backstage/plugin-scaffolder-backend": "workspace:^",
"@backstage/plugin-search-backend": "workspace:^",
"@backstage/plugin-search-backend-module-catalog": "workspace:^",
+3
View File
@@ -24,6 +24,7 @@ import { searchPlugin } from '@backstage/plugin-search-backend/alpha';
import { searchModuleCatalogCollator } from '@backstage/plugin-search-backend-module-catalog/alpha';
import { searchModuleTechDocsCollator } from '@backstage/plugin-search-backend-module-techdocs/alpha';
import { searchModuleExploreCollator } from '@backstage/plugin-search-backend-module-explore/alpha';
import { kubernetesPlugin } from '@backstage/plugin-kubernetes-backend/alpha';
const backend = createBackend();
@@ -45,4 +46,6 @@ backend.add(searchModuleCatalogCollator());
backend.add(searchModuleTechDocsCollator());
backend.add(searchModuleExploreCollator());
// Kubernetes
backend.add(kubernetesPlugin());
backend.start();
+11
View File
@@ -1,5 +1,16 @@
# @backstage/backend-plugin-api
## 0.5.1-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-permission-common@0.7.5-next.0
- @backstage/backend-tasks@0.5.1-next.1
- @backstage/config@1.0.7
- @backstage/types@1.0.2
- @backstage/plugin-auth-node@0.2.13-next.1
## 0.5.1-next.0
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-plugin-api",
"description": "Core API used by Backstage backend plugins",
"version": "0.5.1-next.0",
"version": "0.5.1-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
+11
View File
@@ -1,5 +1,16 @@
# @backstage/backend-tasks
## 0.5.1-next.1
### Patch Changes
- 1e4f5e91b8e: Bump `zod` and `zod-to-json-schema` dependencies.
- Updated dependencies
- @backstage/backend-common@0.18.4-next.1
- @backstage/config@1.0.7
- @backstage/errors@1.1.5
- @backstage/types@1.0.2
## 0.5.1-next.0
### Patch Changes
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-tasks",
"description": "Common distributed task management library for Backstage backends",
"version": "0.5.1-next.0",
"version": "0.5.1-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
@@ -43,7 +43,7 @@
"luxon": "^3.0.0",
"uuid": "^8.0.0",
"winston": "^3.2.1",
"zod": "~3.18.0"
"zod": "^3.21.4"
},
"devDependencies": {
"@backstage/backend-test-utils": "workspace:^",
@@ -39,6 +39,8 @@ async function migrateUntilBefore(knex: Knex, target: string): Promise<void> {
}
}
jest.setTimeout(60_000);
describe('migrations', () => {
const databases = TestDatabases.create({
ids: ['POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'],
@@ -80,6 +82,5 @@ describe('migrations', () => {
await knex.destroy();
},
60_000,
);
});
@@ -32,6 +32,8 @@ function defer() {
return { promise, resolve };
}
jest.setTimeout(60_000);
describe('PluginTaskManagerImpl', () => {
const databases = TestDatabases.create({
ids: ['POSTGRES_13', 'POSTGRES_9', 'SQLITE_3'],
@@ -77,7 +79,6 @@ describe('PluginTaskManagerImpl', () => {
await promise;
expect(fn).toHaveBeenCalledWith(expect.any(AbortSignal));
},
60_000,
);
it.each(databases.eachSupportedId())(
@@ -98,7 +99,6 @@ describe('PluginTaskManagerImpl', () => {
await promise;
expect(fn).toHaveBeenCalledWith(expect.any(AbortSignal));
},
60_000,
);
});
@@ -125,7 +125,6 @@ describe('PluginTaskManagerImpl', () => {
await promise;
expect(fn).toHaveBeenCalledWith(expect.any(AbortSignal));
},
60_000,
);
it.each(databases.eachSupportedId())(
@@ -146,7 +145,6 @@ describe('PluginTaskManagerImpl', () => {
NotFoundError,
);
},
60_000,
);
it.each(databases.eachSupportedId())(
@@ -172,7 +170,6 @@ describe('PluginTaskManagerImpl', () => {
ConflictError,
);
},
60_000,
);
});
@@ -300,7 +297,6 @@ describe('PluginTaskManagerImpl', () => {
await promise;
expect(fn).toHaveBeenCalledWith(expect.any(AbortSignal));
},
60_000,
);
});
@@ -340,7 +336,6 @@ describe('PluginTaskManagerImpl', () => {
},
]);
},
60_000,
);
});
@@ -20,6 +20,8 @@ import { Duration } from 'luxon';
import waitForExpect from 'wait-for-expect';
import { TaskScheduler } from './TaskScheduler';
jest.setTimeout(60_000);
describe('TaskScheduler', () => {
const logger = getVoidLogger();
const databases = TestDatabases.create({
@@ -56,7 +58,6 @@ describe('TaskScheduler', () => {
expect(fn).toHaveBeenCalled();
});
},
60_000,
);
it.each(databases.eachSupportedId())(
@@ -77,6 +78,5 @@ describe('TaskScheduler', () => {
expect(fn).toHaveBeenCalled();
});
},
60_000,
);
});
@@ -23,6 +23,8 @@ import { DbTasksRow, DB_TASKS_TABLE } from '../database/tables';
import { TaskWorker } from './TaskWorker';
import { TaskSettingsV2 } from './types';
jest.setTimeout(60_000);
describe('TaskWorker', () => {
const logger = getVoidLogger();
const databases = TestDatabases.create({
@@ -115,7 +117,6 @@ describe('TaskWorker', () => {
}),
);
},
60_000,
);
it.each(databases.eachSupportedId())(
@@ -140,7 +141,6 @@ describe('TaskWorker', () => {
expect(logger.error).toHaveBeenCalled();
});
},
60_000,
);
it.each(databases.eachSupportedId())(
@@ -164,7 +164,6 @@ describe('TaskWorker', () => {
expect(fn).toHaveBeenCalledTimes(3);
});
},
60_000,
);
it.each(databases.eachSupportedId())(
@@ -223,7 +222,6 @@ describe('TaskWorker', () => {
}),
);
},
60_000,
);
it.each(databases.eachSupportedId())(
@@ -280,7 +278,6 @@ describe('TaskWorker', () => {
false,
);
},
60_000,
);
it.each(databases.eachSupportedId())(
@@ -334,6 +331,5 @@ describe('TaskWorker', () => {
await promise2;
expect(fn1.mock.calls.length).toBeGreaterThan(before);
},
60_000,
);
});
+12
View File
@@ -1,5 +1,17 @@
# @backstage/backend-test-utils
## 0.1.36-next.1
### Patch Changes
- Updated dependencies
- @backstage/backend-app-api@0.4.2-next.1
- @backstage/backend-common@0.18.4-next.1
- @backstage/backend-plugin-api@0.5.1-next.1
- @backstage/config@1.0.7
- @backstage/types@1.0.2
- @backstage/plugin-auth-node@0.2.13-next.1
## 0.1.36-next.0
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-test-utils",
"description": "Test helpers library for Backstage backends",
"version": "0.1.36-next.0",
"version": "0.1.36-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
@@ -22,12 +22,16 @@ import { TestDatabases } from './TestDatabases';
const itIfDocker = isDockerDisabledForTests() ? it.skip : it;
jest.setTimeout(60_000);
describe('TestDatabases', () => {
const OLD_ENV = process.env;
beforeEach(() => {
jest.resetModules();
process.env = { ...OLD_ENV };
});
afterAll(() => {
process.env = OLD_ENV;
});
@@ -49,109 +53,84 @@ describe('TestDatabases', () => {
{ a: 1 },
]);
},
60_000,
);
});
itIfDocker(
'obeys a provided connection string for postgres 13',
async () => {
const dbs = TestDatabases.create();
const { host, port, user, password, stop } = await startPostgresContainer(
'postgres:13',
);
itIfDocker('obeys a provided connection string for postgres 13', async () => {
const dbs = TestDatabases.create();
const { host, port, user, password, stop } = await startPostgresContainer(
'postgres:13',
);
try {
// Leave a mark
process.env.BACKSTAGE_TEST_DATABASE_POSTGRES13_CONNECTION_STRING = `postgresql://${user}:${password}@${host}:${port}`;
const input = await dbs.init('POSTGRES_13');
await input.schema.createTable('a', table =>
table.string('x').primary(),
);
await input.insert({ x: 'y' }).into('a');
try {
// Leave a mark
process.env.BACKSTAGE_TEST_DATABASE_POSTGRES13_CONNECTION_STRING = `postgresql://${user}:${password}@${host}:${port}`;
const input = await dbs.init('POSTGRES_13');
await input.schema.createTable('a', table => table.string('x').primary());
await input.insert({ x: 'y' }).into('a');
// Look for the mark
const database = input.client.config.connection.database;
const output = knexFactory({
client: 'pg',
connection: { host, port, user, password, database },
});
// eslint-disable-next-line jest/no-standalone-expect
await expect(output.select('x').from('a')).resolves.toEqual([
{ x: 'y' },
]);
} finally {
await stop();
}
},
60_000,
);
// Look for the mark
const database = input.client.config.connection.database;
const output = knexFactory({
client: 'pg',
connection: { host, port, user, password, database },
});
// eslint-disable-next-line jest/no-standalone-expect
await expect(output.select('x').from('a')).resolves.toEqual([{ x: 'y' }]);
} finally {
await stop();
}
});
itIfDocker(
'obeys a provided connection string for postgres 9',
async () => {
const dbs = TestDatabases.create();
const { host, port, user, password, stop } = await startPostgresContainer(
'postgres:9',
);
itIfDocker('obeys a provided connection string for postgres 9', async () => {
const dbs = TestDatabases.create();
const { host, port, user, password, stop } = await startPostgresContainer(
'postgres:9',
);
try {
// Leave a mark
process.env.BACKSTAGE_TEST_DATABASE_POSTGRES9_CONNECTION_STRING = `postgresql://${user}:${password}@${host}:${port}`;
const input = await dbs.init('POSTGRES_9');
await input.schema.createTable('a', table =>
table.string('x').primary(),
);
await input.insert({ x: 'y' }).into('a');
try {
// Leave a mark
process.env.BACKSTAGE_TEST_DATABASE_POSTGRES9_CONNECTION_STRING = `postgresql://${user}:${password}@${host}:${port}`;
const input = await dbs.init('POSTGRES_9');
await input.schema.createTable('a', table => table.string('x').primary());
await input.insert({ x: 'y' }).into('a');
// Look for the mark
const database = input.client.config.connection.database;
const output = knexFactory({
client: 'pg',
connection: { host, port, user, password, database },
});
// eslint-disable-next-line jest/no-standalone-expect
await expect(output.select('x').from('a')).resolves.toEqual([
{ x: 'y' },
]);
} finally {
await stop();
}
},
60_000,
);
// Look for the mark
const database = input.client.config.connection.database;
const output = knexFactory({
client: 'pg',
connection: { host, port, user, password, database },
});
// eslint-disable-next-line jest/no-standalone-expect
await expect(output.select('x').from('a')).resolves.toEqual([{ x: 'y' }]);
} finally {
await stop();
}
});
itIfDocker(
'obeys a provided connection string for mysql 8',
async () => {
const dbs = TestDatabases.create();
const { host, port, user, password, stop } = await startMysqlContainer(
'mysql:8',
);
itIfDocker('obeys a provided connection string for mysql 8', async () => {
const dbs = TestDatabases.create();
const { host, port, user, password, stop } = await startMysqlContainer(
'mysql:8',
);
try {
// Leave a mark
process.env.BACKSTAGE_TEST_DATABASE_MYSQL8_CONNECTION_STRING = `mysql://${user}:${password}@${host}:${port}/ignored`;
const input = await dbs.init('MYSQL_8');
await input.schema.createTable('a', table =>
table.string('x').primary(),
);
await input.insert({ x: 'y' }).into('a');
try {
// Leave a mark
process.env.BACKSTAGE_TEST_DATABASE_MYSQL8_CONNECTION_STRING = `mysql://${user}:${password}@${host}:${port}/ignored`;
const input = await dbs.init('MYSQL_8');
await input.schema.createTable('a', table => table.string('x').primary());
await input.insert({ x: 'y' }).into('a');
// Look for the mark
const database = input.client.config.connection.database;
const output = knexFactory({
client: 'mysql2',
connection: { host, port, user, password, database },
});
// eslint-disable-next-line jest/no-standalone-expect
await expect(output.select('x').from('a')).resolves.toEqual([
{ x: 'y' },
]);
} finally {
await stop();
}
},
60_000,
);
// Look for the mark
const database = input.client.config.connection.database;
const output = knexFactory({
client: 'mysql2',
connection: { host, port, user, password, database },
});
// eslint-disable-next-line jest/no-standalone-expect
await expect(output.select('x').from('a')).resolves.toEqual([{ x: 'y' }]);
} finally {
await stop();
}
});
});
@@ -20,21 +20,19 @@ import { startMysqlContainer } from './startMysqlContainer';
const itIfDocker = isDockerDisabledForTests() ? it.skip : it;
jest.setTimeout(60_000);
describe('startMysqlContainer', () => {
itIfDocker(
'successfully launches the container',
async () => {
const { stop, ...connection } = await startMysqlContainer('mysql:8');
const db = createConnection({ client: 'mysql2', connection });
try {
const result = await db.select(db.raw('version() AS version'));
// eslint-disable-next-line jest/no-standalone-expect
expect(result[0]?.version).toContain('8.');
} finally {
await db.destroy();
await stop();
}
},
60_000,
);
itIfDocker('successfully launches the container', async () => {
const { stop, ...connection } = await startMysqlContainer('mysql:8');
const db = createConnection({ client: 'mysql2', connection });
try {
const result = await db.select(db.raw('version() AS version'));
// eslint-disable-next-line jest/no-standalone-expect
expect(result[0]?.version).toContain('8.');
} finally {
await db.destroy();
await stop();
}
});
});
@@ -20,23 +20,19 @@ import { startPostgresContainer } from './startPostgresContainer';
const itIfDocker = isDockerDisabledForTests() ? it.skip : it;
jest.setTimeout(60_000);
describe('startPostgresContainer', () => {
itIfDocker(
'successfully launches the container',
async () => {
const { stop, ...connection } = await startPostgresContainer(
'postgres:13',
);
const db = createConnection({ client: 'pg', connection });
try {
const result = await db.select(db.raw('version()'));
// eslint-disable-next-line jest/no-standalone-expect
expect(result[0]?.version).toContain('PostgreSQL');
} finally {
await db.destroy();
await stop();
}
},
60_000,
);
itIfDocker('successfully launches the container', async () => {
const { stop, ...connection } = await startPostgresContainer('postgres:13');
const db = createConnection({ client: 'pg', connection });
try {
const result = await db.select(db.raw('version()'));
// eslint-disable-next-line jest/no-standalone-expect
expect(result[0]?.version).toContain('PostgreSQL');
} finally {
await db.destroy();
await stop();
}
});
});
+51
View File
@@ -1,5 +1,56 @@
# example-backend
## 0.2.82-next.1
### Patch Changes
- Updated dependencies
- @backstage/plugin-search-backend@1.3.0-next.1
- @backstage/plugin-scaffolder-backend@1.13.0-next.1
- @backstage/plugin-search-backend-module-elasticsearch@1.2.0-next.1
- @backstage/plugin-search-backend-module-pg@0.5.5-next.1
- @backstage/plugin-permission-node@0.7.7-next.1
- @backstage/plugin-permission-backend@0.5.19-next.1
- @backstage/plugin-permission-common@0.7.5-next.0
- @backstage/plugin-playlist-backend@0.2.7-next.1
- @backstage/plugin-catalog-backend@1.8.1-next.1
- @backstage/backend-tasks@0.5.1-next.1
- @backstage/plugin-adr-backend@0.3.2-next.1
- @backstage/plugin-kubernetes-backend@0.10.0-next.1
- @backstage/plugin-techdocs-backend@1.6.1-next.1
- @backstage/plugin-explore-backend@0.0.6-next.1
- @backstage/plugin-search-backend-node@1.2.0-next.1
- @backstage/integration@1.4.4-next.0
- @backstage/plugin-auth-backend@0.18.2-next.1
- example-app@0.2.82-next.1
- @backstage/backend-common@0.18.4-next.1
- @backstage/catalog-client@1.4.0
- @backstage/catalog-model@1.2.1
- @backstage/config@1.0.7
- @backstage/plugin-app-backend@0.3.44-next.1
- @backstage/plugin-auth-node@0.2.13-next.1
- @backstage/plugin-azure-devops-backend@0.3.23-next.1
- @backstage/plugin-azure-sites-backend@0.1.6-next.1
- @backstage/plugin-badges-backend@0.1.38-next.1
- @backstage/plugin-catalog-node@1.3.5-next.1
- @backstage/plugin-code-coverage-backend@0.2.10-next.1
- @backstage/plugin-entity-feedback-backend@0.1.2-next.1
- @backstage/plugin-events-backend@0.2.5-next.1
- @backstage/plugin-events-node@0.2.5-next.1
- @backstage/plugin-graphql-backend@0.1.34-next.1
- @backstage/plugin-jenkins-backend@0.1.34-next.1
- @backstage/plugin-kafka-backend@0.2.37-next.1
- @backstage/plugin-lighthouse-backend@0.1.2-next.1
- @backstage/plugin-linguist-backend@0.2.1-next.1
- @backstage/plugin-proxy-backend@0.2.38-next.1
- @backstage/plugin-rollbar-backend@0.1.41-next.1
- @backstage/plugin-scaffolder-backend-module-rails@0.4.12-next.1
- @backstage/plugin-search-common@1.2.3-next.0
- @backstage/plugin-tech-insights-backend@0.5.10-next.1
- @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.28-next.1
- @backstage/plugin-tech-insights-node@0.4.2-next.1
- @backstage/plugin-todo-backend@0.1.41-next.1
## 0.2.82-next.0
### Patch Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "example-backend",
"version": "0.2.82-next.0",
"version": "0.2.82-next.1",
"main": "dist/index.cjs.js",
"types": "src/index.ts",
"license": "Apache-2.0",
+19
View File
@@ -1,5 +1,24 @@
# @backstage/cli
## 0.22.6-next.1
### Patch Changes
- 24432ae52fb: Fix the build for packages with multiple entry points to avoid duplicated modules.
- 79e91d4c30a: Support importing `.md` files in build loader
- 1e4f5e91b8e: Bump `zod` and `zod-to-json-schema` dependencies.
- 29ba8267d69: Updated dependency `@material-ui/lab` to `4.0.0-alpha.61`.
- b588ab73972: Ensure that the `package prepack` command and backend bundling uses posix paths in `package.json` on all OSes.
- e0c6e8b9c3c: Update peer dependencies
- Updated dependencies
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.7
- @backstage/config-loader@1.1.9
- @backstage/errors@1.1.5
- @backstage/eslint-plugin@0.1.3-next.0
- @backstage/release-manifests@0.0.9
- @backstage/types@1.0.2
## 0.22.6-next.0
### Patch Changes
+5 -3
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/cli",
"description": "CLI for developing Backstage plugins and apps",
"version": "0.22.6-next.0",
"version": "0.22.6-next.1",
"publishConfig": {
"access": "public"
},
@@ -50,6 +50,7 @@
"@spotify/eslint-config-react": "^14.0.0",
"@spotify/eslint-config-typescript": "^14.0.0",
"@sucrase/webpack-loader": "^2.0.0",
"@svgr/core": "6.5.x",
"@svgr/plugin-jsx": "6.5.x",
"@svgr/plugin-svgo": "6.5.x",
"@svgr/rollup": "6.5.x",
@@ -128,7 +129,7 @@
"yaml": "^2.0.0",
"yml-loader": "^2.1.0",
"yn": "^4.0.0",
"zod": "~3.18.0"
"zod": "^3.21.4"
},
"devDependencies": {
"@backstage/backend-common": "workspace:^",
@@ -160,7 +161,8 @@
"mock-fs": "^5.1.0",
"msw": "^1.0.0",
"nodemon": "^2.0.2",
"ts-node": "^10.0.0"
"ts-node": "^10.0.0",
"type-fest": "^2.19.0"
},
"peerDependencies": {
"@microsoft/api-extractor": "^7.21.2"
+106 -97
View File
@@ -75,117 +75,126 @@ export async function makeRollupConfigs(
const distDir = resolvePath(targetDir, 'dist');
const entryPoints = readEntryPoints(targetPkg);
for (const { path, name, ext } of entryPoints) {
if (!SCRIPT_EXTS.includes(ext)) {
continue;
}
const scriptEntryPoints = entryPoints.filter(e =>
SCRIPT_EXTS.includes(e.ext),
);
if (options.outputs.has(Output.cjs) || options.outputs.has(Output.esm)) {
const output = new Array<OutputOptions>();
const mainFields = ['module', 'main'];
if (options.outputs.has(Output.cjs) || options.outputs.has(Output.esm)) {
const output = new Array<OutputOptions>();
const mainFields = ['module', 'main'];
if (options.outputs.has(Output.cjs)) {
output.push({
dir: distDir,
entryFileNames: `${name}.cjs.js`,
chunkFileNames: `cjs/${name}/[name]-[hash].cjs.js`,
format: 'commonjs',
sourcemap: true,
});
}
if (options.outputs.has(Output.esm)) {
output.push({
dir: distDir,
entryFileNames: `${name}.esm.js`,
chunkFileNames: `esm/${name}/[name]-[hash].esm.js`,
format: 'module',
sourcemap: true,
});
// Assume we're building for the browser if ESM output is included
mainFields.unshift('browser');
}
configs.push({
input: resolvePath(targetDir, path),
output,
onwarn,
preserveEntrySignatures: 'strict',
// All module imports are always marked as external
external: (source, importer, isResolved) =>
Boolean(importer && !isResolved && !isFileImport(source)),
plugins: [
resolve({ mainFields }),
commonjs({
include: /node_modules/,
exclude: [/\/[^/]+\.(?:stories|test)\.[^/]+$/],
}),
postcss(),
forwardFileImports({
exclude: /\.icon\.svg$/,
include: [
/\.svg$/,
/\.png$/,
/\.gif$/,
/\.jpg$/,
/\.jpeg$/,
/\.eot$/,
/\.woff$/,
/\.woff2$/,
/\.ttf$/,
/\.md$/,
],
}),
json(),
yaml(),
svgr({
include: /\.icon\.svg$/,
template: svgrTemplate,
}),
esbuild({
target: 'es2019',
minify: options.minify,
}),
],
if (options.outputs.has(Output.cjs)) {
output.push({
dir: distDir,
entryFileNames: `[name].cjs.js`,
chunkFileNames: `cjs/[name]-[hash].cjs.js`,
format: 'commonjs',
sourcemap: true,
});
}
if (options.outputs.has(Output.esm)) {
output.push({
dir: distDir,
entryFileNames: `[name].esm.js`,
chunkFileNames: `esm/[name]-[hash].esm.js`,
format: 'module',
sourcemap: true,
});
// Assume we're building for the browser if ESM output is included
mainFields.unshift('browser');
}
if (options.outputs.has(Output.types) && !options.useApiExtractor) {
const typesInput = paths.resolveTargetRoot(
'dist-types',
relativePath(paths.targetRoot, targetDir),
path.replace(/\.ts$/, '.d.ts'),
);
configs.push({
input: Object.fromEntries(
scriptEntryPoints.map(e => [e.name, resolvePath(targetDir, e.path)]),
),
output,
onwarn,
preserveEntrySignatures: 'strict',
// All module imports are always marked as external
external: (source, importer, isResolved) =>
Boolean(importer && !isResolved && !isFileImport(source)),
plugins: [
resolve({ mainFields }),
commonjs({
include: /node_modules/,
exclude: [/\/[^/]+\.(?:stories|test)\.[^/]+$/],
}),
postcss(),
forwardFileImports({
exclude: /\.icon\.svg$/,
include: [
/\.svg$/,
/\.png$/,
/\.gif$/,
/\.jpg$/,
/\.jpeg$/,
/\.eot$/,
/\.woff$/,
/\.woff2$/,
/\.ttf$/,
/\.md$/,
],
}),
json(),
yaml(),
svgr({
include: /\.icon\.svg$/,
template: svgrTemplate,
}),
esbuild({
target: 'es2019',
minify: options.minify,
}),
],
});
}
const declarationsExist = await fs.pathExists(typesInput);
if (options.outputs.has(Output.types) && !options.useApiExtractor) {
const input = Object.fromEntries(
scriptEntryPoints.map(e => [
e.name,
paths.resolveTargetRoot(
'dist-types',
relativePath(paths.targetRoot, targetDir),
e.path.replace(/\.ts$/, '.d.ts'),
),
]),
);
for (const path of Object.values(input)) {
const declarationsExist = await fs.pathExists(path);
if (!declarationsExist) {
const declarationPath = relativePath(targetDir, typesInput);
const declarationPath = relativePath(targetDir, path);
throw new Error(
`No declaration files found at ${declarationPath}, be sure to run ${chalk.bgRed.white(
'yarn tsc',
)} to generate .d.ts files before packaging`,
);
}
configs.push({
input: typesInput,
output: {
file: resolvePath(distDir, `${name}.d.ts`),
format: 'es',
},
external: [
/\.css$/,
/\.scss$/,
/\.sass$/,
/\.svg$/,
/\.eot$/,
/\.woff$/,
/\.woff2$/,
/\.ttf$/,
],
onwarn,
plugins: [dts()],
});
}
configs.push({
input,
output: {
dir: distDir,
entryFileNames: `[name].d.ts`,
chunkFileNames: `types/[name]-[hash].d.ts`,
format: 'es',
},
external: [
/\.css$/,
/\.scss$/,
/\.sass$/,
/\.svg$/,
/\.eot$/,
/\.woff$/,
/\.woff2$/,
/\.ttf$/,
],
onwarn,
plugins: [dts()],
});
}
return configs;
+2 -2
View File
@@ -15,12 +15,12 @@
*/
import chalk from 'chalk';
import inquirer from 'inquirer';
import inquirer, { Answers } from 'inquirer';
import { AnyFactory, Prompt } from './types';
import * as factories from './factories';
import partition from 'lodash/partition';
function applyPromptMessageTransforms<T>(
function applyPromptMessageTransforms<T extends Answers>(
prompt: Prompt<T>,
transforms: {
message: (msg: string) => string;
+4 -2
View File
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { DistinctQuestion } from 'inquirer';
import { Answers, DistinctQuestion } from 'inquirer';
export interface CreateContext {
/** The package scope to use for new packages */
@@ -37,7 +37,9 @@ export interface CreateContext {
export type AnyOptions = Record<string, string>;
export type Prompt<TOptions> = DistinctQuestion<TOptions> & { name: string };
export type Prompt<TOptions extends Answers> = DistinctQuestion<TOptions> & {
name: string;
};
export interface Factory<TOptions extends AnyOptions> {
/**
@@ -16,7 +16,7 @@
import fs from 'fs-extra';
import npmPackList from 'npm-packlist';
import { join as joinPath, resolve as resolvePath } from 'path';
import { resolve as resolvePath, posix as posixPath } from 'path';
import { ExtendedPackageJSON } from '../monorepo';
import { readEntryPoints } from '../monorepo/entryPoints';
@@ -142,7 +142,7 @@ export async function revertProductionPack(packageDir: string) {
function resolveEntrypoint(pkg: any, name: string) {
const targetEntry = pkg.publishConfig[name] || pkg[name];
return targetEntry && joinPath('..', targetEntry);
return targetEntry && posixPath.join('..', targetEntry);
}
// Writes e.g. alpha/package.json
@@ -160,7 +160,7 @@ async function writeReleaseStageEntrypoint(
main: resolveEntrypoint(pkg, 'main'),
module: resolveEntrypoint(pkg, 'module'),
browser: resolveEntrypoint(pkg, 'browser'),
types: joinPath('..', pkg.publishConfig![`${stage}Types`]!),
types: posixPath.join('..', pkg.publishConfig![`${stage}Types`]!),
},
{ encoding: 'utf8', spaces: 2 },
);
@@ -202,7 +202,7 @@ async function prepareExportsEntryPoints(
for (const [key, ext] of Object.entries(EXPORT_MAP)) {
const name = `${entryPoint.name}${ext}`;
if (distFiles.includes(name)) {
exp[key] = `./${joinPath(`dist`, name)}`;
exp[key] = `./${posixPath.join(`dist`, name)}`;
}
}
exp.default = exp.require ?? exp.import;
@@ -228,9 +228,9 @@ async function prepareExportsEntryPoints(
{
name: pkg.name,
version: pkg.version,
...(exp.default ? { main: joinPath('..', exp.default) } : {}),
...(exp.import ? { module: joinPath('..', exp.import) } : {}),
...(exp.types ? { types: joinPath('..', exp.types) } : {}),
...(exp.default ? { main: posixPath.join('..', exp.default) } : {}),
...(exp.import ? { module: posixPath.join('..', exp.import) } : {}),
...(exp.types ? { types: posixPath.join('..', exp.types) } : {}),
},
{ encoding: 'utf8', spaces: 2 },
);
+12
View File
@@ -1,5 +1,17 @@
# @backstage/core-app-api
## 1.7.0-next.1
### Patch Changes
- 1e4f5e91b8e: Bump `zod` and `zod-to-json-schema` dependencies.
- e0c6e8b9c3c: Update peer dependencies
- Updated dependencies
- @backstage/core-plugin-api@1.5.1-next.0
- @backstage/version-bridge@1.0.4-next.0
- @backstage/config@1.0.7
- @backstage/types@1.0.2
## 1.7.0-next.0
### Minor Changes
+5 -3
View File
@@ -116,9 +116,11 @@ export const ApiProvider: {
(props: PropsWithChildren<ApiProviderProps>): JSX.Element;
propTypes: {
apis: PropTypes.Validator<
PropTypes.InferProps<{
get: PropTypes.Validator<(...args: any[]) => any>;
}>
NonNullable<
PropTypes.InferProps<{
get: PropTypes.Validator<(...args: any[]) => any>;
}>
>
>;
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
};
+6 -3
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/core-app-api",
"description": "Core app API used by Backstage apps",
"version": "1.7.0-next.0",
"version": "1.7.0-next.1",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
@@ -37,19 +37,22 @@
"@backstage/types": "workspace:^",
"@backstage/version-bridge": "workspace:^",
"@types/prop-types": "^15.7.3",
"@types/react": "^16.13.1 || ^17.0.0",
"history": "^5.0.0",
"prop-types": "^15.7.2",
"react-use": "^17.2.4",
"zen-observable": "^0.10.0",
"zod": "~3.18.0"
"zod": "^3.21.4"
},
"peerDependencies": {
"@types/react": "^16.13.1 || ^17.0.0",
"react": "^16.13.1 || ^17.0.0",
"react-dom": "^16.13.1 || ^17.0.0",
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
},
"devDependencies": {
"@backstage/cli": "workspace:^",
"@backstage/test-utils": "workspace:^",
"@testing-library/dom": "^8.0.0",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
+15
View File
@@ -1,5 +1,20 @@
# @backstage/core-components
## 0.12.6-next.1
### Patch Changes
- d0befd3fb23: Fixed a bug that could prevent auth from working when using the `guest` or `custom` auth providers.
- 1e4f5e91b8e: Bump `zod` and `zod-to-json-schema` dependencies.
- 29ba8267d69: Updated dependency `@material-ui/lab` to `4.0.0-alpha.61`.
- e0c6e8b9c3c: Update peer dependencies
- Updated dependencies
- @backstage/core-plugin-api@1.5.1-next.0
- @backstage/version-bridge@1.0.4-next.0
- @backstage/theme@0.2.19-next.0
- @backstage/config@1.0.7
- @backstage/errors@1.1.5
## 0.12.6-next.0
### Patch Changes
+5 -3
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/core-components",
"description": "Core components used by Backstage plugins and apps",
"version": "0.12.6-next.0",
"version": "0.12.6-next.1",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
@@ -37,11 +37,13 @@
"@backstage/errors": "workspace:^",
"@backstage/theme": "workspace:^",
"@backstage/version-bridge": "workspace:^",
"@date-io/core": "^1.3.13",
"@material-table/core": "^3.1.0",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.61",
"@react-hookz/web": "^20.0.0",
"@types/react": "^16.13.1 || ^17.0.0",
"@types/react-sparklines": "^1.7.0",
"@types/react-text-truncate": "^0.14.0",
"ansi-regex": "^6.0.1",
@@ -68,10 +70,9 @@
"react-window": "^1.8.6",
"remark-gfm": "^3.0.1",
"zen-observable": "^0.10.0",
"zod": "~3.18.0"
"zod": "^3.21.4"
},
"peerDependencies": {
"@types/react": "^16.13.1 || ^17.0.0",
"react": "^16.13.1 || ^17.0.0",
"react-dom": "^16.13.1 || ^17.0.0",
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
@@ -80,6 +81,7 @@
"@backstage/cli": "workspace:^",
"@backstage/core-app-api": "workspace:^",
"@backstage/test-utils": "workspace:^",
"@testing-library/dom": "^8.0.0",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
@@ -376,7 +376,7 @@ export function Table<T extends object = {}>(props: TableProps<T>) {
const newData = (data as any[]).filter(
el =>
!!Object.entries(selectedFilters)
.filter(([, value]) => !!value.length)
.filter(([, value]) => !!(value as { length?: number }).length)
.every(([key, filterValue]) => {
const fieldValue = extractValueByField(
el,
+10
View File
@@ -1,5 +1,15 @@
# @backstage/core-plugin-api
## 1.5.1-next.0
### Patch Changes
- e0c6e8b9c3c: Update peer dependencies
- Updated dependencies
- @backstage/version-bridge@1.0.4-next.0
- @backstage/config@1.0.7
- @backstage/types@1.0.2
## 1.5.0
### Minor Changes
+5 -3
View File
@@ -769,10 +769,12 @@ export function useRouteRefParams<Params extends AnyParams>(
): Params;
// @public
export function withApis<T>(apis: TypesToApiRefs<T>): <P extends T>(
WrappedComponent: React_2.ComponentType<P>,
export function withApis<T extends {}>(
apis: TypesToApiRefs<T>,
): <TProps extends T>(
WrappedComponent: React_2.ComponentType<TProps>,
) => {
(props: React_2.PropsWithChildren<Omit<P, keyof T>>): JSX.Element;
(props: React_2.PropsWithChildren<Omit<TProps, keyof T>>): JSX.Element;
displayName: string;
};
```
+4 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/core-plugin-api",
"description": "Core API used by Backstage plugins",
"version": "1.5.0",
"version": "1.5.1-next.0",
"publishConfig": {
"access": "public"
},
@@ -48,19 +48,21 @@
"@backstage/config": "workspace:^",
"@backstage/types": "workspace:^",
"@backstage/version-bridge": "workspace:^",
"@types/react": "^16.13.1 || ^17.0.0",
"history": "^5.0.0",
"prop-types": "^15.7.2",
"zen-observable": "^0.10.0"
},
"peerDependencies": {
"@types/react": "^16.13.1 || ^17.0.0",
"react": "^16.13.1 || ^17.0.0",
"react-dom": "^16.13.1 || ^17.0.0",
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
},
"devDependencies": {
"@backstage/cli": "workspace:^",
"@backstage/core-app-api": "workspace:^",
"@backstage/test-utils": "workspace:^",
"@testing-library/dom": "^8.0.0",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
@@ -91,11 +91,11 @@ export const AnalyticsContext = (options: {
* @param values - Analytics context key/value pairs.
* @internal
*/
export function withAnalyticsContext<P>(
Component: React.ComponentType<P>,
export function withAnalyticsContext<TProps extends {}>(
Component: React.ComponentType<TProps>,
values: AnalyticsContextValue,
) {
const ComponentWithAnalyticsContext = (props: P) => {
const ComponentWithAnalyticsContext = (props: TProps) => {
return (
<AnalyticsContext attributes={values}>
<Component {...props} />
@@ -58,11 +58,11 @@ export function useApi<T>(apiRef: ApiRef<T>): T {
* @param apis - APIs for the context.
* @public
*/
export function withApis<T>(apis: TypesToApiRefs<T>) {
return function withApisWrapper<P extends T>(
WrappedComponent: React.ComponentType<P>,
export function withApis<T extends {}>(apis: TypesToApiRefs<T>) {
return function withApisWrapper<TProps extends T>(
WrappedComponent: React.ComponentType<TProps>,
) {
const Hoc = (props: PropsWithChildren<Omit<P, keyof T>>) => {
const Hoc = (props: PropsWithChildren<Omit<TProps, keyof T>>) => {
const apiHolder = useApiHolder();
const impls = {} as T;
@@ -79,7 +79,7 @@ export function withApis<T>(apis: TypesToApiRefs<T>) {
}
}
return <WrappedComponent {...(props as P)} {...impls} />;
return <WrappedComponent {...(props as TProps)} {...impls} />;
};
const displayName =
WrappedComponent.displayName || WrappedComponent.name || 'Component';
+9
View File
@@ -1,5 +1,14 @@
# @backstage/create-app
## 0.4.39-next.1
### Patch Changes
- 71fd0966d10: Add `permissionApi` as dependency of the scaffolder-backend plugin
- e0c6e8b9c3c: Update peer dependencies
- Updated dependencies
- @backstage/cli-common@0.1.12
## 0.4.39-next.0
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/create-app",
"description": "A CLI that helps you create your own Backstage app",
"version": "0.4.39-next.0",
"version": "0.4.39-next.1",
"publishConfig": {
"access": "public"
},
@@ -35,7 +35,7 @@
"lerna": "^4.0.0",
"node-gyp": "^9.0.0",
"prettier": "^2.3.2",
"typescript": "~4.6.4"
"typescript": "~5.0.0"
},
"resolutions": {
"@types/react": "^17",
@@ -48,6 +48,7 @@
"history": "^5.0.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-router": "^6.3.0",
"react-router-dom": "^6.3.0",
"react-use": "^17.2.4"
},
@@ -56,6 +57,7 @@
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@testing-library/dom": "^8.0.0",
"@types/node": "^16.11.26",
"@types/react-dom": "*",
"cross-env": "^7.0.0",
+16
View File
@@ -1,5 +1,21 @@
# @backstage/dev-utils
## 1.0.14-next.1
### Patch Changes
- e0c6e8b9c3c: Update peer dependencies
- Updated dependencies
- @backstage/core-components@0.12.6-next.1
- @backstage/core-app-api@1.7.0-next.1
- @backstage/integration-react@1.1.12-next.1
- @backstage/core-plugin-api@1.5.1-next.0
- @backstage/plugin-catalog-react@1.4.1-next.1
- @backstage/test-utils@1.3.0-next.1
- @backstage/theme@0.2.19-next.0
- @backstage/app-defaults@1.3.0-next.1
- @backstage/catalog-model@1.2.1
## 1.0.14-next.0
### Patch Changes
+3 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/dev-utils",
"description": "Utilities for developing Backstage plugins.",
"version": "1.0.14-next.0",
"version": "1.0.14-next.1",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
@@ -43,14 +43,15 @@
"@backstage/theme": "workspace:^",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@testing-library/dom": "^8.0.0",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/react": "^16.13.1 || ^17.0.0",
"react-use": "^17.2.4",
"zen-observable": "^0.10.0"
},
"peerDependencies": {
"@types/react": "^16.13.1 || ^17.0.0",
"react": "^16.13.1 || ^17.0.0",
"react-dom": "^16.13.1 || ^17.0.0",
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
+9
View File
@@ -1,5 +1,14 @@
# e2e-test
## 0.2.2-next.1
### Patch Changes
- Updated dependencies
- @backstage/create-app@0.4.39-next.1
- @backstage/cli-common@0.1.12
- @backstage/errors@1.1.5
## 0.2.2-next.0
### Patch Changes
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "e2e-test",
"description": "E2E test for verifying Backstage packages",
"version": "0.2.2-next.0",
"version": "0.2.2-next.1",
"private": true,
"backstage": {
"role": "cli"
+13
View File
@@ -1,5 +1,18 @@
# @backstage/integration-react
## 1.1.12-next.1
### Patch Changes
- 29ba8267d69: Updated dependency `@material-ui/lab` to `4.0.0-alpha.61`.
- e0c6e8b9c3c: Update peer dependencies
- Updated dependencies
- @backstage/core-components@0.12.6-next.1
- @backstage/core-plugin-api@1.5.1-next.0
- @backstage/integration@1.4.4-next.0
- @backstage/theme@0.2.19-next.0
- @backstage/config@1.0.7
## 1.1.12-next.0
### Patch Changes
+6 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/integration-react",
"description": "Frontend package for managing integrations towards external systems",
"version": "1.1.12-next.0",
"version": "1.1.12-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,16 +34,20 @@
"react-use": "^17.2.4"
},
"peerDependencies": {
"react": "^16.13.1 || ^17.0.0"
"react": "^16.13.1 || ^17.0.0",
"react-dom": "^16.13.1 || ^17.0.0",
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
},
"devDependencies": {
"@backstage/cli": "workspace:^",
"@backstage/dev-utils": "workspace:^",
"@backstage/test-utils": "workspace:^",
"@testing-library/dom": "^8.0.0",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/node": "^16.11.26",
"@types/react": "^16.13.1 || ^17.0.0",
"cross-fetch": "^3.1.5",
"msw": "^1.0.0"
},
+9
View File
@@ -1,5 +1,14 @@
# @backstage/integration
## 1.4.4-next.0
### Patch Changes
- e0c6e8b9c3c: Update peer dependencies
- Updated dependencies
- @backstage/config@1.0.7
- @backstage/errors@1.1.5
## 1.4.3
### Patch Changes
+1 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/integration",
"description": "Helpers for managing integrations towards external systems",
"version": "1.4.3",
"version": "1.4.4-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -44,7 +44,6 @@
"devDependencies": {
"@backstage/cli": "workspace:^",
"@backstage/config-loader": "workspace:^",
"@backstage/test-utils": "workspace:^",
"@types/luxon": "^3.0.0",
"msw": "^1.0.0"
},
@@ -16,7 +16,7 @@
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '../helpers';
import { BitbucketIntegrationConfig } from './config';
import {
getBitbucketDefaultBranch,
@@ -16,7 +16,7 @@
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '../helpers';
import { BitbucketCloudIntegrationConfig } from './config';
import {
getBitbucketCloudDefaultBranch,
@@ -16,7 +16,7 @@
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '../helpers';
import { BitbucketServerIntegrationConfig } from './config';
import {
getBitbucketServerDefaultBranch,
+1 -1
View File
@@ -17,7 +17,7 @@
import { rest } from 'msw';
import { setupServer } from 'msw/node';
import fetch from 'cross-fetch';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '../helpers';
import { GerritIntegrationConfig } from './config';
import {
buildGerritGitilesUrl,
+1 -1
View File
@@ -15,7 +15,7 @@
*/
import { setupServer } from 'msw/node';
import { setupRequestMockHandlers } from '@backstage/test-utils';
import { setupRequestMockHandlers } from '../helpers';
import { GiteaIntegrationConfig } from './config';
import {
getGiteaEditContentsUrl,
+17
View File
@@ -104,3 +104,20 @@ export function defaultScmResolveUrl(options: {
}
return updated.toString();
}
/**
* Sets up handlers for request mocking
*
* Copied from test-utils, as that is a frontend-only package
*
* @param worker - service worker
*/
export function setupRequestMockHandlers(worker: {
listen: (t: any) => void;
close: () => void;
resetHandlers: () => void;
}) {
beforeAll(() => worker.listen({ onUnhandledRequest: 'error' }));
afterAll(() => worker.close());
afterEach(() => worker.resetHandlers());
}
+9
View File
@@ -1,5 +1,14 @@
# @backstage/repo-tools
## 0.1.4-next.1
### Patch Changes
- e0c6e8b9c3c: Update peer dependencies
- Updated dependencies
- @backstage/cli-common@0.1.12
- @backstage/errors@1.1.5
## 0.1.4-next.0
### Patch Changes

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