Skip to content

Commit c45fbe9

Browse files
authored
Merge pull request SolidOS#294 from solid/dependency-map
Dependency map - rough SVG chart of dependencies between modules
2 parents c13e407 + 2fbe6fd commit c45fbe9

7 files changed

Lines changed: 1246 additions & 3 deletions

File tree

dependencies/InternalDependencies.svg

Lines changed: 1195 additions & 0 deletions
Loading

dependencies/Makefile

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Make dependency diagram of js functions
2+
# https://graphviz.readthedocs.io/en/stable/manual.html
3+
# https://www.graphviz.org/pdf/dotguide.pdf
4+
5+
# Where to find source files
6+
S=../src
7+
# Where to put files?
8+
D=.
9+
10+
InternalDependencies.svg: $D/dependencies.dot
11+
dot -Tsvg -oInternalDependencies.svg $D/dependencies.dot
12+
$D/dependencies.dot : $D/all.ttl ttl2dot.sed
13+
sed -f ttl2dot.sed < $< > $@
14+
$D/all.ttl : $D/imports.ttl $D/requires.ttl
15+
cat $D/imports.ttl $D/requires.ttl > $@
16+
$D/imports.ttl : $D/imports.txt
17+
sed -e 's/^\([^:]*\):.*from .\(.*\)./<\1> :dependsOn <\2>./' < $D/imports.txt > $@
18+
$D/requires.ttl : convert-dependency.sed $D/requires.txt
19+
sed -f convert-dependency.sed < $D/requires.txt > $@
20+
$D/imports.txt : $D/source-file-list.txt
21+
cat $D/source-file-list.txt | xargs grep "import.*from " > $D/imports.txt
22+
$D/requires.txt : $D/source-file-list.txt
23+
cat $D/source-file-list.txt | xargs grep "require(" > $D/requires.txt
24+
# $D/imports-list.txt : $D/
25+
# grep -e "^import.*from " > $@
26+
$D/source-file-list.txt :
27+
find $S -name "*.js" > $@
28+
29+
clean:
30+
rm imports.* requires.* source-file-list.txt dependencies.dot
31+
# ends
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# A comment // deleted the whole line
2+
s?^.*//.*$??g
3+
# Strip path to filename
4+
s?../src/??g
5+
# Convert syntax to turtle
6+
s/^\([^:]*\):.*require(.\(.*\).).*/<\1> :dependsOn <\2>./

dependencies/ttl2dot.sed

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
1i\
2+
digraph InternalDependencies {
3+
$a\
4+
}
5+
s?<[^<]*/\([a-zA-Z_\.0-9-]*\)>?<\1>?g
6+
s/\.$/;/g
7+
s/<//g
8+
s/>//g
9+
s/:dependsOn/ -> /g
10+
s/\.js//g
11+
s/\.ts//g
12+
s/\([a-zA-Z_\.0-9-]\)-\([a-zA-Z_\.0-9-]\)/\1_\2/g
13+
/ ;$/d
14+
# ends

src/folders.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import * as debug from './debug'
77
const UI = {
88
icons: require('./iconBase'),
99
ns: require('./ns'),
10-
pad: require('./'),
1110
rdf: require('rdflib'),
1211
store: require('./store'),
1312
widgets: require('./widgets'),

src/matrix.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
var UI = {
2424
icons: require('./iconBase'),
2525
ns: require('./ns'),
26-
pad: require('./'),
2726
rdf: require('rdflib'),
2827
store: require('./store'),
2928
widgets: require('./widgets')

src/messageArea.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ var UI = {
44
authn: require('./authn/authn'),
55
icons: require('./iconBase'),
66
ns: require('./ns'),
7-
pad: require('./'),
87
rdf: require('rdflib'),
98
store: require('./store'),
109
style: require('./style'),

0 commit comments

Comments
 (0)