ts-graphviz 1.2.3 → 1.2.4-dev.727d397dd
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -1
- package/lib/adapter/deno/mod.d.ts +17 -0
- package/lib/adapter/deno/mod.js +33 -0
- package/lib/adapter/index.cjs +47 -0
- package/lib/adapter/index.d.ts +17 -0
- package/lib/adapter/index.js +42 -0
- package/media/adapter-state-machine.svg +1 -0
- package/package.json +111 -84
- package/README.ja.md +0 -498
- package/test/__snapshots__/class-base.test.ts.snap +0 -18
- package/test/__snapshots__/create-root-graph.spec.ts.snap +0 -200
- package/test/__snapshots__/to-dot.test.ts.snap +0 -229
- package/test/class-base.test.ts +0 -131
- package/test/create-root-graph.spec.ts +0 -292
- package/test/edge-group.test.ts +0 -96
- package/test/from-dot.test.ts +0 -58
- package/test/to-dot.test.ts +0 -112
- package/test/utils/index.ts +0 -1
- package/test/utils/to-dot.ts +0 -5
package/README.ja.md
DELETED
|
@@ -1,498 +0,0 @@
|
|
|
1
|
-
[](https://github.com/kamiazya/ts-graphviz/actions?workflow=NodeCI)
|
|
2
|
-
[](https://badge.fury.io/js/ts-graphviz)
|
|
3
|
-
[](https://opensource.org/licenses/MIT)
|
|
4
|
-
[](http://makeapullrequest.com)
|
|
5
|
-
[](https://github.com/facebook/jest)
|
|
6
|
-
[](https://github.com/facebook/jest)
|
|
7
|
-

|
|
8
|
-

|
|
9
|
-
[](#contributors)
|
|
10
|
-
|
|
11
|
-
# ts-graphviz
|
|
12
|
-
|
|
13
|
-
TypeScriptの ための [Graphviz](https://graphviz.gitlab.io/) ライブラリ
|
|
14
|
-
|
|
15
|
-
[](https://github.com/ts-graphviz/ts-graphviz)
|
|
16
|
-
[](https://www.npmjs.com/package/ts-graphviz)
|
|
17
|
-
[](https://yarnpkg.com/package/ts-graphviz)
|
|
18
|
-
[](https://ts-graphviz.github.io/ts-graphviz/)
|
|
19
|
-
[](https://github.com/sponsors/kamiazya)
|
|
20
|
-
|
|
21
|
-
> [English](https://github.com/ts-graphviz/ts-graphviz/blob/main/README.md) | [日本語](https://github.com/ts-graphviz/ts-graphviz/blob/main/README.ja.md)
|
|
22
|
-
|
|
23
|
-
## 主な機能 ✨
|
|
24
|
-
|
|
25
|
-
TypeScript に完全に統合された Graphviz DOT言語のモデルとASTを提供します。
|
|
26
|
-
|
|
27
|
-
- **TypeScript フレンドリーな API**
|
|
28
|
-
- DOT言語のモデルを提供しています。また属性と属性の型まで TypeScript の型定義が用意されています。
|
|
29
|
-
- **パラダイムからの開放**
|
|
30
|
-
- オブジェクト指向で設計され、命令的 API と 宣言的 API のどちらにも適合できるAPI提供しています。 プロジェクトにあったパラダイムを選択できます。
|
|
31
|
-
- **あらゆるユースケースに対応**
|
|
32
|
-
- モデルを提供する高レイヤーの API と ASTを取り扱う低レイヤーの API をどちらも提供し、あらゆるユースケースに対応します。
|
|
33
|
-
|
|
34
|
-
## インストール方法 💽
|
|
35
|
-
|
|
36
|
-
このパッケージは、パッケージマネージャを使用してインストールすることができます。
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
# npm
|
|
40
|
-
$ npm install -S ts-graphviz
|
|
41
|
-
# or yarn
|
|
42
|
-
$ yarn add ts-graphviz
|
|
43
|
-
# or pnpm
|
|
44
|
-
$ pnpm add ts-graphviz
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## 使い方 📑
|
|
48
|
-
|
|
49
|
-
この項では、パッケージの概要について説明します。
|
|
50
|
-
|
|
51
|
-
より詳細なAPIの仕様は、 TypeScript の型定義のコメントやそれを元に自動生成された [ドキュメント](https://ts-graphviz.github.io/ts-graphviz/) を参照してください。
|
|
52
|
-
|
|
53
|
-
### `ts-graphviz` モジュール 🚩
|
|
54
|
-
|
|
55
|
-
DOT 言語をJavaScript/TypeScriptで扱うためのインターフェースである Model を提供します。
|
|
56
|
-
|
|
57
|
-

|
|
58
|
-
|
|
59
|
-
#### オブジェクト指向 ❤️
|
|
60
|
-
|
|
61
|
-
**Model** はオブジェクト指向に設計されており、 `Digraph`, `Graph`, `Subgraph`, `Node`, `Edge` のクラスを提供しています。
|
|
62
|
-
|
|
63
|
-
**Model** を **DOT** (DOT言語の文字列)に変換する`toDot` 関数を提供しています。
|
|
64
|
-
|
|
65
|
-
```typescript
|
|
66
|
-
import { attribute as _, Digraph, Subgraph, Node, Edge, toDot } from 'ts-graphviz';
|
|
67
|
-
|
|
68
|
-
const G = new Digraph();
|
|
69
|
-
const A = new Subgraph('A');
|
|
70
|
-
const node1 = new Node('node1', {
|
|
71
|
-
[_.color]: 'red'
|
|
72
|
-
});
|
|
73
|
-
const node2 = new Node('node2', {
|
|
74
|
-
[_.color]: 'blue'
|
|
75
|
-
});
|
|
76
|
-
const edge = new Edge([node1, node2], {
|
|
77
|
-
[_.label]: 'Edge Label',
|
|
78
|
-
[_.color]: 'pink'
|
|
79
|
-
});
|
|
80
|
-
G.addSubgraph(A);
|
|
81
|
-
A.addNode(node1);
|
|
82
|
-
A.addNode(node2);
|
|
83
|
-
A.addEdge(edge);
|
|
84
|
-
const dot = toDot(G);
|
|
85
|
-
// digraph {
|
|
86
|
-
// subgraph "A" {
|
|
87
|
-
// "node1" [
|
|
88
|
-
// color = "red",
|
|
89
|
-
// ];
|
|
90
|
-
// "node2" [
|
|
91
|
-
// color = "blue",
|
|
92
|
-
// ];
|
|
93
|
-
// "node1" -> "node2" [
|
|
94
|
-
// label = "Edge Label",
|
|
95
|
-
// color = "pink",
|
|
96
|
-
// ];
|
|
97
|
-
// }
|
|
98
|
-
// }
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
<details>
|
|
102
|
-
<summary>高度な使い方</summary>
|
|
103
|
-
|
|
104
|
-
##### カスタム・クラス 🤖
|
|
105
|
-
|
|
106
|
-
クラスを継承することで独自の実装を加えることもできます。
|
|
107
|
-
|
|
108
|
-
```typescript
|
|
109
|
-
import { Digraph, Node, Edge, EdgeTargetTuple, attribute as _, toDot } from 'ts-graphviz';
|
|
110
|
-
|
|
111
|
-
class MyCustomDigraph extends Digraph {
|
|
112
|
-
constructor() {
|
|
113
|
-
super('G', {
|
|
114
|
-
[_.label]: 'This is Custom Digraph',
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
class MyCustomNode extends Node {
|
|
119
|
-
constructor(id: string) {
|
|
120
|
-
super(`node_${id}`, {
|
|
121
|
-
[_.label]: `This is Custom Node ${id}`,
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
class MyCustomEdge extends Edge {
|
|
127
|
-
constructor(targets: EdgeTargetTuple) {
|
|
128
|
-
super(targets, {
|
|
129
|
-
[_.label]: 'This is Custom Edge',
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
const digraph = new MyCustomDigraph();
|
|
135
|
-
const node1 = new MyCustomNode('A');
|
|
136
|
-
const node2 = new MyCustomNode('B');
|
|
137
|
-
const edge = new MyCustomEdge([node1, node2]);
|
|
138
|
-
digraph.addNode(node1);
|
|
139
|
-
digraph.addNode(node2);
|
|
140
|
-
digraph.addEdge(edge);
|
|
141
|
-
const dot = toDot(digraph);
|
|
142
|
-
// digraph "G" {
|
|
143
|
-
// label = "This is Custom Digraph";
|
|
144
|
-
// "node_A" [
|
|
145
|
-
// label = "This is Custom Node A";
|
|
146
|
-
// ];
|
|
147
|
-
// "node_B" [
|
|
148
|
-
// label = "This is Custom Node B";
|
|
149
|
-
// ];
|
|
150
|
-
// "node_A" -> "node_B" [
|
|
151
|
-
// label = "This is Custom Edge";
|
|
152
|
-
// ];
|
|
153
|
-
// }
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
##### Models Context API ( `with` メソッド) 🧅
|
|
157
|
-
|
|
158
|
-
あなたは _Models Context API_ をつかうことで、Graphの内部で生成されるオブジェクトもカスタムクラスにすることができます。
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
`GraphBaseModel` の実装である `Digraph`, `Graph`, `Subgraph` が持つ `with` メソッドは、 カスタムモデルを事前定義するために提供されています。
|
|
162
|
-
|
|
163
|
-
```typescript
|
|
164
|
-
const g = new Digraph();
|
|
165
|
-
g.with({
|
|
166
|
-
Node: MyCustomNode,
|
|
167
|
-
Edge: MyCustomEdge,
|
|
168
|
-
});
|
|
169
|
-
const a = g.createNode('A'); // MyCustomNode
|
|
170
|
-
const b = g.createNode('B'); // MyCustomNode
|
|
171
|
-
g.createEdge([a, b]); // MyCustomEdge
|
|
172
|
-
const dot = toDot(g);
|
|
173
|
-
// digraph {
|
|
174
|
-
// "node_A" [
|
|
175
|
-
// label = "This is Custom Node A";
|
|
176
|
-
// ];
|
|
177
|
-
// "node_B" [
|
|
178
|
-
// label = "This is Custom Node B";
|
|
179
|
-
// ];
|
|
180
|
-
// "node_A" -> "node_B" [
|
|
181
|
-
// label = "This is Custom Edge";
|
|
182
|
-
// ];
|
|
183
|
-
// }
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
##### `fromDot` 関数 ⏪
|
|
187
|
-
|
|
188
|
-
> この関数のステータスは  です。
|
|
189
|
-
|
|
190
|
-
このライブラリを使用するメインシナリオは `toDot` 関数を使用することにありますが、逆方向の変換もサポートしています。
|
|
191
|
-
|
|
192
|
-
**DOT** を **Model** に変換により、コードの一部をDOT言語で記述することができます。
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
```typescript
|
|
196
|
-
const G = fromDot(
|
|
197
|
-
`digraph {
|
|
198
|
-
node_A [
|
|
199
|
-
label = "This is a Label of Node A";
|
|
200
|
-
];
|
|
201
|
-
}`,
|
|
202
|
-
);
|
|
203
|
-
|
|
204
|
-
G.edge(['node_A', 'node_B']);
|
|
205
|
-
|
|
206
|
-
const dot = toDot(G)
|
|
207
|
-
// digraph {
|
|
208
|
-
// "node_A" [
|
|
209
|
-
// label = "This is a Label of Node A";
|
|
210
|
-
// ];
|
|
211
|
-
// "node_A" -> "node_B";
|
|
212
|
-
// }
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
</details>
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
#### 宣言的な API 😎
|
|
219
|
-
|
|
220
|
-
`Graph` や `Digraph` を作成する際に、より **DOT** 言語に近い記法を提供するために _Model Factory_ を使うことができます。
|
|
221
|
-
|
|
222
|
-
**Model** にも宣言的な API を用意しており、一貫して宣言的なパラダイムを選択することもできます。
|
|
223
|
-
|
|
224
|
-
```typescript
|
|
225
|
-
import { attribute as _, digraph, toDot } from 'ts-graphviz';
|
|
226
|
-
|
|
227
|
-
const G = digraph('G', (g) => {
|
|
228
|
-
const a = g.node('aa');
|
|
229
|
-
const b = g.node('bb');
|
|
230
|
-
const c = g.node('cc');
|
|
231
|
-
g.edge([a, b, c], {
|
|
232
|
-
[_.color]: 'red'
|
|
233
|
-
});
|
|
234
|
-
g.subgraph('A', (A) => {
|
|
235
|
-
const Aa = A.node('Aaa', {
|
|
236
|
-
[_.color]: 'pink'
|
|
237
|
-
});
|
|
238
|
-
|
|
239
|
-
const Ab = A.node('Abb', {
|
|
240
|
-
[_.color]: 'violet'
|
|
241
|
-
});
|
|
242
|
-
const Ac = A.node('Acc');
|
|
243
|
-
A.edge([Aa.port('a'), Ab, Ac, 'E'], {
|
|
244
|
-
[_.color]: 'red'
|
|
245
|
-
});
|
|
246
|
-
});
|
|
247
|
-
});
|
|
248
|
-
|
|
249
|
-
const dot = toDot(G);
|
|
250
|
-
// digraph "G" {
|
|
251
|
-
// "aa";
|
|
252
|
-
// "bb";
|
|
253
|
-
// "cc";
|
|
254
|
-
// subgraph "A" {
|
|
255
|
-
// "Aaa" [
|
|
256
|
-
// color = "pink",
|
|
257
|
-
// ];
|
|
258
|
-
// "Abb" [
|
|
259
|
-
// color = "violet",
|
|
260
|
-
// ];
|
|
261
|
-
// "Acc";
|
|
262
|
-
// "Aaa":"a" -> "Abb" -> "Acc" -> "E" [
|
|
263
|
-
// color = "red",
|
|
264
|
-
// ];
|
|
265
|
-
// }
|
|
266
|
-
// "aa" -> "bb" -> "cc" [
|
|
267
|
-
// color = "red",
|
|
268
|
-
// ];
|
|
269
|
-
// }
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
> **Note** もちろん、strictモードのグラフを作るAPIも提供しています。
|
|
273
|
-
>
|
|
274
|
-
> ```typescript
|
|
275
|
-
> import { strict, toDot } from 'ts-graphviz';
|
|
276
|
-
>
|
|
277
|
-
> const G = strict.graph(...);
|
|
278
|
-
> const dot = toDot(G);
|
|
279
|
-
> // strict graph {
|
|
280
|
-
> // }
|
|
281
|
-
> ```
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
<details>
|
|
285
|
-
<summary>高度な使い方</summary>
|
|
286
|
-
|
|
287
|
-
##### Models Context API ( `withContext` 関数 ) 💈
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
`withContext` 関数は、 _Model Factory_ 関数を返します。
|
|
291
|
-
|
|
292
|
-
この _Model Factory_ は、 `Digraph` や `Graph` など、 `RootGraphModel` をカスタムクラスに置き換える手段を提供します。
|
|
293
|
-
|
|
294
|
-
これのAPIにより、宣言的APIとカスタムクラスを統合する手段を提供します。
|
|
295
|
-
|
|
296
|
-
```typescript
|
|
297
|
-
const { digraph } = withContext({
|
|
298
|
-
Digraph: MyCustomDigraph,
|
|
299
|
-
Node: MyCustomNode,
|
|
300
|
-
Edge: MyCustomEdge,
|
|
301
|
-
});
|
|
302
|
-
|
|
303
|
-
const G = digraph((g) => {
|
|
304
|
-
const a = g.node('A'); // MyCustomNode
|
|
305
|
-
const b = g.node('B'); // MyCustomNode
|
|
306
|
-
g.edge([a, b]); // MyCustomEdge
|
|
307
|
-
});
|
|
308
|
-
const dot = toDot(g);
|
|
309
|
-
// digraph "G" {
|
|
310
|
-
// label = "This is Custom Digraph";
|
|
311
|
-
// "node_A" [
|
|
312
|
-
// label = "This is Custom Node A";
|
|
313
|
-
// ];
|
|
314
|
-
// "node_B" [
|
|
315
|
-
// label = "This is Custom Node B";
|
|
316
|
-
// ];
|
|
317
|
-
// "node_A" -> "node_B" [
|
|
318
|
-
// label = "This is Custom Edge";
|
|
319
|
-
// ];
|
|
320
|
-
// }
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
</details>
|
|
324
|
-
|
|
325
|
-
### `ts-graphviz/ast` モジュール 🔢
|
|
326
|
-
|
|
327
|
-
> このパッケージのステータスは  です。
|
|
328
|
-
|
|
329
|
-
高度な利用のためにASTを扱うためのAPIを提供しています。
|
|
330
|
-
|
|
331
|
-

|
|
332
|
-
|
|
333
|
-
状態遷移図で記載している通り、下記の関数を提供しています。
|
|
334
|
-
|
|
335
|
-
- **Model** から **AST** に変換する `fromModel` 関数
|
|
336
|
-
- **AST** から **Model** に変換する `toModel` 関数
|
|
337
|
-
- **AST** から **DOT** に変換する `stringify` 関数
|
|
338
|
-
- **DOT** から **AST** に変換する `parse` 関数
|
|
339
|
-
|
|
340
|
-
> **Note** 上記の図からわかるように、`ts-graphviz` パッケージで提供している `toDot` 関数は、 `fromModel` と `stringify` の合成関数です。また、`fromDot` 関数は、 `parse` と `toModel` の合成関数です。
|
|
341
|
-
|
|
342
|
-
詳しい利用方法は整備中です。
|
|
343
|
-
TypeScriptの型定義を参考にしてください。
|
|
344
|
-
|
|
345
|
-
<details>
|
|
346
|
-
<summary>parse 関数とAST</summary>
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
```typescript
|
|
350
|
-
import { parse } from 'ts-graphviz/ast';
|
|
351
|
-
|
|
352
|
-
const ast = parse(`
|
|
353
|
-
digraph example {
|
|
354
|
-
node1 [
|
|
355
|
-
label = "My Node",
|
|
356
|
-
]
|
|
357
|
-
}
|
|
358
|
-
`);
|
|
359
|
-
// {
|
|
360
|
-
// type: 'Dot',
|
|
361
|
-
// location: {
|
|
362
|
-
// start: { offset: 3, line: 2, column: 3 },
|
|
363
|
-
// end: { offset: 68, line: 7, column: 1 }
|
|
364
|
-
// },
|
|
365
|
-
// children: [
|
|
366
|
-
// {
|
|
367
|
-
// id: {
|
|
368
|
-
// value: 'example',
|
|
369
|
-
// quoted: false,
|
|
370
|
-
// type: 'Literal',
|
|
371
|
-
// location: {
|
|
372
|
-
// start: { offset: 11, line: 2, column: 11 },
|
|
373
|
-
// end: { offset: 18, line: 2, column: 18 }
|
|
374
|
-
// },
|
|
375
|
-
// children: []
|
|
376
|
-
// },
|
|
377
|
-
// directed: true,
|
|
378
|
-
// strict: false,
|
|
379
|
-
// type: 'Graph',
|
|
380
|
-
// location: {
|
|
381
|
-
// start: { offset: 3, line: 2, column: 3 },
|
|
382
|
-
// end: { offset: 67, line: 6, column: 4 }
|
|
383
|
-
// },
|
|
384
|
-
// children: [
|
|
385
|
-
// {
|
|
386
|
-
// id: {
|
|
387
|
-
// value: 'node1',
|
|
388
|
-
// quoted: false,
|
|
389
|
-
// type: 'Literal',
|
|
390
|
-
// location: {
|
|
391
|
-
// start: { offset: 25, line: 3, column: 5 },
|
|
392
|
-
// end: { offset: 30, line: 3, column: 10 }
|
|
393
|
-
// },
|
|
394
|
-
// children: []
|
|
395
|
-
// },
|
|
396
|
-
// type: 'Node',
|
|
397
|
-
// location: {
|
|
398
|
-
// start: { offset: 25, line: 3, column: 5 },
|
|
399
|
-
// end: { offset: 63, line: 5, column: 6 }
|
|
400
|
-
// },
|
|
401
|
-
// children: [
|
|
402
|
-
// {
|
|
403
|
-
// key: {
|
|
404
|
-
// value: 'label',
|
|
405
|
-
// quoted: false,
|
|
406
|
-
// type: 'Literal',
|
|
407
|
-
// location: {
|
|
408
|
-
// start: { offset: 39, line: 4, column: 7 },
|
|
409
|
-
// end: { offset: 44, line: 4, column: 12 }
|
|
410
|
-
// },
|
|
411
|
-
// children: []
|
|
412
|
-
// },
|
|
413
|
-
// value: {
|
|
414
|
-
// value: 'My Node',
|
|
415
|
-
// quoted: true,
|
|
416
|
-
// type: 'Literal',
|
|
417
|
-
// location: {
|
|
418
|
-
// start: { offset: 47, line: 4, column: 15 },
|
|
419
|
-
// end: { offset: 56, line: 4, column: 24 }
|
|
420
|
-
// },
|
|
421
|
-
// children: []
|
|
422
|
-
// },
|
|
423
|
-
// location: {
|
|
424
|
-
// start: { offset: 39, line: 4, column: 7 },
|
|
425
|
-
// end: { offset: 57, line: 4, column: 25 }
|
|
426
|
-
// },
|
|
427
|
-
// type: 'Attribute',
|
|
428
|
-
// children: []
|
|
429
|
-
// }
|
|
430
|
-
// ]
|
|
431
|
-
// }
|
|
432
|
-
// ]
|
|
433
|
-
// }
|
|
434
|
-
// ]
|
|
435
|
-
// }
|
|
436
|
-
```
|
|
437
|
-
|
|
438
|
-
</details>
|
|
439
|
-
|
|
440
|
-
## 関連プロジェクト 💫
|
|
441
|
-
|
|
442
|
-
関連するプロジェクトは [**ts-graphviz** GitHub Organization](https://github.com/ts-graphviz) で確認することができます。
|
|
443
|
-
|
|
444
|
-
TypeScript/JavaScript エコシステムで Graphviz との結合度を高め、より使いやすくすることを目的に様々な OSS を提供しています。
|
|
445
|
-
|
|
446
|
-
## コントリビュータ 👥
|
|
447
|
-
|
|
448
|
-
この素晴らしい人たち([emoji key](https://allcontributors.org/docs/en/emoji-key))に感謝します。
|
|
449
|
-
|
|
450
|
-
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
|
451
|
-
<!-- prettier-ignore-start -->
|
|
452
|
-
<!-- markdownlint-disable -->
|
|
453
|
-
<table>
|
|
454
|
-
<tbody>
|
|
455
|
-
<tr>
|
|
456
|
-
<td align="center"><a href="http://blog.kamiazya.tech/"><img src="https://avatars0.githubusercontent.com/u/35218186?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Yuki Yamazaki</b></sub></a><br /><a href="https://github.com/ts-graphviz/ts-graphviz/commits?author=kamiazya" title="Code">💻</a> <a href="https://github.com/ts-graphviz/ts-graphviz/commits?author=kamiazya" title="Tests">⚠️</a> <a href="https://github.com/ts-graphviz/ts-graphviz/commits?author=kamiazya" title="Documentation">📖</a> <a href="#ideas-kamiazya" title="Ideas, Planning, & Feedback">🤔</a></td>
|
|
457
|
-
<td align="center"><a href="https://laysent.com"><img src="https://avatars2.githubusercontent.com/u/1191606?v=4?s=100" width="100px;" alt=""/><br /><sub><b>LaySent</b></sub></a><br /><a href="https://github.com/ts-graphviz/ts-graphviz/issues?q=author%3Alaysent" title="Bug reports">🐛</a> <a href="https://github.com/ts-graphviz/ts-graphviz/commits?author=laysent" title="Tests">⚠️</a></td>
|
|
458
|
-
<td align="center"><a href="https://github.com/elasticdotventures"><img src="https://avatars0.githubusercontent.com/u/35611074?v=4?s=100" width="100px;" alt=""/><br /><sub><b>elasticdotventures</b></sub></a><br /><a href="https://github.com/ts-graphviz/ts-graphviz/commits?author=elasticdotventures" title="Documentation">📖</a></td>
|
|
459
|
-
<td align="center"><a href="https://github.com/ChristianMurphy"><img src="https://avatars.githubusercontent.com/u/3107513?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Christian Murphy</b></sub></a><br /><a href="https://github.com/ts-graphviz/ts-graphviz/commits?author=ChristianMurphy" title="Code">💻</a> <a href="#ideas-ChristianMurphy" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/ts-graphviz/ts-graphviz/commits?author=ChristianMurphy" title="Documentation">📖</a></td>
|
|
460
|
-
</tr>
|
|
461
|
-
</tobdy>
|
|
462
|
-
</table>
|
|
463
|
-
|
|
464
|
-
<!-- markdownlint-restore -->
|
|
465
|
-
<!-- prettier-ignore-end -->
|
|
466
|
-
|
|
467
|
-
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
|
468
|
-
|
|
469
|
-
このプロジェクトは、[all-contributors](https://github.com/all-contributors/all-contributors) の仕様に準拠しています。
|
|
470
|
-
|
|
471
|
-
どのような種類の貢献でも歓迎します。
|
|
472
|
-
|
|
473
|
-
## 貢献の方法 💪
|
|
474
|
-
|
|
475
|
-
一番簡単な貢献の方法は、ライブラリを使っていただくことと、 [リポジトリ](https://github.com/ts-graphviz/ts-graphviz) にスターをつけることです。
|
|
476
|
-
|
|
477
|
-
### 質問 💭
|
|
478
|
-
|
|
479
|
-
[GitHub Discussions](https://github.com/ts-graphviz/ts-graphviz/discussions) で気軽に質問してください。
|
|
480
|
-
|
|
481
|
-
### バグの報告/追加機能の要望 💡
|
|
482
|
-
|
|
483
|
-
[GitHub Issues](https://github.com/ts-graphviz/ts-graphviz/issues/new/choose) から登録してください。
|
|
484
|
-
|
|
485
|
-
### 機能開発/バグ修正 🧑💻
|
|
486
|
-
|
|
487
|
-
[CONTRIBUTING.md](https://github.com/ts-graphviz/ts-graphviz/blob/main/CONTRIBUTING.md) を参照してください。
|
|
488
|
-
|
|
489
|
-
### 金銭的支援 💸
|
|
490
|
-
|
|
491
|
-
コアメンバーの [kamiazya](https://github.com/sponsors/kamiazya) を支援してください。
|
|
492
|
-
|
|
493
|
-
> **Note** たった1ドルでも、私には十分な開発のモチベーションになります 😊
|
|
494
|
-
|
|
495
|
-
## ライセンス ⚖️
|
|
496
|
-
|
|
497
|
-
本ソフトウェアはMITライセンスのもとで公開されています。
|
|
498
|
-
[LICENSE](https://github.com/ts-graphviz/ts-graphviz/blob/main/LICENSE)を参照してください。
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
-
|
|
3
|
-
exports[`class base 1`] = `
|
|
4
|
-
digraph {
|
|
5
|
-
subgraph "A" {
|
|
6
|
-
"node1" [
|
|
7
|
-
color = "red";
|
|
8
|
-
];
|
|
9
|
-
"node2" [
|
|
10
|
-
color = "blue";
|
|
11
|
-
];
|
|
12
|
-
"node1" -> "node2" [
|
|
13
|
-
label = "Edge Label";
|
|
14
|
-
color = "pink";
|
|
15
|
-
];
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
`;
|