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
Вышел TypeScript 4.1

Нововведения в языке:

- Типы в виде шаблонных строк (например type Greeting = Hello ${world})
- Переназначение свойств внутри типов с помощью as (например [K in keyof T as get${Capitalize<string & K>}]: () => T[K])
- Рекурсивные типы с условием (например type ElementType<T> = T extends ReadonlyArray<infer U> ? ElementType<U> : T)

Нововведения в компиляторе:

- paths теперь можно использовать без baseUrl
- при включении checkJs автоматически включается allowJs
- prod и dev версии для React JSX через "jsx": "react-jsx" / "react-jsxdev"

Другие нововведения:
- поддержка @see из JSDoc в редакторах для TS и JS
- свойста с abstract не могут быть асинхронными
- теперь у resolve в промисах должен быть обязательный параметр

#jsrelease #typescript
​​Вышел uvu 0.5

В новой версии библиотеки для написания unit-тестов была добавлена поддержка ESM (т.е. можно использовать import / export внутри тестов без дополнительных инструментов)

Также улучшилась поддержка для легаси версий Node.js, включая 8.x и 10.x

#jsrelease #uvu #testing #jslib #javascript #nodejs
​​Вышел Deno 1.6

Рантайм:
- Добавлена новая команда deno compile, с помощью которой можно собирать JavaScript и TypeScript код в исполняемый файл
- TypeScript обновлён до 4.1
- Поддержка сигналов для EventTarget
- Поддержка URL для Deno.readLink

std:

- в std/http добавилась валидация cookie
- в std/node setImmediate и clearImmediate были добавлены в глобальную область видимости
- в std/node/stream добавились Duplex, Transform, Passthrough, pipeline, finished и промисы

#jsrelease #javascript #deno #backend #webdev #typescript
​​Вышел Node.js 15.4

- Добавилась поддержка AbortController
- Поддержка сигналов в EventTarget
- Поддержка цепочки вызовов в res.setHeader в http модуле
- В worker был добавлен экспериментальный BroadcastChannel

#jsrelease #javascript #nodejs #backend #webdev
Вышел pnpm 5.15

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

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

#jsrelease #javascript #jstools
​​Вышел Node.js 15.6

- Реализован метод crypto.randomUUID() для генерации ID
- Метод listen у сетевых серверов теперь поддерживает AbortController
- Добвалено API для X509Certificate

#jsrelease #nodejs #backend #javascript
Вышел Snowpack 3

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

#jsrelease #javascript #jstools
​​Вышел Deno 1.7

- Кросс-компиляция и уменьшение размера бинарников (deno compile --lite --target ...)
- Поддержка MSYS для Windows
- Добавлен новый метод Deno.resolveDns
- Настраиваемые разрешения для Workers
- Поддержка markdown для deno fmt
- Поддержка UTF-16 и Big5 для TextEncoder/TextDecoder

#jsrelease #deno #backend #javascript #webdev #typescript
Вышел tinyhttp 1.2

Что нового:
- CLI для быстрого старта приложений на tinyhttp
- Частичная поддержка Deno
- Поддержка нескольких хостов и регулярных выражений в @tinyhttp/cors
- Новая настройка в @tinyhttp/cors — preflightContinue

#jsrelease #tinyhttp #javascript #backend #webdev #nodejs
Вышел Deno 1.8

- Экспериментальная поддержка WebGPU для использования GPU внутри Deno
- Добавлено Intl API
- Поддержка lcov формата для покрытия тестов (deno coverage)
- Стабилизация Import Maps
- Поддержка приватных модулей (для скачивания которых нужен будет токен)

#jsrelease #deno #backend #javascript #typescript #webdev
Вышел Next.js 10.1

- Ускоренный в 3 раза React Refresh
- Улучшено время установки (были заменены многие устаревшие модули)
- Оптимизация для next/image теперь происходит через WebAssembly (+ поддержка Apple Silicon)
- Новое св-во loader для next/image, позволяющее добавлять свою собственную CDN для картинок
- В Next.js Commerce появилась интеграция с Shopify
- Настраиваемая страница для серверных ошибок (500.js)
- Поддержка поля "extends" в tsconfig.json для проектов на TypeScript
- Теперь при навигации с помощью next/router страница прокручивается обратно вверх
- Улучшена документация

#jsrelease #nextjs #frontend #webdev #fullstack #react #javascript
​​Вышел NativeScript 8

- Поддержка Apple M1 процессоров
- Поддержка Webpack 5
- Улучшен a11y
- Новое свойство hidden
- Новые правила ESLint для проектов на NativeScript
- Новый контейнер RootLayout
- Обновлены сайт и документация

#jsrelease #nativescript
Вышел 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
​​Вышел Deno 1.9

- Добавлена нативная поддержка HTTP (Deno.startHttp). std/http ещё будет существовать некоторое время, но позже его планируется убрать
- Поддержка Blob/Data URL для fetch
- Добавлены Deno.ftruncate / Deno.ftruncateSync
- Добавлен метод Deno.memoryUsage()

LSP

- Автокомплит для импортов относительных модулей
- Автокомплит для импортов из CDN (например deno.land/x)

#jsrelease #backend #deno #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
Вышел tinyhttp 1.3

- Поддержка Range заголовка для res.sendFile
- Content-Encoding и Last-Modified заголовки для res.sendFile
- Поддержка массивов для эндпоинтов (например app.use('/', [w1, w2]))
- Заголовки для кэширования в res.sendFile

#jsrelease #tinyhttp #nodejs #backend #webdev #javascript
Вышел Next.js 10.2

- prod сборка на 60% быстрее с помощью кэширования
- fast refresh ускорился на 0.1-0.2s
- запуск next dev на 24% быстрее
- улучшена доступность
- расширен функционал redirects / rewrites
- автоматическая оптимизация шрифтов

#jsrelease #nextjs #fullstack #frontend #webdev #react #javascript
​​Вышел V8 9.1

В новой версии JS движка, используемого в Chrome, Node.js и Deno:

- top-level await теперь включён по умолчанию (флаг больше не требуется)
- in оператор поддерживает приватные поля (#foo in obj)

#jsrelease #v8 #javascript