Use COPY instead of ADD & first copy package.json to allow caching of npm install layer