spent the whole morning debugging and it turns out the problem is some obscure dependency that hasn't been updated in 3 years. why do we still use npm again?