я сегодня впервые за 10+ лет разработки на nodejs воспользовался функцией Object.freeze(). если кто не знает, она запрещает изменять объект.

обнаружил, что у нас в backend какая-то сволочь в объект Error дописывает заголовки http запроса, а кто это делает — непонятно.

В итоге, вот такой код сразу выявил, кто гадит (не англичанка, сразу говорю):

throw Object.freeze(new TypeError('Do not touch my errors!'));

Соотвественно, появилась ошибка, что не удается мой объект модифицировать, и по стектрейсу нашел виновника — @koa/cors.