-
Notifications
You must be signed in to change notification settings - Fork 8
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
ensure node support since node 10 #119
Conversation
But why? Node 10 became EOL almost 4 years ago, and Node 14 nearly 2 years ago. |
Unfortunately I think we need to keep up the contract with ajv, which supports node 10 till latest. :/ |
From looking at the ajv repo, they don't have an engines value in the package.json, and they only test from node 16 onwards in their GitHub Workflows. No mention of a minimum Node version on the ajv site either 😬 |
@Fdawgs |
You're right, Ajv won't even build with Node 10: https://github.com/ajv-validator/ajv/actions/runs/12629749595/job/35188245130?pr=2522 |
Maybe we should ajk @epoberezkin to clarify the docs and remove node 10 - 14 as supported environments? |
|
To be fair, The proper CI should be built on fixed version (maybe 22) first, then run the test on the supported system. |
Thanks @climba03003, so i guess best thing to do would be to revert the optional chaining and add Node 10 - 14 to the CI? |
I think I made the proper changes, to fix it here. How should we progress? I basically fix also the transient fast-uri dependency of ajv to ensure that it really works. |
Yes, it also affect |
I dont think that we should bump a major here and make it depending on the versioning of fastify. This is a library and not a plugin of fastify. |
I'll do a quick release, thanks @Uzlopak |
The question is actually simple, are we continue to support |
We should maybe discuss this in contributor discussions, because we have other libraries in our org. Probably we need to decide if specific dependencies have "api contracts" with other projects. Here we have the special case, that we provided fast-uri as replacement of urljs to ajv and basically bound our library to ajv in a strong bound. Maybe we need to document this strong bound in the readme md. Like "this library works with ajv v8" and thus makes it mandatory to support the same range of engines. Maybe @epoberezkin clarifies, that node 10 is not supported anymore, but this could result in alot of changes in upstream projects. I see issues in angular and stuff. To be honest, I dont like the idea, that we have to carry projects, were node 12 is used to build the project. The maintainer should then switch to latest node. But this does not answer the question if ajv is purposefully supporting node 10+. Lets see what happens. |
parsed.path = escape(unescape(parsed.path)) | ||
} | ||
if (parsed.fragment?.length) { | ||
if (parsed.fragment && parsed.fragment.length) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit but parsed.fragment would also cover the length check here if a string indeed exists
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gurgunday Fancy throwing a PR together?
Checklist
npm run test
andnpm run benchmark
and the Code of conduct