Here's a graph of CKeditor plugin dependencies. The link plugin requires the fakeobjects plugin, etc.
You'll probably need to right-click and View Image to see the whole thing.

To produce a graph, install graphviz, fire up an editor in Firefox, and run this in Firebug's console:
Copy and paste that into a terminal and you should find the graph in /tmp/graph.png
Hope this helps someone.
You'll probably need to right-click and View Image to see the whole thing.

To produce a graph, install graphviz, fire up an editor in Firefox, and run this in Firebug's console:
str = "echo 'digraph G {\n";
for(var name in CKEDITOR.plugins.registered) {
plugin = CKEDITOR.plugins.registered[name];
for(var i in plugin.requires) {
req = plugin.requires[i];
str += (name + " -> " + req + ";\n");
}
}
str += "}' | dot -Tpng > /tmp/graph.png"Copy and paste that into a terminal and you should find the graph in /tmp/graph.png
Hope this helps someone.

Re: Graphing plugin dependencies
I'm surprised link, table, etc don't depend on dialog. Is that a missing dependency? Or is it safe to just assume that dialog is always loaded?
Re: Graphing plugin dependencies
As you show, not all the plugins are stating their full dependencies, but there's also situations like the contextMenu that it's used by other plugins if it's available: those plugins doesn't force to load the contextMenu, but if it's available then they add their entries there.