Когда можно считать, что вышла новая версия 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 стоит считать выходом новой версии.
#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
Как
1. Сделан фреймворком. В моем тех стэке, это
2. Результат команды
3. Копирование из другого проекта.
Каждый из этих вариантов, не учитывает под какой версией #nodejs вы будете запускать ваш проект. В результате этого, вы не можете использовать новые JavaScript конструкции.
TypeScript Wiki рекомендует такие настройки под Node.js v14:
Для сравнения стандартная настройка Nest.js:
После изменения конфигурации у меня заработал
#typescript #best_practice
Как
tsconfig.json появился в вашем проекте? Наиболее распространенные варианты:1. Сделан фреймворком. В моем тех стэке, это
npx @nestjs/cli new project-name2. Результат команды
./node_modules/.bin/tsc --init3. Копирование из другого проекта.
Каждый из этих вариантов, не учитывает под какой версией #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.