я сегодня впервые за 10+ лет разработки на nodejs воспользовался функцией Object.freeze(). если кто не знает, она запрещает изменять объект.
обнаружил, что у нас в backend какая-то сволочь в объект Error дописывает заголовки http запроса, а кто это делает — непонятно.
В итоге, вот такой код сразу выявил, кто гадит (не англичанка, сразу говорю):
throw Object.freeze(new TypeError('Do not touch my errors!'));
Соотвественно, появилась ошибка, что не удается мой объект модифицировать, и по стектрейсу нашел виновника — @koa/cors.