-
Notifications
You must be signed in to change notification settings - Fork 468
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
Infrastructure cleanup #568
Conversation
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.
This is amazing!
Due to the massiveness of the package-lock.json
changes, I've merely skimmed over those changes, but I'm confident that the scope of those changes were neceesary due to various npm version updates (which change the format of the file) and the overall shifting of modules.
LGTM!
This PR cleans up the build and testing infrastructure, similar to apollographql/apollo-server#1521.
file:
specifiers, as recommended by the Lerna author. This requires moving alldevDependencies
to the top-level package. The big benefit of this is that hoisting and linking no longer relies onlerna bootstrap
, but uses nativenpm
mechanisms. Among other things, this gives us a consistentpackage-lock.json
for the entire monorepo.npm ci
(which depends onpackage-lock.json
).package-lock.json
checksum to cache the npm cache dir.lerna run test
, we now use a single top-level Jest runner. This makes tests run a lot faster, and works really well in combination with file watching.--maxWorkers=2
. It turns out Jest by default uses the number of cores, which is way too much when running in a container, and leads to bad performance and failing tests.