set up prettier-eslint
This PR adds the format
npm script, which uses prettier to format the code according the the eslint rules. It's necessary to maintain our own script since prettier-eslint-cli pulls in an old version of eslint. We can, however, make use of prettier-eslint since it pulls in the version of eslint we are using. In the future, we may want to extract this npm script out into a separate package.
I have configured the lint CI job to fail if there is outstanding formatting to be applied. That ensures we never let in code that violates the code style.