Управление зависимостями и инструмент для построения JavaScript

У меня много JSsnippets and файлы, используемые несколькими проектами. Я должен либо скопировать их в один файл для каждого проекта, либо использовать их как отдельные файлы на cdn. Оба плохие идеи.

Есть ли какой-нибудь инструмент управления зависимостями и сборки, такой как Maven для JavaScript? В идеале для этого потребуется набор js-зависимостей и создание единого js-файла, который можно обслуживать на cdn.

Я могу написать сценарий для этого. Но я ищу, чтобы найти что-нибудь сравнимое с Maven для JS.

Обновление 2014: на основе ответов здесь и моих исследований следующие наиболее популярные инструменты:

Бауэр, NPM, RequireJS, Browserify, Webpack, Grunt, Gulp

Ответы на вопрос(3)

Ваш ответ на вопрос