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

Специалисты 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.3K
Комментарии 0

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

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

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

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

Как строить и построить

JavaScript *
Из песочницы
Tutorial

Предыстория


Встретившись в многочисленных местах разработки на Javascript с ситуациями, где необходимо было проводить валидацию значений, стало понятно, что необходимо как-то решить этот вопрос. С этой целью была поставлена следующая задача:
Разработать библиотеку, которая будет давать возможность:


  • валидировать типы данных;
  • задавать дефолтные значения вместо невалидных полей или элементов;
  • удалять невалидные части объекта или массива;
  • получать сообщение об ошибке;

В основе которой будет:


  • Легкость в освоении
  • Читабельность получаемого кода.
  • Легкость модификации кода

Для достижения этих целей была разработана библиотека валидации quartet.

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

Популярные npm-пакеты. Volume 1

Разработка веб-сайтов *JavaScript *Программирование *Node.JS *
Доброго времени суток, друзья!

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

Предполагается, что вы хорошо знакомы с JavaScript и, в частности, с Node.js.

В данном части представлены следующие пакеты:


Читать дальше →
Всего голосов 12: ↑8 и ↓4 +4
Просмотры 5.7K
Комментарии 2

Почему я «мучаюсь» с JS

JavaScript *TypeScript *

Я не знаю TypeScript, поэтому и пишу эту статью. У меня есть некоторый опыт программирования на Java и PHP и этот опыт заставляет меня кодировать на JavaScript'е соответствующим образом. К последней моей статье коммент от коллеги Silverthorne был такой:


export default class TeqFw_Http2_Back_Server {
constructor(spec) {
// EXTRACT DEPS
/** @type {Function|TeqFw_Http2_Back_Server_Stream.action} */
const process = spec['TeqFw_Http2_Back_Server_Stream$'];
/** @type {TeqFw_Web_Back_Handler_Registry} */
const registryHndl = spec['TeqFw_Web_Back_Handler_Registry$'];


зачем все это, когда есть TypeScript?

В ответном комменте я попросил от него продемонстрировать TS-код, который делает то же самое. Он не ответил. Я добавил коммент с просьбой, чтобы кто-угодно продемонстрировал TS-код, который делает то же самое. Ничего. И вот я пишу уже статью с аналогичной просьбой.

Читать дальше →
Всего голосов 51: ↑18 и ↓33 -15
Просмотры 13K
Комментарии 109

Компактные Vue компоненты из самописных SVG иконок

Работа с иконками *JavaScript *Работа с векторной графикой *Системы сборки *VueJS *


История вопроса


В этой статье пойдёт речь о том, как я пришёл к тому, чтобы взяться писать плагин, создающий на лету vue компоненты из самописных svg иконок во время сборки проекта, о том, как я это делал, и о том, что в итоге получилось.


Мне уже давно и прочно нравится мир Vue. Особенно завораживает скорость, с которой в нём рождаются новые возможности писать код более лёгким и понятным. Недавно появились Composition API, VueUse, Vite… По ходу освоения этих новых инструментов я нашёл шаблон Vitesse, буквально насыщенный удобными средствами — и для управления макетами (layout), и для маршрутизации, и для локализации и ещё для много чего… Возможно, есть смысл написать отдельный обзор этого арсенала по русски (чего в Интернете пока ещё нет). Но сейчас речь не об этом.

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

Автоматическая публикация npm пакета из gitlab ci/cd

Блог компании Группа НЛМК JavaScript *Программирование *Git *Node.JS *
Tutorial

Всем привет! Сегодня я расскажу как мы реализовали автоматическую публикацию npm пакета в cicd gitlab, с помощью каких инструментов генерируем CHANGELOG файл и обновляем версию package.json. А так же как публикуем изменения в git репозитории.

Я постараюсь дать вам простую инструкцию, расскажу с какими сложностями мы столкнулись и как их решили.

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

«День с̶у̶р̶к̶а̶ Redux» — как бороться с рутиной, применяя автоматизацию

JavaScript *ReactJS *TypeScript *
Из песочницы

"Ух-ты! Какая интересная задача! И оценка времени на разработку хорошая! ..."

2 часа спустя: "Какой же это ужас, ещё 10 редьюсеров создать, ещё 10 раз описать зависимости состояний. Типы, компоненты... Сколько же бесполезной рутины... Вот бы можно было писать только декларативную логику, всегда."

Если вам хоть отчасти близок текст выше, не переживайте, вы не одни такие. Я - человек который не один раз произнес сказаное выше.

Поэтому сегодня я поделюсь своими мыслями о том, как в моих глазах можно многое упростить, чтобы наконец начать получать хороший Developer Experience.

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Просмотры 7.2K
Комментарии 13