It is required to do npm install in the following plugin directories for Node to be able to run:
This took some detective work, and would not be obvious to someone just trying to install the project for the first time. We need to make this automatic.
We have server code in the client directory tree. This is confusing.
Also, linkmap crashed for me, and I did a fix that I will do a pull request for shortly.
Hmm. I think we're moving to a model where the plugins are managed independently from the core. This counts as a shaky first step. Do you have a suggestion as to how it should be handled?
Well, as it stands, the core crashes if the server plugins are not installed. I would either put server code in the server/plugins dir or take the plugins out of the client dir for clarity's sake.
Perhaps we could have an install script that insures that npm install is run for client, server, and the plug-ins?
We have code that runs on both the client and the server.
Indeed, so maybe just take the plugins up one dir level?
Yes, it makes sense for plugins to be at the same level as client & server directories. There are probably other options that we will want to consider. For example, a deployment configuration could be different than development. Also, we should optimize npm based deployment however that works.
I've added a try-catch around the plugin server start code. This gets the server going and reports reasonable diagnostics. Client side of plugins are tolerant of server-side failures.
4dd298b (continue serving when plugins fail to start)
Added an update to issue #345, since Ward's try-catch implementation -- still some errors however.
We might want to eventually come up with a quick way to "install" every plugin to make it easier to get a full site up and running. For the moment we're happy to have site operators know what they are serving. So I'll close this issue for now.