[Перевод] Новости из мира Node: npm 2.0, nvm для Windows, xtpl
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.