This MR adds a linting job and fixes the linting issues.
I had to move some files around to streamline the setup around the JS project.