Who

What is "opinionated" code?

The best code doesn’t get in the way. The best libraries enable and facilitate you. So when library authors are faced with a weird and crazy request, they have a fundamental choice:

“I can’t imagine that being useful. I’m closing this as wontfix.”

or

“It wasn’t built for that. Could you tell me more about what you’re trying to accomplish?”

Different programming communities tend to fall in one of those two camps.

Based on the github issues I’ve come across lately, Javascript and Typescript communities have a higher percentage of people in camp “I can’t see past the end of my nose”.

Before anyone gets all up-in-arms, of course an author needs to limit the scope of the library. The best libraries out there have very clear limits. They also have extension points like plugins, adapters, hooks, et.al. Every extension point is a humble admission:

I don’t and can’t know every way my library will be used, so instead of blocking you from doing things I can’t forsee I’ll enable you.

I remember when a library claiming to be “opinionated” meant it gave you behavior by default, straight out of the box. Now it seems to mean the library won’t let you do anything other than its sanctioned limited behavior.