Node.JS [ru] | Серверный JavaScript
11.3K subscribers
93 photos
5 videos
25 files
3.28K links
Все о разработке backend части на JavaScript (Node JS).
А так же: Express JS, Next JS, Nest, Socket.IO

Канал на бирже - https://telega.in/c/we_use_js

По вопросам рекламы или разработки: @g_abashkin

РКН: https://vk.cc/cJPGOP
Download Telegram
​​tsup - сверхбыстрый сборщик для TypeScript

Основан на esbuild. Поддерживает ESM, CommonJS и IIFE модули.

#jstools #javascript #esbuild
Вышел pnpm 5.6

Добавился флаг --workspace-root для выполнения команд в контексте корня. С помощью этого флага, в монорепозиториях например можно вызывать линтер, который был установлен в корне: pnpm -w lint (запустит скрипт "lint" в корне)

Полоса загрузки при установке теперь теперь пишется сколько модулей добавлено в папку node_modules

Теперь если не найден ни скрипт, ни бинарник внутри текущего проекта внутри монорепы, но найден в корне, выводится ошибка

#jsrelease #pnpm #javascript #webdev #jstools
CJS to ESM - инструментарий для конвертирования JavaScript из CommonJS (легаси) в ECMAScript модули

Можно использовать как в виде CLI, так и с помощью JavaScript API. Можно даже внедрить как TypeScript плагин.

Будет полезно для перехода с легаси CommonJS системы на стандартизированную, единую систему модулей ECMAScript в Node.js. Также может пригодиться для конвертации из одной системы в другую, чтобы можно было использовать Node.js библиотеки в фронтенд приложениях.

#jslib #javascript #nodejs #jstools #esm #cjs #commonjs
Вышел pnpm 5.8

- Новая настройка shell-emulator. С помощью этой настройки postinstall скрипты будут выполняться в эмуляторе. Будет полезно для пользователей Windows.
- Новый флаг --filter для исключения пакетов. С помощью этого флага можно исключать файлы, папки и модули

#javascript #jsrelease #pnpm #jstools
​​Shoulders - CLI для отображения списка открытых issues у npm зависимостей

С помощью этой утилиты можно легко найти проблемный модуль (у которого например какой-то баг), и посмотреть открыт ли уже на него issue

Ещё одно предназначение - возможность узнать, как можно помочь модулям, которые вы используете

#jstools #javascript #cli #npm
У esbuild появился свой сайт

На сайте находятся инструкции по установке, туториалы, API документация, описания типов файлов, которые может собирать esbuild, FAQ, а также анимированный бенчмарк

#jstools #frontend #webdev
​​graphql-let - инструмент для улучшения генерации типов для GraphQL кода

graphql-let основан на graphql-codegen, но в отличие от просто генерации кода, ещё генерируются и типы + HMR (hot module replacement) работает без артефактов

Можно использовать в виде CLI, Webpack загрузчика или Babel плагина

#jstools #javascript #frontend #webdev #graphql
​​WMR - многофункциональный инструмент для разработки современных веб-приложений

- HTML страница как входной файл
- Импорт модулей без установки
- Сборка и кеширование для npm модулей
- HMR для модулей, Preact компонентов и CSS
- Быстрая JSX транспиляция
- Поддержка CSS и CSS Modules
- Статика с HMR для графики и CSS
- Оптимизированная сборка для продакшена
- Пререндер страниц во время сборки
- Встроенная поддержка HTTP/2
- Поддерживает плагины для Rollup

#jstools #javascript #frontend #webdev #wmr #hmr #react #preact #rollup #bundling
Вышел pnpm 5.15

В новой версии пакетного менеджера для команды pnpm install-completion теперь можно выбрать шелл для установки автозаполнения команд. Например: pnpm install-completion zsh

Также добавилась новая опция enable-modules-dir. Когда значение опции поставлено на false, pnpm не будет создавать файлы в node_modules. Такая фича может пригодиться при работе с FUSE.

#jsrelease #javascript #jstools
Вышел Snowpack 3

- Оптимизации для сборки
- JavaScript API для интегрирования Snowpack в серверные приложения
- Node.js runtime API для импортирования собранных файлов в Node.js
- Импорт заранее собранных модулей (через CDN)

#jsrelease #javascript #jstools
Вышел pnpm 6

- Новая команда: pnpm fetch. Сохраняет пакеты из локфайла в виртуальное хранилище
- Новое поле: overrides. С помощью него можно указать фиксированную версию для диапазона версий одного и того же модуля

- Убрана поддержка Node.js 10
- Изменения в локфайле для избежания merge конфликтов
- Все скачанные модули теперь будут находиться на одном уровне
- Новая настройка: modules-cache-max-age — максимальное время жизни для кэшированных модулей. Значение по умолчанию: 7 дней
- pnpx не будет устанавливать дополнительные зависимости, если этого не разрешил пользователь
- у pnp и pnpmfile теперь разрешение .cjs для CommonJS
- Убрана настройка pnpm-prefix. Вместо неё - global-dir
- флаг global теперь обязателен для pnpm link
- node-gyp обновился до 8 версии

#jsrelease #jstools #pnpm #webdev