CommonJS는 웹 브라우저 밖의 자바스크립트를 위한 모듈 생태계의 규칙을 설립하기 위한 프로젝트이다.
이 프로젝트는 모질라의 엔지니어 Kevin Dangoor에 의해 2009년 1월 시작되었으며 처음 이름은 ServerJS였다.[1] 2009년 8월, 이 프로젝트의 이름은 API의 더 넓은 적용 가능성을 보여주기 위해 CommonJS로 변경되었다.[2] 사양은 개방된 프로세스로 만들어져 승인되어 있다. 사양은 여러 구현체에 의해 완료된 이후에만 최종(final)으로 간주된다.[3] CommonJS는 ECMA스크립트를 작업하는 Ecma 인터내셔널 그룹 TC39와 연계하지 않고 있으나 TC39의 일부 구성원들은 이 프로젝트에 참여하고 있다.[4]
2013년 5월, Node.js의 패키지 관리자 npm의 개발자 Isaac Z. Schlueter는 CommonJS가 Node.js에 의해 퇴색되었으며 핵심 Node.js 개발자들에 의해 사용이 회피되고 있다고 언급하였다.[5]
사양 목록은 다음을 포함한다:[6]