代码目录结构

.
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── CONTRIBUTING.zh-CN.md
├── CONTRIBUTORS
├── CONTRIBUTORS.svg
├── LICENSE
├── README.en-us.md
├── README.md
├── SECURITY.md
├── examples
│   └── x6-example-features
├── flow.svg
├── karma.conf.js
├── package.json
├── packages
│   ├── x6                      # 核心包
│   ├── x6-angular-shape        # 适用于 angular
│   ├── x6-common               # 公共包
│   ├── x6-devtool              # 浏览器开发工具
│   ├── x6-geometry             # 几何图形工具
│   ├── x6-plugin-clipboard     # 剪切板插件
│   ├── x6-plugin-dnd           # 拖拽创建插件
│   ├── x6-plugin-export        # 导出插件
│   ├── x6-plugin-history       # 历史记录插件
│   ├── x6-plugin-keyboard      # 键盘快捷键插件
│   ├── x6-plugin-minimap       # 缩略图插件
│   ├── x6-plugin-scroller      # 滚动视图插件
│   ├── x6-plugin-selection     # 选择插件
│   ├── x6-plugin-snapline      # 对齐线插件
│   ├── x6-plugin-stencil       # 对 dnd 插件的进一步的封装
│   ├── x6-plugin-transform     # 变换插件
│   ├── x6-react-components     # 适用于 react 的组件
│   ├── x6-react-shape          # 适用于 react
│   └── x6-vue-shape            # 适用于 vue
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── rollup.config.js
├── scripts
│   ├── build-less
│   ├── run-test
│   ├── sync-gitee
│   └── x6-build-tools
├── sites
│   └── x6-sites
├── tsconfig.json
└── turbo.json

可以看出来,目录结构非常清晰,是基于 pnpmMonorepo,下面我们分别对 packages 下的几个包进行分析。