CommonJS
========
From CommonJS Spec Wiki
Jump to: [navigation](#mw-head), [search](#p-search)
Welcome to [CommonJS](http://commonjs.org), a group with a goal of building up the JavaScript ecosystem for web servers, desktop and command line apps and in the browser.
This wiki is a starting point for collecting up ideas, any draft API suggestions for the [CommonJS group](https://groups.google.com/group/commonjs). Discussions occur on that mailing list and [on IRC (#commonjs on freenode)](http://log.serverjs.org/mochabot/join).
Contents
--------
\[[hide](#)\]
* [1 Meta](#Meta)
* [2 Current Efforts](#Current_Efforts)
* [3 Future Efforts](#Future_Efforts)
* [3.1 Low-level APIs](#Low-level_APIs)
* [3.2 High-level APIs](#High-level_APIs)
* [4 Implementations](#Implementations)
* [4.1 In development](#In_development)
* [5 Tests](#Tests)
* [6 Further Reading](#Further_Reading)
* [7 Wiki](#Wiki)
Meta
----
* [Introduction](/wiki/Introduction "Introduction")
* [FAQ](/wiki/FAQ "FAQ")
* [Process](/wiki/Process "Process")
* [Target Platforms](/wiki/Target_Platforms "Target Platforms")
* [Coding Standards](/wiki/Coding_Standards "Coding Standards")
Current Efforts
---------------
This is a list of issues currently being discussed / standardized. They come from the "Low level" department, as we need to have solid basics prior to building a tower.
1. [Uniform Baseline / Globals](/wiki/Global "Global") (discussion)
2. [Modules](/wiki/Modules "Modules") ([1.1.1](/wiki/Modules/1.1.1 "Modules/1.1.1"))
1. `binary`: [Binary](/wiki/Binary "Binary") Data Objects (byte arrays and/or strings) (proposals, discussion, early implementations)
2. `encodings`: [Encodings](/wiki/Encodings "Encodings") and character sets (proposals, discussion, early implementations)
3. `io`: [I/O Streams](/wiki/IO "IO") (proposals, discussion)
4. `fs`, `fs-base`: [Filesystem](/wiki/Filesystem "Filesystem") (proposals, discussion, early implementations)
5. `system`: [System](/wiki/System "System") Interface (stdin, stdout, stderr, &c) ([1.0](/wiki/System/1.0 "System/1.0"), amendments proposed)
6. `assert`, `test`: [Unit Testing](/wiki/Unit_Testing "Unit Testing") ([1.0](/wiki/Unit_Testing/1.0 "Unit Testing/1.0"), amendment proposals pending)
7. `sockets`: [Socket I/O](/wiki/Sockets "Sockets") TCP/IP sockets (early proposals)
8. `event-queue`: [Reactor](/wiki/Reactor "Reactor") Reactor/Event Queue (early proposals)
9. `worker`: [Worker](/wiki/Worker "Worker") Worker (concurrent shared nothing process/thread) (proposal)
10. `console`: [console](/wiki/Console "Console") (proposal)
3. [Packages](/wiki/Packages "Packages") ([1.0](/wiki/Packages/1.0 "Packages/1.0"))
4. [Package Mappings](/wiki/Packages/Mappings/C "Packages/Mappings/C") (proposal)
5. [Web Server Gateway Interface (JSGI)](/wiki/JSGI "JSGI") (proposals, discussion, early implementations)
6. [Promises](/wiki/Promises "Promises") (proposal)
* [Pending Business / Calls for Action / Status Report](/wiki/Status "Status")
Future Efforts
--------------
### Low-level APIs
This is the collection of APIs that we'd like to see behaving consistently across JavaScript interpreters.
* [Language and Runtime Services](/wiki/Runtime_Services "Runtime Services")
* [Logging](/wiki/Logging "Logging")
* [Relational database interface](/wiki/RDBMS "RDBMS")
* ResultSets (collections of data maybe from RDBMS, maybe from other sources)
* [Concurrency](/wiki/Concurrency "Concurrency")
* [String / ByteString I/O](/index.php?title=String_IO&action=edit&redlink=1 "String IO (page does not exist)")
* [C unified API](/wiki/C_API "C API") to our Target Platforms
* [Subprocesses](/wiki/Subprocess "Subprocess") (popen)
### High-level APIs
This is the collection of APIs that implement common functionality on top of the low-level API.
* [HTTP client](/wiki/HTTP_Client "HTTP Client") APIs
* [Email](/wiki/Email "Email")
* [Jabber (XMPP)](/wiki/XMPP "XMPP")
* [Internationalization](/wiki/I18n "I18n")
* [Promise Manager](/wiki/Promise_Manager "Promise Manager")
* [Command line processing](/wiki/Command_Line "Command Line")
Implementations
---------------
[Implementations](/wiki/Implementations "Implementations")
Standards
Proposals and standards in development
### In development
* mob is implementing SecurableModules in Ejscript [http://www.ejscript.org](http://www.ejscript.org)
* pmuellr posted a sample loader for SecurableModules: [http://wiki.github.com/pmuellr/modjewel](https://wiki.github.com/pmuellr/modjewel)
* atul varma has a SecurableModule implementation for Python/Spidermonkey: [http://hg.toolness.com/pydertron/raw-file/tip/docs.html](http://hg.toolness.com/pydertron/raw-file/tip/docs.html)
* [Alexandre](/wiki/User:Alexandre.Morgaut "User:Alexandre.Morgaut") implements several commonJS standards in Wakanda (SquirrelFish) [http://www.wakandasoft.com](http://www.wakandasoft.com)
* Titanium is in the process of adding support for CommonJS. [http://www.appcelerator.com](http://www.appcelerator.com)
Tests
-----
* [CommonJS tests](https://github.com/280north/narwhal/tree/master/tests/commonjs/) compatible with [this test framework](https://github.com/280north/narwhal/tree/master/lib/test/).
Further Reading
---------------
* [Existing APIs](/wiki/Existing_APIs "Existing APIs")
* [Infrastructure](/wiki/Infrastructure "Infrastructure")
* [High Level Tools](/wiki/High_Level_Tools "High Level Tools")
* [Random Links](/wiki/Random_Links "Random Links")
Wiki
----
* [Dumps](/wiki/Dumps "Dumps")
Retrieved from "[https://wiki.commonjs.org/index.php?title=CommonJS&oldid=5822](https://wiki.commonjs.org/index.php?title=CommonJS&oldid=5822)"
Navigation menu
---------------
### Personal tools
* [Log in](/index.php?title=Special:UserLogin&returnto=CommonJS "You are encouraged to log in; however, it is not mandatory [alt-shift-o]")
* [Request account](/wiki/Special:RequestAccount)
### Namespaces
* [Page](/wiki/CommonJS "View the content page [alt-shift-c]")
* [Discussion](/index.php?title=Talk:CommonJS&action=edit&redlink=1 "Discussion about the content page [alt-shift-t]")
### Variants[](#)
### Views
* [Read](/wiki/CommonJS)
* [View source](/index.php?title=CommonJS&action=edit "This page is protected.
You can view its source [alt-shift-e]")
* [View history](/index.php?title=CommonJS&action=history "Past revisions of this page [alt-shift-h]")
### More[](#)
### Search
[](/wiki/CommonJS "Visit the main page")
### Navigation
* [CommonJS](/wiki/CommonJS "Visit the main page [alt-shift-z]")
* [Implementations](/wiki/Implementations)
* [FAQ](/wiki/FAQ)
* [Mailing List](https://groups.google.com/group/commonjs)
* [IRC](irc://irc.freenode.net/commonjs)
* [IRC Via Mochabot](http://log.serverjs.org/mochabot/join)
* [IRC Logs](http://log.server-side-javascript.org/mochabot/)
* [CommonJS.org](http://commonjs.org/)
* [Recent changes](/wiki/Special:RecentChanges "A list of recent changes in the wiki [alt-shift-r]")
* [Random page](/wiki/Special:Random "Load a random page [alt-shift-x]")
### Tools
* [What links here](/wiki/Special:WhatLinksHere/CommonJS "A list of all wiki pages that link here [alt-shift-j]")
* [Related changes](/wiki/Special:RecentChangesLinked/CommonJS "Recent changes in pages linked from this page [alt-shift-k]")
* [Special pages](/wiki/Special:SpecialPages "A list of all special pages [alt-shift-q]")
* [Printable version](/index.php?title=CommonJS&printable=yes "Printable version of this page [alt-shift-p]")
* [Permanent link](/index.php?title=CommonJS&oldid=5822 "Permanent link to this revision of the page")
* [Page information](/index.php?title=CommonJS&action=info)
* [Browse properties](/wiki/Special:Browse/CommonJS)
* This page was last modified on 9 October 2011, at 19:22.
* This page has been accessed 835,332 times.
* [Privacy policy](/wiki/CommonJS:Privacy_policy "CommonJS:Privacy policy")
* [About CommonJS Spec Wiki](/wiki/CommonJS:About "CommonJS:About")
* [Disclaimers](/wiki/CommonJS:General_disclaimer "CommonJS:General disclaimer")
* [](//www.mediawiki.org/)[](https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki)