webholics/node-url-utils — pull request #4 by mitar (2014-04-23 00:33:55+00:00)
Title: Normalize escaped characters correctly

Not all escaped characters should be escaped. Normalization should take
care of this. A better approach is to simply do
encodeURIComponent(decodeURIComponent(...)).

Path and query segments are now normalized in this way. + should be
replaced only in query string with space, not in path segments or hash
(hash/anchor can contain many characters, + as well).

Normalization of index.html is quite aggressive and far from universal.
Made it optional.

A good reference for normalization techniques and pros/cons is:
https://en.wikipedia.org/wiki/URL_normalization