Новости фронтенда — For Web2020-07-10T00:00:00Zhttps://forweb.dev/ru/news/feed.xmlАндрей Романовme@andreyromanov.comNPM помечает пакеты заброшенными спустя сутки без коммитов2020-05-26T00:00:00Zhttps://forweb.dev/ru/news/2020-npm-abandoned-packages/<p class="paragraph--lead">Когда дело касается обновлений, мир JavaScript живёт на высоких скоростях. NPM теперь помечает пакет как заброшенный и устаревший спустя 24 часа с момента последнего не ломающего коммита.</p> <p>В результате авторы популярных библиотек получают дополнительный стимул работать интенсивно и поддерживать заполненный граф активности на GitHub.</p> <p>«Когда я вижу, что пакет не обновлялся 29 дней, я задаюсь вопросом: автор умер, или ему просто насрать?», говорит Кирилл Ломатченко, поддерживающий нововведение.</p> <p>Однако есть и несогласные разработчики. Инициативная группа JavaScript-разработчиков из Сиэтла просит руководство NPM пересмотреть правила и увеличить время-до-заброшенности (<abbr title="Time-to-abandoned">TTA</abbr>) хотя бы до 36 часов. Другие спрашивают, влияют ли рабочие и праздничные дни на отсчёт времени.</p> <p>«Сейчас вы не ездите на работу и никуда не летаете», говорит вышеупомянутый Кирилл. «Можете себе позволить потратить освободившееся время на обновление всего, что понаписали. Тысячи корпораций зависят от вашей дисциплины!».</p> <hr /> <p>Оригинал: <a href="https://www.theolognion.com/npm-now-marks-packages-as-abandoned-after-24h-since-the-last-commit/">NPM now marks packages as abandoned after 24h since the last commit</a>.</p> <details> <summary>Комментарий редакции</summary> <p>Материал носит исключительно юмористический характер и ничего общего с реальностью не имеет.</p> </details>Twitter включил возможность задания альтернативного описания для изображений2020-06-01T00:00:00Zhttps://forweb.dev/ru/news/2020-twitter-img-alt/<p>27 мая 2020 инженеры Twitter <a href="https://twitter.com/TwitterA11y/status/1265689579371323392">сообщили</a>, что теперь возможность задания альтернативного описания для изображений доступна всем пользователям. Раньше эта возможность была по умолчанию выключена и включалась через настройки.</p> <p><img height="1080" width="1080" sizes="(max-width: 1080px) 100vw, 1080px" srcset="https://forweb.dev/ru/news/2020-twitter-img-alt/twitter/w_320.jpg 320w, https://forweb.dev/ru/news/2020-twitter-img-alt/twitter/w_662.jpg 662w, https://forweb.dev/ru/news/2020-twitter-img-alt/twitter/w_914.jpg 914w, https://forweb.dev/ru/news/2020-twitter-img-alt/twitter/w_1080.jpg 1080w" src="https://forweb.dev/ru/news/2020-twitter-img-alt/twitter/w_1080.jpg" alt="Демонстрация кнопки для добавления альтернативного описания к изображению в интерфейсе Twitter" /></p> <p>В связи с этим вспоминается Instagram, который по умолчанию генерирует альтернативное описание автоматически, используя компьютерное зрение для определения содержимого изображения. Возможность задать собственное альтернативное описание в Instagram также присутствует, но она спрятана от пользователя:</p> <p><img class="bordered" height="757" width="1720" sizes="(max-width: 1720px) 100vw, 1720px" srcset="https://forweb.dev/ru/news/2020-twitter-img-alt/instagram/w_320.jpg 320w, https://forweb.dev/ru/news/2020-twitter-img-alt/instagram/w_828.jpg 828w, https://forweb.dev/ru/news/2020-twitter-img-alt/instagram/w_1172.jpg 1172w, https://forweb.dev/ru/news/2020-twitter-img-alt/instagram/w_1510.jpg 1510w, https://forweb.dev/ru/news/2020-twitter-img-alt/instagram/w_1720.jpg 1720w" src="https://forweb.dev/ru/news/2020-twitter-img-alt/instagram/w_1720.jpg" alt="Скриншоты Instagram, демонстрирующие процесс добавления альтернативного текста к изображению" /></p>Scarf: слежка за пользователями, теперь и в NPM2020-07-10T00:00:00Zhttps://forweb.dev/ru/news/2020-scarf-analytics/<p class="paragraph--lead">Проект <a href="https://about.scarf.sh/">Scarf</a> позиционирует себя как Google Analytics для NPM-пакетов. Идея в том, что автор NPM-пакета добавляет Scarf в зависимости, а тот предоставляет отчёт о пользователях пакета: сколько их, какая у них операционная система, какие версии пакета они используют, в каких компаниях они работают.</p> <p>Если хоть одна из зависимостей вашего проекта использует Scarf, при каждой установке зависимостей Scarf будет собирать и отсылать на сторонние сервера данные о вас и о вашем проекте, вплоть до вашего IP-адреса (как утверждается, он используется для определения компании, в которой вы работаете).</p> <p>Scarf был подключен в популярных пакетах вроде <a href="https://github.com/tannerlinsley/react-table/pull/2012">react-table</a> (~380 000 загрузок в неделю), <a href="https://github.com/redux-form/redux-form/commit/263474e197524aa9599488ec62ae4ed82d0b1e0e#diff-b9cfc7f2cdf78a7f4b91a753d10865a2">redux-form</a> (~370 000 загрузок в неделю), <a href="https://github.com/final-form/final-form/pull/342">final-form</a> (~232 000 загрузок в неделю), <a href="https://github.com/tannerlinsley/react-query/pull/281">react-query</a> (~50 000 загрузок в неделю), <a href="https://github.com/mattlewis92/angular-calendar/commit/0047d111c5c95f536ef47bd7b73d0b207f332c6b#diff-b9cfc7f2cdf78a7f4b91a753d10865a2">angular-calendar</a> (~50 000 загрузок в неделю). К счастью, из всех перечисленных пакетов, кроме angular-calendar, Scarf уже удалён. На GitHub можно изучить полный <a href="https://github.com/scarf-sh/scarf-js/network/dependents?dependent_type=PACKAGE">список зависимых от Scarf пакетов</a>.</p> <h2>Как отключить сбор данных?</h2> <h3>Средствами самого Scarf</h3> <p>Добавьте в <code>package.json</code> поле с настройками Scarf:</p> <pre><code class="language-json">{ <span class="hljs-attr">"scarfSettings"</span>: { <span class="hljs-attr">"enabled"</span>: <span class="hljs-literal">false</span> } } </code></pre> <p>Также можно задать переменную окружения:</p> <pre><code>export SCARF_ANALYTICS=false </code></pre> <h3>Сторонними средствами</h3> <p>Установите <a href="https://gist.github.com/Kurzdor/bd5c18861b76eb34f068bf2ed7de903e">специальную заглушку</a>, которая подменяет вредоносный пакет Scarf.</p> <h3>Радикально: средствами пакетного менеджера</h3> <p>Устанавливайте пакеты с флагом <code>--ignore-scripts</code>, это обезопасит вас не только от Scarf, но и от любых других потенциально вредоносных скриптов, выполняющихся в postinstall-хуках пакетов. Увы, это может сломать некоторые зависимости, которые используют postinstall-хуки в служебных целях вроде компиляции под вашу ОС.</p>