@dweber019/backstage-plugin-relations-backend

中文文档
0.1.2发布于 2025/12/19MITTypeScriptCommonJS近 30 天下载 8183

此关系处理器插件释放出额外的自定义关系,这些关系在 目录图 离开盒子.

中文使用文档
文档目录8 节
  1. 安装
  2. 设置插件
  3. 配置
  4. 使用量
  5. 目录图
  6. 利用众所周知的关系
  7. 新建后端系统
  8. 图标

关系处理器

此关系处理器插件释放出额外的自定义关系,这些关系在 目录图 离开盒子.

此外,你可以安装 关系前端插件 以更好的前端体验 此处理器.

安装

设置插件

首先,我们需要添加 @dweber019/backstage-plugin-relations-backend 软件包 :

# From your Backstage root directory
yarn --cwd packages/backend add @dweber019/backstage-plugin-relations-backend

然后我们打开名为 packages/backend/src/plugins/catalog.ts,并扩展为:

import { RelationsEntitiesProcessor } from '@dweber019/backstage-plugin-relations-backend';

export default async function createPlugin(
  env: PluginEnvironment,
): Promise<Router> {
  const builder = await CatalogBuilder.create(env);

  builder.addProcessor(RelationEntitiesProcessor.fromConfig(env));

  const { processingEngine, router } = await builder.build();
  // ..
}

配置

见 config.d.ts 用于配置文档的文件.

这里有一个简单的配置, 这将添加一个命名的属性 supporter,允许关系 User 财务报告和审定财务报表 Group 编号 Resource。 。 。 . 此外,我们可以使用属性 applicationOwner 打开 Component 允许关系 User。 。 。 .

relationsProcessor:
  relations:
    - sourceKind: component
      targetKinds:
        - user
      attribute: applicationOwner
      pairs:
        - incoming: applicationOwnerOf
          outgoing: applicationOwnerBy
    - sourceKind: resource
      targetKinds:
        - user
        - group
      attribute: supporter
      multi: true
      pairs:
        - incoming: supporterOf
          outgoing: supportedBy

使用量

上述定义将允许界定下列实体:

apiVersion: backstage.io/v1alpha1
kind: Resource
metadata:
  name: resource-1
spec:
  type: db
  owner: group:default/group-1
  supporter:
    - john-doe
    - group:default/group-1
---
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: component-1
spec:
  type: service
  lifecycle: production
  owner: group:default/group-1
  applicationOwner: user:default/kevin-po

目录图

建议使用 关系前端插件 在过滤器中添加新关系,设置好的默认值.

利用众所周知的关系

你可以用这个 众所周知的目录实体之间的关系 与此插件的关系。 如果某一组件为集团所有并拥有应用程序所有者,而该应用程序所有者也应拥有所有权,则这样做是有用的.

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: component-1
spec:
  type: service
  lifecycle: production
  owner: group:default/group-1
  applicationOwner: user:default/kevin-po

要允许所有者关系使用以下配置.

relationsProcessor:
  relations:
    - sourceKind: component
      targetKinds:
        - user
      attribute: applicationOwner
      pairs:
        - incoming: applicationOwnerOf
          outgoing: applicationOwnerBy
        - incoming: ownerOf
          outgoing: ownerBy

新建后端系统

后端插件有支持 新的后端系统,这里你如何设置:

在你身边 packages/backend/src/index.ts 作如下修改:

const backend = createBackend();

backend.add(import('@dweber019/backstage-plugin-relations-backend'));

// ... other feature additions

backend.start();

这没有经过测试,这里供参考

图标

谢谢你的图标 Becris 创建的机器学习图标 - Flaticon

版本与发布记录

@dweber019/backstage-plugin-relations-backend 共发布 18 个版本,首次发布于 2024/04/06;过去 12 个月发布了 1 个版本。

版本发布日期距今
0.1.2latest2025/12/1910 个月前
0.1.12025/08/151.2 年前
0.1.02025/06/271.4 年前
0.0.152025/06/031.4 年前
0.0.142025/03/181.7 年前
0.0.132025/01/201.8 年前

关于 @dweber019/backstage-plugin-relations-backend 的常见问题

@dweber019/backstage-plugin-relations-backend 是什么?

此关系处理器插件释放出额外的自定义关系,这些关系在 目录图 离开盒子.

如何安装 @dweber019/backstage-plugin-relations-backend?

在项目目录运行 npm install @dweber019/backstage-plugin-relations-backend,或使用 pnpm add / yarn add / bun add。

@dweber019/backstage-plugin-relations-backend 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dweber019/backstage-plugin-relations-backend 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@dweber019/backstage-plugin-relations-backend 可以商用吗?

@dweber019/backstage-plugin-relations-backend 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@dweber019/backstage-plugin-relations-backend 的下载量有多少?

根据 npm 官方下载统计,@dweber019/backstage-plugin-relations-backend 在 2026/10/13 – 2026/11/11 这 30 天内被下载 8,183 次,日均约 273 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dweber019/backstage-plugin-relations-backend 还在维护吗?

最新版本 0.1.2 发布于 2025/12/19(10 个月前);至今共发布 18 个版本,其中过去 12 个月发布了 1 个;首次发布于 2024/04/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。