🏳️CommonJS Spec Wiki

Website faviconwiki.commonjs.org

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)