-
-
Notifications
You must be signed in to change notification settings - Fork 16.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incompatible with path-to-regex ≥ 6 #4136
Comments
Yes, we know. The new version has a lot of changes that happened which breaks existing rout definitions. We are working to upgrade it in express 5 breaking release in this PR: pillarjs/router#42 |
If you are looking to use the new route syntax, we will have it out soon enough in a new express 5 pre release. Express 4 will continue to use the older path to regexp as we have set in our package.json as not to break existing express 4 apps 👍 |
@dougwilson: hi, I'm Debian Developer and try to update express in Debian. I'll wait for express 5 to update it 😉 NB: express is currently broken in Debian testing |
If you're looking to use express, you can find the install instructions here: https://github.com/expressjs/express/blob/master/Readme.md#installation |
@dougwilson : I know that. For security reason, Debian does not accepts sub-library embedding. Then express has to use Debian version for each of its dependencies. That's why I filed this issue. |
Ok, gotcha. So just a note that existing express 4 apps will just break if the wrong version of path to regex is loaded for them. Upgrading the lib in express won't fix app the apps using express as they would still be broken and they would have to use the new route syntax where applicable. |
@guimard why is the Debian package for express trying to use a different version of |
Because there is only one path-to-regexp, and updated at least each time a vulnerability is discovered. Here it was updated because some other modules needs it |
Note that I'm talking about Debian testing/unstable. When a Debian stable is published, there is no more any library update except for security reasons (or significant bug) |
I'm not sure what that means. There isn't a vulnerability against path-to-regexp that I've seen before, at least with the version we're using. Just because other modules may depend on other versions of path-to-regexp is not really relevant in the Node.js/npm ecosystem since the way packages are managed allows different modules to declare their own version ranges of modules. But, ultimately, path-to-regexp 6 will break existing express 4 apps. So if you're saying that Debian would require express to use path-to-regexp 6, even if we did that, apps written to work on express 4 would cease to function properly... |
Yes, it will break existing app for Debian testing users, but not for Debian stable users 😉 |
Node and Go have a really different eco-system than other languages. They allow to use an embedded outdated library while other don't. |
I still fail to see how something we would change would help anyone using Debian packages to install node modules. And I don’t think this is a use case we should ever support, this just should not be done. |
Hi,
express is not compatible with recent path-to-regex. The fix is simple but then test fail:
Cheers,
Xavier
The text was updated successfully, but these errors were encountered: