From 81273e95cffc127ff75273c752519fa3247add41 Mon Sep 17 00:00:00 2001 From: Mike Lewis Date: Tue, 1 Mar 2022 13:07:15 +0000 Subject: [PATCH 1/4] catalog-common: mark permission-related exports as alpha Marks all strictly permission-related exports in catalog-common as alpha. Signed-off-by: Mike Lewis --- .changeset/nice-walls-reply.md | 14 ++++++++++++++ plugins/catalog-common/api-report.md | 16 ++++++++-------- plugins/catalog-common/package.json | 8 +++++--- plugins/catalog-common/src/permissions.ts | 18 ++++++++++-------- 4 files changed, 37 insertions(+), 19 deletions(-) create mode 100644 .changeset/nice-walls-reply.md diff --git a/.changeset/nice-walls-reply.md b/.changeset/nice-walls-reply.md new file mode 100644 index 0000000000..72b389c130 --- /dev/null +++ b/.changeset/nice-walls-reply.md @@ -0,0 +1,14 @@ +--- +'@backstage/plugin-catalog-common': minor +--- + +Mark permission-related exports as alpha. This means that the exports below should now be imported from `@backstage/plugin-catalog-common/alpha` instead of `@backstage/plugin-catalog-common`. + +- `RESOURCE_TYPE_CATALOG_ENTITY` +- `catalogEntityReadPermission` +- `catalogEntityCreatePermission` +- `catalogEntityDeletePermission` +- `catalogEntityRefreshPermission` +- `catalogLocationReadPermission` +- `catalogLocationCreatePermission` +- `catalogLocationDeletePermission` diff --git a/plugins/catalog-common/api-report.md b/plugins/catalog-common/api-report.md index 9826a8ddef..57f8c3983e 100644 --- a/plugins/catalog-common/api-report.md +++ b/plugins/catalog-common/api-report.md @@ -5,27 +5,27 @@ ```ts import { Permission } from '@backstage/plugin-permission-common'; -// @public +// @alpha export const catalogEntityCreatePermission: Permission; -// @public +// @alpha export const catalogEntityDeletePermission: Permission; -// @public +// @alpha export const catalogEntityReadPermission: Permission; -// @public +// @alpha export const catalogEntityRefreshPermission: Permission; -// @public +// @alpha export const catalogLocationCreatePermission: Permission; -// @public +// @alpha export const catalogLocationDeletePermission: Permission; -// @public +// @alpha export const catalogLocationReadPermission: Permission; -// @public (undocumented) +// @alpha export const RESOURCE_TYPE_CATALOG_ENTITY = 'catalog-entity'; ``` diff --git a/plugins/catalog-common/package.json b/plugins/catalog-common/package.json index 9a52d22798..acf4ed4aaa 100644 --- a/plugins/catalog-common/package.json +++ b/plugins/catalog-common/package.json @@ -10,7 +10,8 @@ "access": "public", "main": "dist/index.cjs.js", "module": "dist/index.esm.js", - "types": "dist/index.d.ts" + "types": "dist/index.d.ts", + "alphaTypes": "dist/index.alpha.d.ts" }, "backstage": { "role": "common-library" @@ -25,7 +26,7 @@ "backstage" ], "scripts": { - "build": "backstage-cli package build", + "build": "backstage-cli package build --experimental-type-build", "lint": "backstage-cli package lint", "test": "backstage-cli package test", "prepack": "backstage-cli package prepack", @@ -39,6 +40,7 @@ "@backstage/cli": "^0.14.0" }, "files": [ - "dist" + "dist", + "alpha" ] } diff --git a/plugins/catalog-common/src/permissions.ts b/plugins/catalog-common/src/permissions.ts index 52c225e441..8e1b036470 100644 --- a/plugins/catalog-common/src/permissions.ts +++ b/plugins/catalog-common/src/permissions.ts @@ -17,8 +17,10 @@ import { Permission } from '@backstage/plugin-permission-common'; /** + * Permission resource type which corresponds to catalog entities. + * * {@link https://backstage.io/docs/features/software-catalog/software-catalog-overview} - * @public + * @alpha */ export const RESOURCE_TYPE_CATALOG_ENTITY = 'catalog-entity'; @@ -28,7 +30,7 @@ export const RESOURCE_TYPE_CATALOG_ENTITY = 'catalog-entity'; * * If this permission is not authorized, it will appear that the entity does not * exist in the catalog — both in the frontend and in API responses. - * @public + * @alpha */ export const catalogEntityReadPermission: Permission = { name: 'catalog.entity.read', @@ -42,7 +44,7 @@ export const catalogEntityReadPermission: Permission = { * This permission is used to authorize actions that involve creating a new * catalog entity. This includes registering an existing component into the * catalog. - * @public + * @alpha */ export const catalogEntityCreatePermission: Permission = { name: 'catalog.entity.create', @@ -55,7 +57,7 @@ export const catalogEntityCreatePermission: Permission = { /** * This permission is used to designate actions that involve removing one or * more entities from the catalog. - * @public + * @alpha */ export const catalogEntityDeletePermission: Permission = { name: 'catalog.entity.delete', @@ -68,7 +70,7 @@ export const catalogEntityDeletePermission: Permission = { /** * This permission is used to designate refreshing one or more entities from the * catalog. - * @public + * @alpha */ export const catalogEntityRefreshPermission: Permission = { name: 'catalog.entity.refresh', @@ -84,7 +86,7 @@ export const catalogEntityRefreshPermission: Permission = { * * If this permission is not authorized, it will appear that the location does * not exist in the catalog — both in the frontend and in API responses. - * @public + * @alpha */ export const catalogLocationReadPermission: Permission = { name: 'catalog.location.read', @@ -96,7 +98,7 @@ export const catalogLocationReadPermission: Permission = { /** * This permission is used to designate actions that involve creating catalog * locations. - * @public + * @alpha */ export const catalogLocationCreatePermission: Permission = { name: 'catalog.location.create', @@ -108,7 +110,7 @@ export const catalogLocationCreatePermission: Permission = { /** * This permission is used to designate actions that involve deleting locations * from the catalog. - * @public + * @alpha */ export const catalogLocationDeletePermission: Permission = { name: 'catalog.location.delete', From 617a132871334cd992cb7e597da54822ae655039 Mon Sep 17 00:00:00 2001 From: Mike Lewis Date: Tue, 1 Mar 2022 13:45:13 +0000 Subject: [PATCH 2/4] create-app: import catalogEntityCreatePermission from /alpha Signed-off-by: Mike Lewis --- .changeset/gorgeous-actors-shave.md | 12 ++++++++++++ .../templates/default-app/packages/app/src/App.tsx | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 .changeset/gorgeous-actors-shave.md diff --git a/.changeset/gorgeous-actors-shave.md b/.changeset/gorgeous-actors-shave.md new file mode 100644 index 0000000000..bcf5f43018 --- /dev/null +++ b/.changeset/gorgeous-actors-shave.md @@ -0,0 +1,12 @@ +--- +'@backstage/create-app': patch +--- + +Update import location of catalogEntityCreatePermission. + +To apply this change to an existing app, make the following change to `packages/app/src/App.tsx`: + +```diff +-import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common'; ++import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common/alpha'; +``` diff --git a/packages/create-app/templates/default-app/packages/app/src/App.tsx b/packages/create-app/templates/default-app/packages/app/src/App.tsx index 6f00993273..f4ff424926 100644 --- a/packages/create-app/templates/default-app/packages/app/src/App.tsx +++ b/packages/create-app/templates/default-app/packages/app/src/App.tsx @@ -30,7 +30,7 @@ import { createApp } from '@backstage/app-defaults'; import { FlatRoutes } from '@backstage/core-app-api'; import { CatalogGraphPage } from '@backstage/plugin-catalog-graph'; import { PermissionedRoute } from '@backstage/plugin-permission-react'; -import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common'; +import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common/alpha'; const app = createApp({ apis, From 40559d7a3b952907b837780b538bfa5d2eb1dbbc Mon Sep 17 00:00:00 2001 From: MT Lewis Date: Tue, 1 Mar 2022 14:32:39 +0000 Subject: [PATCH 3/4] Update .changeset/nice-walls-reply.md Co-authored-by: Johan Haals Signed-off-by: Mike Lewis --- .changeset/nice-walls-reply.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/nice-walls-reply.md b/.changeset/nice-walls-reply.md index 72b389c130..f6d1fb7562 100644 --- a/.changeset/nice-walls-reply.md +++ b/.changeset/nice-walls-reply.md @@ -2,7 +2,7 @@ '@backstage/plugin-catalog-common': minor --- -Mark permission-related exports as alpha. This means that the exports below should now be imported from `@backstage/plugin-catalog-common/alpha` instead of `@backstage/plugin-catalog-common`. +**Breaking**: Mark permission-related exports as alpha. This means that the exports below should now be imported from `@backstage/plugin-catalog-common/alpha` instead of `@backstage/plugin-catalog-common`. - `RESOURCE_TYPE_CATALOG_ENTITY` - `catalogEntityReadPermission` From 5c592573007545ce2771e3ff9ec3a05b0ca48b55 Mon Sep 17 00:00:00 2001 From: Mike Lewis Date: Tue, 1 Mar 2022 14:40:08 +0000 Subject: [PATCH 4/4] catalog-backend: add 'breaking' prefix to existing changeset Signed-off-by: Mike Lewis --- .changeset/chilled-dolls-agree.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/chilled-dolls-agree.md b/.changeset/chilled-dolls-agree.md index 0468bdfee0..750307bf53 100644 --- a/.changeset/chilled-dolls-agree.md +++ b/.changeset/chilled-dolls-agree.md @@ -2,7 +2,7 @@ '@backstage/plugin-catalog-backend': minor --- -Mark permission-related exports as alpha. This means that the exports below should now be imported from `@backstage/plugin-catalog-backend/alpha` instead of `@backstage/plugin-catalog-backend`. +**Breaking**: Mark permission-related exports as alpha. This means that the exports below should now be imported from `@backstage/plugin-catalog-backend/alpha` instead of `@backstage/plugin-catalog-backend`. - `catalogConditions` - `createCatalogPolicyDecision`