CommonJS
# CommonJS

CommonJS é um projeto com o objetivo de especificar um ecossistema para JavaScript do outro lado do navegador (no lado do servidor, por exemplo um server-side ou então para aplicações desktop nativas). O projeto foi iniciado por Kevin Dangoor em Janeiro de 2009 e foi inicialmente chamado de ServerJS.
Em agosto de 2009, o projeto foi renomeado para CommonJS para demonstrar a ampla aplicabilidade da especificação proposta, uma API. A especificação foi criada com uma proposta Open Source e foi votada em um processo de mailinglist. A especificação é somente considerada finalizada depois de ter sido implementada por diversas implementações da CommonsJS. O projeto CommonJS não está afiliado com o grupo TC39 Ecma International, que vem trabalhando na especificação do ECMAScript, mas alguns membros do TC39 participam deste projeto.

## Especificação
### Atual

* Modules/1.0 (Superseded by Modules/1.1)
* Modules/1.1
* Modules/1.1.1
* Packages/1.0
* Promises/B
* Promises/C
* System/1.0

### Propostas

* Binary/B
* Binary/F
* Console
* Encodings/A
* Filesystem/A
* Filesystem/A/0
* Modules/Async/A
* Modules/Transport/B
* Packages/1.1
* Packages/Mappings
* Unit Testing/1.0

## Implementação do CommonJS

* Akshell
* CouchDB
* Flusspferd
* GPSEE
* Joyent Smart Platform
* Narwhal (JavaScript platform)
* node.js
* Persevere
* RingoJS
* SproutCore
* v8cgi
* MongoDB
* JSBuild
* XULJet
* PINF JavaScript Loader