I don’t think there are any OSS/FLOSS licenses that have non-commercial clauses, so CC NC is the best you can get among popular licenses.
When you use dependencies, your project (its users) must comply with all of the licenses together. IANAL, but I think CC and MIT (and other similarly permissive) licenses are compatible — you’ll need to include text of the permissive licenses to comply, and that’s not against CC.
If you take contributions, be clear what license they give you.
I maintain a long-term Rust + Node.js project, and the Node side is the painful one.
Node makes backwards-incompatible changes, and doesn’t have anything like the editions to keep old packages working. I can end up with some dependencies working only up to Node vX, and some other deps needing at least Node v(X+1).