npm 2.0
npm 2.0 увидел свет, и объявление об его выходе содержит множество деталей об исправлениях и о развитии процесса выпуска проекта. Одно из главных изменений касается
run-script
, данная команда теперь способна принимать аргументы:Вnpm@2.0.0
, Ben изменилnpm run-script
таким образом, что-бы дать вам возможность передавать аргументы в скрипт. Это критическое изменение. Это так просто. Думайте о npm 2 как о шаге на пути прямо к npm с semver. (Дальше больше. npm 3 выйдет еще до конца года.)
Блог npm так же имеет очерк по поводу установок multi-stage:
Установки multi-stage затронут и улучшат все действия которые предпринимает npm в связи с зависимостями и изменением вашейnode_modules
папки. Это коснетсяinstall
,uninstall
,dedupe
,shrinkwrap
и конечно же зависимостей (включаяoptionalDependencies
,peerDependencies
,bundledDependencies
иdevDependencies
).
Этот очерк упоминает что npm должен скоро обзавестись индикатором прогресса и изменениями которые придвинут его ближе к поддержке транзакционных установок.
nvm для Windows
Видимо множество менеджеров версий Node под Windows склонны использовать batch-файлы, так что Corey Butler решил попробовать другой подход:
Текущая версия nvm не имеет зависимостей от node. Данный продукт выполнен на Go, такой подход гораздо более структурирован чем танцы с бубном вокруг bat-файлов. Nvm не полагается на существующую установку node. При необходимости Go имеет весь потенциал для создания кросс-платформенных решений под Mac/Linux, используя ту же кодовую базу, с гораздо более легким путем преобразования кучи batch-скриптов к логической оболочке.
Вы можете получить исходники на GitHub по ссылке coreybutler/nvm, и так же там есть бинарные публикации(releases).
Corey так же написал кое-что под названием Fenix Web Server (GitHub: coreybutler/fenix, Лицензия: GPL), данный продукт представляет собой статичный десктопный веб-сервер на node-webkit:
Вы можете быстро врубить/вырубить веб сервер посредством графического интерфейса или командной строки. Данный продукт позволяет распределять веб-сервисы(localtunnel) посредством простого переключения. Также обсуждаемое решение имеет визуальный механизм для отображения входящих запросов который так же воздействует на localtunnel.
xtpl
Yiming He написал xtpl (GitHub: kissyteam/xtpl, Лицензия: MIT, npm: xtpl), Express/Koa обертка для eXtensible Template Engine. Данный язык шаблонов схож с другими как
ejs
, но ко всему прочему он позволяет вам добавить ваши собственные синхронные/асинхронные команды.Вы так же можете добавить команды к языку шаблонов, которые могут быть инлайновыми, блочными или асинхронными. Вот пример:
XTemplate.addCommand('xInline', function(scope, option, buffer) {
buffer = buffer.async(function(newBuffer) {
setTimeout(function() {
newBuffer.write(option.params[0] + 1).end();
},10);
});
return buffer;
});
API документация включает больше примеров, и xtpl readme-файл содержит так же несколько примеров с Koa.