feat: Add option to publish to NPM

This PR will add the `publishNpm` option that defaults to false. If specified as true in the `options`, then it will run `npm publish` to push the recent changes to npm.