Специализни шаблонца!

Previous Entry Поделиться Next Entry
io.js
Vash
udpn
Короче, в Node.js поломали уже два встроенных пакета, https и fs (конкретнее, watch). Я думал, что в 0.12 станет как-то сурово лучше, даже несмотря на то, что авторы ноды пеняют на libuv, а libuv говорит только, что пулреквестам будет рад. Ребята, какие, к чёрту, пул реквесты, если это у вас регрессии, а у вас даже регрессионного тестирования нет?

Вот, казалось бы, что может быть проще, когда у вас есть целый npm под рукой: сделать регрессионное тестирование. Ломаете https? Ну скачайте хотя бы самые популярные пакеты, которые юзают https, прогоните в них тесты на старом и на новом коде. Если раньше работало, а теперь нет, то у вас руки из жопы. Всё.

Я, допустим, не хочу работать с JS без генераторов. Генераторы + промисы = нормальная работа с колбеками. Регенератор для серверных исходников мне тоже что-то не очень хочется использовать, потому что билдить серверные сырцы, включая скрипты для билда, это уже перебор.

Появление io.js у меня вызывало ранее некоторое удивление, поскольку ничего не предвещало. Я же сейчас попробовал позапускать код на io.js, и там fs.watch и https работают, как положено. Короче, время валить туда.

  • 1
У libuv тесты есть, причем достаточно в большом количестве.
А что именно там сломано?

А у меня нет желания копаться, если честно. Например, socks5-https-client адски глючит, с эксепшенами, вылетающими в https. В 0.10 работает, позже -- нет. То же самое я видел ещё в паре либ, зависящих от https, сделал выводы. Дебажиться по исходникам у меня желания не было и нет, поскольку node-inspector адски глючит на свежих нодах.

У fs.watch какая-то проблема во внутренностях с номерами портов, которые они открывают, чтобы по сокетам гонять данные между потоками. В результате вылетает EINVAL. Опять же, на 0.10 всё стабильно, дальше в хлам. Зависит не от либы: одинаково глючат chokidar, watch, watchr, hound и несколько других.

fs.watch по-моему и не работал никогда

Ну там вообще явно написано, что он "2 - unstable", но раньше это правилось либами, которые его баги обходят, а сейчас эти баги обойти нельзя, потому что он вообще не работает.

Недавно пробовал ноду. Либо не тестируют, либо фиксят лишь то, что используют в своих полутора хипстерских проектах.

Как пример - npm не может запускать git на виндах. Потому что там git.cmd, а у них тупой spawn. Ошибка древняя, ничего не фиксят, зато пишут в консоль криптосрань и отмазу "произошла непонятная ошибка, но не из-за нас, честно-честно".

У них самые основные экстеншены на npm написаны на С++. Нет, я не против. Проблема в том, что они это билдят с помощью node-gyp, у которого баги с Unicode не может автор исправить, кажется, с 2011 года. Мне пришлось заводить отдельного юзера в системе без кириллицы в логине, чтобы не смущать кириллическими путями node-gyp, да.

Там, я смотрю, всё старые люди - @isaacs, @bnoordhuis. В чём прикол?

Да я сам не разбирался, но, проще говоря, разрабы пересрались и отфоркнулись.

  • 1
?

Log in

No account? Create an account