Как стать автором
Обновить

Facebook и Google выпустили Yarn, новый менеджер пакетов для JavaScript

JavaScript *Программирование *


Вчера вечером Facebook официально анонсировала новый пакетный менеджер для JavaScript под названием Yarn. На одной из стадии разработки к проекту подключились компании Google, Exponent и Tilde.

«Самый популярный менеджер пакетов JavaScript — это NPM. Он обеспечивает доступ более чем к 300 тысячам пакетов. Используют его более 5 миллионов разработчиков, а ежемесячно к нему обращаются для загрузки более 5 миллиардов раз.

Мы успешно использовали NPM в Facebook в течение многих лет, но так как объем нашего кода и число разработчиков выросло, мы столкнулись с проблемами последовательности, безопасности и производительности. После попытки решить все эти вопросы, мы пришли к намерению создать собственное решение, чтобы обеспечить надежность управления разработкой. Итогом этой работы стал Yarn — быстрая, надежная и безопасная альтернатива клиенту NPM», — говорится в официальном блоге Facebook о новинке.
Читать дальше →
Всего голосов 50: ↑42 и ↓8 +34
Просмотры 41K
Комментарии 115

GitHub купил npm

Блог компании JUG Ru Group JavaScript *GitHub *


Пакетный менеджер npm становится частью GitHub. Объявления об этом появились и в блоге GitHub, и в блоге npm.

В блоге npm основатель проекта Айзек Шлютер подчёркивает «npm, который вы знаете, никуда не девается». Он выражает уверенность, что для проекта это перемена к лучшему, и сообщает, что сам продолжит работать над ним.
Читать дальше →
Всего голосов 48: ↑46 и ↓2 +44
Просмотры 12K
Комментарии 25

Ещё один однострочный пакет npm сломал экосистему JavaScript

Блог компании ITSumma Open source *JavaScript *Программирование *
В субботу обновление маленькой библиотеки is-promise вызвало переполох в значительной части экосистемы JavaScript. Зависимости от сломанной библиотеки встроены в 3,4 миллиона проектов. Это уже второй раз, когда крошечный проект JavaScript вызывает проблемы такого масштаба.

Библиотека is-promise состоит из двух строк кода, а разработчики могут использовать её в своих проектах с помощью однострочного вызова.

declare function isPromise<T, S>(obj: Promise<T> | S): obj is Promise<T>;
export default isPromise;

Предназначение библиотеки состоит в проверке, что JavaScript-объект является типом Promise, то есть представляет собой конечное завершение асинхронной операции и её результирующее значение.
Всего голосов 49: ↑43 и ↓6 +37
Просмотры 17K
Комментарии 79

Из каталога NPM удалили четыре зловредных пакета

JavaScript *Программирование *


В четверг, 16 октября, команда безопасности npm удалила с портала четыре пакета JavaScript, содержащие вредоносный код.

Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 5.8K
Комментарии 13

У пустого пакета npm «-» обнаружили 700 тысяч загрузок

Open source *Node.JS *GitHub *Разработка под Linux *


Эксперты Bleeping Computer обнаружили, что у пустого пакета npm «-» более 700 тысяч загрузок. Причем их количество все время возрастает с каждым днем. Вероятно, разработчики и пользователи его случайно устанавливают, когда ставят лишний пробел между «i» и "-" при установке флагов в нужных им пакетах с помощью пакетного менеджера npm.
Читать дальше →
Всего голосов 25: ↑22 и ↓3 +19
Просмотры 12K
Комментарии 7

Специалисты Sonatype обнаружили NPM-пакеты, распространявшие под видом Noblox.js вымогательское ПО и инфостилеры

Информационная безопасность *JavaScript *

Не успели специалисты Sonatype обнаружить в этом месяце вредоносное ПО для майнинга криптовалюты в трех JavaScript-библиотеках, загруженных в официальный репозиторий NPM, как появилась новая напасть. Речь пойдет о еще двух NPM-пакетах — noblox.js-proxy и noblox.js-proxies. Злоумышленники воспользовались известным способом, когда написание слова очень близко к написанию известных названий, в данном случае — пакета Noblox.js.proxied. Или так называемый тайпсквоттинг, когда злоумышленник или просто ловкий делец пользуется ошибками в написании, при которых не сразу заметна ошибка, и пользователь считает легитимным написание того или иного названия, в данном случае API обертку для Roblox под названием noblox.js-proxied.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 1.5K
Комментарии 0

Автор faker.js и colors.js намеренно сломал свои пакеты

Open source *Программирование *Node.JS *Монетизация IT-систем *Монетизация веб-сервисов *

Рисунок Injustice художника Baysal

Пользователи пакетов faker.js и colors.js, зависимость от которых имеют тысячи проектов, заметили аномалии в работе. В коде пакетов появился бесконечный цикл, который нарушал нормальную работу программ и выводил бессмыленные данные в консоль. Изначальные предположения о компрометации доступа разработчика не подтвердились: эти изменения внёс сам автор. Его более ранние публикации позволяют говорить, что этот саботаж — проявление несогласия с коммерческим использованием его открытых проектов.
Читать дальше →
Всего голосов 31: ↑30 и ↓1 +29
Просмотры 42K
Комментарии 133

Популярность npm-пакета '-' продолжает расти

Блог компании Дата-центр «Миран» Информационная безопасность *Open source *


В августе 2021 года внимание сообщества привлёк странный однобуквенный пакет '-' («минус»), у которого было более 700 000 скачиваний и 56 входящих зависимостей, то есть на тот момент 56 других пакетов зависели от «минуса».

Особую загадочность делу придавал тот факт, что пакет был по сути пустой и не содержал ничего, кроме шаблонных конструкций (название, номер версии и т. д.).

За прошедшее время популярность «минуса» значительно выросла. На 11 марта 2022 года (16:00) от него зависят уже 185 пакетов.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 9.7K
Комментарии 3

Исследователи обнаружили «фабрику» вредоносных пакетов npm

Информационная безопасность *

Checkmarx обнаружили угрозу, связанную с деятельностью злоумышленника RED-LILI, отметившегося созданием и доставкой сотен вредоносных пакетов в экосистему NPM в режиме автоматизации, что вызывает серьёзные опасения в контексте атак на цепочки зависимостей, особенно на фоне последних инцидентов с саботажем отдельных разработчиков.

Читать далее
Всего голосов 22: ↑18 и ↓4 +14
Просмотры 13K
Комментарии 21

Российский разработчик event-source-polyfill добавил послание для сограждан в версию библиотеки

Open source *JavaScript *GitHub *

Российский разработчик Виктор Мукачев (Yaffle) добавил в свою библиотеку event-source-polyfill фрагмент кода, в котором выразил протест против событий на территории Украины. 

Читать далее
Всего голосов 39: ↑35 и ↓4 +31
Просмотры 11K
Комментарии 13

GitHub рассказал о недавней атаке и произошедшей из-за нее утечке данных из приватных репозиториев некоторых клиентов

Информационная безопасность *Open source *GitHub *IT-компании


16 апреля 2022 года команда GitHub Security рассказала об инциденте по утечке данных из приватных репозиториев клиентов платформы с использованием скомпрометированных токенов OAuth, сгенерированных для сервисов Heroku и Travis-CIGitHub.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 4.1K
Комментарии 0

GitHub запустил бета-тестирование улучшенного механизма 2FA для npm-аккаунтов

GitHub *IT-компании


По информации Bleeping Computer, веб-сервис для хостинга IT-проектов и их совместной разработки GitHub запустил бета-тестирование улучшенного механизма двухфакторной аутентификации (2FA) для всех npm-аккаунтов.
Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 801
Комментарии 0

GitHub раскрыла объем похищенных хакерами данных во время атаки с помощью скомпрометированных токенов Heroku и Travis-CI

Информационная безопасность *IT-инфраструктура *GitHub *IT-компании


GitHub раскрыла объем похищенных хакерами данных во время апрельской атаки с помощью скомпрометированных токенов OAuth, сгенерированных для сервисов Heroku и Travis-CIGitHub.
Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 2.4K
Комментарии 1

Злоумышленники используют вредоносные npm-пакеты для кражи пользовательских данных

Информационная безопасность *Разработка веб-сайтов *

Исследователи из Reversing Labs рассказали, что злоумышленники публикуют вредоносные npm-пакеты для кражи пользовательских данных с сайтов и приложений. При этом хакеры выбирают для атаки названия популярных пакетов, чтобы смутить пользователей и заставить скачать шпионское программное обеспечение вместо оригинального.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 2.3K
Комментарии 1

В NPM ввели обязательную двухфакторную аутентификацию для сопровождающих значимых пакетов

Информационная безопасность *Open source *GitHub *

GitHub внедрил обязательное применение в репозитории NPM двухфакторной аутентификации к учётным записям разработчиков, сопровождающих пакеты с более чем 1 млн загрузок в неделю или используемых в качестве зависимости у более чем 500 пакетов. 

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 1.2K
Комментарии 0

Использование пакетного менеджера Node.js на Windows

Node.JS *
Мне долгое время хотелось полноценно поиграться с нодом, но так сложилась жизнь, что я пользуюсь Windows как на работе, так и дома.

Только недавно портировали, собственно, сам нод на Windows (и не без помощи Microsoft, за что им спасибо). Это хорошо, но как же быть с пакетным менеджером npm который используется чуть менее чем во всех туториалах?

Продолжительный поиск привел к нескольким статьям, в которых в общих чертах говорилось об установке чего-то, непонятно чего и непонятно как (cygwin и т. п.)

Долгое время я не мог вменяемо завести npm, но в какой то момент подвернулась замечательная статья некоего Pablo M. Cibraro. В которой простым языком описано что и как делать.

В общем итоге нам предлагают поставить Python, затем скачать утилиту, за авторством Japj. И запуска ее точно так же, как и npm — python ryppi install <имя_модуля>

Кроме того, что бы использовать express вам понадобится его модифицированная версия (потому что в оригинальной используются специфические для *nix команды)

И еще одна ремарка для новичков, таких как я. Для того, что бы использовать модули нода нужно поместить их в папку node_modules в папке с запускаемым файлом js.
Всего голосов 9: ↑6 и ↓3 +3
Просмотры 11K
Комментарии 2

Шпаргалка по пакетному менеджеру NPM

Node.JS *
Перевод

npm — это пакетный менеджер node.js. С его помощью можно управлять модулями и зависимостями.
Небольшая шпаргалка всех моих любимых команд npm:

Читать дальше →
Всего голосов 49: ↑44 и ↓5 +39
Просмотры 362K
Комментарии 11

The Node Toolbox

Node.JS *
Обнаружив трёхдневной давности правку в вики Node, я жмякнул по приведённой там гиперссылке и попал на сайт-каталог «The Node Toolbox», довольно полезный. Как я понял тотчас же, целью этого сайта является распределение по категориям (или по тегам) всех тех пакетов с джаваскриптами для Node, которые содержатся в каталоге пакетного менеджера npm. Таким образом, сайт этот может быть ценною отправною точкою для поиска пакетов для Node по их предназначению. (В мире открытого кода это средство, как и другие до него, позволяет человеку внимательному не переизобрести ненароком чей-нибудь велосипед.)

Наверху сайта «The Node Toolbox» видна «горячая десятка» наиболее свежих пакетов и десятка наиболее используемых пакетов (по числу зависимостей других пакетов от них) — в общем-то это средство менее полезно и инновационно, чем список категорий, потому что эти рейтинги и без того видны на search.npmjs.org (притом там в рейтингах видать по пятнадцать пакетов, а у «The Node Toolbox» всего лишь по десять).

Более или менее пристальное вглядывание в эти рейтинги на протяжении нескольких последних месяцев привело меня ко впечатлению (быть может, и ошибочному: архивов-то рейтингов я не веду, а полагаюсь на память) о постепенном росте популярности пакета async, сейчас вошедшего ужé в десятку наиболее используемых. Он полезен тем, что содержит два десятка функций, серьёзно упрощающих объединение вызовов асинхронных функций, составление из них более крупных фрагментов алгоритмов. Не могу не отметить, что наблюдаемая популярность вполне заслужена пакетом async. Есть основания думать о части функций пакета async (притом о заметно большой части их) как о своего рода асинхронном аналоге соответствующих функций underscore, используемых при пакетной обработке коллекций (то есть массивов и объектов) — а ведь тот же рейтинг называет пакет underscore наиболее используемым в других пакетах для Node. Логично, что популярен и асинхронный аналог его.

Читать дальше →
Всего голосов 31: ↑24 и ↓7 +17
Просмотры 1.6K
Комментарии 5

Запуск нескольких node.js сайтов на одном сервере

Node.JS *
Из песочницы
Когда на одном сервере находиться несколько одновременно работающих node.js сайтов, для них необходим общий механизм запуска. Наиболее простой вариант, а также наиболее производительный, это запуск одного приложения, которое подключает все нужные сайты. Механизм подключения должен быть без ограничений для создаваемых сайтов, и максимально простым. Он должен быть стабилен, при критической ошибке на одном из сайтов, другие все равно должны продолжать свою работу.
Все подключаемые веб-приложения должны быть легко переносимы на отдельный хостинг. Необходима поддержка как отдельных доменных имен, так и поддоменов для определенного доменного имени.

Допустим, есть две директории, в которых находятся веб-приложения:

/var/www/domains/, с каталогами site.ru, othersite2.ru и тд.
/var/www/subdomains/, с каталогами site3, othersite4 и тд.

Чтобы сайты были доступны по соответсвующим адресам (site.ru, othersite2.ru, site3.example.com, othersite4.example.com), потребуется запустить данную команду:

$ vhoster -n example.com -s /var/www/subdomains/ -d /var/www/domains/ --port 80 --host 0.0.0.0
vhost: site.ru
vhost: othersite2.ru
vhost: site3.example.com
vhost: othersite4.example.com

Для тех, кому нужен vhoster и интересна его реализация, прошу под кат.
Читать дальше →
Всего голосов 22: ↑14 и ↓8 +6
Просмотры 14K
Комментарии 19