Node.JS [ru] | Серверный JavaScript
11.5K subscribers
91 photos
6 videos
25 files
3.16K 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
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
Вышел pnpm 6.2.1

- Новый флаг --filter-prod. Работает так же, как и filter, но исключает dev зависимости
- Новые диапазоны версий для пакетов внутри workspaces: workspace:~1.0.0 и workspace:^1.0.0
- Новая настройка fetch-timeout для таймаута выполнения HTTP запросов. Стандартное значение: 1 минута

#jsrelease #jstools #pnpm
wasm-run - CLI для запуска WebAssembly файлов

- Работает с WASM и WASI
- Можно выставлять таймаут выполнения (через флаг --timeout)
- Возможность вызывать отдельные функции через флаг --invoke <func>
- Аргументы функции передаются как CLI аргументы

#jstools #webassembly #nodejs #javascript
Packup - сборщик веб приложений без конфигурации, работающий на Deno

- Поддержка TS из коробки
- Module resolution совместимый с Deno
- Очень быстрый благодаря esbuild

Проект находится в ранней разработке, в будущем планируется добавить CSS импорты, оптимизацию и CLI флаги из Parcel

#deno #jstools #frontend #webdev
​​Parcel 2 Beta 3

- компилятор был переписан на Rust и стал в 10 раз быстрее
- tree-shaking для динамических импортов
- tree-shaking для CSS модулей
- новый флаг: --lazy. при его включении Parcel будет собирать только те файлы, которые меняются
- HMR для плагинов (полезно при разработке плагинов для Parcel)
- меньше зависимостей

#jsrelease #javascript #parcel #jstools #frontend #webdev