You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Actually, in issue #4593, I provided Express the imported view engine instance.
I registered it as "Eta" (".Eta" internally), and Express did not use it for search.eta (because it was only looking for the ".eta" one), triggering the undesired automatic require.
Hm, that is a good point. I don't think such a change would be backwards compatible, but it could potentially be changed in a future major version of Express. I would like to leave this open to explore if folks are using the case sensitivity or not before we should decide on the change. Most file systems are not case insensitive.
@dougwilson how would it not be backwards-compatible, except if a user foolishly specified 2 same-name view engines with only casing as a difference? Bumping as it may be a good time to take a decision on this issue with the v5 beta's?
To me it feels logical, just as an OS treats ..JPG & .jpg as the same ext.
But I would only support it if the toLowerCase is only required at the view engine definition level (not for each template)
Hi @webketje thanks for your input. We are trying to refrain from continuing to snowball the 5.x release with endless changes, and ideally just the last few on the list are all that is left. The change can just be targeted to the next major.
As for why it is not backwards compatible, as stated, most file systems (particularly on servers) are not case insensitive, and so you can actually have both a index.foo and a index.Foo file. Unfortunately we do not have insight in to all the ways folks use Express, and we have many examples and experience that a change like this will break folks. Since we value a stable API where you don't have to worry about upgrading Express, this is a breaking change, as it would change the behavior of view engine extension registration.
Actually, in issue #4593, I provided Express the
import
ed view engine instance.I registered it as
"Eta"
(".Eta"
internally), and Express did not use it forsearch.eta
(because it was only looking for the".eta"
one), triggering the undesired automaticrequire
.Maybe it should normalize the
ext
to a single case?express/lib/application.js
Lines 293 to 307 in 5c4f3e7
express/lib/view.js
Lines 52 to 88 in 5c4f3e7
The text was updated successfully, but these errors were encountered: