Но это же ужас дикий ))) и запись у вас не полная — пути до istanbul и mocha потерялись. Это затыкание дырок, а не способ, увы. А вот нормальная запись:
Вот этим вопросом и стоило бы задаться. Все сложные скрипты удобнее делать через Makefile, банально синтаксис лучше, чем shell команды экранированные в JSON, например какой-нибудь хитрый запуск тестов:
Чтоб не перерисовывать часто есть различные обертки, делающие проверку аргументов и пропускающие рендер, если аргументы не менялись. Бонус immutable state.
А как насчет валидации (клиентской и серверной), а также распихивания ошибок по полям? Вы поймите, прошли те времена, когда юзеры брали скрипт и впендюривали его на страницу, сейчас все живут в некой экосистеме, будь то Angular, React, Knockout, Ember или любая другая, где есть уже шаблоны, есть событийная модель и тд и тп.
jQuery еще подключить надо. А вышеописанное — стандартная библиотека, которая есть везде, совместимая с любым React/Angular/PlainVanilla.
Библиотека решает надуманные проблемы, ничего общего не имеющие с реальным миром и реальными сайтами. Любой серьезный проект так или иначе будет иметь код, отвечающий за весь трафик, включая формы. А для проекта на коленке сгодится и прямое использование стандартных средств браузера. Получается, ни туда, ни сюда библиотека.
Прошли те годы, когда подобное было актуально, лет 5 назад вы бы получили море звезд и хвалебных отзывов, но времена поменялись.
var f = new FormData(), d = document, byId = d.getElementById;
f.append('text', byId('text').value); // текстовые значения
f.append('file', byId('file').files[0]); // файлы из формы
f.append('file2', new File([JSON.stringify(...whatever...)], 'request.json', {type: 'application/json'})); // произвольное барахло
fetch('url', {method: 'post', body: f}).then(...).catch(...);
Вот и все, и работает почти везде.
Про стилизацию я вообще молчу — она у всех разная, на реальном сайте я быстрее напишу CSS с нуля, чем буду накручивать любой коробочный. А любые визуальные фидбеки отправки я навешу в одно действие в .then и .catch.
Потому что года три назад никто ничего не знал про Angular, React и прочие, а также про HTML5 File Api, WhatWG Fetch и тд. Зачем в 2016 году библиотека по работе с формами — не ясно.
Есть еще такой момент, что это все было особо популярно для UI спецификаций, мол, кликни туда, увидь это, напечатай то. И вот их как раз генерировать вполне можно. Для суровых юнит тестов это несколько меньше подходит, вряд ли кто-то потом с распечатанной спекой будет смотреть на класс и думать, работает ли он как написано )
Гитлаб можно сравнивать с Atlassian Stash и тд, а не с облачными сервисами по подписке. Они тоже конкуренты, но это совсем другой сегмент и принцип. Это как облачный блог со стенделоун сравнить. Гитхаб и Битбакет — это прямые конкуренты.
Я прекрасно понимаю ваши тезисы про возможности, охват, диктование условий — согласен. Но все же различия в цене почти на порядок — это явно перебор. Думаю это очевидно.
Фигня какая-то. Сейчас 22 репозитория и ~91 юзер (81 members, 6 pending invitations, 4 outside collaborators) — голд план за $100 в месяц. С новым тарифом — $799.00/month. У BitBucket план на 100 человек стоит те же самые $100.
Babel отличный пример почему монорепо — не зло, если использовать с умом. Там все очень взаимосвязано, а отдельные пакеты очень маленькие. Менеджить такое в отдельных репозиториях была бы такая боль, что лучше об этом вовсе не думать даже.
Согласитесь, длинно… В Makefile хотя бы на новые строки можно перенести.
Я лично использую NPM скрипты только если команды очень простые и короткие или если достоверно известно, что будут юзеры на винде.
Библиотека решает надуманные проблемы, ничего общего не имеющие с реальным миром и реальными сайтами. Любой серьезный проект так или иначе будет иметь код, отвечающий за весь трафик, включая формы. А для проекта на коленке сгодится и прямое использование стандартных средств браузера. Получается, ни туда, ни сюда библиотека.
Прошли те годы, когда подобное было актуально, лет 5 назад вы бы получили море звезд и хвалебных отзывов, но времена поменялись.
Вот и все, и работает почти везде.
Про стилизацию я вообще молчу — она у всех разная, на реальном сайте я быстрее напишу CSS с нуля, чем буду накручивать любой коробочный. А любые визуальные фидбеки отправки я навешу в одно действие в .then и .catch.
Я прекрасно понимаю ваши тезисы про возможности, охват, диктование условий — согласен. Но все же различия в цене почти на порядок — это явно перебор. Думаю это очевидно.