Node.js Recipes
3.11K subscribers
173 photos
7 videos
1 file
610 links
Download Telegram
Channel created
Когда можно считать, что вышла новая версия Node.js?
#docker #devops

У #Nodejs есть официальный график выхода и поддержки мажорных версий. Так 20 апреля ожидается первый релиз 16 версии Node.js.
Выход минорных и патч версий не имеет графика, а определяется Node.js Release Working Group.
Например, 6 апреля была опубликована версии 14.16.1. Спустя 24 часа Node.js Docker Working Group опубликовали эту версию на Docker Hub.
Еще раз, за выпуск binary и Docker image отвечают разные люди, поэтому задержка составляет сутки и более.
В современных проектах Node.js запускается как Docker контейнер, поэтому именно появление новой версии Docker Image стоит считать выходом новой версии.
Как правильно настроить TypeScript в Node.js проекте?
#typescript #best_practice

Как tsconfig.json появился в вашем проекте? Наиболее распространенные варианты:
1. Сделан фреймворком. В моем тех стэке, это npx @nestjs/cli new project-name
2. Результат команды ./node_modules/.bin/tsc --init
3. Копирование из другого проекта.

Каждый из этих вариантов, не учитывает под какой версией #nodejs вы будете запускать ваш проект. В результате этого, вы не можете использовать новые JavaScript конструкции.

TypeScript Wiki рекомендует такие настройки под Node.js v14:
{
"compilerOptions": {
"lib": ["ES2020"],
"module": "commonjs",
"target": "ES2020"
}
}

Для сравнения стандартная настройка Nest.js:

{
"compilerOptions": {
"module": "commonjs",
"target": "ES2017"
}
}

После изменения конфигурации у меня заработал Array.flat, ради которого я изучал этот вопрос. Полный список новых поддерживаемых фич ECMAScript можно посмотреть в исходниках typescript@src/lib.