This is a useful article on building an NPM Module using typescript.
I am using the technique here to move lie.js to typescript.
The documentation is now a little old. Have a look at github.com/chriseyre2000/lie.js for a more recent version.
The practical advantage of moving to Typescript are the type definitions which the IDE can choose to use even if the module is used from a Javascript app.
Also note that I have CircleCI setup to publish to NPM upon receipt of a tag.
This is how to push tags to github:
git tag -a v1.1.4 -m "my version 1.1.4"
git push origin --tags