theintern/intern — pull request #42 by bitpshr (2013-05-28 13:29:43+00:00)
Title: No more submodules + npm install updates

This PR takes care of:

1. removing all submodules and instead pulling in all dependencies via NPM
2. small adjustments so that Intern can be installed as an Node module to other projects more easily

-------

We need to make a decision about what to set the baseUrl to on `client.*` and `runner.js` when Intern is installed as a Node module of another project. I thought more about this over the weekend and also played with different "default" package structures for various types of node projects. There are a few options we have if Intern is a installed as a node module:

1. Do nothing. Node users would need to manually adjust their config path to ascend out of `node_modules`
2. Adjust the baseUrl to be relative to the root of the project, one dir up from `node_modules`
3. Adjust the baseUrl to be relative to some other directory

I think our best option is # 2, making the baseUrl relative to the root of the project only if Intern is installed as a node module. To me, this seems agnostic, and works nicely with most typical node module file structures. Take the following typical example:

```
myProject/
lib/
...
tests/
...
node_modules/
intern/

```

By adjusting the baseUrl to `myProject/` in this case, I can reference my configuration file when kicking off test runs simply with `config=tests/someconfigfile`. This seems intuitive, and much cleaner than `config=../../tets/some/config`.

**Most importantly**, If we do nothing, I think the number of users who will correctly assume the baseUrl is relative to `node_modules` will be substantially less than those that assume it is relative to the root of their project.