While there are newer types available for newer Node.js APIs, the `8.x` range still gets most of the important updates via back-ports on the `DefinitelyTyped` repository. I believe it'll be safer to limit the types to the version which we intend on developing for most directly, which is Node.js 8. Node.js 10 has newer APIs but until we can drop Node.js 8 support (which is not at all anytime soon), we should try to stick to the `8.x` API types.
We will drop Node.js 6 support in the next major version of Apollo Server since it will end it's "Long-Term Support" coverage [in April 2019](https://github.com/nodejs/LTS/).
Hopefully this will auto-close #2302. 😉
This updates the `renovate.json` to remove a version pinning of `lint-staged` which clearly didn't work since the current version of `lint-staged` is newer than `v7`.
Renovate v12 introduces a default of `pinVersions=false` and removes the hardcoded `peerDependencies.pinVersions=false` setting. This repository's root level `pinVersions=true` therefore then trickles down to `peerDependencies` as well. This PR updates Renovate config to use a preset that pins everything except `peerDependencies`.
As determined in
https://github.com/renovateapp/config-help/issues/23#issuecomment-377202632,
it seems that it's not possible to have this sort of inherited
configuration. It's possible that when I first introduced this behavior
that this behavior was on its way out (and the breaking change in Renovate
v11 on its way in).
Luckily, Renovate's shared configuration option still allows this to be
relatively painless and our `apollo-docs` shared configuration[0] does most
of the heavy lifting here so there won't be too much Renovate toe-stepping.
If this works well in the `apollo-server` repository, I'll transplant this
change to the other docs repositories[1].
[0] https://github.com/apollographql/renovate-config-apollo-docs
[1] https://github.com/meteor/hexo-theme-meteor