diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
deleted file mode 100644
index 9d511cb..0000000
--- a/.github/ISSUE_TEMPLATE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-* **Link**:
-* **Platform**:
-* **Mini Showcase(like screenshots)**:
-
-
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
deleted file mode 100644
index fd86cfc..0000000
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-##### Checklist
-
-
-- [ ] `npm test` passes
-- [ ] tests and/or benchmarks are included
-- [ ] commit message follows commit guidelines
-
-##### Description of change
-
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..f9ae5dd
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,32 @@
+name: build
+
+on: [ push, pull_request ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2.3.4
+
+ - name: Setup Node.js environment
+ uses: actions/setup-node@v2.1.5
+ with:
+ node-version: '12'
+
+ - name: Cache node modules
+ uses: actions/cache@v2
+ env:
+ cache-name: cache-node-modules
+ with:
+ path: ./node_modules
+ key: ${{ runner.os }}-build-cache-node-modules-${{ hashFiles('**/package.json') }}
+ restore-keys: |
+ cache-node-modules-
+
+ - name: Run ci
+ run: |
+ npm install
+ npm run ci
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index f00d409..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-language: node_js
-
-node_js:
- - "8"
-
-env:
- matrix:
- - TEST_TYPE=ci
-
-addons:
- apt:
- packages:
- - xvfb
- - libgconf-2-4
-
-install:
- - export DISPLAY=':99.0'
- - Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
- - npm install
-
-script:
- - |
- if [ "$TEST_TYPE" = ci ]; then
- npm run ci
- fi
diff --git a/README.md b/README.md
index 97b66d0..72cf428 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,14 @@
-# hierarchy
+
+@antv/hierarchy
+
+
+> Layout algorithms for visualizing hierarchical data.
+
+[![Build Status](https://github.com/antvis/hierarchy/actions/workflows/build.yml/badge.svg)](https://github.com/antvis/hierarchy/actions)
+[![npm Version](https://img.shields.io/npm/v/@antv/hierarchy.svg)](https://www.npmjs.com/package/@antv/hierarchy)
+[![npm Download](https://img.shields.io/npm/dm/@antv/hierarchy.svg)](https://www.npmjs.com/package/@antv/hierarchy)
+[![npm License](https://img.shields.io/npm/l/@antv/hierarchy.svg)](https://www.npmjs.com/package/@antv/hierarchy)
-layout algorithms for visualizing hierarchical data.
## API
diff --git a/package.json b/package.json
index 3085738..6297a44 100644
--- a/package.json
+++ b/package.json
@@ -5,20 +5,37 @@
"main": "build/hierarchy.js",
"browser": "build/hierarchy.js",
"module": "lib/index.js",
- "homepage": "https://github.com/antvis/hierarchy",
- "repository": {
- "type": "git",
- "url": "git@github.com:antvis/hierarchy.git"
- },
- "bugs": {
- "url": "https://github.com/antvis/hierarchy/issues"
- },
"keywords": [
"antv",
"hierarchy"
],
- "author": "https://github.com/orgs/antvis/people",
- "license": "MIT",
+ "scripts": {
+ "build": "webpack",
+ "build-lib": "babel src --out-dir lib",
+ "ci": "npm run lint && npm run dist",
+ "compress": "uglifyjs -c -m -o dist/hierarchy.min.js -- build/hierarchy.js",
+ "demos-web": "node ./demos/app.js --web --port 2045",
+ "dev": "npm run watch & npm run demos-web",
+ "dist": "npm run mkdir-dist && npm run build && npm run compress",
+ "lint": "eslint --ext .html,.js ./",
+ "lint-fix": "eslint --ext .html,.js --fix ./",
+ "mkdir-dist": "node ./bin/mkdir-dist.js",
+ "prepublishOnly": "npm run build-lib && npm run dist",
+ "screenshot": "node ./bin/screenshot.js",
+ "start": "npm run dev",
+ "watch": "webpack --config webpack-dev.config.js",
+ "win-dev": "node ./bin/win-dev.js"
+ },
+ "pre-commit": {
+ "run": [
+ "lint",
+ "test"
+ ],
+ "silent": false
+ },
+ "dependencies": {
+ "@antv/util": "^2.0.7"
+ },
"devDependencies": {
"@babel/cli": "^7.0.0",
"@babel/core": "^7.0.0",
@@ -32,7 +49,6 @@
"connect": "~3.6.5",
"d3-queue": "~3.0.7",
"debug": "~3.1.0",
- "electron": "~2.0.6",
"eslint": "~3.19.0",
"eslint-config-airbnb": "~15.0.1",
"eslint-config-egg": "~4.2.0",
@@ -45,41 +61,17 @@
"pre-commit": "~1.2.2",
"serve-static": "~1.13.1",
"shelljs": "~0.7.8",
- "torchjs": "~2.0.4",
"uglify-js": "~3.1.10",
"webpack": "~3.10.0"
},
- "scripts": {
- "build": "webpack",
- "build-lib": "babel src --out-dir lib",
- "ci": "npm run lint && npm run test",
- "compress": "uglifyjs -c -m -o dist/hierarchy.min.js -- build/hierarchy.js",
- "coverage": "npm run coverage-generator && npm run coverage-viewer",
- "coverage-generator": "torch --compile --coverage --renderer --recursive test/unit",
- "coverage-viewer": "torch-coverage",
- "demos": "electron ./demos/app.js",
- "demos-web": "node ./demos/app.js --web --port 2045",
- "dev": "npm run watch & npm run demos-web",
- "dist": "npm run mkdir-dist && npm run build && npm run compress",
- "lint": "eslint --ext .html,.js ./",
- "lint-fix": "eslint --ext .html,.js --fix ./",
- "mkdir-dist": "node ./bin/mkdir-dist.js",
- "prepublishOnly": "npm run build-lib && npm run dist",
- "screenshot": "node ./bin/screenshot.js",
- "start": "npm run dev",
- "test": "torch --renderer --recursive ./test/unit",
- "test-live": "torch --interactive --watch --recursive ./test/unit",
- "watch": "webpack --config webpack-dev.config.js",
- "win-dev": "node ./bin/win-dev.js"
+ "homepage": "https://github.com/antvis/hierarchy",
+ "repository": {
+ "type": "git",
+ "url": "git@github.com:antvis/hierarchy.git"
},
- "pre-commit": {
- "run": [
- "lint",
- "test"
- ],
- "silent": false
+ "bugs": {
+ "url": "https://github.com/antvis/hierarchy/issues"
},
- "dependencies": {
- "@antv/util": "^2.0.7"
- }
+ "author": "https://github.com/orgs/antvis/people",
+ "license": "MIT"
}
diff --git a/test/fixtures/flare.json b/test/fixtures/flare.json
deleted file mode 100644
index 2e87a24..0000000
--- a/test/fixtures/flare.json
+++ /dev/null
@@ -1,1040 +0,0 @@
-{
- "name": "flare",
- "children": [
- {
- "name": "analytics",
- "children": [
- {
- "name": "cluster",
- "children": [
- {
- "name": "AgglomerativeCluster",
- "value": 3938
- },
- {
- "name": "CommunityStructure",
- "value": 3812
- },
- {
- "name": "HierarchicalCluster",
- "value": 6714
- },
- {
- "name": "MergeEdge",
- "value": 743
- }
- ]
- },
- {
- "name": "graph",
- "children": [
- {
- "name": "BetweennessCentrality",
- "value": 3534
- },
- {
- "name": "LinkDistance",
- "value": 5731
- },
- {
- "name": "MaxFlowMinCut",
- "value": 7840
- },
- {
- "name": "ShortestPaths",
- "value": 5914
- },
- {
- "name": "SpanningTree",
- "value": 3416
- }
- ]
- },
- {
- "name": "optimization",
- "children": [
- {
- "name": "AspectRatioBanker",
- "value": 7074
- }
- ]
- }
- ]
- },
- {
- "name": "animate",
- "children": [
- {
- "name": "Easing",
- "value": 17010
- },
- {
- "name": "FunctionSequence",
- "value": 5842
- },
- {
- "name": "interpolate",
- "children": [
- {
- "name": "ArrayInterpolator",
- "value": 1983
- },
- {
- "name": "ColorInterpolator",
- "value": 2047
- },
- {
- "name": "DateInterpolator",
- "value": 1375
- },
- {
- "name": "Interpolator",
- "value": 8746
- },
- {
- "name": "MatrixInterpolator",
- "value": 2202
- },
- {
- "name": "NumberInterpolator",
- "value": 1382
- },
- {
- "name": "ObjectInterpolator",
- "value": 1629
- },
- {
- "name": "PointInterpolator",
- "value": 1675
- },
- {
- "name": "RectangleInterpolator",
- "value": 2042
- }
- ]
- },
- {
- "name": "ISchedulable",
- "value": 1041
- },
- {
- "name": "Parallel",
- "value": 5176
- },
- {
- "name": "Pause",
- "value": 449
- },
- {
- "name": "Scheduler",
- "value": 5593
- },
- {
- "name": "Sequence",
- "value": 5534
- },
- {
- "name": "Transition",
- "value": 9201
- },
- {
- "name": "Transitioner",
- "value": 19975
- },
- {
- "name": "TransitionEvent",
- "value": 1116
- },
- {
- "name": "Tween",
- "value": 6006
- }
- ]
- },
- {
- "name": "data",
- "children": [
- {
- "name": "converters",
- "children": [
- {
- "name": "Converters",
- "value": 721
- },
- {
- "name": "DelimitedTextConverter",
- "value": 4294
- },
- {
- "name": "GraphMLConverter",
- "value": 9800
- },
- {
- "name": "IDataConverter",
- "value": 1314
- },
- {
- "name": "JSONConverter",
- "value": 2220
- }
- ]
- },
- {
- "name": "DataField",
- "value": 1759
- },
- {
- "name": "DataSchema",
- "value": 2165
- },
- {
- "name": "DataSet",
- "value": 586
- },
- {
- "name": "DataSource",
- "value": 3331
- },
- {
- "name": "DataTable",
- "value": 772
- },
- {
- "name": "DataUtil",
- "value": 3322
- }
- ]
- },
- {
- "name": "display",
- "children": [
- {
- "name": "DirtySprite",
- "value": 8833
- },
- {
- "name": "LineSprite",
- "value": 1732
- },
- {
- "name": "RectSprite",
- "value": 3623
- },
- {
- "name": "TextSprite",
- "value": 10066
- }
- ]
- },
- {
- "name": "flex",
- "children": [
- {
- "name": "FlareVis",
- "value": 4116
- }
- ]
- },
- {
- "name": "physics",
- "children": [
- {
- "name": "DragForce",
- "value": 1082
- },
- {
- "name": "GravityForce",
- "value": 1336
- },
- {
- "name": "IForce",
- "value": 319
- },
- {
- "name": "NBodyForce",
- "value": 10498
- },
- {
- "name": "Particle",
- "value": 2822
- },
- {
- "name": "Simulation",
- "value": 9983
- },
- {
- "name": "Spring",
- "value": 2213
- },
- {
- "name": "SpringForce",
- "value": 1681
- }
- ]
- },
- {
- "name": "query",
- "children": [
- {
- "name": "AggregateExpression",
- "value": 1616
- },
- {
- "name": "And",
- "value": 1027
- },
- {
- "name": "Arithmetic",
- "value": 3891
- },
- {
- "name": "Average",
- "value": 891
- },
- {
- "name": "BinaryExpression",
- "value": 2893
- },
- {
- "name": "Comparison",
- "value": 5103
- },
- {
- "name": "CompositeExpression",
- "value": 3677
- },
- {
- "name": "Count",
- "value": 781
- },
- {
- "name": "DateUtil",
- "value": 4141
- },
- {
- "name": "Distinct",
- "value": 933
- },
- {
- "name": "Expression",
- "value": 5130
- },
- {
- "name": "ExpressionIterator",
- "value": 3617
- },
- {
- "name": "Fn",
- "value": 3240
- },
- {
- "name": "If",
- "value": 2732
- },
- {
- "name": "IsA",
- "value": 2039
- },
- {
- "name": "Literal",
- "value": 1214
- },
- {
- "name": "Match",
- "value": 3748
- },
- {
- "name": "Maximum",
- "value": 843
- },
- {
- "name": "methods",
- "children": [
- {
- "name": "add",
- "value": 593
- },
- {
- "name": "and",
- "value": 330
- },
- {
- "name": "average",
- "value": 287
- },
- {
- "name": "count",
- "value": 277
- },
- {
- "name": "distinct",
- "value": 292
- },
- {
- "name": "div",
- "value": 595
- },
- {
- "name": "eq",
- "value": 594
- },
- {
- "name": "fn",
- "value": 460
- },
- {
- "name": "gt",
- "value": 603
- },
- {
- "name": "gte",
- "value": 625
- },
- {
- "name": "iff",
- "value": 748
- },
- {
- "name": "isa",
- "value": 461
- },
- {
- "name": "lt",
- "value": 597
- },
- {
- "name": "lte",
- "value": 619
- },
- {
- "name": "max",
- "value": 283
- },
- {
- "name": "min",
- "value": 283
- },
- {
- "name": "mod",
- "value": 591
- },
- {
- "name": "mul",
- "value": 603
- },
- {
- "name": "neq",
- "value": 599
- },
- {
- "name": "not",
- "value": 386
- },
- {
- "name": "or",
- "value": 323
- },
- {
- "name": "orderby",
- "value": 307
- },
- {
- "name": "range",
- "value": 772
- },
- {
- "name": "select",
- "value": 296
- },
- {
- "name": "stddev",
- "value": 363
- },
- {
- "name": "sub",
- "value": 600
- },
- {
- "name": "sum",
- "value": 280
- },
- {
- "name": "update",
- "value": 307
- },
- {
- "name": "variance",
- "value": 335
- },
- {
- "name": "where",
- "value": 299
- },
- {
- "name": "xor",
- "value": 354
- },
- {
- "name": "_",
- "value": 264
- }
- ]
- },
- {
- "name": "Minimum",
- "value": 843
- },
- {
- "name": "Not",
- "value": 1554
- },
- {
- "name": "Or",
- "value": 970
- },
- {
- "name": "Query",
- "value": 13896
- },
- {
- "name": "Range",
- "value": 1594
- },
- {
- "name": "StringUtil",
- "value": 4130
- },
- {
- "name": "Sum",
- "value": 791
- },
- {
- "name": "Variable",
- "value": 1124
- },
- {
- "name": "Variance",
- "value": 1876
- },
- {
- "name": "Xor",
- "value": 1101
- }
- ]
- },
- {
- "name": "scale",
- "children": [
- {
- "name": "IScaleMap",
- "value": 2105
- },
- {
- "name": "LinearScale",
- "value": 1316
- },
- {
- "name": "LogScale",
- "value": 3151
- },
- {
- "name": "OrdinalScale",
- "value": 3770
- },
- {
- "name": "QuantileScale",
- "value": 2435
- },
- {
- "name": "QuantitativeScale",
- "value": 4839
- },
- {
- "name": "RootScale",
- "value": 1756
- },
- {
- "name": "Scale",
- "value": 4268
- },
- {
- "name": "ScaleType",
- "value": 1821
- },
- {
- "name": "TimeScale",
- "value": 5833
- }
- ]
- },
- {
- "name": "util",
- "children": [
- {
- "name": "Arrays",
- "value": 8258
- },
- {
- "name": "Colors",
- "value": 10001
- },
- {
- "name": "Dates",
- "value": 8217
- },
- {
- "name": "Displays",
- "value": 12555
- },
- {
- "name": "Filter",
- "value": 2324
- },
- {
- "name": "Geometry",
- "value": 10993
- },
- {
- "name": "heap",
- "children": [
- {
- "name": "FibonacciHeap",
- "value": 9354
- },
- {
- "name": "HeapNode",
- "value": 1233
- }
- ]
- },
- {
- "name": "IEvaluable",
- "value": 335
- },
- {
- "name": "IPredicate",
- "value": 383
- },
- {
- "name": "IValueProxy",
- "value": 874
- },
- {
- "name": "math",
- "children": [
- {
- "name": "DenseMatrix",
- "value": 3165
- },
- {
- "name": "IMatrix",
- "value": 2815
- },
- {
- "name": "SparseMatrix",
- "value": 3366
- }
- ]
- },
- {
- "name": "Maths",
- "value": 17705
- },
- {
- "name": "Orientation",
- "value": 1486
- },
- {
- "name": "palette",
- "children": [
- {
- "name": "ColorPalette",
- "value": 6367
- },
- {
- "name": "Palette",
- "value": 1229
- },
- {
- "name": "ShapePalette",
- "value": 2059
- },
- {
- "name": "SizePalette",
- "value": 2291
- }
- ]
- },
- {
- "name": "Property",
- "value": 5559
- },
- {
- "name": "Shapes",
- "value": 19118
- },
- {
- "name": "Sort",
- "value": 6887
- },
- {
- "name": "Stats",
- "value": 6557
- },
- {
- "name": "Strings",
- "value": 22026
- }
- ]
- },
- {
- "name": "vis",
- "children": [
- {
- "name": "axis",
- "children": [
- {
- "name": "Axes",
- "value": 1302
- },
- {
- "name": "Axis",
- "value": 24593
- },
- {
- "name": "AxisGridLine",
- "value": 652
- },
- {
- "name": "AxisLabel",
- "value": 636
- },
- {
- "name": "CartesianAxes",
- "value": 6703
- }
- ]
- },
- {
- "name": "controls",
- "children": [
- {
- "name": "AnchorControl",
- "value": 2138
- },
- {
- "name": "ClickControl",
- "value": 3824
- },
- {
- "name": "Control",
- "value": 1353
- },
- {
- "name": "ControlList",
- "value": 4665
- },
- {
- "name": "DragControl",
- "value": 2649
- },
- {
- "name": "ExpandControl",
- "value": 2832
- },
- {
- "name": "HoverControl",
- "value": 4896
- },
- {
- "name": "IControl",
- "value": 763
- },
- {
- "name": "PanZoomControl",
- "value": 5222
- },
- {
- "name": "SelectionControl",
- "value": 7862
- },
- {
- "name": "TooltipControl",
- "value": 8435
- }
- ]
- },
- {
- "name": "data",
- "children": [
- {
- "name": "Data",
- "value": 20544
- },
- {
- "name": "DataList",
- "value": 19788
- },
- {
- "name": "DataSprite",
- "value": 10349
- },
- {
- "name": "EdgeSprite",
- "value": 3301
- },
- {
- "name": "NodeSprite",
- "value": 19382
- },
- {
- "name": "render",
- "children": [
- {
- "name": "ArrowType",
- "value": 698
- },
- {
- "name": "EdgeRenderer",
- "value": 5569
- },
- {
- "name": "IRenderer",
- "value": 353
- },
- {
- "name": "ShapeRenderer",
- "value": 2247
- }
- ]
- },
- {
- "name": "ScaleBinding",
- "value": 11275
- },
- {
- "name": "Tree",
- "value": 7147
- },
- {
- "name": "TreeBuilder",
- "value": 9930
- }
- ]
- },
- {
- "name": "events",
- "children": [
- {
- "name": "DataEvent",
- "value": 2313
- },
- {
- "name": "SelectionEvent",
- "value": 1880
- },
- {
- "name": "TooltipEvent",
- "value": 1701
- },
- {
- "name": "VisualizationEvent",
- "value": 1117
- }
- ]
- },
- {
- "name": "legend",
- "children": [
- {
- "name": "Legend",
- "value": 20859
- },
- {
- "name": "LegendItem",
- "value": 4614
- },
- {
- "name": "LegendRange",
- "value": 10530
- }
- ]
- },
- {
- "name": "operator",
- "children": [
- {
- "name": "distortion",
- "children": [
- {
- "name": "BifocalDistortion",
- "value": 4461
- },
- {
- "name": "Distortion",
- "value": 6314
- },
- {
- "name": "FisheyeDistortion",
- "value": 3444
- }
- ]
- },
- {
- "name": "encoder",
- "children": [
- {
- "name": "ColorEncoder",
- "value": 3179
- },
- {
- "name": "Encoder",
- "value": 4060
- },
- {
- "name": "PropertyEncoder",
- "value": 4138
- },
- {
- "name": "ShapeEncoder",
- "value": 1690
- },
- {
- "name": "SizeEncoder",
- "value": 1830
- }
- ]
- },
- {
- "name": "filter",
- "children": [
- {
- "name": "FisheyeTreeFilter",
- "value": 5219
- },
- {
- "name": "GraphDistanceFilter",
- "value": 3165
- },
- {
- "name": "VisibilityFilter",
- "value": 3509
- }
- ]
- },
- {
- "name": "IOperator",
- "value": 1286
- },
- {
- "name": "label",
- "children": [
- {
- "name": "Labeler",
- "value": 9956
- },
- {
- "name": "RadialLabeler",
- "value": 3899
- },
- {
- "name": "StackedAreaLabeler",
- "value": 3202
- }
- ]
- },
- {
- "name": "layout",
- "children": [
- {
- "name": "AxisLayout",
- "value": 6725
- },
- {
- "name": "BundledEdgeRouter",
- "value": 3727
- },
- {
- "name": "CircleLayout",
- "value": 9317
- },
- {
- "name": "CirclePackingLayout",
- "value": 12003
- },
- {
- "name": "DendrogramLayout",
- "value": 4853
- },
- {
- "name": "ForceDirectedLayout",
- "value": 8411
- },
- {
- "name": "IcicleTreeLayout",
- "value": 4864
- },
- {
- "name": "IndentedTreeLayout",
- "value": 3174
- },
- {
- "name": "Layout",
- "value": 7881
- },
- {
- "name": "NodeLinkTreeLayout",
- "value": 12870
- },
- {
- "name": "PieLayout",
- "value": 2728
- },
- {
- "name": "RadialTreeLayout",
- "value": 12348
- },
- {
- "name": "RandomLayout",
- "value": 870
- },
- {
- "name": "StackedAreaLayout",
- "value": 9121
- },
- {
- "name": "TreeMapLayout",
- "value": 9191
- }
- ]
- },
- {
- "name": "Operator",
- "value": 2490
- },
- {
- "name": "OperatorList",
- "value": 5248
- },
- {
- "name": "OperatorSequence",
- "value": 4190
- },
- {
- "name": "OperatorSwitch",
- "value": 2581
- },
- {
- "name": "SortOperator",
- "value": 2023
- }
- ]
- },
- {
- "name": "Visualization",
- "value": 16540
- }
- ]
- }
- ]
-}
diff --git a/test/support/util.js b/test/support/util.js
deleted file mode 100644
index c89aa57..0000000
--- a/test/support/util.js
+++ /dev/null
@@ -1,12 +0,0 @@
-const {
- readFileSync
-} = require('fs');
-const {
- resolve
-} = require('path');
-
-module.exports = {
- readFileSync(pathname) {
- return readFileSync(resolve(process.cwd(), pathname), 'utf8');
- }
-};
diff --git a/test/unit/index-spec.js b/test/unit/index-spec.js
deleted file mode 100644
index ae2ee99..0000000
--- a/test/unit/index-spec.js
+++ /dev/null
@@ -1,10 +0,0 @@
-const {
- expect
-} = require('chai');
-const hierarchy = require('../../src/index');
-
-describe('index', () => {
- it('hierarchy', () => {
- expect(hierarchy).to.be.an('object');
- });
-});