From Wikipedia, the free encyclopedia
Jump to: navigation, search

CommonJS is a project with the goal of specifying an ecosystem for JavaScript outside the browser (for example, on the server or for native desktop applications). Another server-side JavaScript implementation, Node.js, has developed a module ecosystem overlapping that of CommonJS, and eventually rendering it as a second-class alternative.[1]


The project was started by Mozilla engineer, Kevin Dangoor, in January 2009 and initially named ServerJS.[2]

In August 2009, the project was renamed CommonJS to show the broader applicability of the APIs.[3] Specifications are created and approved in an open process. A specification is only considered final after it has been finished by multiple implementations.[4] CommonJS is not affiliated with the Ecma International group TC39 working on ECMAScript, but some members of TC39 participate in the project.[5]

In May 2013, Isaac Z. Schlueter, the author of npm, the package manager for Node.js, made a statement to the effect of CommonJS being obsoleted by Node.js, and dispreferred by the core Node.js developers.[1]


The list of specifications includes:[6]


  • 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


  • 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


See also[edit]


External links[edit]