url: ensure search property is consistently null vs empty#13606
url: ensure search property is consistently null vs empty#13606JustinBeckwith wants to merge 1 commit intonodejs:masterfrom
Conversation
|
We'll probably want to do a CITGM run to get an idea if this breaks stuff in the ecosystem. If so, we should mark it Seems good to me, but I'll defer to people more familiar with the |
|
CI failure on arm is unrelated, see #13603. |
|
short summary of previous discussion:
> url.parse('http://example.com/', false).search
null
> url.parse('http://example.com/', true).search
''
|
|
CITGM looks clean: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/868/ |
|
Pinging @nodejs/ctc since it's labeled |
|
@Trott how many releases had "bad" behavior? |
|
Looks like up to v4, at least. I'd go with semver major then. |
|
New CI after #13603 was fixed: https://ci.nodejs.org/job/node-test-pull-request/8625/ |
|
arm-fanned had an infra hiccup, rerunning: https://ci.nodejs.org/job/node-test-commit-arm-fanned/9386/ |
Had to kill macOS because of known bug nodejs/citgm#426 |
PR-URL: #13606 Fixes: #13404 Reviewed-By: Timothy Gu <timothygu99@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
|
Landed in c88ba03 |
|
@JustinBeckwith @jasnell This probably broke userland code like espadrine/sc#65 however I don't see a mention of History in the docs for url.parse. Should this be added? |
|
@styfle PR/issue welcome. |
|
Yep, a mention in the doc changelogs would be excellent |
|
@TimothyGu @jasnell I made a PR. But after thinking through this, I believe it's better to change @JustinBeckwith Why did you decide to use |
|
I generally don't like returning empty string when we're trying to convey that the value is 'unset'. Those to me mean very different things. That having been said - I was handed this as part of the code & learn at node.js interactive :) I don't think either solution is necessarily wrong, but there would be a cost to flip-flopping. |
Fixes: #13404
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passesAffected core subsystem(s)
url