bevry/progressbar — pull request #2 by RobLoach (2013-11-20 20:44:46+00:00)
Title: Match filename to the class name

I've been thinking about this for a while and would love your thoughts on it. There are many systems that define a bunch of classes in the same file:

* [feedr.coffee](https://github.com/bevry/feedr/blob/master/src/lib/feedr.coffee)
* [base.coffee](https://github.com/bevry/docpad/blob/master/src/lib/base.coffee)
* [joe.coffee](http://github.com/bevry/joe/blob/master/src/lib/joe.coffee)
* etc

It could clean up the source code and dependencies if we:

1. Split out each class into their own `[classname].coffee` file
2. Introduced a `src/index.coffee` file to build the full package `module.exports`
3. Switch the `package.json`'s `main` directive to just `./out`

The result is each file name matching the class that it defines, and a single `index.coffee` outputting the structure of the package's `require()` structure. In the case of progress bar, we get:

```
index.coffee
lib/ProgressBar.coffee
```