ember-trace
Advanced tools
Comparing version 0.0.5 to 0.0.6
@@ -16,7 +16,10 @@ const { denodeify } = require('rsvp'); | ||
availableOptions: [ | ||
{ name: 'output', type: 'Path', aliases: ['o'] } | ||
{ name: 'output', type: 'Path', aliases: ['o'] }, | ||
{ name: 'filter', type: String, aliases: ['f'], default: '.*' } | ||
], | ||
run({ output }, [entrypoint]) { | ||
let tracer = new Tracer(); | ||
run({ output, filter }, [entrypoint]) { | ||
filter = new RegExp(filter); | ||
let tracer = new Tracer({ filter }); | ||
let [,root] = entrypoint.match(/^(.*?\/?app\/)(.+)$/); | ||
@@ -23,0 +26,0 @@ |
@@ -30,4 +30,4 @@ class BaseNode { | ||
generateEdges(graph) { | ||
this.children.forEach(child => child.generateEdges(graph)); | ||
generateEdges(...args) { | ||
this.children.forEach(child => child.generateEdges(...args)); | ||
} | ||
@@ -34,0 +34,0 @@ |
@@ -8,4 +8,4 @@ const BaseNode = require('./base'); | ||
generateEdges() { | ||
super.generateEdges(this); | ||
generateEdges(...args) { | ||
super.generateEdges(...args); | ||
} | ||
@@ -12,0 +12,0 @@ |
@@ -37,3 +37,3 @@ const { print } = require('@glimmer/syntax'); | ||
generateEdges(graph) { | ||
generateEdges(graph, filter = /.*/) { | ||
let generate = (sourceKey, targetKey) => { | ||
@@ -75,2 +75,5 @@ let [sourceRootKey] = sourceKey.split('.'); | ||
if (!filter.test(sourceKey)) { return; } | ||
if (!filter.test(targetKey)) { return; } | ||
generate(sourceKey, targetKey); | ||
@@ -103,6 +106,9 @@ | ||
if (!filter.test(sourceKey)) { return; } | ||
if (!filter.test(targetKey)) { return; } | ||
generate(sourceKey, targetKey); | ||
}); | ||
super.generateEdges(graph); | ||
super.generateEdges(graph, filter); | ||
} | ||
@@ -109,0 +115,0 @@ |
@@ -9,3 +9,4 @@ const pretty = require('./utils/pretty'); | ||
class Tracer { | ||
constructor() { | ||
constructor(options = {}) { | ||
this.options = options; | ||
this.modules = {}; | ||
@@ -63,3 +64,6 @@ } | ||
let graph = new GraphNode(); | ||
let { filter } = this.options; | ||
console.error('Filter:', filter); | ||
moduleNames | ||
@@ -71,3 +75,3 @@ .map(name => this.modules[name]) | ||
graph.expand(this.modules); | ||
graph.generateEdges(); | ||
graph.generateEdges(graph, filter); | ||
@@ -74,0 +78,0 @@ return pretty(graph.toDot()) + '\n'; |
{ | ||
"name": "ember-trace", | ||
"version": "0.0.5", | ||
"version": "0.0.6", | ||
"description": "Generate Graphviz dataflow graphs for your Ember app", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
269240
417