Как обнаружить синхронные операции в Node.js коде?
#nodejs_api
Каждый #nodejs разработчик знает, что блокировать Event Loop-а плохо. Блокировка может быть по двум причинам:
– cpu intensive операции, т.е. с большим количеством вычислений. Примеры: трансформация JSON объекта на 2 мегабайта, обход большого массива, подсчеты хешей.
– синхронные операции, т.е. операции которые до своего завершения блокируют Event Loop, читай дальнейшее выполнение JavaScript. Пример – все синхронные файловые операции.
Ваш код может использовать синхронные операции неявно. Кто его знает, что там в node_modules. Именно о том, как быстро найти такие места этот рецепт.
У Node.js есть специальный флаг --trace-sync-io. При его использование в консоль будут выводить trace для первого вызова любого синхронного вызова. Запускаем с этим флагом или c переменной окружения
Рецепты по теме:
- Как запускать Node.js с доп. аргументами?
#nodejs_api
Каждый #nodejs разработчик знает, что блокировать Event Loop-а плохо. Блокировка может быть по двум причинам:
– cpu intensive операции, т.е. с большим количеством вычислений. Примеры: трансформация JSON объекта на 2 мегабайта, обход большого массива, подсчеты хешей.
– синхронные операции, т.е. операции которые до своего завершения блокируют Event Loop, читай дальнейшее выполнение JavaScript. Пример – все синхронные файловые операции.
Ваш код может использовать синхронные операции неявно. Кто его знает, что там в node_modules. Именно о том, как быстро найти такие места этот рецепт.
У Node.js есть специальный флаг --trace-sync-io. При его использование в консоль будут выводить trace для первого вызова любого синхронного вызова. Запускаем с этим флагом или c переменной окружения
NODE_OPTIONS=--trace-sync-io и анализируем результаты. На своем проекте я так обнаружил, что пора выкинуть module-alias и переконфигурировать pino.Рецепты по теме:
- Как запускать Node.js с доп. аргументами?
About Team Setup.mp4
56.6 MB
#voice_chat About Team Setup
Гость: Виталий Ратушный, Tech Enthusiast, Interviewer, Architect. Trying to get to the bottom of things. First principles thinker. Passionate ‘bout neuropsychology and perception development.
Вопросы:
❓ Какие роли могут быть в команде?
❓ Как UX/UI дизайнер участвует в разработке?
❓ Кто такой продукт овнер и откуда он берет требования?
❓ Кто такой техлид/архитектор? Что такое право на push-back?
❓ Какой состав Dream Team?
Задавайте вопросы в комментариях и подключайтесь в эфир!
Гость: Виталий Ратушный, Tech Enthusiast, Interviewer, Architect. Trying to get to the bottom of things. First principles thinker. Passionate ‘bout neuropsychology and perception development.
Вопросы:
❓ Какие роли могут быть в команде?
❓ Как UX/UI дизайнер участвует в разработке?
❓ Кто такой продукт овнер и откуда он берет требования?
❓ Кто такой техлид/архитектор? Что такое право на push-back?
❓ Какой состав Dream Team?
Задавайте вопросы в комментариях и подключайтесь в эфир!
Вышел Prettier v.2.4.0
Если вы не обновляли TypeScript до 4.4, то теперь ну точно пора. В новой версии Prettier завезли поддержку новых фич из TS. Подробней в блоге
Если вы не обновляли TypeScript до 4.4, то теперь ну точно пора. В новой версии Prettier завезли поддержку новых фич из TS. Подробней в блоге
prettier.io
Prettier 2.4: new bracketSameLine option and TypeScript 4.4 support! · Prettier
This release renames the `jsxBracketSameLine` option to `bracketSameLine`, which supports HTML, Vue, and Angular in addition to JSX. The old name has been deprecated.
Forwarded from Nikita
Через 2 часа начинаем Cloud Study Jam!
Ссылка для подключения: https://gdg.community.dev/e/mrkfg2/ Будет доступна за 15 минут до начала
Чат для обсуждений во время и после: https://xn--r1a.website/GDGCloudKyiv_chat
Как получить аккаунт:
1. Откройте в режиме инкогнито https://go.qwiklabs.com/cloud-study-jams-2021
2. Нажмите Enroll под Deploy to Kubernetes
3. Введите код 1s-kyiv-6969, он будет работать ближайшие 24 часа
4. Нажмите Join to Enroll in this Quest
5. Если аккаунт уже есть, то нажмите Sign in instead или создайте новый аккаунт на Qwikilabs. Если емейл долго не приходит воспользуйтесь www.qwiklabs.com/users/confirmation/new
6. После авторизации нажмите Enroll Quest.
7. Начните первую лабораторную. Пожалуйста, не нажимайте окончить раньше чем через 5 минут после старта. Это необходимо, чтобы получить ваш первый месяц бесплатного пользования платформой.
8. Окончите все лабораторные. Получите ваш бейдж и еще один месяц пользования платформой.
Агенда:
11:00 - 11:30 Welcome
11:30 - 13:30 Совместное прохождение квеста
13:30 - 14:00 Обсуждение ресурсов для обучения GCP, Cloud Native и Kubernetes
Ссылка для подключения: https://gdg.community.dev/e/mrkfg2/ Будет доступна за 15 минут до начала
Чат для обсуждений во время и после: https://xn--r1a.website/GDGCloudKyiv_chat
Как получить аккаунт:
1. Откройте в режиме инкогнито https://go.qwiklabs.com/cloud-study-jams-2021
2. Нажмите Enroll под Deploy to Kubernetes
3. Введите код 1s-kyiv-6969, он будет работать ближайшие 24 часа
4. Нажмите Join to Enroll in this Quest
5. Если аккаунт уже есть, то нажмите Sign in instead или создайте новый аккаунт на Qwikilabs. Если емейл долго не приходит воспользуйтесь www.qwiklabs.com/users/confirmation/new
6. После авторизации нажмите Enroll Quest.
7. Начните первую лабораторную. Пожалуйста, не нажимайте окончить раньше чем через 5 минут после старта. Это необходимо, чтобы получить ваш первый месяц бесплатного пользования платформой.
8. Окончите все лабораторные. Получите ваш бейдж и еще один месяц пользования платформой.
Агенда:
11:00 - 11:30 Welcome
11:30 - 13:30 Совместное прохождение квеста
13:30 - 14:00 Обсуждение ресурсов для обучения GCP, Cloud Native и Kubernetes
Free Oracle Cloud Training and Certificates
#freebies
Конкуренция среди Cloud Provider-ов идет не только за клиентов, но и за разработчиков, которые начинают свой путь в облачные технологии. Большая тройка AWS, GCP и Azure являются безусловными фаворитами. Компаниям, которые с ними конкурируют приходиться давать лучше условия – бесплатные обучения/сертификации, больше бесплатных ресурсов во free tier.
Такой компанией является Oracle. Да у них есть свой Cloud. До конца года можно пройти бесплатное self-paced обучение с возможностью сдать сертификацию. Есть ветки развития как для разработчиков, так и для архитекторов.
🔗 Oracle University
🔗 free tier
#freebies
Конкуренция среди Cloud Provider-ов идет не только за клиентов, но и за разработчиков, которые начинают свой путь в облачные технологии. Большая тройка AWS, GCP и Azure являются безусловными фаворитами. Компаниям, которые с ними конкурируют приходиться давать лучше условия – бесплатные обучения/сертификации, больше бесплатных ресурсов во free tier.
Такой компанией является Oracle. Да у них есть свой Cloud. До конца года можно пройти бесплатное self-paced обучение с возможностью сдать сертификацию. Есть ветки развития как для разработчиков, так и для архитекторов.
🔗 Oracle University
🔗 free tier
Обзор Node.js v16: Что такое corepack и как он работает?
#nodejs_api
В Node.js v16.9 добавили corepack. Данный инструмент является экспериментальным и упрощать работу с альтернативными менеджеров зависимостей. При обращение к yarn или pnpm (поддерживаемые менеджеры) будет происходит вызов установленных corepack-ом так называемые глобальных binary proxies. Данные прокси смотрят поле packageManager в package.json и вызывает соответствующую версию yarn/pnpm. При необходимости происходит установка отсутствующего менеджера. Если package.json нет, то используется LTS версия менеджера. Поддержки npm нет, так как npm устанавливается глобально вместе с Node.js. Инструмент улучшает Repeatability и решает проблему отсутствия аналогов nvm для yarn/pnp.
Мое личное отношение к альтернативным менеджерам – они расслаивают экосистему и комьюнити. Я стараюсь избегать таких вещей. В разработке хватает инструментов и проблем вызванных их обилием. Однако я понимаю почему данный инструмент необходим комьюнити. Уверен и вы поймете, если вспомните что в марте 2020 GitHub/Microsoft поглотили компанию npm. Именно в марте 2020 был написан первый коммит corepack, который тогда назывался pmm. Поэтому я считаю, что corepack это правильный шаг без которого слишком легко оказаться в тупике развития моностэка технологий.
#nodejs_api
В Node.js v16.9 добавили corepack. Данный инструмент является экспериментальным и упрощать работу с альтернативными менеджеров зависимостей. При обращение к yarn или pnpm (поддерживаемые менеджеры) будет происходит вызов установленных corepack-ом так называемые глобальных binary proxies. Данные прокси смотрят поле packageManager в package.json и вызывает соответствующую версию yarn/pnpm. При необходимости происходит установка отсутствующего менеджера. Если package.json нет, то используется LTS версия менеджера. Поддержки npm нет, так как npm устанавливается глобально вместе с Node.js. Инструмент улучшает Repeatability и решает проблему отсутствия аналогов nvm для yarn/pnp.
Мое личное отношение к альтернативным менеджерам – они расслаивают экосистему и комьюнити. Я стараюсь избегать таких вещей. В разработке хватает инструментов и проблем вызванных их обилием. Однако я понимаю почему данный инструмент необходим комьюнити. Уверен и вы поймете, если вспомните что в марте 2020 GitHub/Microsoft поглотили компанию npm. Именно в марте 2020 был написан первый коммит corepack, который тогда назывался pmm. Поэтому я считаю, что corepack это правильный шаг без которого слишком легко оказаться в тупике развития моностэка технологий.
#announcement #voice_chat
16 сентября в 21:00 поговорим о инструментах разработчика.
Гость: Старовойт Андрей, Team Lead WebStorm в JetBrains. Последние семь лет работает над поддержкой самых разных технологий в IDE, начиная от простых библиотек вроде classnames, заканчивая React и TypeScript.
Вопросы:
❓ Что такое инструменты разработчика?
❓ Где проходит граница между текстовым редактор и средой разработки?
❓ Какие инструменты помимо того где мы пишем код, имеют значение?
❓ Как добавляется поддержка для библиотек и фреймворков?
🔥 И конечно извечный холивар JavaScript VS TypeScript
Ссылка для подключения: https://xn--r1a.website/node_recipes?voicechat
До встречи в эфире!
16 сентября в 21:00 поговорим о инструментах разработчика.
Гость: Старовойт Андрей, Team Lead WebStorm в JetBrains. Последние семь лет работает над поддержкой самых разных технологий в IDE, начиная от простых библиотек вроде classnames, заканчивая React и TypeScript.
Вопросы:
❓ Что такое инструменты разработчика?
❓ Где проходит граница между текстовым редактор и средой разработки?
❓ Какие инструменты помимо того где мы пишем код, имеют значение?
❓ Как добавляется поддержка для библиотек и фреймворков?
🔥 И конечно извечный холивар JavaScript VS TypeScript
Ссылка для подключения: https://xn--r1a.website/node_recipes?voicechat
До встречи в эфире!
#announcement
Слабые игроки жалуются на то, что рынок труда перегрет, а сильные вкладываются в свои образовательные программы.
20-22 сентября NiX проводит тестирование и набор на внутреннее обучение. Событие пройдет оффлайн в Харькове, Fabrika.space. Перешлите это сообщение вашим харьковским друзьям, которые хотят вайти в айти.
Регистрация и подробности https://nix-education-testing.com/
Слабые игроки жалуются на то, что рынок труда перегрет, а сильные вкладываются в свои образовательные программы.
20-22 сентября NiX проводит тестирование и набор на внутреннее обучение. Событие пройдет оффлайн в Харькове, Fabrika.space. Перешлите это сообщение вашим харьковским друзьям, которые хотят вайти в айти.
Регистрация и подробности https://nix-education-testing.com/
#voice_chat about Development Tools
Гость: Старовойт Андрей, Team Lead WebStorm в JetBrains. Последние семь лет работает над поддержкой самых разных технологий в IDE, начиная от простых библиотек вроде classnames, заканчивая React и TypeScript.
Вопросы:
❓ Что такое инструменты разработчика?
❓ Где проходит граница между текстовым редактор и средой разработки?
❓ Какие инструменты помимо того где мы пишем код, имеют значение?
❓ Как добавляется поддержка для библиотек и фреймворков?
🔥 И конечно извечный холивар JavaScript VS TypeScript
PS К сожалению я допустил где-то ошибку и запись не произошла. Возможно это глюк телеграмма. Если кто знает как это решить – прошу в личку.
Гость: Старовойт Андрей, Team Lead WebStorm в JetBrains. Последние семь лет работает над поддержкой самых разных технологий в IDE, начиная от простых библиотек вроде classnames, заканчивая React и TypeScript.
Вопросы:
❓ Что такое инструменты разработчика?
❓ Где проходит граница между текстовым редактор и средой разработки?
❓ Какие инструменты помимо того где мы пишем код, имеют значение?
❓ Как добавляется поддержка для библиотек и фреймворков?
🔥 И конечно извечный холивар JavaScript VS TypeScript
PS К сожалению я допустил где-то ошибку и запись не произошла. Возможно это глюк телеграмма. Если кто знает как это решить – прошу в личку.
14 октября пройдет бесплатная онлайн JS #conference от компании JetBrains. Язык докладов английский. Стриминг платформа – YouTube, так что записи будут доступны сразу. Тем не менее я рекомендую смотреть онлайн и задавать вопросы.
В программе 9 докладов. Лично меня заинтересовали: работа с монорепой и новый подход во фронтенде – htmx.
Регистрация: https://pages.jetbrains.com/javascript-day-2021
В программе 9 докладов. Лично меня заинтересовали: работа с монорепой и новый подход во фронтенде – htmx.
Регистрация: https://pages.jetbrains.com/javascript-day-2021
#cfp #conference
🔍 Команда Fwdays ищет докладчиков на онлайн конференцию для JS разработчиков - Fwdays: JS is back!, которая пройдет 27 ноября!
Приоритетные тематики докладов:
▪️GraphQL
▪️BFF: Backend for Frontend
▪️Exotic JavaScript: devices, VR/AR, DevOps
▪️Performance
▪️Security
▪️Testing
▪️Switch to JS
▪️Not only JS
Если вы или ваши коллеги желаете выступить, обязательно присылайте заявку до 25 октября👉 https://bit.ly/3zgt9eP
Есть сомнения в теме или ораторских способностях? Не страшно, Fwdays вместе с программным комитетом конференции помогут подготовиться к выступлению 😉
🔍 Команда Fwdays ищет докладчиков на онлайн конференцию для JS разработчиков - Fwdays: JS is back!, которая пройдет 27 ноября!
Приоритетные тематики докладов:
▪️GraphQL
▪️BFF: Backend for Frontend
▪️Exotic JavaScript: devices, VR/AR, DevOps
▪️Performance
▪️Security
▪️Testing
▪️Switch to JS
▪️Not only JS
Если вы или ваши коллеги желаете выступить, обязательно присылайте заявку до 25 октября👉 https://bit.ly/3zgt9eP
Есть сомнения в теме или ораторских способностях? Не страшно, Fwdays вместе с программным комитетом конференции помогут подготовиться к выступлению 😉
Что нужно знать об Error stack trace?
#nodejs_api
В JavaScript есть встроенный объект Error, который сохраняет stack trace (на русском трассировка стека). Так называется список методов, которые были вызваны до момента, когда в приложении произошло ошибка. Он доступен как error.stack и выглядит так:
Плохой практикой является использование throw c литералами или объектами не наследниками Error. У них не будет stack trace.
По умолчанию длина стэка ограничена 10 методами. Параметр можно изменить на уровне кода через Error.stackTraceLimit. На уровне v8 существует флаг --stack-trace-limit. Его можно передать как аргумент или через переменную окружения NODE_OPTIONS=--stack-trace-limit=10
Начиная с 12-ой версии Node.js у нас есть поддержка Async Stack Traces. Пример stack trace:
Для поддержки этих stack trace рекомендуется делать await перед return. Подробней в nodebestpractices.
Если код скомпилирован с помощью babel или typescript, то правильным будет показывать stack trace для исходного кода, а не скомпилированного. Для этого использовался пакет source-map-support. Под капотом идет использование Error.prepareStackTrace. Однако сейчас Node.js умеет это делать из коробки с помощью флага --enable-source-maps
#nodejs_api
В JavaScript есть встроенный объект Error, который сохраняет stack trace (на русском трассировка стека). Так называется список методов, которые были вызваны до момента, когда в приложении произошло ошибка. Он доступен как error.stack и выглядит так:
Error: Things keep happening!
at /home/user/file.js:525:2
at Frobnicator.refrobulate (/home/user/business-logic.js:424:21)
at Actor.<anonymous> (/home/user/actors.js:400:8)
at increaseSynergy (/home/user/actors.js:701:6)Плохой практикой является использование throw c литералами или объектами не наследниками Error. У них не будет stack trace.
По умолчанию длина стэка ограничена 10 методами. Параметр можно изменить на уровне кода через Error.stackTraceLimit. На уровне v8 существует флаг --stack-trace-limit. Его можно передать как аргумент или через переменную окружения NODE_OPTIONS=--stack-trace-limit=10
Начиная с 12-ой версии Node.js у нас есть поддержка Async Stack Traces. Пример stack trace:
Error: Oops at bar (/workspace/test.js:11:9) at async run (/workspace/test.js:5:3)Для поддержки этих stack trace рекомендуется делать await перед return. Подробней в nodebestpractices.
Если код скомпилирован с помощью babel или typescript, то правильным будет показывать stack trace для исходного кода, а не скомпилированного. Для этого использовался пакет source-map-support. Под капотом идет использование Error.prepareStackTrace. Однако сейчас Node.js умеет это делать из коробки с помощью флага --enable-source-maps
👍3
#announcement #voice_chat
23 сентября в 21:00 поговорим о софт скилах.
Гость: Виталий Петренко, JS master, со-организатор Kharkiv Frontend митапов и конференций, евангелист спокойствия и доброжелательности.
Вопросы:
❓ Что такое софт скилы? Как они проявляются в ежедневной работе инженера?
❓ Кто и как проверяет софт скилы во время найма?
❓ Почему важно ставить цели, как совмещать личные цели и цели проекта/команды?
❓ Какие отличия в требованиях к софт и хард скилам в аутсорсе и продукте?
Ссылка для подключения: https://xn--r1a.website/node_recipes?voicechat
До встречи в эфире!
23 сентября в 21:00 поговорим о софт скилах.
Гость: Виталий Петренко, JS master, со-организатор Kharkiv Frontend митапов и конференций, евангелист спокойствия и доброжелательности.
Вопросы:
❓ Что такое софт скилы? Как они проявляются в ежедневной работе инженера?
❓ Кто и как проверяет софт скилы во время найма?
❓ Почему важно ставить цели, как совмещать личные цели и цели проекта/команды?
❓ Какие отличия в требованиях к софт и хард скилам в аутсорсе и продукте?
Ссылка для подключения: https://xn--r1a.website/node_recipes?voicechat
До встречи в эфире!
Как выстрелить себе ногу с помощью microservices?
#architecture
Сегодня рецептик в стиле вредных советов, специально для тех, кто хочет осознано завалить проект.
⚠️ Начинайте новый проект сразу на микросервисах. Monolith first устарел
⚠️ Начиная со второго микросервиса внедрите распределенные транзакции.
⚠️ Оставьте бизнес домен бизнесу. Микросервисы не должны иметь связь с бизнес доменом, вместо этого делайте их универсальными. DDD не для инженеров.
⚠️ Не задумывайтесь об версионирование. Версионирование данных, контрактов, микросервисов, всей системы в целом – возникнет само.
⚠️ Избегайте инструментов для оркестрирования (Kubernetes, Istio и т.д.). Они только усложняют работу. Делайте все на уровне кода, а не на уровне инфраструктуры.
⚠️ Микросервисы созданы, чтобы пробовать новые технологии. Поэтому чем больше у вас будет новых технологий, тем лучше! Каждый новый микросервис – новый фреймворк, а лучше язык!
#architecture
Сегодня рецептик в стиле вредных советов, специально для тех, кто хочет осознано завалить проект.
⚠️ Начинайте новый проект сразу на микросервисах. Monolith first устарел
⚠️ Начиная со второго микросервиса внедрите распределенные транзакции.
⚠️ Оставьте бизнес домен бизнесу. Микросервисы не должны иметь связь с бизнес доменом, вместо этого делайте их универсальными. DDD не для инженеров.
⚠️ Не задумывайтесь об версионирование. Версионирование данных, контрактов, микросервисов, всей системы в целом – возникнет само.
⚠️ Избегайте инструментов для оркестрирования (Kubernetes, Istio и т.д.). Они только усложняют работу. Делайте все на уровне кода, а не на уровне инфраструктуры.
⚠️ Микросервисы созданы, чтобы пробовать новые технологии. Поэтому чем больше у вас будет новых технологий, тем лучше! Каждый новый микросервис – новый фреймворк, а лучше язык!
Через неделю начинается Hacktoberfest!
#announcement
Каждый октябрь Digital Ocean проводит Hacktoberfest. Цель данного мероприятия поощрить участие в проектах с открытым исходным кодом. Если говорить конкретно, то схема такая: в течение октября открыл 4-е пул реквеста в open source проекты – получаешь футболку. В зачет идет любой инкремент, в том числе правки в документацию, тесты и конечно новые фичи.
Участвующие проекты:
– Github: https://github.com/topics/hacktoberfest
– Gitlab: https://gitlab.com/explore/projects?topic=hacktoberfest
Что я рекомендую делать в рамках этого мероприятия:
– Если вы maintainer, т.е. разработчик open source проекта, добавьте тэги на ваш проект и напишите как вам помочь в репозитории и в соц.сетях.
– Если вы комьюнити лид, организуйте мероприятие в партнерстве с одним из open source проектов.
– Если вы просто разработчик, внесите свой вклад в opensource, а заодно выучите что-то новое. Как говориться, поднялся сам спусти лифт для следующего.
Что касается меня, то я сделаю свой контрибьюшен в DefinitelyTyped. Этот репозиторий содержит @types пакеты для поддержки работы typescript.
#announcement
Каждый октябрь Digital Ocean проводит Hacktoberfest. Цель данного мероприятия поощрить участие в проектах с открытым исходным кодом. Если говорить конкретно, то схема такая: в течение октября открыл 4-е пул реквеста в open source проекты – получаешь футболку. В зачет идет любой инкремент, в том числе правки в документацию, тесты и конечно новые фичи.
Участвующие проекты:
– Github: https://github.com/topics/hacktoberfest
– Gitlab: https://gitlab.com/explore/projects?topic=hacktoberfest
Что я рекомендую делать в рамках этого мероприятия:
– Если вы maintainer, т.е. разработчик open source проекта, добавьте тэги на ваш проект и напишите как вам помочь в репозитории и в соц.сетях.
– Если вы комьюнити лид, организуйте мероприятие в партнерстве с одним из open source проектов.
– Если вы просто разработчик, внесите свой вклад в opensource, а заодно выучите что-то новое. Как говориться, поднялся сам спусти лифт для следующего.
Что касается меня, то я сделаю свой контрибьюшен в DefinitelyTyped. Этот репозиторий содержит @types пакеты для поддержки работы typescript.
Hacktoberfest
Hacktoberfest 2025
Hacktoberfest: a month-long celebration of open-source projects, their maintainers, and the entire community of contributors.
Audio
Гость: Виталий Петренко, JS master, со-организатор Kharkiv Frontend митапов и конференций, евангелист спокойствия и доброжелательности.
Вопросы:
❓ Что такое софт скилы? Как они проявляются в ежедневной работе инженера?
❓ Кто и как проверяет софт скилы во время найма?
❓ Почему важно ставить цели, как совмещать личные цели и цели проекта/команды?
На последним минутах подключился Алексей Мигуцкий.
Вопросы:
❓ Что такое софт скилы? Как они проявляются в ежедневной работе инженера?
❓ Кто и как проверяет софт скилы во время найма?
❓ Почему важно ставить цели, как совмещать личные цели и цели проекта/команды?
На последним минутах подключился Алексей Мигуцкий.
Обзор Node.js v16: Что нового в npm v7?
#npm
При установке Node.js автоматически устанавливается npm. Конкретная версия идет как часть бинарника. Ее конечно можно изменить, но я не рекомендую это делать – вам придется делать это везде, т.е. скорее всего вы нарушите repeatability.
Переход с 14-ой версия Node.js на 16-ую обновит npm с 6-ой на 7-ую. Полный список изменений тут. А вот краткий:
– ускорен
– новый формат package-lock.json v2, без обратной совместимости.
– добавлен
– добавлены
–
– появился глобальный флаг
Рецептики по теме:
– Что такое .npmrc и почему его стоит добавить?
– Как померять время выполнения команды в терминале?
#npm
При установке Node.js автоматически устанавливается npm. Конкретная версия идет как часть бинарника. Ее конечно можно изменить, но я не рекомендую это делать – вам придется делать это везде, т.е. скорее всего вы нарушите repeatability.
Переход с 14-ой версия Node.js на 16-ую обновит npm с 6-ой на 7-ую. Полный список изменений тут. А вот краткий:
– ускорен
npm install так что время сопоставимо с yarn@1. На моем проекте время установки сократилось с 33 секунд до 21.– новый формат package-lock.json v2, без обратной совместимости.
– добавлен
npm exec для запуска любой произвольной команды, как если бы это был сценарий npm. По сути это замена npx, который устарел.– добавлены
workspaces (привет монорепозитории). Подробней в документации–
npm audit теперь исправляет больше рисков. – появился глобальный флаг
prefer-dedupe, благодаря которому не нужно запускать npm dedupeРецептики по теме:
– Что такое .npmrc и почему его стоит добавить?
– Как померять время выполнения команды в терминале?