Использую Грунт для N проектов, но папка node_modules у меня одна (там пара дестяков тысяч файлов), она лежит просто на диске Д, а все проекты просто ссылаются на эту папку (делаю junction утилиткой HardLinkShellExt — она создает ссылки на папки).
Тобишь, на диске Д есть папка node_modules с кучей модулей и десятками тысячами файлов, и в каждом проекте есть папка с названием node_modules, но она пустая и вообще не папка, а ссылка на ту главную папку.
Единственное, у меня все Грунт-модули всегда одинаковых версий в конфиге package.json — нет такого, что в одном проекте мне нужен некий Грунт-модуль одной версии, а в другом проекте этот же модуль мне нужен другой версии.