Creating an NPM package

How to create and NPM package using best practices.