Skip to content

feat: init scaffold #119

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 67 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
320a8c8
feat: init scaffold
xiaoiver Dec 20, 2022
5f1c4a3
feat: implement circular layout
xiaoiver Dec 21, 2022
ad6f02a
chore: add demo & unit testcase
xiaoiver Dec 27, 2022
988bb77
chore: add wasm-pack
xiaoiver Dec 28, 2022
9dded74
feat: use workerize-loader
xiaoiver Jan 5, 2023
4c13f4a
fix: export graphlib for now
xiaoiver Jan 5, 2023
c7dcd82
chore: backup case-sensitive files
xiaoiver Jan 6, 2023
38e71c7
chore: restore case-sensitive files
xiaoiver Jan 6, 2023
735b786
chore: refine types and circular layout (#120)
Yanyan-Wang Jan 6, 2023
e2e9ddd
工程相关:测试用例、ESM 打包 (#123)
xiaoiver Jan 9, 2023
15b6430
修复 grid 布局问题 (#124)
xiaoiver Jan 10, 2023
4a93bde
perf: read and format data (#125)
Yanyan-Wang Jan 10, 2023
19f96f6
增加 concentric 布局测试用例和 demo (#126)
xiaoiver Jan 11, 2023
159a9f8
chore: add tests and demo for mds and radial layout (#127)
Yanyan-Wang Jan 11, 2023
470a813
chore: using latest graphlib in concentric demos (#128)
xiaoiver Jan 11, 2023
c046876
feat: add d3force and force layout (#122)
Yanyan-Wang Jan 13, 2023
ca7ce2d
feat: add fruchterman layout and its test and demo (#130)
Yanyan-Wang Jan 18, 2023
a4dc26e
feat: add force atlas 2 layout and its test and demo (#131)
Yanyan-Wang Jan 19, 2023
627c4bd
feat: add layout-rust & layout-wasm (#133)
xiaoiver Feb 3, 2023
94508e0
在 README.md 中增加 LayoutAPI (#135)
xiaoiver Feb 10, 2023
c0ec180
统一 execute & assign 到异步方式 (#142)
xiaoiver Feb 14, 2023
3d2d66b
移除多余的 onLayoutEnd 选项 (#144)
xiaoiver Feb 22, 2023
4fc2763
feat: migrate order dir from v4 (#147)
xiaoiver Apr 10, 2023
4b2d312
feat(rust & wasm): forceatlas2 (#152)
xiaoiver Apr 13, 2023
7668b49
实现 force2 & fruchterman 的 Rust / WASM 版本 (#154)
xiaoiver Apr 26, 2023
e5e8936
fix: add distance threshold mode (#155)
xiaoiver Apr 27, 2023
f4498a8
更新 wasm 版本使用文档 (#156)
xiaoiver Apr 28, 2023
d33d757
fix: syntax revisit (#157)
serializedowen May 5, 2023
8577c93
chore: update usage with Webpack & Vite (#158)
xiaoiver May 5, 2023
72c89c4
chore: bump @antv/[email protected]
xiaoiver May 5, 2023
7cf56ba
feat: wrap layout method exposed by WASM into layout object (#159)
xiaoiver May 9, 2023
2c715e8
feat: support force-directed layout in 3D (#161)
xiaoiver May 11, 2023
c0762b7
fix: force layout min_movement judge condition problem in rust (#166)
Yanyan-Wang May 22, 2023
e4b381b
支持 WebWorker 的 ESM 产物 (#167)
xiaoiver May 24, 2023
84d93ed
feat: comboCombined layout (#173)
Yanyan-Wang Aug 24, 2023
2f6f8c2
feat: dagre with combo; fix: force layout with overlapping problem (#…
Yanyan-Wang Aug 28, 2023
6089168
chore: update readme badge (#181)
hustcc Sep 28, 2023
04f8c2d
chore: format and refine dagre code (#182)
Yanyan-Wang Oct 7, 2023
92ff3ea
fix: circular dependent (#183)
Yanyan-Wang Oct 9, 2023
a5fffa5
feat: dagre supports preset (#187)
Yanyan-Wang Oct 18, 2023
6827d5a
feat: dagre supports ranker configuration (#188)
Yanyan-Wang Oct 18, 2023
7b0d6f4
feat: dagre rust impl (#184)
xiaoiver Oct 31, 2023
8568ea3
chore: bump version (#189)
xiaoiver Oct 31, 2023
97fac88
feat:修复使用Degre布局TB方向,节点高度不同导致间距不一致问题 (#199)
webhao Mar 15, 2024
fa54092
Revert "feat:修复使用Degre布局TB方向,节点高度不同导致间距不一致问题 (#199)" (#209)
xiaoiver Mar 15, 2024
c8afb7f
chore: add basic example
xiaoiver Mar 15, 2024
fba46d9
chore: fix ci (#211)
Aarebecca Mar 20, 2024
920abc5
refactor: reduce useless function, adjust types (#210)
Aarebecca Mar 20, 2024
cca31c7
feat: adapt dagrejs (#212)
Aarebecca Mar 21, 2024
873025b
chore: update version to 1.2.14-beta.1 (#213)
Aarebecca Mar 22, 2024
15e164d
feat: adapt d3-force-3d layout (#214)
Aarebecca Apr 10, 2024
2324ff2
refactor: force layout support setFixedPosition API (#215)
Aarebecca Apr 11, 2024
1a0086c
feat: add layout api doc (#217)
Whf0403 May 13, 2024
d20b99f
chore: update version to beta.4 (#218)
Aarebecca May 13, 2024
3a70d63
fix: fix async assign invoke (#223)
Aarebecca Jul 15, 2024
bfb15db
docs: fix comments of combo-combined layout (#225)
Aarebecca Aug 29, 2024
f756110
perf: optimize combo combined layout performance (#226)
Aarebecca Aug 29, 2024
46a2fe2
chore: update version (#227)
Aarebecca Aug 29, 2024
d1bff78
chore: correct layout comments and file name (#228)
Aarebecca Sep 5, 2024
468eb36
fix: d3-force get node data correctly (#232)
yvonneyx Sep 14, 2024
ad845e5
chore: update version (#230)
Aarebecca Sep 14, 2024
419aadd
chore: update vscode setting to resolve rust project (#231)
Aarebecca Sep 14, 2024
f9fc94f
chore: update version (#233)
Aarebecca Sep 14, 2024
f5013bf
refactor: adapt node size (#236)
yvonneyx Nov 4, 2024
0efb3c5
chore: update version (#237)
yvonneyx Nov 4, 2024
614b1b5
chore: update iperf version and report filename rule (#241)
Aarebecca Jan 2, 2025
6f5c900
fix: source files not included (#242)
lee1409 Feb 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 0 additions & 8 deletions .babelrc.js

This file was deleted.

8 changes: 8 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets

Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)

We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
11 changes: 11 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [],
"access": "restricted",
"baseBranch": "v5",
"updateInternalDependencies": "patch",
"ignore": []
}
21 changes: 21 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# EditorConfig is awesome: http://EditorConfig.org

# top-most EditorConfig file
root = true

# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = space
indent_size = 2

[Makefile]
indent_style = tab
indent_size = 1

[*.md]
trim_trailing_whitespace = false
indent_size = 4
30 changes: 30 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: build

on: ["push", "pull_request"]

jobs:
ci:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 16

- uses: pnpm/action-setup@v2
name: Install pnpm
with:
version: 8
run_install: false

- name: Install Dependencies
run: pnpm install --no-frozen-lockfile

- name: build
run: |
pnpm run ci

- name: test
run: |
pnpm test
22 changes: 0 additions & 22 deletions .github/workflows/ci.yml

This file was deleted.

12 changes: 11 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,14 +1,24 @@
.DS_Store
.vscode
.idea
npm-debug.log
yarn-error.log
yarn.lock
lerna-debug.log
node_modules
package-lock.json
Cargo.lock
coverage
lib
es
esm
dist
*.pem
!mock-cert.pem
target
pkg
pkg-node
pkg-parallel
*.lock
Cargo.lock
tsconfig.tsbuildinfo
pnpm-lock.yaml
4 changes: 4 additions & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx --no-install commitlint --edit "$1"
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npx lint-staged
4 changes: 4 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
es
lib
dist
tsconfig.json
8 changes: 8 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module.exports = {
plugins: [require.resolve('prettier-plugin-organize-imports')],
semi: true,
singleQuote: true,
trailingComma: 'all',
bracketSpacing: true,
arrowParens: 'always',
};
12 changes: 12 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"cSpell.words": [
"acyclicer",
"edgesep",
"Fruchterman",
"graphlib",
"nodesep",
"rankdir",
"ranksep"
],
"rust-analyzer.linkedProjects": ["./packages/layout-rust/Cargo.toml"]
}
179 changes: 179 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
# 代码贡献规范

有任何疑问,欢迎提交 [issue](https://github.com/antvis/layout/issues),
或者直接修改提交 [PR](https://github.com/antvis/layout/pulls)!

## 开发

该项目使用 yarn workspace 作为 monorep 方案。

安装依赖:

```bash
$ yarn install
```

编译:

```bash
$ yarn build
```

在 `/demo` 下包含 UMD 的使用示例,编译后在本地启动开发服务器即可预览:

```bash
$ http-server -p 9090
```

## 测试

### 单元测试

使用 Jest 运行 `__tests__` 下的单元测试:

```bash
$ yarn test
```

## 提交 issue

- 请确定 issue 的类型。
- 请避免提交重复的 issue,在提交之前搜索现有的 issue。
- 在标签(分类参考**标签分类**), 标题 或者内容中体现明确的意图。

随后 AntV 负责人会确认 issue 意图,更新合适的标签,关联 milestone,指派开发者。

## 提交代码

### 提交 Pull Request

如果你有仓库的开发者权限,而且希望贡献代码,那么你可以创建分支修改代码提交 PR,AntV 开发团队会 review 代码合并到主干。

```bash
# 先创建开发分支开发,分支名应该有含义,避免使用 update、tmp 之类的
$ git checkout -b branch-name

# 开发完成后跑下测试是否通过,必要时需要新增或修改测试用例
$ npm test

# 测试通过后,提交代码,message 见下面的规范

$ git add . # git add -u 删除文件
$ git commit -m "fix(role): role.use must xxx"
$ git push origin branch-name
```

提交后就可以在 [@antv/layout](https://github.com/antvis/layout/pulls) 创建 Pull Request 了。

由于谁也无法保证过了多久之后还记得多少,为了后期回溯历史的方便,请在提交 MR 时确保提供了以下信息。

1. 需求点(一般关联 issue 或者注释都算)
2. 升级原因(不同于 issue,可以简要描述下为什么要处理)
3. 框架测试点(可以关联到测试文件,不用详细描述,关键点即可)
4. 关注点(针对用户而言,可以没有,一般是不兼容更新等,需要额外提示)

### 代码风格

你的代码风格必须通过 eslint,你可以运行 `$ npm run lint` 本地测试。

### Commit 提交规范

根据 [angular 规范](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit-message-format)提交 commit,
这样 history 看起来更加清晰,还可以自动生成 changelog。

```xml
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
```

(1)type

提交 commit 的类型,包括以下几种

- feat: 新功能
- fix: 修复问题
- docs: 修改文档
- style: 修改代码格式,不影响代码逻辑
- refactor: 重构代码,理论上不影响现有功能
- perf: 提升性能
- test: 增加修改测试用例
- chore: 修改工具相关(包括但不限于文档、代码生成等)
- deps: 升级依赖

(2)scope

修改文件的范围

(3)subject

用一句话清楚的描述这次提交做了什么

(4)body

补充 subject,适当增加原因、目的等相关因素,也可不写。

(5)footer

- **当有非兼容修改(Breaking Change)时必须在这里描述清楚**
- 关联相关 issue,如 `Closes #1, Closes #2, #3`

示例

```plain
fix($compile): [BREAKING_CHANGE] couple of unit tests for IE9

Older IEs serialize html uppercased, but IE9 does not...
Would be better to expect case insensitive, unfortunately jasmine does
not allow to user regexps for throw expectations.

Document change on antvis/g2#12

Closes #392

BREAKING CHANGE:

Breaks foo.bar api, foo.baz should be used instead
```

查看具体[文档](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit)

## 发布管理

Layout 基于 [semver] 语义化版本号进行发布。

`master` 分支为当前稳定发布的版本。

- 直接从 `master` 切出开发分支
- 所有 API 的废弃都需要在当前的稳定版本上 `deprecate` 提示,并保证在当前的稳定版本上一直兼容到新版本的发布。

### 发布策略

每个大版本都有一个发布经理管理(PM),他/她要做的事情

#### 准备工作

- 建立 milestone,确认需求关联 milestone,指派和更新 issues。

#### 发布前

- 确认当前 Milestone 所有的 issue 都已关闭或可延期,完成性能测试。
- 发起一个新的 [Release Proposal MR],按照 [node CHANGELOG] 进行 `History` 的编写,修正文档中与版本相关的内容,commits 可以自动生成。
```bash
$ npm run commits
```
- 指定下一个大版本的 PM。

#### 发布时

- 将老的稳定版本(master)备份到以当前大版本为名字的分支上(例如 `1.x`),并设置 tag 为 {v}.x`( v 为当前版本,例如`1.x`)。
- 发布新的稳定版本到 [npm],并通知上层框架进行更新。
- `npm publish` 之前,请先阅读[『我是如何发布一个 npm 包的』]。

[semver]: http://semver.org/lang/zh-CN/
[release proposal mr]: https://github.com/nodejs/node/pull/4181
[node changelog]: https://github.com/nodejs/node/blob/master/CHANGELOG.md
[npm]: http://npmjs.com/
[『我是如何发布一个 npm 包的』]: https://fengmk2.com/blog/2016/how-i-publish-a-npm-package
Loading
Loading