Pull to refresh

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

JavaScript *Programming *


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

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

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

GitHub купил npm

JUG Ru Group corporate blog JavaScript *GitHub *


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

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

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

ITSumma corporate blog Open source *JavaScript *Programming *
В субботу обновление маленькой библиотеки 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, то есть представляет собой конечное завершение асинхронной операции и её результирующее значение.
Total votes 49: ↑43 and ↓6 +37
Views 17K
Comments 79

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

Open source *Node.JS *GitHub *Development for Linux *


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

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

Information Security *JavaScript *

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

Читать далее
Total votes 6: ↑6 and ↓0 +6
Views 1.3K
Comments 0

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

Open source *Programming *Node.JS *Monetization of IT systems *Web services monetization *

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

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

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

Дата-центр «Миран» corporate blog Information Security *Open source *


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

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

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

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

Information Security *

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

Читать далее
Total votes 22: ↑18 and ↓4 +14
Views 13K
Comments 21

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

Open source *JavaScript *GitHub *

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

Читать далее
Total votes 39: ↑35 and ↓4 +31
Views 10K
Comments 13

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

Information Security *Open source *GitHub *IT-companies


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

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

GitHub *IT-companies


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

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

Information Security *IT Infrastructure *GitHub *IT-companies


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

Использование пакетного менеджера 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.
Total votes 9: ↑6 and ↓3 +3
Views 11K
Comments 2

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

Node.JS *
Translation

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

Читать дальше →
Total votes 49: ↑44 and ↓5 +39
Views 352K
Comments 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. Логично, что популярен и асинхронный аналог его.

Читать дальше →
Total votes 31: ↑24 and ↓7 +17
Views 1.6K
Comments 5

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

Node.JS *
Sandbox
Когда на одном сервере находиться несколько одновременно работающих 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 и интересна его реализация, прошу под кат.
Читать дальше →
Total votes 22: ↑14 and ↓8 +6
Views 14K
Comments 19

CLI скрипт на CoffeeScript — легко

Programming *Node.JS *CoffeeScript *


Я уже довольно давно использую coffee-консоль как калькулятор. Удобно!

И вот недавно задумался — почему бы не попробовать написать CLI-скрипт на CoffeeScript от начала и до конца? И написал!
Читать дальше →
Total votes 7: ↑3 and ↓4 -1
Views 1.2K
Comments 12

Полный набор пакетов для разработки с помощью NodeJS

JavaScript *Node.JS *
Начал изучать NodeJS. Нигде не нашел актуальный стек мейнстримных библиотек (технологий) применяемых в node. Поэтому решил сам составить список.
Читать дальше →
Total votes 93: ↑83 and ↓10 +73
Views 52K
Comments 45