MCPcopy Index your code
hub / github.com/alibaba/butterfly

github.com/alibaba/butterfly @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,299 symbols 2,840 edges 315 files 8 documented · 1% 32 cross-repo links updated 2y ago★ 4,649161 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

一个基于JS的数据驱动的节点式编排组件库

Build Status CircleCI npm package NPM downloads Dependencies DevDependencies

English | 简体中文

✨ 特性

  • 丰富DEMO,开箱即用
  • 全方位管理画布,开发者只需要更专注定制化的需求
  • 利用DOM/REACT/VUE来定制元素;灵活性,可塑性,拓展性优秀

🚀DEMO

本地DEMO

git clone git@github.com:alibaba/butterfly.git
npm install
cd example
npm install
npm start

线上DEMO

小蝴蝶官网

📦 安装

npm install butterfly-dag

🔨 快速上手

引入方式

// 完全版,内部包含jquery和lodash
import {Canvas, Group, Node, Edge} from 'butterfly-dag';
import 'butterfly-dag/dist/index.css';

// 如果您引用的项目使用了jquery和lodash,为了缩小项目的体积,我们建议:
import {Canvas, Group, Node, Edge} from 'butterfly-dag/pack/index.js';
import 'butterfly-dag/pack/index.css';

生成画布

import {Canvas} from 'butterfly-dag';
let canvas = new Canvas({
  root: dom,              //canvas的根节点(必传)
  zoomable: true,         //可缩放(可传)
  moveable: true,         //可平移(可传)
  draggable: true,        //节点可拖动(可传)
});
canvas.draw({
  groups: [],  //分组信息
  nodes: [],  //节点信息
  edges: []  // 连线信息
})

🔗 API文档

🎨优秀案例

⌨️垂直业务React拓展组件

  • 表字段血缘/业务血缘: 适用于表级血缘,表字段级血缘,业务链路血缘等业务

  • 可视化建模图: 适用于UML,数据库建模,数据仓库建设等业务

  • 调度编排图(doing)

  • 监控图: 适用于任务流,数据流等业务的状态展示

  • Butterfly-Editor(doing)

🤝如何贡献

我们欢迎所有的贡献者,在成为贡献者之前,请先阅读贡献指南

如果您已经了解,快来IssusPull requests成为贡献者吧,让我们和小蝴蝶一起成长,一起变得更好、更棒!

Core symbols most depended-on inside this repo

require
called by 102
example/pages/code-box/coms/playground/eval-code.js
emit
called by 75
src/edge/baseEdge.js
on
called by 53
src/edge/baseEdge.js
_terminal2canvas
called by 28
src/utils/coordinate.js
moveTo
called by 22
src/interface/node.js
addEventListener
called by 20
src/utils/selectCanvas.js
getGroup
called by 20
src/canvas/baseCanvas.js
getNode
called by 19
src/canvas/baseCanvas.js

Shape

Method 730
Class 298
Function 271

Languages

TypeScript100%

Modules by API surface

src/canvas/baseCanvas.js105 symbols
src/interface/canvas.js48 symbols
src/group/baseGroup.js31 symbols
src/edge/baseEdge.js28 symbols
src/interface/group.js26 symbols
react/index.jsx24 symbols
src/node/baseNode.js21 symbols
src/canvas/treeCanvas.js21 symbols
src/interface/node.js19 symbols
src/utils/layout/radial/math.js17 symbols
src/endpoint/baseEndpoint.js17 symbols
src/utils/toolTip.js16 symbols

Dependencies from manifests, versioned

@ant-design/icons4.4.0 · 1×
@antv/hierarchy0.6.4 · 1×
@antv/matrix-util3.0.4 · 1×
@babel/core7.15.0 · 1×
@babel/plugin-proposal-class-properties7.14.0 · 1×
@babel/plugin-proposal-object-rest-spread7.14.2 · 1×
@babel/plugin-syntax-dynamic-import7.8.3 · 1×
@babel/plugin-syntax-top-level-await7.14.5 · 1×
@babel/plugin-transform-modules-commonjs7.15.0 · 1×
@babel/plugin-transform-runtime7.15.0 · 1×
@babel/preset-env7.15.0 · 1×
@babel/preset-react7.14.0 · 1×

For agents

$ claude mcp add butterfly \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact