* Fix Node's path.format() requiring all options
The bug manifested during use of path.win32 and path.posix submodules.
Both functions required all of the options to exist which is not
the case as some override others.
Further research indicated that previous Node versions were also
susceptible, up to v4.
I've used the Typescript's Partial<> type which makes all properties
optional, allowing for easier maintenance and readabillity at the cost
of now requiring Typescript 2.1, which I believe is a good trade-off.
* Revert the decision to use TS 2.1 in @types/node
Updating Typescript version would require to update
all other types that rely on Node, which may be quite a lot.
Fixing a bug is not a big enough reason to add new version to all
of those packages.
According to official docs the settings for setupMaster settings are just the ClusterSettings.
There is an ClusterSettings interface already but setupMaster function parameters refered to incomplete and unnecessary ClusterSetupMasterSettings. I deleted the ClusterSetupMasterSettings interface and refer to the existing ClusterSettings which are correct.
https://nodejs.org/docs/latest-v8.x/api/cluster.html#cluster_cluster_setupmaster_settings
* tabs to spaces
* [node] improve typing of query.parse()
* Update according to review:
- Better naming UrlParsedQuery => UrlWithParsedQuery, UrlStringQuery => UrlWithStringQuery
- replace Url type by UrlWithParsedQuery | UrlWithStringQuery
* Re-introduce url.Url as it is used by several other modules.
Add `Buffer.alloc`, `Buffer.allocUnsafe` and `Buffer.allocUnsafeSlow`
class methods that were backported to node v4 (starting with v4.5).
In addition add tests to all node versions for these class methods and
fix tslint configuration to pass the tests
* Node: `path.format` input properties are optional
If `base` does not exist, `name` and `ext` will be used to compute it.
http://devdocs.io/node/path#path_path_format_pathobject
* Node: `FormatInputPathObject`: all properties are optional
* Node: add myself as author
* Avoid usage of `Partial`