Марек Маркевка пишет простую функцию внутри Next.js-приложения.
const isOwner = (userMail: string, ownerMail: string) => {
return userMail === ownerMail;
};
Казалось бы, что может пойти не так? Функция же примитивная, для неё тестов много не нужно.
Беда в том, что в месте вызова
isOwner(email1, email2) всегда возвращается true. Почему так? Читайте в статье.На самом деле статья про то, что всякие автоматизации поверх вашего кода нужно понимать и знать. Next.js и React 19 принесли много «полезной автоматики», которая может привести к критичным багам в проде, если не разбираться, во что ваш код на самом деле превращается в итоговом продовом бандле.
Я поэтому предпочитаю сначала всякие улучшалки выключить совсем, а потом постепенно по одной включать, пробовать, экспериментировать.
https://marma.dev/articles/2025/when-perfect-code-fails