Merge branch 'master' into caon-docs-compose-stories
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog': minor
|
||||
---
|
||||
|
||||
Added support of filtering based on system columns in catalog table
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/create-app': patch
|
||||
---
|
||||
|
||||
Bumped create-app version.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli': patch
|
||||
---
|
||||
|
||||
Bump @module-federation/enhanced ^0.9.0 to fix GHSA-593f-38f6-jp5m
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/canon': patch
|
||||
---
|
||||
|
||||
Updated styles for the Menu component in Canon.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-unprocessed-entities': patch
|
||||
---
|
||||
|
||||
Added confirmation popup for delete entities in Catalog Unprocessed Entities plugin
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
'@backstage/plugin-auth-backend-module-oidc-provider': patch
|
||||
---
|
||||
|
||||
Added custom timeout setting for oidc provider
|
||||
|
||||
Here is an example of how to use a custom timeout with the configuration:
|
||||
|
||||
```yaml
|
||||
auth:
|
||||
oidc:
|
||||
production:
|
||||
clientId: ${AUTH_GOOGLE_CLIENT_ID}
|
||||
clientSecret: ${AUTH_GOOGLE_CLIENT_SECRET}
|
||||
timeout:
|
||||
seconds: 30
|
||||
```
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-gitlab': patch
|
||||
---
|
||||
|
||||
add filter for repos by membership and topics
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/canon': patch
|
||||
---
|
||||
|
||||
Add global CSS reset for anchor tags.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend': minor
|
||||
---
|
||||
|
||||
add template-extensions scaffolder service endpoint
|
||||
@@ -0,0 +1,234 @@
|
||||
{
|
||||
"mode": "pre",
|
||||
"tag": "next",
|
||||
"initialVersions": {
|
||||
"example-app": "0.2.107",
|
||||
"@backstage/app-defaults": "1.6.0",
|
||||
"example-app-next": "0.0.21",
|
||||
"app-next-example-plugin": "0.0.21",
|
||||
"example-backend": "0.0.36",
|
||||
"@backstage/backend-app-api": "1.2.1",
|
||||
"@backstage/backend-defaults": "0.8.2",
|
||||
"@backstage/backend-dev-utils": "0.1.5",
|
||||
"@backstage/backend-dynamic-feature-service": "0.6.1",
|
||||
"example-backend-legacy": "0.2.108",
|
||||
"@backstage/backend-openapi-utils": "0.5.1",
|
||||
"@backstage/backend-plugin-api": "1.2.1",
|
||||
"@backstage/backend-test-utils": "1.3.1",
|
||||
"@backstage/canon": "0.2.0",
|
||||
"@backstage/catalog-client": "1.9.1",
|
||||
"@backstage/catalog-model": "1.7.3",
|
||||
"@backstage/cli": "0.31.0",
|
||||
"@backstage/cli-common": "0.1.15",
|
||||
"@backstage/cli-node": "0.2.13",
|
||||
"@backstage/codemods": "0.1.52",
|
||||
"@backstage/config": "1.3.2",
|
||||
"@backstage/config-loader": "1.10.0",
|
||||
"@backstage/core-app-api": "1.16.0",
|
||||
"@backstage/core-compat-api": "0.4.0",
|
||||
"@backstage/core-components": "0.17.0",
|
||||
"@backstage/core-plugin-api": "1.10.5",
|
||||
"@backstage/create-app": "0.6.0",
|
||||
"@backstage/dev-utils": "1.1.8",
|
||||
"e2e-test": "0.2.26",
|
||||
"@backstage/e2e-test-utils": "0.1.1",
|
||||
"@backstage/errors": "1.2.7",
|
||||
"@backstage/eslint-plugin": "0.1.10",
|
||||
"@backstage/frontend-app-api": "0.11.0",
|
||||
"@backstage/frontend-defaults": "0.2.0",
|
||||
"@internal/frontend": "0.0.7",
|
||||
"@backstage/frontend-plugin-api": "0.10.0",
|
||||
"@backstage/frontend-test-utils": "0.3.0",
|
||||
"@backstage/integration": "1.16.2",
|
||||
"@backstage/integration-aws-node": "0.1.15",
|
||||
"@backstage/integration-react": "1.2.5",
|
||||
"@internal/opaque": "0.0.1",
|
||||
"@backstage/release-manifests": "0.0.12",
|
||||
"@backstage/repo-tools": "0.13.1",
|
||||
"@internal/scaffolder": "0.0.7",
|
||||
"@techdocs/cli": "1.9.1",
|
||||
"techdocs-cli-embedded-app": "0.2.106",
|
||||
"@backstage/test-utils": "1.7.6",
|
||||
"@backstage/theme": "0.6.4",
|
||||
"@backstage/types": "1.2.1",
|
||||
"@backstage/version-bridge": "1.0.11",
|
||||
"yarn-plugin-backstage": "0.0.4",
|
||||
"@backstage/plugin-api-docs": "0.12.5",
|
||||
"@backstage/plugin-api-docs-module-protoc-gen-doc": "0.1.9",
|
||||
"@backstage/plugin-app": "0.1.7",
|
||||
"@backstage/plugin-app-backend": "0.5.0",
|
||||
"@backstage/plugin-app-node": "0.1.31",
|
||||
"@backstage/plugin-app-visualizer": "0.1.17",
|
||||
"@backstage/plugin-auth-backend": "0.24.4",
|
||||
"@backstage/plugin-auth-backend-module-atlassian-provider": "0.4.1",
|
||||
"@backstage/plugin-auth-backend-module-auth0-provider": "0.2.1",
|
||||
"@backstage/plugin-auth-backend-module-aws-alb-provider": "0.4.1",
|
||||
"@backstage/plugin-auth-backend-module-azure-easyauth-provider": "0.2.6",
|
||||
"@backstage/plugin-auth-backend-module-bitbucket-provider": "0.3.1",
|
||||
"@backstage/plugin-auth-backend-module-bitbucket-server-provider": "0.2.1",
|
||||
"@backstage/plugin-auth-backend-module-cloudflare-access-provider": "0.4.1",
|
||||
"@backstage/plugin-auth-backend-module-gcp-iap-provider": "0.4.1",
|
||||
"@backstage/plugin-auth-backend-module-github-provider": "0.3.1",
|
||||
"@backstage/plugin-auth-backend-module-gitlab-provider": "0.3.1",
|
||||
"@backstage/plugin-auth-backend-module-google-provider": "0.3.1",
|
||||
"@backstage/plugin-auth-backend-module-guest-provider": "0.2.6",
|
||||
"@backstage/plugin-auth-backend-module-microsoft-provider": "0.3.1",
|
||||
"@backstage/plugin-auth-backend-module-oauth2-provider": "0.4.1",
|
||||
"@backstage/plugin-auth-backend-module-oauth2-proxy-provider": "0.2.6",
|
||||
"@backstage/plugin-auth-backend-module-oidc-provider": "0.4.1",
|
||||
"@backstage/plugin-auth-backend-module-okta-provider": "0.2.1",
|
||||
"@backstage/plugin-auth-backend-module-onelogin-provider": "0.3.1",
|
||||
"@backstage/plugin-auth-backend-module-pinniped-provider": "0.3.1",
|
||||
"@backstage/plugin-auth-backend-module-vmware-cloud-provider": "0.5.1",
|
||||
"@backstage/plugin-auth-node": "0.6.1",
|
||||
"@backstage/plugin-auth-react": "0.1.13",
|
||||
"@backstage/plugin-bitbucket-cloud-common": "0.2.28",
|
||||
"@backstage/plugin-catalog": "1.28.0",
|
||||
"@backstage/plugin-catalog-backend": "1.32.0",
|
||||
"@backstage/plugin-catalog-backend-module-aws": "0.4.9",
|
||||
"@backstage/plugin-catalog-backend-module-azure": "0.3.3",
|
||||
"@backstage/plugin-catalog-backend-module-backstage-openapi": "0.5.0",
|
||||
"@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.4.6",
|
||||
"@backstage/plugin-catalog-backend-module-bitbucket-server": "0.3.3",
|
||||
"@backstage/plugin-catalog-backend-module-gcp": "0.3.6",
|
||||
"@backstage/plugin-catalog-backend-module-gerrit": "0.3.0",
|
||||
"@backstage/plugin-catalog-backend-module-github": "0.7.11",
|
||||
"@backstage/plugin-catalog-backend-module-github-org": "0.3.8",
|
||||
"@backstage/plugin-catalog-backend-module-gitlab": "0.6.4",
|
||||
"@backstage/plugin-catalog-backend-module-gitlab-org": "0.2.7",
|
||||
"@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.6.4",
|
||||
"@backstage/plugin-catalog-backend-module-ldap": "0.11.3",
|
||||
"@backstage/plugin-catalog-backend-module-logs": "0.1.8",
|
||||
"@backstage/plugin-catalog-backend-module-msgraph": "0.6.8",
|
||||
"@backstage/plugin-catalog-backend-module-openapi": "0.2.8",
|
||||
"@backstage/plugin-catalog-backend-module-puppetdb": "0.2.8",
|
||||
"@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.2.6",
|
||||
"@backstage/plugin-catalog-backend-module-unprocessed": "0.5.6",
|
||||
"@backstage/plugin-catalog-common": "1.1.3",
|
||||
"@backstage/plugin-catalog-graph": "0.4.17",
|
||||
"@backstage/plugin-catalog-import": "0.12.11",
|
||||
"@backstage/plugin-catalog-node": "1.16.1",
|
||||
"@backstage/plugin-catalog-react": "1.16.0",
|
||||
"@backstage/plugin-catalog-unprocessed-entities": "0.2.15",
|
||||
"@backstage/plugin-catalog-unprocessed-entities-common": "0.0.7",
|
||||
"@backstage/plugin-config-schema": "0.1.66",
|
||||
"@backstage/plugin-devtools": "0.1.25",
|
||||
"@backstage/plugin-devtools-backend": "0.5.3",
|
||||
"@backstage/plugin-devtools-common": "0.1.15",
|
||||
"@backstage/plugin-events-backend": "0.5.0",
|
||||
"@backstage/plugin-events-backend-module-aws-sqs": "0.4.9",
|
||||
"@backstage/plugin-events-backend-module-azure": "0.2.18",
|
||||
"@backstage/plugin-events-backend-module-bitbucket-cloud": "0.2.18",
|
||||
"@backstage/plugin-events-backend-module-gerrit": "0.2.18",
|
||||
"@backstage/plugin-events-backend-module-github": "0.2.18",
|
||||
"@backstage/plugin-events-backend-module-gitlab": "0.2.18",
|
||||
"@backstage/plugin-events-backend-test-utils": "0.1.42",
|
||||
"@backstage/plugin-events-node": "0.4.9",
|
||||
"@internal/plugin-todo-list": "1.0.37",
|
||||
"@internal/plugin-todo-list-backend": "1.0.37",
|
||||
"@internal/plugin-todo-list-common": "1.0.24",
|
||||
"@backstage/plugin-home": "0.8.6",
|
||||
"@backstage/plugin-home-react": "0.1.24",
|
||||
"@backstage/plugin-kubernetes": "0.12.5",
|
||||
"@backstage/plugin-kubernetes-backend": "0.19.4",
|
||||
"@backstage/plugin-kubernetes-cluster": "0.0.23",
|
||||
"@backstage/plugin-kubernetes-common": "0.9.4",
|
||||
"@backstage/plugin-kubernetes-node": "0.2.4",
|
||||
"@backstage/plugin-kubernetes-react": "0.5.5",
|
||||
"@backstage/plugin-notifications": "0.5.3",
|
||||
"@backstage/plugin-notifications-backend": "0.5.4",
|
||||
"@backstage/plugin-notifications-backend-module-email": "0.3.7",
|
||||
"@backstage/plugin-notifications-common": "0.0.8",
|
||||
"@backstage/plugin-notifications-node": "0.2.13",
|
||||
"@backstage/plugin-org": "0.6.37",
|
||||
"@backstage/plugin-org-react": "0.1.36",
|
||||
"@backstage/plugin-permission-backend": "0.5.55",
|
||||
"@backstage/plugin-permission-backend-module-allow-all-policy": "0.2.6",
|
||||
"@backstage/plugin-permission-common": "0.8.4",
|
||||
"@backstage/plugin-permission-node": "0.9.0",
|
||||
"@backstage/plugin-permission-react": "0.4.32",
|
||||
"@backstage/plugin-proxy-backend": "0.6.0",
|
||||
"@backstage/plugin-proxy-node": "0.1.2",
|
||||
"@backstage/plugin-scaffolder": "1.29.0",
|
||||
"@backstage/plugin-scaffolder-backend": "1.31.0",
|
||||
"@backstage/plugin-scaffolder-backend-module-azure": "0.2.7",
|
||||
"@backstage/plugin-scaffolder-backend-module-bitbucket": "0.3.8",
|
||||
"@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": "0.2.7",
|
||||
"@backstage/plugin-scaffolder-backend-module-bitbucket-server": "0.2.7",
|
||||
"@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.3.7",
|
||||
"@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.3.8",
|
||||
"@backstage/plugin-scaffolder-backend-module-gcp": "0.2.7",
|
||||
"@backstage/plugin-scaffolder-backend-module-gerrit": "0.2.7",
|
||||
"@backstage/plugin-scaffolder-backend-module-gitea": "0.2.7",
|
||||
"@backstage/plugin-scaffolder-backend-module-github": "0.6.1",
|
||||
"@backstage/plugin-scaffolder-backend-module-gitlab": "0.8.1",
|
||||
"@backstage/plugin-scaffolder-backend-module-notifications": "0.1.8",
|
||||
"@backstage/plugin-scaffolder-backend-module-rails": "0.5.7",
|
||||
"@backstage/plugin-scaffolder-backend-module-sentry": "0.2.7",
|
||||
"@backstage/plugin-scaffolder-backend-module-yeoman": "0.4.8",
|
||||
"@backstage/plugin-scaffolder-common": "1.5.10",
|
||||
"@backstage/plugin-scaffolder-node": "0.8.0",
|
||||
"@backstage/plugin-scaffolder-node-test-utils": "0.2.0",
|
||||
"@backstage/plugin-scaffolder-react": "1.14.6",
|
||||
"@backstage/plugin-search": "1.4.24",
|
||||
"@backstage/plugin-search-backend": "2.0.0",
|
||||
"@backstage/plugin-search-backend-module-catalog": "0.3.2",
|
||||
"@backstage/plugin-search-backend-module-elasticsearch": "1.7.0",
|
||||
"@backstage/plugin-search-backend-module-explore": "0.3.0",
|
||||
"@backstage/plugin-search-backend-module-pg": "0.5.42",
|
||||
"@backstage/plugin-search-backend-module-stack-overflow-collator": "0.3.7",
|
||||
"@backstage/plugin-search-backend-module-techdocs": "0.4.0",
|
||||
"@backstage/plugin-search-backend-node": "1.3.9",
|
||||
"@backstage/plugin-search-common": "1.2.17",
|
||||
"@backstage/plugin-search-react": "1.8.7",
|
||||
"@backstage/plugin-signals": "0.0.17",
|
||||
"@backstage/plugin-signals-backend": "0.3.2",
|
||||
"@backstage/plugin-signals-node": "0.1.18",
|
||||
"@backstage/plugin-signals-react": "0.0.11",
|
||||
"@backstage/plugin-techdocs": "1.12.4",
|
||||
"@backstage/plugin-techdocs-addons-test-utils": "1.0.46",
|
||||
"@backstage/plugin-techdocs-backend": "2.0.0",
|
||||
"@backstage/plugin-techdocs-common": "0.1.0",
|
||||
"@backstage/plugin-techdocs-module-addons-contrib": "1.1.22",
|
||||
"@backstage/plugin-techdocs-node": "1.13.1",
|
||||
"@backstage/plugin-techdocs-react": "1.2.15",
|
||||
"@backstage/plugin-user-settings": "0.8.20",
|
||||
"@backstage/plugin-user-settings-backend": "0.3.0",
|
||||
"@backstage/plugin-user-settings-common": "0.0.1"
|
||||
},
|
||||
"changesets": [
|
||||
"chilly-sheep-scream",
|
||||
"clever-tomatoes-jump",
|
||||
"create-app-1742907012",
|
||||
"cuddly-dodos-allow",
|
||||
"cuddly-kids-sell",
|
||||
"cuddly-mirrors-ask",
|
||||
"deep-flies-vanish",
|
||||
"early-feet-lay",
|
||||
"every-ties-wink",
|
||||
"famous-dragons-bake",
|
||||
"funny-hotels-cut",
|
||||
"giant-donkeys-punch",
|
||||
"honest-ties-worry",
|
||||
"itchy-times-behave",
|
||||
"large-kings-protect",
|
||||
"lemon-shoes-enter",
|
||||
"metal-animals-notice",
|
||||
"odd-bobcats-hang",
|
||||
"orange-queens-grin",
|
||||
"sad-pots-try",
|
||||
"silver-rocks-invite",
|
||||
"spotty-towns-show",
|
||||
"strange-planes-kneel",
|
||||
"sweet-maps-invent",
|
||||
"swift-boats-add",
|
||||
"tame-sloths-brake",
|
||||
"thin-snails-judge",
|
||||
"tiny-swans-warn",
|
||||
"twenty-forks-cheat",
|
||||
"twenty-walls-join",
|
||||
"wet-penguins-beg",
|
||||
"wide-planets-camp",
|
||||
"witty-planets-sing"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-react': minor
|
||||
'@backstage/plugin-scaffolder': minor
|
||||
---
|
||||
|
||||
add api to retrieve template extensions info from scaffolder-backend
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-unprocessed-entities': patch
|
||||
---
|
||||
|
||||
Fixed the `convertTimeToLocalTimezone` function in the FailedEntities component to correctly parse ISO 8601 date strings and set the timezone to the current local timezone.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
|
||||
---
|
||||
|
||||
fixed misleading example location annotations in docs
|
||||
@@ -74,7 +74,7 @@ jobs:
|
||||
|
||||
- name: Cache Comment
|
||||
if: ${{ steps.event.outputs.ACTION != 'closed' }}
|
||||
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
with:
|
||||
path: comment.md
|
||||
key: ${{ steps.hash.outputs.COMMENT_FILE_HASH }}
|
||||
@@ -103,7 +103,7 @@ jobs:
|
||||
|
||||
- name: Fetch cached Manifests File
|
||||
id: cache
|
||||
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
|
||||
with:
|
||||
path: comment.md
|
||||
key: ${{ needs.setup.outputs.comment-cache-key }}
|
||||
|
||||
@@ -239,7 +239,7 @@ jobs:
|
||||
|
||||
# Use the lower-level cache actions for the success cache, so that we can store the cache even on failed builds
|
||||
- name: restore backstage-cli cache
|
||||
uses: actions/cache/restore@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
|
||||
uses: actions/cache/restore@5a3ec84eff668545956fd18022155c47e93e2684 # v4
|
||||
with:
|
||||
path: .cache/backstage-cli
|
||||
key: ${{ runner.os }}-v${{ matrix.node-version }}-backstage-cli-${{ github.run_id }}
|
||||
@@ -260,7 +260,7 @@ jobs:
|
||||
|
||||
# Always save success cache even if there were failures, that way it can be used in re-triggered builds
|
||||
- name: save backstage-cli cache
|
||||
uses: actions/cache/save@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
|
||||
uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684 # v4
|
||||
if: always()
|
||||
with:
|
||||
path: .cache/backstage-cli
|
||||
|
||||
@@ -94,7 +94,7 @@ jobs:
|
||||
run: yarn backstage-cli config:check --lax
|
||||
|
||||
- name: backstage-cli cache
|
||||
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
|
||||
with:
|
||||
path: .cache/backstage-cli
|
||||
key: ${{ runner.os }}-v${{ matrix.node-version }}-backstage-cli-${{ github.run_id }}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
"@uiw/codemirror-themes": "^4.23.7",
|
||||
"@uiw/react-codemirror": "^4.23.7",
|
||||
"motion": "^12.4.1",
|
||||
"next": "14.2.23",
|
||||
"next": "14.2.25",
|
||||
"react": "^18.0.2",
|
||||
"react-dom": "^18.0.2",
|
||||
"react-frame-component": "^5.2.7",
|
||||
|
||||
+46
-46
@@ -501,10 +501,10 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@next/env@npm:14.2.23":
|
||||
version: 14.2.23
|
||||
resolution: "@next/env@npm:14.2.23"
|
||||
checksum: dad74ff7de68992a0753f728a5b926ed6eb0af8a62deece6bbb32ba254b1f7d870e256b61db8d4c40fa811695cfc5e69ba964339f3cb8b40237cf9c28dfe747f
|
||||
"@next/env@npm:14.2.25":
|
||||
version: 14.2.25
|
||||
resolution: "@next/env@npm:14.2.25"
|
||||
checksum: c937d4e8b62c7ae9c74bd607888e791b78445e93d523d22d0838e816c3fbeb7b1b62766d110ef235229e4c4ca8587f493e6ec761eb0a2c774dabaee2b58f581b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -534,65 +534,65 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@next/swc-darwin-arm64@npm:14.2.23":
|
||||
version: 14.2.23
|
||||
resolution: "@next/swc-darwin-arm64@npm:14.2.23"
|
||||
"@next/swc-darwin-arm64@npm:14.2.25":
|
||||
version: 14.2.25
|
||||
resolution: "@next/swc-darwin-arm64@npm:14.2.25"
|
||||
conditions: os=darwin & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@next/swc-darwin-x64@npm:14.2.23":
|
||||
version: 14.2.23
|
||||
resolution: "@next/swc-darwin-x64@npm:14.2.23"
|
||||
"@next/swc-darwin-x64@npm:14.2.25":
|
||||
version: 14.2.25
|
||||
resolution: "@next/swc-darwin-x64@npm:14.2.25"
|
||||
conditions: os=darwin & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@next/swc-linux-arm64-gnu@npm:14.2.23":
|
||||
version: 14.2.23
|
||||
resolution: "@next/swc-linux-arm64-gnu@npm:14.2.23"
|
||||
"@next/swc-linux-arm64-gnu@npm:14.2.25":
|
||||
version: 14.2.25
|
||||
resolution: "@next/swc-linux-arm64-gnu@npm:14.2.25"
|
||||
conditions: os=linux & cpu=arm64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@next/swc-linux-arm64-musl@npm:14.2.23":
|
||||
version: 14.2.23
|
||||
resolution: "@next/swc-linux-arm64-musl@npm:14.2.23"
|
||||
"@next/swc-linux-arm64-musl@npm:14.2.25":
|
||||
version: 14.2.25
|
||||
resolution: "@next/swc-linux-arm64-musl@npm:14.2.25"
|
||||
conditions: os=linux & cpu=arm64 & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@next/swc-linux-x64-gnu@npm:14.2.23":
|
||||
version: 14.2.23
|
||||
resolution: "@next/swc-linux-x64-gnu@npm:14.2.23"
|
||||
"@next/swc-linux-x64-gnu@npm:14.2.25":
|
||||
version: 14.2.25
|
||||
resolution: "@next/swc-linux-x64-gnu@npm:14.2.25"
|
||||
conditions: os=linux & cpu=x64 & libc=glibc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@next/swc-linux-x64-musl@npm:14.2.23":
|
||||
version: 14.2.23
|
||||
resolution: "@next/swc-linux-x64-musl@npm:14.2.23"
|
||||
"@next/swc-linux-x64-musl@npm:14.2.25":
|
||||
version: 14.2.25
|
||||
resolution: "@next/swc-linux-x64-musl@npm:14.2.25"
|
||||
conditions: os=linux & cpu=x64 & libc=musl
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@next/swc-win32-arm64-msvc@npm:14.2.23":
|
||||
version: 14.2.23
|
||||
resolution: "@next/swc-win32-arm64-msvc@npm:14.2.23"
|
||||
"@next/swc-win32-arm64-msvc@npm:14.2.25":
|
||||
version: 14.2.25
|
||||
resolution: "@next/swc-win32-arm64-msvc@npm:14.2.25"
|
||||
conditions: os=win32 & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@next/swc-win32-ia32-msvc@npm:14.2.23":
|
||||
version: 14.2.23
|
||||
resolution: "@next/swc-win32-ia32-msvc@npm:14.2.23"
|
||||
"@next/swc-win32-ia32-msvc@npm:14.2.25":
|
||||
version: 14.2.25
|
||||
resolution: "@next/swc-win32-ia32-msvc@npm:14.2.25"
|
||||
conditions: os=win32 & cpu=ia32
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@next/swc-win32-x64-msvc@npm:14.2.23":
|
||||
version: 14.2.23
|
||||
resolution: "@next/swc-win32-x64-msvc@npm:14.2.23"
|
||||
"@next/swc-win32-x64-msvc@npm:14.2.25":
|
||||
version: 14.2.25
|
||||
resolution: "@next/swc-win32-x64-msvc@npm:14.2.25"
|
||||
conditions: os=win32 & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
@@ -1502,7 +1502,7 @@ __metadata:
|
||||
eslint-config-next: 14.2.23
|
||||
lightningcss: ^1.28.2
|
||||
motion: ^12.4.1
|
||||
next: 14.2.23
|
||||
next: 14.2.25
|
||||
react: ^18.0.2
|
||||
react-dom: ^18.0.2
|
||||
react-frame-component: ^5.2.7
|
||||
@@ -4176,20 +4176,20 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"next@npm:14.2.23":
|
||||
version: 14.2.23
|
||||
resolution: "next@npm:14.2.23"
|
||||
"next@npm:14.2.25":
|
||||
version: 14.2.25
|
||||
resolution: "next@npm:14.2.25"
|
||||
dependencies:
|
||||
"@next/env": 14.2.23
|
||||
"@next/swc-darwin-arm64": 14.2.23
|
||||
"@next/swc-darwin-x64": 14.2.23
|
||||
"@next/swc-linux-arm64-gnu": 14.2.23
|
||||
"@next/swc-linux-arm64-musl": 14.2.23
|
||||
"@next/swc-linux-x64-gnu": 14.2.23
|
||||
"@next/swc-linux-x64-musl": 14.2.23
|
||||
"@next/swc-win32-arm64-msvc": 14.2.23
|
||||
"@next/swc-win32-ia32-msvc": 14.2.23
|
||||
"@next/swc-win32-x64-msvc": 14.2.23
|
||||
"@next/env": 14.2.25
|
||||
"@next/swc-darwin-arm64": 14.2.25
|
||||
"@next/swc-darwin-x64": 14.2.25
|
||||
"@next/swc-linux-arm64-gnu": 14.2.25
|
||||
"@next/swc-linux-arm64-musl": 14.2.25
|
||||
"@next/swc-linux-x64-gnu": 14.2.25
|
||||
"@next/swc-linux-x64-musl": 14.2.25
|
||||
"@next/swc-win32-arm64-msvc": 14.2.25
|
||||
"@next/swc-win32-ia32-msvc": 14.2.25
|
||||
"@next/swc-win32-x64-msvc": 14.2.25
|
||||
"@swc/helpers": 0.5.5
|
||||
busboy: 1.6.0
|
||||
caniuse-lite: ^1.0.30001579
|
||||
@@ -4230,7 +4230,7 @@ __metadata:
|
||||
optional: true
|
||||
bin:
|
||||
next: dist/bin/next
|
||||
checksum: 4f9f744439fb860ba7c64ae1c61bc361bdd36e41d56760c52eabb404f4143c854b78ba9a79b7aefc322d93edbbd66d966cbdaf86772a88a8bf2e6b289987f14f
|
||||
checksum: ca47d0f1d41351adaf75a37c8e8ce39dd76ebc62b054266ef84b5fc1ea41241ad5f16ab7a1ca47b6613b2c3e4c6f48b179f8cd3b0f087912ec7164c4e72981f0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
@@ -1157,13 +1157,21 @@ export class MyIncrementalEntityProvider
|
||||
The last step is to implement the actual `next` method that will accept the cursor, call the API, process the result and return the result.
|
||||
|
||||
```ts
|
||||
import {
|
||||
ANNOTATION_LOCATION,
|
||||
ANNOTATION_ORIGIN_LOCATION,
|
||||
} from '@backstage/catalog-model';
|
||||
import { IncrementalEntityProvider } from '@backstage/plugin-catalog-backend-module-incremental-ingestion';
|
||||
|
||||
export class MyIncrementalEntityProvider
|
||||
implements IncrementalEntityProvider<Cursor, Context>
|
||||
{
|
||||
private readonly token: string;
|
||||
private readonly mySource: string;
|
||||
|
||||
constructor(token: string) {
|
||||
constructor(token: string, mySource: string) {
|
||||
this.token = token;
|
||||
this.mySource = mySource;
|
||||
}
|
||||
|
||||
getProviderName() {
|
||||
@@ -1181,6 +1189,7 @@ export class MyIncrementalEntityProvider
|
||||
cursor: Cursor = { page: 1 },
|
||||
): Promise<EntityIteratorResult<Cursor>> {
|
||||
const { apiClient } = context;
|
||||
const location = `${this.getProviderName()}:${this.mySource}`;
|
||||
|
||||
// call your API with the current cursor
|
||||
const data = await apiClient.getServices(cursor);
|
||||
@@ -1200,8 +1209,8 @@ export class MyIncrementalEntityProvider
|
||||
name: item.name,
|
||||
annotations: {
|
||||
// You need to define these, otherwise they'll fail validation
|
||||
[ANNOTATION_LOCATION]: this.getProviderName(),
|
||||
[ANNOTATION_ORIGIN_LOCATION]: this.getProviderName(),
|
||||
[ANNOTATION_LOCATION]: location,
|
||||
[ANNOTATION_ORIGIN_LOCATION]: location,
|
||||
},
|
||||
},
|
||||
spec: {
|
||||
|
||||
+17
-17
@@ -8,7 +8,7 @@ The Backstage Notifications System provides a way for plugins and external servi
|
||||
These notifications are displayed in the dedicated page of the Backstage frontend UI or by frontend plugins per specific scenarios.
|
||||
Additionally, notifications can be sent to external channels (like email) via "processors" implemented within plugins.
|
||||
|
||||
Notifications can be optionally integrated with the signals (a push mechanism) to ensure users receive them immediately.
|
||||
Notifications can be optionally extended with the signals plugin, which provides a push mechanism to ensure users receive notifications immediately.
|
||||
|
||||
### Upgrade to the latest version of Backstage
|
||||
|
||||
@@ -27,8 +27,8 @@ There are two basic types of notifications:
|
||||
Example of use-cases:
|
||||
|
||||
- System-wide announcements or alerts
|
||||
- Notifications for component owners: e.g., build failures, successful deployments, new vulnerabilities
|
||||
- Notifications for individuals: e.g., updates you have subscribed to, new required training courses
|
||||
- Notifications for component owners, e.g. build failures, successful deployments, new vulnerabilities
|
||||
- Notifications for individuals, e.g. updates you have subscribed to, new required training courses
|
||||
- Notifications pertaining to a particular entity in the catalog: A notification might apply to an entity and the owning team.
|
||||
|
||||
## Installation
|
||||
@@ -87,17 +87,17 @@ import { NotificationsPage } from '@backstage/plugin-notifications';
|
||||
|
||||
### Optional: Add Signals
|
||||
|
||||
The use of signals is optional but improves user experience.
|
||||
The use of signals is optional but improves the user experience.
|
||||
|
||||
#### Optional: Add Signals Backend
|
||||
|
||||
Add Signals to your backend by first adding the backend package:
|
||||
Add signals to your backend by first adding the backend package:
|
||||
|
||||
```bash title="From your Backstage root directory"
|
||||
yarn --cwd packages/backend add @backstage/plugin-signals-backend
|
||||
```
|
||||
|
||||
The add the signals to your backend:
|
||||
Then add the signals plugin to your backend:
|
||||
|
||||
```ts title="packages/backend/src/index.ts"
|
||||
const backend = createBackend();
|
||||
@@ -156,19 +156,19 @@ add the `UserNotificationSettingsCard` to your frontend.
|
||||
|
||||
You can customize the origin names shown in the UI by passing an object where the keys are the origins and the values are the names you want to show in the UI.
|
||||
|
||||
Each notification processor will receive its own column in the settings page, where the user can enable or disable notifications from that processor.
|
||||
Each notification processor will receive its own row in the settings page, where the user can enable or disable notifications from that processor.
|
||||
|
||||
## Additional info
|
||||
|
||||
An example of a backend plugin sending notifications can be found in https://github.com/backstage/backstage/tree/master/plugins/scaffolder-backend-module-notifications.
|
||||
An example of a backend plugin sending notifications can be found in the [`@backstage/plugin-scaffolder-backend-module-notifications` package](https://github.com/backstage/backstage/tree/master/plugins/scaffolder-backend-module-notifications).
|
||||
|
||||
Sources of the notifications and signal plugins:
|
||||
Sources of the notifications and signals plugins:
|
||||
|
||||
- https://github.com/backstage/backstage/blob/master/plugins/notifications
|
||||
- https://github.com/backstage/backstage/blob/master/plugins/notifications-backend
|
||||
- https://github.com/backstage/backstage/blob/master/plugins/notifications-common
|
||||
- https://github.com/backstage/backstage/blob/master/plugins/notifications-node
|
||||
- https://github.com/backstage/backstage/blob/master/plugins/signals-backend
|
||||
- https://github.com/backstage/backstage/blob/master/plugins/signals
|
||||
- https://github.com/backstage/backstage/blob/master/plugins/signals-node
|
||||
- https://github.com/backstage/backstage/blob/master/plugins/signals-react
|
||||
- [notifications](https://github.com/backstage/backstage/blob/master/plugins/notifications)
|
||||
- [notifications-backend](https://github.com/backstage/backstage/blob/master/plugins/notifications-backend)
|
||||
- [notifications-common](https://github.com/backstage/backstage/blob/master/plugins/notifications-common)
|
||||
- [notifications-node](https://github.com/backstage/backstage/blob/master/plugins/notifications-node)
|
||||
- [signals-backend](https://github.com/backstage/backstage/blob/master/plugins/signals-backend)
|
||||
- [signals](https://github.com/backstage/backstage/blob/master/plugins/signals)
|
||||
- [signals-node](https://github.com/backstage/backstage/blob/master/plugins/signals-node)
|
||||
- [signals-react](https://github.com/backstage/backstage/blob/master/plugins/signals-react)
|
||||
|
||||
@@ -6,7 +6,7 @@ description: How to use the notifications and signals
|
||||
|
||||
## Notifications Backend
|
||||
|
||||
The Notifications backend plugin provides an API to create notifications, list notifications per logged-in user, and search based on parameters.
|
||||
The notifications backend plugin provides an API to create notifications, list notifications per logged-in user, and search based on parameters.
|
||||
|
||||
The plugin uses a relational [database](https://backstage.io/docs/getting-started/config/database) for persistence; no specifics are introduced in this context.
|
||||
|
||||
@@ -26,7 +26,7 @@ In the `packages/app/src/components/Root/Root.tsx`, tweak the [properties](https
|
||||
|
||||
## Usage
|
||||
|
||||
New notifications can be sent either by a backend plugin or an external service through the REST API.
|
||||
New notifications can be sent either by a backend plugin or by an external service through the REST API.
|
||||
|
||||
## Backend
|
||||
|
||||
@@ -71,7 +71,7 @@ await notificationService.send({
|
||||
});
|
||||
```
|
||||
|
||||
Refer the [API documentation](https://github.com/backstage/backstage/blob/master/plugins/notifications-node/report.api.md) for further details.
|
||||
Consult the [API documentation](https://github.com/backstage/backstage/blob/master/plugins/notifications-node/report.api.md) for further details.
|
||||
|
||||
### External Services
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ The backend supplies a central logging service,
|
||||
[`rootLogger`](../backend-system/core-services/root-logger.md), as well as a plugin
|
||||
based logger, [`logger`](../backend-system/core-services/logger.md) from `coreServices`.
|
||||
To add additional granularity to your logs, you can create children from the plugin
|
||||
based logger, using the `.child()` method and provide is with JSON data. For example,
|
||||
based logger, using the `.child()` method and provide it with JSON data. For example,
|
||||
if you wanted to log items for a specific span in your plugin, you could do
|
||||
|
||||
```ts
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,7 @@ author: Taylor Webber, Staff Engineer, Stash
|
||||
|
||||
{/* truncate */}
|
||||
|
||||
At [Stash](stash.com), our mission is to give people the confidence to invest for a better life. Our app simplifies investing for the middle class who may be less experienced with traditional investing and retirement planning. Our customers trust us with their money, and with that, rely on us to provide a responsive and quality experience that works every time.
|
||||
At [Stash](https://www.stash.com), our mission is to give people the confidence to invest for a better life. Our app simplifies investing for the middle class who may be less experienced with traditional investing and retirement planning. Our customers trust us with their money, and with that, rely on us to provide a responsive and quality experience that works every time.
|
||||
|
||||
It isn't revolutionary to say that monitoring the health of a software application is critical for ensuring its reliability and performance in service of customers' needs. However, in a distributed architecture like microservices, tracking ownership and monitoring application health across the system quickly becomes complex. The difficulties are further compounded when leveraging multiple SaaS products, which is common in modern development but specifically so for fintechs like Stash that integrate best-of-breed software in novel ways, as we do across our platform.
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "root",
|
||||
"version": "1.37.0",
|
||||
"version": "1.38.0-next.0",
|
||||
"backstage": {
|
||||
"cli": {
|
||||
"new": {
|
||||
|
||||
@@ -1,5 +1,51 @@
|
||||
# example-app-next
|
||||
|
||||
## 0.0.22-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-catalog@1.29.0-next.0
|
||||
- @backstage/cli@0.32.0-next.0
|
||||
- @backstage/canon@0.2.1-next.0
|
||||
- @backstage/plugin-catalog-unprocessed-entities@0.2.16-next.0
|
||||
- @backstage/plugin-scaffolder-react@1.15.0-next.0
|
||||
- @backstage/plugin-catalog-react@1.16.1-next.0
|
||||
- @backstage/plugin-scaffolder@1.30.0-next.0
|
||||
- @backstage/core-compat-api@0.4.1-next.0
|
||||
- @backstage/plugin-api-docs@0.12.6-next.0
|
||||
- @backstage/plugin-catalog-graph@0.4.18-next.0
|
||||
- @backstage/plugin-catalog-import@0.12.12-next.0
|
||||
- @backstage/plugin-org@0.6.38-next.0
|
||||
- @backstage/plugin-techdocs@1.12.5-next.0
|
||||
- @backstage/plugin-user-settings@0.8.21-next.0
|
||||
- @backstage/app-defaults@1.6.0
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/core-app-api@1.16.0
|
||||
- @backstage/core-components@0.17.0
|
||||
- @backstage/core-plugin-api@1.10.5
|
||||
- @backstage/frontend-app-api@0.11.0
|
||||
- @backstage/frontend-defaults@0.2.0
|
||||
- @backstage/frontend-plugin-api@0.10.0
|
||||
- @backstage/integration-react@1.2.5
|
||||
- @backstage/theme@0.6.4
|
||||
- @backstage/plugin-app@0.1.7
|
||||
- @backstage/plugin-app-visualizer@0.1.17
|
||||
- @backstage/plugin-auth-react@0.1.13
|
||||
- @backstage/plugin-catalog-common@1.1.3
|
||||
- @backstage/plugin-home@0.8.7-next.0
|
||||
- @backstage/plugin-kubernetes@0.12.6-next.0
|
||||
- @backstage/plugin-kubernetes-cluster@0.0.24-next.0
|
||||
- @backstage/plugin-notifications@0.5.4-next.0
|
||||
- @backstage/plugin-permission-react@0.4.32
|
||||
- @backstage/plugin-search@1.4.25-next.0
|
||||
- @backstage/plugin-search-common@1.2.17
|
||||
- @backstage/plugin-search-react@1.8.7
|
||||
- @backstage/plugin-signals@0.0.17
|
||||
- @backstage/plugin-techdocs-module-addons-contrib@1.1.22
|
||||
- @backstage/plugin-techdocs-react@1.2.15
|
||||
|
||||
## 0.0.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-app-next",
|
||||
"version": "0.0.21",
|
||||
"version": "0.0.22-next.0",
|
||||
"backstage": {
|
||||
"role": "frontend"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,47 @@
|
||||
# example-app
|
||||
|
||||
## 0.2.108-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-catalog@1.29.0-next.0
|
||||
- @backstage/cli@0.32.0-next.0
|
||||
- @backstage/canon@0.2.1-next.0
|
||||
- @backstage/plugin-catalog-unprocessed-entities@0.2.16-next.0
|
||||
- @backstage/plugin-scaffolder-react@1.15.0-next.0
|
||||
- @backstage/plugin-catalog-react@1.16.1-next.0
|
||||
- @backstage/plugin-scaffolder@1.30.0-next.0
|
||||
- @backstage/plugin-api-docs@0.12.6-next.0
|
||||
- @backstage/plugin-catalog-graph@0.4.18-next.0
|
||||
- @backstage/plugin-catalog-import@0.12.12-next.0
|
||||
- @backstage/plugin-org@0.6.38-next.0
|
||||
- @backstage/plugin-techdocs@1.12.5-next.0
|
||||
- @backstage/plugin-user-settings@0.8.21-next.0
|
||||
- @backstage/app-defaults@1.6.0
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/core-app-api@1.16.0
|
||||
- @backstage/core-components@0.17.0
|
||||
- @backstage/core-plugin-api@1.10.5
|
||||
- @backstage/frontend-app-api@0.11.0
|
||||
- @backstage/integration-react@1.2.5
|
||||
- @backstage/theme@0.6.4
|
||||
- @backstage/plugin-auth-react@0.1.13
|
||||
- @backstage/plugin-catalog-common@1.1.3
|
||||
- @backstage/plugin-devtools@0.1.26-next.0
|
||||
- @backstage/plugin-home@0.8.7-next.0
|
||||
- @backstage/plugin-kubernetes@0.12.6-next.0
|
||||
- @backstage/plugin-kubernetes-cluster@0.0.24-next.0
|
||||
- @backstage/plugin-notifications@0.5.4-next.0
|
||||
- @backstage/plugin-permission-react@0.4.32
|
||||
- @backstage/plugin-search@1.4.25-next.0
|
||||
- @backstage/plugin-search-common@1.2.17
|
||||
- @backstage/plugin-search-react@1.8.7
|
||||
- @backstage/plugin-signals@0.0.17
|
||||
- @backstage/plugin-techdocs-module-addons-contrib@1.1.22
|
||||
- @backstage/plugin-techdocs-react@1.2.15
|
||||
|
||||
## 0.2.107
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-app",
|
||||
"version": "0.2.107",
|
||||
"version": "0.2.108-next.0",
|
||||
"backstage": {
|
||||
"role": "frontend"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,28 @@
|
||||
# @backstage/backend-defaults
|
||||
|
||||
## 0.9.0-next.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- 01edf6e: Allow pass through of redis client and cluster options to Cache core service
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/backend-app-api@1.2.1
|
||||
- @backstage/plugin-auth-node@0.6.1
|
||||
- @backstage/plugin-permission-node@0.9.0
|
||||
- @backstage/backend-dev-utils@0.1.5
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/cli-node@0.2.13
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/config-loader@1.10.0
|
||||
- @backstage/errors@1.2.7
|
||||
- @backstage/integration@1.16.2
|
||||
- @backstage/integration-aws-node@0.1.15
|
||||
- @backstage/types@1.2.1
|
||||
- @backstage/plugin-events-node@0.4.9
|
||||
|
||||
## 0.8.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/backend-defaults",
|
||||
"version": "0.8.2",
|
||||
"version": "0.9.0-next.0",
|
||||
"description": "Backend defaults used by Backstage backend apps",
|
||||
"backstage": {
|
||||
"role": "node-library"
|
||||
|
||||
@@ -1,5 +1,29 @@
|
||||
# @backstage/backend-dynamic-feature-service
|
||||
|
||||
## 0.6.2-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/backend-defaults@0.9.0-next.0
|
||||
- @backstage/plugin-scaffolder-node@0.8.1-next.0
|
||||
- @backstage/plugin-auth-node@0.6.1
|
||||
- @backstage/plugin-catalog-backend@1.32.0
|
||||
- @backstage/plugin-events-backend@0.5.0
|
||||
- @backstage/plugin-permission-node@0.9.0
|
||||
- @backstage/plugin-search-backend-node@1.3.9
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/cli-common@0.1.15
|
||||
- @backstage/cli-node@0.2.13
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/config-loader@1.10.0
|
||||
- @backstage/errors@1.2.7
|
||||
- @backstage/types@1.2.1
|
||||
- @backstage/plugin-app-node@0.1.31
|
||||
- @backstage/plugin-events-node@0.4.9
|
||||
- @backstage/plugin-permission-common@0.8.4
|
||||
- @backstage/plugin-search-common@1.2.17
|
||||
|
||||
## 0.6.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/backend-dynamic-feature-service",
|
||||
"version": "0.6.1",
|
||||
"version": "0.6.2-next.0",
|
||||
"description": "Backstage dynamic feature service",
|
||||
"backstage": {
|
||||
"role": "node-library"
|
||||
|
||||
@@ -1,5 +1,43 @@
|
||||
# example-backend-legacy
|
||||
|
||||
## 0.2.109-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/backend-defaults@0.9.0-next.0
|
||||
- @backstage/plugin-scaffolder-backend@1.32.0-next.0
|
||||
- @backstage/plugin-auth-backend@0.24.5-next.0
|
||||
- @backstage/plugin-auth-node@0.6.1
|
||||
- @backstage/plugin-catalog-backend@1.32.0
|
||||
- @backstage/plugin-events-backend@0.5.0
|
||||
- @backstage/plugin-kubernetes-backend@0.19.4
|
||||
- @backstage/plugin-permission-backend@0.5.55
|
||||
- @backstage/plugin-permission-node@0.9.0
|
||||
- @backstage/plugin-search-backend@2.0.1-next.0
|
||||
- @backstage/plugin-search-backend-node@1.3.9
|
||||
- @backstage/plugin-signals-backend@0.3.2
|
||||
- @backstage/plugin-techdocs-backend@2.0.1-next.0
|
||||
- @backstage/plugin-search-backend-module-techdocs@0.4.1-next.0
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/catalog-client@1.9.1
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/integration@1.16.2
|
||||
- @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.2.6
|
||||
- @backstage/plugin-catalog-backend-module-unprocessed@0.5.6
|
||||
- @backstage/plugin-catalog-node@1.16.1
|
||||
- @backstage/plugin-events-node@0.4.9
|
||||
- @backstage/plugin-permission-common@0.8.4
|
||||
- @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.3.8-next.0
|
||||
- @backstage/plugin-scaffolder-backend-module-gitlab@0.8.2-next.0
|
||||
- @backstage/plugin-scaffolder-backend-module-rails@0.5.8-next.0
|
||||
- @backstage/plugin-search-backend-module-catalog@0.3.2
|
||||
- @backstage/plugin-search-backend-module-elasticsearch@1.7.0
|
||||
- @backstage/plugin-search-backend-module-explore@0.3.0
|
||||
- @backstage/plugin-search-backend-module-pg@0.5.42
|
||||
- @backstage/plugin-signals-node@0.1.18
|
||||
|
||||
## 0.2.108
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-backend-legacy",
|
||||
"version": "0.2.108",
|
||||
"version": "0.2.109-next.0",
|
||||
"backstage": {
|
||||
"role": "backend"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
# @backstage/backend-test-utils
|
||||
|
||||
## 1.3.2-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/backend-defaults@0.9.0-next.0
|
||||
- @backstage/backend-app-api@1.2.1
|
||||
- @backstage/plugin-auth-node@0.6.1
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/errors@1.2.7
|
||||
- @backstage/types@1.2.1
|
||||
- @backstage/plugin-events-node@0.4.9
|
||||
|
||||
## 1.3.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/backend-test-utils",
|
||||
"version": "1.3.1",
|
||||
"version": "1.3.2-next.0",
|
||||
"description": "Test helpers library for Backstage backends",
|
||||
"backstage": {
|
||||
"role": "node-library"
|
||||
|
||||
@@ -1,5 +1,43 @@
|
||||
# example-backend
|
||||
|
||||
## 0.0.37-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/backend-defaults@0.9.0-next.0
|
||||
- @backstage/plugin-scaffolder-backend-module-github@0.6.2-next.0
|
||||
- @backstage/plugin-scaffolder-backend@1.32.0-next.0
|
||||
- @backstage/plugin-scaffolder-backend-module-notifications@0.1.9-next.0
|
||||
- @backstage/plugin-app-backend@0.5.0
|
||||
- @backstage/plugin-auth-backend@0.24.5-next.0
|
||||
- @backstage/plugin-auth-backend-module-github-provider@0.3.1
|
||||
- @backstage/plugin-auth-node@0.6.1
|
||||
- @backstage/plugin-catalog-backend@1.32.0
|
||||
- @backstage/plugin-devtools-backend@0.5.4-next.0
|
||||
- @backstage/plugin-events-backend@0.5.0
|
||||
- @backstage/plugin-kubernetes-backend@0.19.4
|
||||
- @backstage/plugin-notifications-backend@0.5.4
|
||||
- @backstage/plugin-permission-backend@0.5.55
|
||||
- @backstage/plugin-permission-node@0.9.0
|
||||
- @backstage/plugin-proxy-backend@0.6.0
|
||||
- @backstage/plugin-search-backend@2.0.1-next.0
|
||||
- @backstage/plugin-search-backend-node@1.3.9
|
||||
- @backstage/plugin-signals-backend@0.3.2
|
||||
- @backstage/plugin-techdocs-backend@2.0.1-next.0
|
||||
- @backstage/plugin-search-backend-module-techdocs@0.4.1-next.0
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/plugin-auth-backend-module-guest-provider@0.2.6
|
||||
- @backstage/plugin-catalog-backend-module-backstage-openapi@0.5.0
|
||||
- @backstage/plugin-catalog-backend-module-openapi@0.2.8
|
||||
- @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.2.6
|
||||
- @backstage/plugin-catalog-backend-module-unprocessed@0.5.6
|
||||
- @backstage/plugin-permission-backend-module-allow-all-policy@0.2.6
|
||||
- @backstage/plugin-permission-common@0.8.4
|
||||
- @backstage/plugin-search-backend-module-catalog@0.3.2
|
||||
- @backstage/plugin-search-backend-module-explore@0.3.0
|
||||
|
||||
## 0.0.36
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-backend",
|
||||
"version": "0.0.36",
|
||||
"version": "0.0.37-next.0",
|
||||
"backstage": {
|
||||
"role": "backend"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @backstage/canon
|
||||
|
||||
## 0.2.1-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 6af7b16: Updated styles for the Menu component in Canon.
|
||||
- 513477f: Add global CSS reset for anchor tags.
|
||||
- 05a5003: Fix the Icon component when the name is not found to return null instead of an empty SVG.
|
||||
|
||||
## 0.2.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -481,101 +481,50 @@
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.canon-MenuTrigger {
|
||||
box-sizing: border-box;
|
||||
border: 1px solid var(--color-gray-200);
|
||||
background-color: var(--color-gray-50);
|
||||
height: 2.5rem;
|
||||
color: var(--color-gray-900);
|
||||
user-select: none;
|
||||
border-radius: .375rem;
|
||||
outline: 0;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: .375rem;
|
||||
margin: 0;
|
||||
padding: 0 .875rem;
|
||||
font-family: inherit;
|
||||
font-size: 1rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.5rem;
|
||||
display: flex;
|
||||
|
||||
@media (hover: hover) {
|
||||
&:hover {
|
||||
background-color: var(--color-gray-100);
|
||||
}
|
||||
}
|
||||
|
||||
&:active, &[data-popup-open] {
|
||||
background-color: var(--color-gray-100);
|
||||
}
|
||||
|
||||
&:focus-visible {
|
||||
outline: 2px solid var(--color-blue);
|
||||
outline-offset: -1px;
|
||||
}
|
||||
}
|
||||
|
||||
.canon-MenuPositioner {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.canon-MenuPopup {
|
||||
box-sizing: border-box;
|
||||
background-color: var(--canon-bg-elevated);
|
||||
color: var(--color-fg-primary);
|
||||
padding: var(--canon-space-2);
|
||||
background-color: var(--canon-bg-surface-1);
|
||||
border: 1px solid var(--canon-border);
|
||||
color: var(--canon-fg-primary);
|
||||
transform-origin: var(--transform-origin);
|
||||
border-radius: .375rem;
|
||||
padding-block: .25rem;
|
||||
outline: none;
|
||||
max-width: 340px;
|
||||
transition: transform .15s, opacity .15s;
|
||||
overflow: hidden;
|
||||
|
||||
&[data-starting-style], &[data-ending-style] {
|
||||
opacity: 0;
|
||||
transform: scale(.9);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: light) {
|
||||
& {
|
||||
outline: 1px solid var(--color-gray-200);
|
||||
box-shadow: 0px 10px 15px -3px var(--color-gray-200), 0px 4px 6px -4px var(--color-gray-200);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
& {
|
||||
outline: 1px solid var(--color-gray-300);
|
||||
outline-offset: -1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.canon-MenuItem {
|
||||
cursor: default;
|
||||
user-select: none;
|
||||
padding-block: .5rem;
|
||||
gap: var(--canon-space-2);
|
||||
color: var(--canon-fg-primary);
|
||||
border-radius: var(--canon-radius-2);
|
||||
padding: var(--canon-space-2) var(--canon-space-2);
|
||||
padding-right: var(--canon-space-4);
|
||||
cursor: pointer;
|
||||
outline: 0;
|
||||
padding-left: 1rem;
|
||||
padding-right: 2rem;
|
||||
font-size: .875rem;
|
||||
line-height: 1rem;
|
||||
text-decoration: none;
|
||||
display: flex;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
&[data-highlighted] {
|
||||
z-index: 0;
|
||||
color: var(--color-gray-50);
|
||||
background-color: var(--canon-bg-tint-hover);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&[data-highlighted]:before {
|
||||
content: "";
|
||||
z-index: -1;
|
||||
background-color: var(--color-gray-900);
|
||||
border-radius: .25rem;
|
||||
position: absolute;
|
||||
inset-block: 0;
|
||||
inset-inline: .25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.canon-MenuSeparator {
|
||||
|
||||
@@ -9083,6 +9083,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
:where(a) {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
:root {
|
||||
--canon-font-regular: system-ui;
|
||||
--canon-font-monospace: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;
|
||||
|
||||
+19
-70
@@ -1,98 +1,47 @@
|
||||
.canon-MenuTrigger {
|
||||
box-sizing: border-box;
|
||||
border: 1px solid var(--color-gray-200);
|
||||
background-color: var(--color-gray-50);
|
||||
height: 2.5rem;
|
||||
color: var(--color-gray-900);
|
||||
user-select: none;
|
||||
border-radius: .375rem;
|
||||
outline: 0;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: .375rem;
|
||||
margin: 0;
|
||||
padding: 0 .875rem;
|
||||
font-family: inherit;
|
||||
font-size: 1rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.5rem;
|
||||
display: flex;
|
||||
|
||||
@media (hover: hover) {
|
||||
&:hover {
|
||||
background-color: var(--color-gray-100);
|
||||
}
|
||||
}
|
||||
|
||||
&:active, &[data-popup-open] {
|
||||
background-color: var(--color-gray-100);
|
||||
}
|
||||
|
||||
&:focus-visible {
|
||||
outline: 2px solid var(--color-blue);
|
||||
outline-offset: -1px;
|
||||
}
|
||||
}
|
||||
|
||||
.canon-MenuPositioner {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.canon-MenuPopup {
|
||||
box-sizing: border-box;
|
||||
background-color: var(--canon-bg-elevated);
|
||||
color: var(--color-fg-primary);
|
||||
padding: var(--canon-space-2);
|
||||
background-color: var(--canon-bg-surface-1);
|
||||
border: 1px solid var(--canon-border);
|
||||
color: var(--canon-fg-primary);
|
||||
transform-origin: var(--transform-origin);
|
||||
border-radius: .375rem;
|
||||
padding-block: .25rem;
|
||||
outline: none;
|
||||
max-width: 340px;
|
||||
transition: transform .15s, opacity .15s;
|
||||
overflow: hidden;
|
||||
|
||||
&[data-starting-style], &[data-ending-style] {
|
||||
opacity: 0;
|
||||
transform: scale(.9);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: light) {
|
||||
& {
|
||||
outline: 1px solid var(--color-gray-200);
|
||||
box-shadow: 0px 10px 15px -3px var(--color-gray-200), 0px 4px 6px -4px var(--color-gray-200);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
& {
|
||||
outline: 1px solid var(--color-gray-300);
|
||||
outline-offset: -1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.canon-MenuItem {
|
||||
cursor: default;
|
||||
user-select: none;
|
||||
padding-block: .5rem;
|
||||
gap: var(--canon-space-2);
|
||||
color: var(--canon-fg-primary);
|
||||
border-radius: var(--canon-radius-2);
|
||||
padding: var(--canon-space-2) var(--canon-space-2);
|
||||
padding-right: var(--canon-space-4);
|
||||
cursor: pointer;
|
||||
outline: 0;
|
||||
padding-left: 1rem;
|
||||
padding-right: 2rem;
|
||||
font-size: .875rem;
|
||||
line-height: 1rem;
|
||||
text-decoration: none;
|
||||
display: flex;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
&[data-highlighted] {
|
||||
z-index: 0;
|
||||
color: var(--color-gray-50);
|
||||
background-color: var(--canon-bg-tint-hover);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&[data-highlighted]:before {
|
||||
content: "";
|
||||
z-index: -1;
|
||||
background-color: var(--color-gray-900);
|
||||
border-radius: .25rem;
|
||||
position: absolute;
|
||||
inset-block: 0;
|
||||
inset-inline: .25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.canon-MenuSeparator {
|
||||
|
||||
@@ -9083,6 +9083,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
:where(a) {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
:root {
|
||||
--canon-font-regular: system-ui;
|
||||
--canon-font-monospace: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;
|
||||
@@ -9682,101 +9687,50 @@
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.canon-MenuTrigger {
|
||||
box-sizing: border-box;
|
||||
border: 1px solid var(--color-gray-200);
|
||||
background-color: var(--color-gray-50);
|
||||
height: 2.5rem;
|
||||
color: var(--color-gray-900);
|
||||
user-select: none;
|
||||
border-radius: .375rem;
|
||||
outline: 0;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: .375rem;
|
||||
margin: 0;
|
||||
padding: 0 .875rem;
|
||||
font-family: inherit;
|
||||
font-size: 1rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.5rem;
|
||||
display: flex;
|
||||
|
||||
@media (hover: hover) {
|
||||
&:hover {
|
||||
background-color: var(--color-gray-100);
|
||||
}
|
||||
}
|
||||
|
||||
&:active, &[data-popup-open] {
|
||||
background-color: var(--color-gray-100);
|
||||
}
|
||||
|
||||
&:focus-visible {
|
||||
outline: 2px solid var(--color-blue);
|
||||
outline-offset: -1px;
|
||||
}
|
||||
}
|
||||
|
||||
.canon-MenuPositioner {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.canon-MenuPopup {
|
||||
box-sizing: border-box;
|
||||
background-color: var(--canon-bg-elevated);
|
||||
color: var(--color-fg-primary);
|
||||
padding: var(--canon-space-2);
|
||||
background-color: var(--canon-bg-surface-1);
|
||||
border: 1px solid var(--canon-border);
|
||||
color: var(--canon-fg-primary);
|
||||
transform-origin: var(--transform-origin);
|
||||
border-radius: .375rem;
|
||||
padding-block: .25rem;
|
||||
outline: none;
|
||||
max-width: 340px;
|
||||
transition: transform .15s, opacity .15s;
|
||||
overflow: hidden;
|
||||
|
||||
&[data-starting-style], &[data-ending-style] {
|
||||
opacity: 0;
|
||||
transform: scale(.9);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: light) {
|
||||
& {
|
||||
outline: 1px solid var(--color-gray-200);
|
||||
box-shadow: 0px 10px 15px -3px var(--color-gray-200), 0px 4px 6px -4px var(--color-gray-200);
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
& {
|
||||
outline: 1px solid var(--color-gray-300);
|
||||
outline-offset: -1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.canon-MenuItem {
|
||||
cursor: default;
|
||||
user-select: none;
|
||||
padding-block: .5rem;
|
||||
gap: var(--canon-space-2);
|
||||
color: var(--canon-fg-primary);
|
||||
border-radius: var(--canon-radius-2);
|
||||
padding: var(--canon-space-2) var(--canon-space-2);
|
||||
padding-right: var(--canon-space-4);
|
||||
cursor: pointer;
|
||||
outline: 0;
|
||||
padding-left: 1rem;
|
||||
padding-right: 2rem;
|
||||
font-size: .875rem;
|
||||
line-height: 1rem;
|
||||
text-decoration: none;
|
||||
display: flex;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
&[data-highlighted] {
|
||||
z-index: 0;
|
||||
color: var(--color-gray-50);
|
||||
background-color: var(--canon-bg-tint-hover);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&[data-highlighted]:before {
|
||||
content: "";
|
||||
z-index: -1;
|
||||
background-color: var(--color-gray-900);
|
||||
border-radius: .25rem;
|
||||
position: absolute;
|
||||
inset-block: 0;
|
||||
inset-inline: .25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.canon-MenuSeparator {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/canon",
|
||||
"version": "0.2.0",
|
||||
"version": "0.2.1-next.0",
|
||||
"backstage": {
|
||||
"role": "web-library"
|
||||
},
|
||||
@@ -36,7 +36,7 @@
|
||||
"lint": "backstage-cli package lint",
|
||||
"prepack": "backstage-cli package prepack",
|
||||
"postpack": "backstage-cli package postpack",
|
||||
"start": "yarn build:css:watch && yarn storybook",
|
||||
"start": "concurrently \"yarn build:css:watch\" \"yarn storybook\"",
|
||||
"storybook": "storybook dev -p 6006",
|
||||
"test": "backstage-cli package test"
|
||||
},
|
||||
@@ -60,7 +60,7 @@
|
||||
"@types/react": "^18.0.0",
|
||||
"@types/react-dom": "^18.0.0",
|
||||
"chalk": "^5.4.1",
|
||||
"eslint-plugin-storybook": "^0.11.6",
|
||||
"eslint-plugin-storybook": "^0.11.4",
|
||||
"glob": "^11.0.1",
|
||||
"globals": "^15.11.0",
|
||||
"lightningcss": "^1.29.1",
|
||||
|
||||
@@ -67,6 +67,19 @@ export const CustomTag: Story = {
|
||||
},
|
||||
};
|
||||
|
||||
export const WrappedInLink: Story = {
|
||||
args: {
|
||||
...Default.args,
|
||||
},
|
||||
decorators: [
|
||||
Story => (
|
||||
<a href="/">
|
||||
<Story />
|
||||
</a>
|
||||
),
|
||||
],
|
||||
};
|
||||
|
||||
export const Playground: Story = {
|
||||
render: () => (
|
||||
<Flex direction="column" gap="4">
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
import React from 'react';
|
||||
import type { Meta, StoryObj } from '@storybook/react';
|
||||
import { Menu } from './Menu';
|
||||
import { Button } from '../Button';
|
||||
|
||||
const meta = {
|
||||
title: 'Components/Menu',
|
||||
@@ -30,9 +31,15 @@ export const Default: Story = {
|
||||
args: {
|
||||
children: (
|
||||
<>
|
||||
<Menu.Trigger>Menu</Menu.Trigger>
|
||||
<Menu.Trigger
|
||||
render={props => (
|
||||
<Button {...props} size="small">
|
||||
Menu
|
||||
</Button>
|
||||
)}
|
||||
/>
|
||||
<Menu.Portal>
|
||||
<Menu.Positioner>
|
||||
<Menu.Positioner sideOffset={8} align="start">
|
||||
<Menu.Popup>
|
||||
<Menu.Item>Item 1</Menu.Item>
|
||||
<Menu.Item>Item 2</Menu.Item>
|
||||
@@ -44,3 +51,10 @@ export const Default: Story = {
|
||||
),
|
||||
},
|
||||
};
|
||||
|
||||
export const Open: Story = {
|
||||
args: {
|
||||
...Default.args,
|
||||
open: true,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,54 +1,17 @@
|
||||
.canon-MenuTrigger {
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 0.375rem;
|
||||
height: 2.5rem;
|
||||
padding: 0 0.875rem;
|
||||
margin: 0;
|
||||
outline: 0;
|
||||
border: 1px solid var(--color-gray-200);
|
||||
border-radius: 0.375rem;
|
||||
background-color: var(--color-gray-50);
|
||||
font-family: inherit;
|
||||
font-size: 1rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.5rem;
|
||||
color: var(--color-gray-900);
|
||||
user-select: none;
|
||||
|
||||
@media (hover: hover) {
|
||||
&:hover {
|
||||
background-color: var(--color-gray-100);
|
||||
}
|
||||
}
|
||||
|
||||
&:active {
|
||||
background-color: var(--color-gray-100);
|
||||
}
|
||||
|
||||
&[data-popup-open] {
|
||||
background-color: var(--color-gray-100);
|
||||
}
|
||||
|
||||
&:focus-visible {
|
||||
outline: 2px solid var(--color-blue);
|
||||
outline-offset: -1px;
|
||||
}
|
||||
}
|
||||
|
||||
.canon-MenuPositioner {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
.canon-MenuPopup {
|
||||
box-sizing: border-box;
|
||||
padding-block: 0.25rem;
|
||||
padding: var(--canon-space-2);
|
||||
border-radius: 0.375rem;
|
||||
background-color: var(--canon-bg-elevated);
|
||||
color: var(--color-fg-primary);
|
||||
background-color: var(--canon-bg-surface-1);
|
||||
border: 1px solid var(--canon-border);
|
||||
color: var(--canon-fg-primary);
|
||||
outline: none;
|
||||
overflow: hidden;
|
||||
transform-origin: var(--transform-origin);
|
||||
max-width: 340px;
|
||||
transition: transform 150ms, opacity 150ms;
|
||||
|
||||
&[data-starting-style],
|
||||
@@ -56,44 +19,29 @@
|
||||
opacity: 0;
|
||||
transform: scale(0.9);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: light) {
|
||||
outline: 1px solid var(--color-gray-200);
|
||||
box-shadow: 0px 10px 15px -3px var(--color-gray-200),
|
||||
0px 4px 6px -4px var(--color-gray-200);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
outline: 1px solid var(--color-gray-300);
|
||||
outline-offset: -1px;
|
||||
}
|
||||
}
|
||||
|
||||
.canon-MenuItem {
|
||||
outline: 0;
|
||||
cursor: default;
|
||||
user-select: none;
|
||||
padding-block: 0.5rem;
|
||||
padding-left: 1rem;
|
||||
padding-right: 2rem;
|
||||
display: flex;
|
||||
font-size: 0.875rem;
|
||||
line-height: 1rem;
|
||||
gap: var(--canon-space-2);
|
||||
color: var(--canon-fg-primary);
|
||||
text-decoration: none;
|
||||
border-radius: var(--canon-radius-2);
|
||||
padding: var(--canon-space-2) var(--canon-space-2);
|
||||
padding-right: var(--canon-space-4);
|
||||
cursor: pointer;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
&[data-highlighted] {
|
||||
z-index: 0;
|
||||
position: relative;
|
||||
color: var(--color-gray-50);
|
||||
}
|
||||
|
||||
&[data-highlighted]::before {
|
||||
content: '';
|
||||
z-index: -1;
|
||||
position: absolute;
|
||||
inset-block: 0;
|
||||
inset-inline: 0.25rem;
|
||||
border-radius: 0.25rem;
|
||||
background-color: var(--color-gray-900);
|
||||
background-color: var(--canon-bg-tint-hover);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -89,6 +89,19 @@ export const Responsive: Story = {
|
||||
},
|
||||
};
|
||||
|
||||
export const WrappedInLink: Story = {
|
||||
args: {
|
||||
...Default.args,
|
||||
},
|
||||
decorators: [
|
||||
Story => (
|
||||
<a href="/">
|
||||
<Story />
|
||||
</a>
|
||||
),
|
||||
],
|
||||
};
|
||||
|
||||
export const Playground: Story = {
|
||||
render: () => (
|
||||
<Flex gap="4" direction="column">
|
||||
|
||||
@@ -18,8 +18,13 @@
|
||||
@import './normalize.css';
|
||||
@import './utilities.css';
|
||||
|
||||
/* Light theme tokens */
|
||||
/* Global reset */
|
||||
:where(a) {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Light theme tokens */
|
||||
:root {
|
||||
/* Font families */
|
||||
--canon-font-regular: system-ui;
|
||||
|
||||
@@ -1,5 +1,28 @@
|
||||
# @backstage/cli
|
||||
|
||||
## 0.32.0-next.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- c7254ae: Internal update to move the `clean`, `pre/postpack` and `fix` commands into their own separate module.
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 4ea76f7: Bump @module-federation/enhanced ^0.9.0 to fix GHSA-593f-38f6-jp5m
|
||||
- 87a5cb4: Fixed an issue causing the `repo lint` command to fail when the `--max-warnings` option was used.
|
||||
- d83f3f4: Resolved a problem where the `start` command did not correctly handle multiple `--require` flags, ensuring all specified modules are now properly loaded.
|
||||
- Updated dependencies
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/cli-common@0.1.15
|
||||
- @backstage/cli-node@0.2.13
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/config-loader@1.10.0
|
||||
- @backstage/errors@1.2.7
|
||||
- @backstage/eslint-plugin@0.1.10
|
||||
- @backstage/integration@1.16.2
|
||||
- @backstage/release-manifests@0.0.12
|
||||
- @backstage/types@1.2.1
|
||||
|
||||
## 0.31.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/cli",
|
||||
"version": "0.31.0",
|
||||
"version": "0.32.0-next.0",
|
||||
"description": "CLI for developing Backstage plugins and apps",
|
||||
"backstage": {
|
||||
"role": "cli"
|
||||
@@ -58,7 +58,7 @@
|
||||
"@backstage/release-manifests": "workspace:^",
|
||||
"@backstage/types": "workspace:^",
|
||||
"@manypkg/get-packages": "^1.1.3",
|
||||
"@module-federation/enhanced": "^0.8.0",
|
||||
"@module-federation/enhanced": "^0.9.0",
|
||||
"@octokit/graphql": "^5.0.0",
|
||||
"@octokit/graphql-schema": "^13.7.0",
|
||||
"@octokit/oauth-app": "^4.2.0",
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# @backstage/core-compat-api
|
||||
|
||||
## 0.4.1-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-catalog-react@1.16.1-next.0
|
||||
- @backstage/core-plugin-api@1.10.5
|
||||
- @backstage/frontend-plugin-api@0.10.0
|
||||
- @backstage/version-bridge@1.0.11
|
||||
|
||||
## 0.4.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/core-compat-api",
|
||||
"version": "0.4.0",
|
||||
"version": "0.4.1-next.0",
|
||||
"backstage": {
|
||||
"role": "web-library"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @backstage/create-app
|
||||
|
||||
## 0.6.1-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Bumped create-app version.
|
||||
- Updated dependencies
|
||||
- @backstage/cli-common@0.1.15
|
||||
|
||||
## 0.6.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/create-app",
|
||||
"version": "0.6.0",
|
||||
"version": "0.6.1-next.0",
|
||||
"description": "A CLI that helps you create your own Backstage app",
|
||||
"backstage": {
|
||||
"role": "cli"
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
# @backstage/dev-utils
|
||||
|
||||
## 1.1.9-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-catalog-react@1.16.1-next.0
|
||||
- @backstage/app-defaults@1.6.0
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/core-app-api@1.16.0
|
||||
- @backstage/core-components@0.17.0
|
||||
- @backstage/core-plugin-api@1.10.5
|
||||
- @backstage/integration-react@1.2.5
|
||||
- @backstage/theme@0.6.4
|
||||
|
||||
## 1.1.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/dev-utils",
|
||||
"version": "1.1.8",
|
||||
"version": "1.1.9-next.0",
|
||||
"description": "Utilities for developing Backstage plugins.",
|
||||
"backstage": {
|
||||
"role": "web-library"
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# e2e-test
|
||||
|
||||
## 0.2.27-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/create-app@0.6.1-next.0
|
||||
- @backstage/cli-common@0.1.15
|
||||
- @backstage/errors@1.2.7
|
||||
|
||||
## 0.2.26
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "e2e-test",
|
||||
"version": "0.2.26",
|
||||
"version": "0.2.27-next.0",
|
||||
"description": "E2E test for verifying Backstage packages",
|
||||
"backstage": {
|
||||
"role": "cli"
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @internal/scaffolder
|
||||
|
||||
## 0.0.8-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-scaffolder-react@1.15.0-next.0
|
||||
- @backstage/frontend-plugin-api@0.10.0
|
||||
|
||||
## 0.0.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@internal/scaffolder",
|
||||
"version": "0.0.7",
|
||||
"version": "0.0.8-next.0",
|
||||
"backstage": {
|
||||
"role": "web-library",
|
||||
"inline": true
|
||||
|
||||
@@ -1,5 +1,24 @@
|
||||
# techdocs-cli-embedded-app
|
||||
|
||||
## 0.2.107-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-catalog@1.29.0-next.0
|
||||
- @backstage/cli@0.32.0-next.0
|
||||
- @backstage/plugin-techdocs@1.12.5-next.0
|
||||
- @backstage/app-defaults@1.6.0
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/core-app-api@1.16.0
|
||||
- @backstage/core-components@0.17.0
|
||||
- @backstage/core-plugin-api@1.10.5
|
||||
- @backstage/integration-react@1.2.5
|
||||
- @backstage/test-utils@1.7.6
|
||||
- @backstage/theme@0.6.4
|
||||
- @backstage/plugin-techdocs-react@1.2.15
|
||||
|
||||
## 0.2.106
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "techdocs-cli-embedded-app",
|
||||
"version": "0.2.106",
|
||||
"version": "0.2.107-next.0",
|
||||
"backstage": {
|
||||
"role": "frontend"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,16 @@
|
||||
# @techdocs/cli
|
||||
|
||||
## 1.9.2-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/backend-defaults@0.9.0-next.0
|
||||
- @backstage/plugin-techdocs-node@1.13.2-next.0
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/cli-common@0.1.15
|
||||
- @backstage/config@1.3.2
|
||||
|
||||
## 1.9.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@techdocs/cli",
|
||||
"version": "1.9.1",
|
||||
"version": "1.9.2-next.0",
|
||||
"description": "Utility CLI for managing TechDocs sites in Backstage.",
|
||||
"backstage": {
|
||||
"role": "cli"
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# @backstage/plugin-api-docs
|
||||
|
||||
## 0.12.6-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-catalog@1.29.0-next.0
|
||||
- @backstage/plugin-catalog-react@1.16.1-next.0
|
||||
- @backstage/core-compat-api@0.4.1-next.0
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/core-components@0.17.0
|
||||
- @backstage/core-plugin-api@1.10.5
|
||||
- @backstage/frontend-plugin-api@0.10.0
|
||||
- @backstage/plugin-catalog-common@1.1.3
|
||||
- @backstage/plugin-permission-react@0.4.32
|
||||
|
||||
## 0.12.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/plugin-api-docs",
|
||||
"version": "0.12.5",
|
||||
"version": "0.12.6-next.0",
|
||||
"description": "A Backstage plugin that helps represent API entities in the frontend",
|
||||
"backstage": {
|
||||
"role": "frontend-plugin",
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# @backstage/plugin-auth-backend-module-aws-alb-provider
|
||||
|
||||
## 0.4.2-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-auth-backend@0.24.5-next.0
|
||||
- @backstage/plugin-auth-node@0.6.1
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/errors@1.2.7
|
||||
|
||||
## 0.4.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/plugin-auth-backend-module-aws-alb-provider",
|
||||
"version": "0.4.1",
|
||||
"version": "0.4.2-next.0",
|
||||
"description": "The aws-alb provider module for the Backstage auth backend.",
|
||||
"backstage": {
|
||||
"role": "backend-plugin-module",
|
||||
|
||||
@@ -1,5 +1,30 @@
|
||||
# @backstage/plugin-auth-backend-module-oidc-provider
|
||||
|
||||
## 0.4.2-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 7495edf: Added custom timeout setting for oidc provider
|
||||
|
||||
Here is an example of how to use a custom timeout with the configuration:
|
||||
|
||||
```yaml
|
||||
auth:
|
||||
oidc:
|
||||
production:
|
||||
clientId: ${AUTH_GOOGLE_CLIENT_ID}
|
||||
clientSecret: ${AUTH_GOOGLE_CLIENT_SECRET}
|
||||
timeout:
|
||||
seconds: 30
|
||||
```
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-auth-backend@0.24.5-next.0
|
||||
- @backstage/plugin-auth-node@0.6.1
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/types@1.2.1
|
||||
|
||||
## 0.4.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
+1
-1
@@ -13,7 +13,6 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { HumanDuration } from '@backstage/types';
|
||||
|
||||
export interface Config {
|
||||
@@ -33,6 +32,7 @@ export interface Config {
|
||||
tokenSignedResponseAlg?: string;
|
||||
additionalScopes?: string | string[];
|
||||
prompt?: string;
|
||||
timeout?: HumanDuration | string;
|
||||
signIn?: {
|
||||
resolvers: Array<
|
||||
| {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/plugin-auth-backend-module-oidc-provider",
|
||||
"version": "0.4.1",
|
||||
"version": "0.4.2-next.0",
|
||||
"description": "The oidc-provider backend module for the auth plugin.",
|
||||
"backstage": {
|
||||
"role": "backend-plugin-module",
|
||||
@@ -35,8 +35,10 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@backstage/backend-plugin-api": "workspace:^",
|
||||
"@backstage/config": "workspace:^",
|
||||
"@backstage/plugin-auth-backend": "workspace:^",
|
||||
"@backstage/plugin-auth-node": "workspace:^",
|
||||
"@backstage/types": "workspace:^",
|
||||
"express": "^4.18.2",
|
||||
"openid-client": "^5.5.0",
|
||||
"passport": "^0.7.0"
|
||||
|
||||
@@ -28,6 +28,7 @@ import { ConfigReader } from '@backstage/config';
|
||||
import { JWK, SignJWT, exportJWK, generateKeyPair } from 'jose';
|
||||
import { rest } from 'msw';
|
||||
import express from 'express';
|
||||
import { custom } from 'openid-client';
|
||||
|
||||
describe('oidcAuthenticator', () => {
|
||||
let implementation: any;
|
||||
@@ -169,6 +170,77 @@ describe('oidcAuthenticator', () => {
|
||||
jest.clearAllMocks();
|
||||
});
|
||||
|
||||
describe('timeout configuration', () => {
|
||||
const TEST_URL = new URL('https://test.com');
|
||||
|
||||
it('should use default timeout when no timeout is configured', async () => {
|
||||
const { promise } = oidcAuthenticator.initialize({
|
||||
callbackUrl: 'https://backstage.test/callback',
|
||||
config: new ConfigReader({
|
||||
metadataUrl: 'https://oidc.test/.well-known/openid-configuration',
|
||||
clientId: 'clientId',
|
||||
clientSecret: 'clientSecret',
|
||||
}),
|
||||
});
|
||||
const { client } = await promise;
|
||||
|
||||
const timeout = client[custom.http_options](TEST_URL, {}).timeout;
|
||||
|
||||
// Check if the HTTP timeout is set to the default value
|
||||
expect(timeout).toBeDefined();
|
||||
expect(timeout).toBe(10000);
|
||||
});
|
||||
|
||||
it('should use configured timeout when provided in the config', async () => {
|
||||
const { promise } = oidcAuthenticator.initialize({
|
||||
callbackUrl: 'https://backstage.test/callback',
|
||||
config: new ConfigReader({
|
||||
metadataUrl: 'https://oidc.test/.well-known/openid-configuration',
|
||||
clientId: 'clientId',
|
||||
clientSecret: 'clientSecret',
|
||||
timeout: {
|
||||
seconds: 30,
|
||||
},
|
||||
}),
|
||||
});
|
||||
const { client } = await promise;
|
||||
|
||||
const timeout = client[custom.http_options](TEST_URL, {}).timeout;
|
||||
|
||||
// Check if the HTTP timeout is set to the configured value (30 seconds)
|
||||
expect(timeout).toBeDefined();
|
||||
expect(timeout).toBe(30000);
|
||||
});
|
||||
|
||||
it('should handle invalid timeout configuration gracefully', async () => {
|
||||
expect(() => {
|
||||
oidcAuthenticator.initialize({
|
||||
callbackUrl: 'https://backstage.test/callback',
|
||||
config: new ConfigReader({
|
||||
metadataUrl: 'https://oidc.test/.well-known/openid-configuration',
|
||||
clientId: 'clientId',
|
||||
clientSecret: 'clientSecret',
|
||||
timeout: 123, // Invalid: should be a duration object
|
||||
}),
|
||||
});
|
||||
}).toThrow();
|
||||
|
||||
expect(() => {
|
||||
oidcAuthenticator.initialize({
|
||||
callbackUrl: 'https://backstage.test/callback',
|
||||
config: new ConfigReader({
|
||||
metadataUrl: 'https://oidc.test/.well-known/openid-configuration',
|
||||
clientId: 'clientId',
|
||||
clientSecret: 'clientSecret',
|
||||
timeout: {
|
||||
invalid: 'value',
|
||||
},
|
||||
}),
|
||||
});
|
||||
}).toThrow();
|
||||
});
|
||||
});
|
||||
|
||||
describe('#start', () => {
|
||||
let fakeSession: Record<string, any>;
|
||||
let startRequest: OAuthAuthenticatorStartInput;
|
||||
|
||||
@@ -32,14 +32,18 @@ import {
|
||||
PassportOAuthAuthenticatorHelper,
|
||||
PassportOAuthPrivateInfo,
|
||||
} from '@backstage/plugin-auth-node';
|
||||
import { durationToMilliseconds } from '@backstage/types';
|
||||
import { readDurationFromConfig } from '@backstage/config';
|
||||
|
||||
const HTTP_OPTION_TIMEOUT = 10000;
|
||||
const httpOptionsProvider: CustomHttpOptionsProvider = (_url, options) => {
|
||||
return {
|
||||
...options,
|
||||
timeout: HTTP_OPTION_TIMEOUT,
|
||||
const createHttpOptionsProvider =
|
||||
({ timeout }: { timeout?: number }): CustomHttpOptionsProvider =>
|
||||
(_url, options) => {
|
||||
return {
|
||||
...options,
|
||||
timeout: timeout ?? HTTP_OPTION_TIMEOUT,
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* authentication result for the OIDC which includes the token set and user
|
||||
@@ -85,6 +89,15 @@ export const oidcAuthenticator = createOAuthAuthenticator({
|
||||
);
|
||||
}
|
||||
|
||||
const timeoutMilliseconds = config.has('timeout')
|
||||
? durationToMilliseconds(
|
||||
readDurationFromConfig(config, { key: 'timeout' }),
|
||||
)
|
||||
: undefined;
|
||||
const httpOptionsProvider = createHttpOptionsProvider({
|
||||
timeout: timeoutMilliseconds,
|
||||
});
|
||||
|
||||
Issuer[custom.http_options] = httpOptionsProvider;
|
||||
const promise = Issuer.discover(metadataUrl).then(issuer => {
|
||||
issuer[custom.http_options] = httpOptionsProvider;
|
||||
|
||||
@@ -1,5 +1,36 @@
|
||||
# @backstage/plugin-auth-backend
|
||||
|
||||
## 0.24.5-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-auth-backend-module-oidc-provider@0.4.2-next.0
|
||||
- @backstage/plugin-auth-backend-module-atlassian-provider@0.4.1
|
||||
- @backstage/plugin-auth-backend-module-auth0-provider@0.2.1
|
||||
- @backstage/plugin-auth-backend-module-bitbucket-provider@0.3.1
|
||||
- @backstage/plugin-auth-backend-module-bitbucket-server-provider@0.2.1
|
||||
- @backstage/plugin-auth-backend-module-cloudflare-access-provider@0.4.1
|
||||
- @backstage/plugin-auth-backend-module-github-provider@0.3.1
|
||||
- @backstage/plugin-auth-backend-module-gitlab-provider@0.3.1
|
||||
- @backstage/plugin-auth-backend-module-microsoft-provider@0.3.1
|
||||
- @backstage/plugin-auth-backend-module-oauth2-provider@0.4.1
|
||||
- @backstage/plugin-auth-backend-module-okta-provider@0.2.1
|
||||
- @backstage/plugin-auth-backend-module-onelogin-provider@0.3.1
|
||||
- @backstage/plugin-auth-node@0.6.1
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/catalog-client@1.9.1
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/errors@1.2.7
|
||||
- @backstage/types@1.2.1
|
||||
- @backstage/plugin-auth-backend-module-aws-alb-provider@0.4.2-next.0
|
||||
- @backstage/plugin-auth-backend-module-azure-easyauth-provider@0.2.6
|
||||
- @backstage/plugin-auth-backend-module-gcp-iap-provider@0.4.1
|
||||
- @backstage/plugin-auth-backend-module-google-provider@0.3.1
|
||||
- @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.2.6
|
||||
- @backstage/plugin-catalog-node@1.16.1
|
||||
|
||||
## 0.24.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/plugin-auth-backend",
|
||||
"version": "0.24.4",
|
||||
"version": "0.24.5-next.0",
|
||||
"description": "A Backstage backend plugin that handles authentication",
|
||||
"backstage": {
|
||||
"role": "backend-plugin",
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# @backstage/plugin-catalog-backend-module-aws
|
||||
|
||||
## 0.4.10-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/backend-defaults@0.9.0-next.0
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/errors@1.2.7
|
||||
- @backstage/integration@1.16.2
|
||||
- @backstage/integration-aws-node@0.1.15
|
||||
- @backstage/plugin-catalog-common@1.1.3
|
||||
- @backstage/plugin-catalog-node@1.16.1
|
||||
- @backstage/plugin-kubernetes-common@0.9.4
|
||||
|
||||
## 0.4.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/plugin-catalog-backend-module-aws",
|
||||
"version": "0.4.9",
|
||||
"version": "0.4.10-next.0",
|
||||
"description": "A Backstage catalog backend module that helps integrate towards AWS",
|
||||
"backstage": {
|
||||
"role": "backend-plugin-module",
|
||||
|
||||
@@ -1,5 +1,16 @@
|
||||
# @backstage/plugin-catalog-backend-module-github-org
|
||||
|
||||
## 0.3.9-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-catalog-backend-module-github@0.7.12-next.0
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/plugin-catalog-node@1.16.1
|
||||
- @backstage/plugin-events-node@0.4.9
|
||||
|
||||
## 0.3.8
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/plugin-catalog-backend-module-github-org",
|
||||
"version": "0.3.8",
|
||||
"version": "0.3.9-next.0",
|
||||
"description": "The github-org backend module for the catalog plugin.",
|
||||
"backstage": {
|
||||
"role": "backend-plugin-module",
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# @backstage/plugin-catalog-backend-module-github
|
||||
|
||||
## 0.7.12-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 16648ef: Added `validateLocationsExist` to the config definition where it was missing.
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-catalog-backend@1.32.0
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/catalog-client@1.9.1
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/integration@1.16.2
|
||||
- @backstage/plugin-catalog-common@1.1.3
|
||||
- @backstage/plugin-catalog-node@1.16.1
|
||||
- @backstage/plugin-events-node@0.4.9
|
||||
|
||||
## 0.7.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/plugin-catalog-backend-module-github",
|
||||
"version": "0.7.11",
|
||||
"version": "0.7.12-next.0",
|
||||
"description": "A Backstage catalog backend module that helps integrate towards GitHub",
|
||||
"backstage": {
|
||||
"role": "backend-plugin-module",
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
# @backstage/plugin-catalog-backend-module-gitlab-org
|
||||
|
||||
## 0.2.8-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-catalog-backend-module-gitlab@0.6.5-next.0
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/plugin-catalog-node@1.16.1
|
||||
- @backstage/plugin-events-node@0.4.9
|
||||
|
||||
## 0.2.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/plugin-catalog-backend-module-gitlab-org",
|
||||
"version": "0.2.7",
|
||||
"version": "0.2.8-next.0",
|
||||
"description": "The gitlab-org backend module for the catalog plugin.",
|
||||
"backstage": {
|
||||
"role": "backend-plugin-module",
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# @backstage/plugin-catalog-backend-module-gitlab
|
||||
|
||||
## 0.6.5-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- a568cda: add filter for repos by membership and topics
|
||||
- Updated dependencies
|
||||
- @backstage/backend-defaults@0.9.0-next.0
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/integration@1.16.2
|
||||
- @backstage/plugin-catalog-common@1.1.3
|
||||
- @backstage/plugin-catalog-node@1.16.1
|
||||
- @backstage/plugin-events-node@0.4.9
|
||||
|
||||
## 0.6.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -72,6 +72,18 @@ export interface Config {
|
||||
* Should be in the format group/subgroup/repo, with no leading or trailing slashes.
|
||||
*/
|
||||
excludeRepos?: string[];
|
||||
|
||||
/**
|
||||
* (Optional) If true, limit by repositories that the current user is a member of.
|
||||
* See: https://docs.gitlab.com/api/projects/#list-projects
|
||||
*/
|
||||
membership?: boolean;
|
||||
|
||||
/**
|
||||
* (Optional) List of topic names. Limit results to repositories that match all of given topics.
|
||||
* See: https://docs.gitlab.com/api/projects/#list-projects
|
||||
*/
|
||||
topics?: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/plugin-catalog-backend-module-gitlab",
|
||||
"version": "0.6.4",
|
||||
"version": "0.6.5-next.0",
|
||||
"description": "A Backstage catalog backend module that helps integrate towards GitLab",
|
||||
"backstage": {
|
||||
"role": "backend-plugin-module",
|
||||
|
||||
@@ -120,6 +120,8 @@ export type GitlabProviderConfig = {
|
||||
includeArchivedRepos?: boolean;
|
||||
excludeRepos?: string[];
|
||||
includeUsersWithoutSeat?: boolean;
|
||||
membership?: boolean;
|
||||
topics?: string;
|
||||
};
|
||||
|
||||
// @public
|
||||
|
||||
@@ -41,6 +41,8 @@ export type CommonListOptions = {
|
||||
interface ListProjectOptions extends CommonListOptions {
|
||||
archived?: boolean;
|
||||
group?: string;
|
||||
membership?: boolean;
|
||||
topics?: string;
|
||||
}
|
||||
|
||||
interface UserListOptions extends CommonListOptions {
|
||||
|
||||
@@ -248,6 +248,18 @@ export type GitlabProviderConfig = {
|
||||
* Defaults to `false`
|
||||
*/
|
||||
includeUsersWithoutSeat?: boolean;
|
||||
|
||||
/**
|
||||
* If true, the membership parameter is set to true in the GitLab API request.
|
||||
* See: https://docs.gitlab.com/api/projects/#list-projects
|
||||
*/
|
||||
membership?: boolean;
|
||||
|
||||
/**
|
||||
* Optional comma seperated list of topics to filter projects by, as specified in the GitLab API documentation:
|
||||
* https://docs.gitlab.com/api/projects/#list-projects
|
||||
*/
|
||||
topics?: string;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -214,6 +214,8 @@ export class GitlabDiscoveryEntityProvider implements EntityProvider {
|
||||
page: 1,
|
||||
per_page: 50,
|
||||
...(!this.config.includeArchivedRepos && { archived: false }),
|
||||
...(this.config.membership && { membership: true }),
|
||||
...(this.config.topics && { topics: this.config.topics }),
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -65,6 +65,8 @@ describe('config', () => {
|
||||
excludeRepos: [],
|
||||
restrictUsersToGroup: false,
|
||||
includeUsersWithoutSeat: false,
|
||||
membership: undefined,
|
||||
topics: undefined,
|
||||
}),
|
||||
);
|
||||
});
|
||||
@@ -109,6 +111,8 @@ describe('config', () => {
|
||||
excludeRepos: [],
|
||||
restrictUsersToGroup: false,
|
||||
includeUsersWithoutSeat: true,
|
||||
membership: undefined,
|
||||
topics: undefined,
|
||||
}),
|
||||
);
|
||||
});
|
||||
@@ -153,6 +157,8 @@ describe('config', () => {
|
||||
skipForkedRepos: true,
|
||||
includeArchivedRepos: false,
|
||||
includeUsersWithoutSeat: false,
|
||||
membership: undefined,
|
||||
topics: undefined,
|
||||
}),
|
||||
);
|
||||
});
|
||||
@@ -197,6 +203,8 @@ describe('config', () => {
|
||||
skipForkedRepos: false,
|
||||
includeArchivedRepos: true,
|
||||
includeUsersWithoutSeat: false,
|
||||
membership: undefined,
|
||||
topics: undefined,
|
||||
}),
|
||||
);
|
||||
});
|
||||
@@ -242,6 +250,8 @@ describe('config', () => {
|
||||
includeArchivedRepos: false,
|
||||
excludeRepos: ['foo/bar', 'quz/qux'],
|
||||
includeUsersWithoutSeat: false,
|
||||
membership: undefined,
|
||||
topics: undefined,
|
||||
}),
|
||||
);
|
||||
});
|
||||
@@ -287,6 +297,8 @@ describe('config', () => {
|
||||
restrictUsersToGroup: false,
|
||||
excludeRepos: [],
|
||||
includeUsersWithoutSeat: false,
|
||||
membership: undefined,
|
||||
topics: undefined,
|
||||
schedule: {
|
||||
frequency: { minutes: 30 },
|
||||
timeout: {
|
||||
@@ -336,4 +348,188 @@ describe('config', () => {
|
||||
expect(result).toHaveLength(1);
|
||||
expect(result[0].group).toEqual('');
|
||||
});
|
||||
|
||||
it('valid config with membership', () => {
|
||||
const config = new ConfigReader({
|
||||
catalog: {
|
||||
providers: {
|
||||
gitlab: {
|
||||
test: {
|
||||
group: 'group',
|
||||
host: 'host',
|
||||
branch: 'not-master',
|
||||
fallbackBranch: 'main',
|
||||
entityFilename: 'custom-file.yaml',
|
||||
membership: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const result = readGitlabConfigs(config);
|
||||
expect(result).toHaveLength(1);
|
||||
result.forEach(r =>
|
||||
expect(r).toStrictEqual({
|
||||
id: 'test',
|
||||
group: 'group',
|
||||
branch: 'not-master',
|
||||
fallbackBranch: 'main',
|
||||
host: 'host',
|
||||
catalogFile: 'custom-file.yaml',
|
||||
projectPattern: /[\s\S]*/,
|
||||
groupPattern: /[\s\S]*/,
|
||||
userPattern: /[\s\S]*/,
|
||||
orgEnabled: false,
|
||||
allowInherited: false,
|
||||
relations: [],
|
||||
schedule: undefined,
|
||||
restrictUsersToGroup: false,
|
||||
excludeRepos: [],
|
||||
skipForkedRepos: false,
|
||||
includeUsersWithoutSeat: false,
|
||||
includeArchivedRepos: false,
|
||||
membership: true,
|
||||
topics: undefined,
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
it('valid config with empyt topics', () => {
|
||||
const config = new ConfigReader({
|
||||
catalog: {
|
||||
providers: {
|
||||
gitlab: {
|
||||
test: {
|
||||
group: 'group',
|
||||
host: 'host',
|
||||
branch: 'not-master',
|
||||
fallbackBranch: 'main',
|
||||
entityFilename: 'custom-file.yaml',
|
||||
topics: [],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const result = readGitlabConfigs(config);
|
||||
expect(result).toHaveLength(1);
|
||||
result.forEach(r =>
|
||||
expect(r).toStrictEqual({
|
||||
id: 'test',
|
||||
group: 'group',
|
||||
branch: 'not-master',
|
||||
fallbackBranch: 'main',
|
||||
host: 'host',
|
||||
catalogFile: 'custom-file.yaml',
|
||||
projectPattern: /[\s\S]*/,
|
||||
groupPattern: /[\s\S]*/,
|
||||
userPattern: /[\s\S]*/,
|
||||
orgEnabled: false,
|
||||
allowInherited: false,
|
||||
relations: [],
|
||||
schedule: undefined,
|
||||
restrictUsersToGroup: false,
|
||||
excludeRepos: [],
|
||||
skipForkedRepos: false,
|
||||
includeUsersWithoutSeat: false,
|
||||
includeArchivedRepos: false,
|
||||
membership: undefined,
|
||||
topics: undefined,
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
it('valid config with single topics', () => {
|
||||
const config = new ConfigReader({
|
||||
catalog: {
|
||||
providers: {
|
||||
gitlab: {
|
||||
test: {
|
||||
group: 'group',
|
||||
host: 'host',
|
||||
branch: 'not-master',
|
||||
fallbackBranch: 'main',
|
||||
entityFilename: 'custom-file.yaml',
|
||||
topics: ['topic1'],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const result = readGitlabConfigs(config);
|
||||
expect(result).toHaveLength(1);
|
||||
result.forEach(r =>
|
||||
expect(r).toStrictEqual({
|
||||
id: 'test',
|
||||
group: 'group',
|
||||
branch: 'not-master',
|
||||
fallbackBranch: 'main',
|
||||
host: 'host',
|
||||
catalogFile: 'custom-file.yaml',
|
||||
projectPattern: /[\s\S]*/,
|
||||
groupPattern: /[\s\S]*/,
|
||||
userPattern: /[\s\S]*/,
|
||||
orgEnabled: false,
|
||||
allowInherited: false,
|
||||
relations: [],
|
||||
schedule: undefined,
|
||||
restrictUsersToGroup: false,
|
||||
excludeRepos: [],
|
||||
skipForkedRepos: false,
|
||||
includeUsersWithoutSeat: false,
|
||||
includeArchivedRepos: false,
|
||||
membership: undefined,
|
||||
topics: 'topic1',
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
it('valid config with multiple topics', () => {
|
||||
const config = new ConfigReader({
|
||||
catalog: {
|
||||
providers: {
|
||||
gitlab: {
|
||||
test: {
|
||||
group: 'group',
|
||||
host: 'host',
|
||||
branch: 'not-master',
|
||||
fallbackBranch: 'main',
|
||||
entityFilename: 'custom-file.yaml',
|
||||
topics: ['topic1', 'topic2', 'topic3'],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const result = readGitlabConfigs(config);
|
||||
expect(result).toHaveLength(1);
|
||||
result.forEach(r =>
|
||||
expect(r).toStrictEqual({
|
||||
id: 'test',
|
||||
group: 'group',
|
||||
branch: 'not-master',
|
||||
fallbackBranch: 'main',
|
||||
host: 'host',
|
||||
catalogFile: 'custom-file.yaml',
|
||||
projectPattern: /[\s\S]*/,
|
||||
groupPattern: /[\s\S]*/,
|
||||
userPattern: /[\s\S]*/,
|
||||
orgEnabled: false,
|
||||
allowInherited: false,
|
||||
relations: [],
|
||||
schedule: undefined,
|
||||
restrictUsersToGroup: false,
|
||||
excludeRepos: [],
|
||||
skipForkedRepos: false,
|
||||
includeUsersWithoutSeat: false,
|
||||
includeArchivedRepos: false,
|
||||
membership: undefined,
|
||||
topics: 'topic1,topic2,topic3',
|
||||
}),
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -66,6 +66,11 @@ function readGitlabConfig(id: string, config: Config): GitlabProviderConfig {
|
||||
const includeUsersWithoutSeat =
|
||||
config.getOptionalBoolean('includeUsersWithoutSeat') ?? false;
|
||||
|
||||
const membership = config.getOptionalBoolean('membership');
|
||||
|
||||
const topicsArray = config.getOptionalStringArray('topics');
|
||||
const topics = topicsArray?.length ? topicsArray.join(',') : undefined;
|
||||
|
||||
return {
|
||||
id,
|
||||
group,
|
||||
@@ -85,6 +90,8 @@ function readGitlabConfig(id: string, config: Config): GitlabProviderConfig {
|
||||
excludeRepos,
|
||||
restrictUsersToGroup,
|
||||
includeUsersWithoutSeat,
|
||||
membership,
|
||||
topics,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,22 @@
|
||||
# @backstage/plugin-catalog-backend-module-incremental-ingestion
|
||||
|
||||
## 0.6.5-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 27d1031: fixed misleading example location annotations in docs
|
||||
- Updated dependencies
|
||||
- @backstage/backend-defaults@0.9.0-next.0
|
||||
- @backstage/plugin-catalog-backend@1.32.0
|
||||
- @backstage/backend-plugin-api@1.2.1
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/errors@1.2.7
|
||||
- @backstage/types@1.2.1
|
||||
- @backstage/plugin-catalog-node@1.16.1
|
||||
- @backstage/plugin-events-node@0.4.9
|
||||
- @backstage/plugin-permission-common@0.8.4
|
||||
|
||||
## 0.6.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -208,12 +208,20 @@ export class MyIncrementalEntityProvider
|
||||
The last step is to implement the actual `next` method that will accept the cursor, call the API, process the result and return the result.
|
||||
|
||||
```ts
|
||||
import {
|
||||
ANNOTATION_LOCATION,
|
||||
ANNOTATION_ORIGIN_LOCATION,
|
||||
} from '@backstage/catalog-model';
|
||||
import { IncrementalEntityProvider } from '@backstage/plugin-catalog-backend-module-incremental-ingestion';
|
||||
|
||||
export class MyIncrementalEntityProvider implements IncrementalEntityProvider<Cursor, Context> {
|
||||
|
||||
token: string;
|
||||
mySource: string;
|
||||
|
||||
constructor(token: string) {
|
||||
constructor(token: string, mySource: string) {
|
||||
this.token = token;
|
||||
this.mySource = mySource;
|
||||
}
|
||||
|
||||
getProviderName() {
|
||||
@@ -230,6 +238,7 @@ export class MyIncrementalEntityProvider implements IncrementalEntityProvider<Cu
|
||||
|
||||
async next(context: Context, cursor?: Cursor = { page: 1 }): Promise<EntityIteratorResult<Cursor>> {
|
||||
const { apiClient } = context;
|
||||
const location = `${this.getProviderName()}:${this.mySource}`;
|
||||
|
||||
// call your API with the current cursor
|
||||
const data = await apiClient.getServices(cursor);
|
||||
@@ -249,8 +258,8 @@ export class MyIncrementalEntityProvider implements IncrementalEntityProvider<Cu
|
||||
name: item.name,
|
||||
annotations: {
|
||||
// You need to define these, otherwise they'll fail validation
|
||||
[ANNOTATION_LOCATION]: this.getProviderName(),
|
||||
[ANNOTATION_ORIGIN_LOCATION]: this.getProviderName(),
|
||||
[ANNOTATION_LOCATION]: location,
|
||||
[ANNOTATION_ORIGIN_LOCATION]: location,
|
||||
}
|
||||
}
|
||||
spec: {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/plugin-catalog-backend-module-incremental-ingestion",
|
||||
"version": "0.6.4",
|
||||
"version": "0.6.5-next.0",
|
||||
"description": "An entity provider for streaming large asset sources into the catalog",
|
||||
"backstage": {
|
||||
"role": "backend-plugin-module",
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
# @backstage/plugin-catalog-graph
|
||||
|
||||
## 0.4.18-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-catalog-react@1.16.1-next.0
|
||||
- @backstage/core-compat-api@0.4.1-next.0
|
||||
- @backstage/catalog-client@1.9.1
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/core-components@0.17.0
|
||||
- @backstage/core-plugin-api@1.10.5
|
||||
- @backstage/frontend-plugin-api@0.10.0
|
||||
- @backstage/types@1.2.1
|
||||
|
||||
## 0.4.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@backstage/plugin-catalog-graph",
|
||||
"version": "0.4.17",
|
||||
"version": "0.4.18-next.0",
|
||||
"backstage": {
|
||||
"role": "frontend-plugin",
|
||||
"pluginId": "catalog-graph",
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# @backstage/plugin-catalog-import
|
||||
|
||||
## 0.12.12-next.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-catalog-react@1.16.1-next.0
|
||||
- @backstage/core-compat-api@0.4.1-next.0
|
||||
- @backstage/catalog-client@1.9.1
|
||||
- @backstage/catalog-model@1.7.3
|
||||
- @backstage/config@1.3.2
|
||||
- @backstage/core-components@0.17.0
|
||||
- @backstage/core-plugin-api@1.10.5
|
||||
- @backstage/errors@1.2.7
|
||||
- @backstage/frontend-plugin-api@0.10.0
|
||||
- @backstage/integration@1.16.2
|
||||
- @backstage/integration-react@1.2.5
|
||||
- @backstage/plugin-catalog-common@1.1.3
|
||||
|
||||
## 0.12.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user