Publishing my first node module to NPM

I’ve been writing things in Node.js for at least four or five years now, basically since Node starting getting known publicly.  I was a very early adopter of it and most people were like WTF?  Server side Javascript, you must be either stupid, crazy or both.  Well, Node.js caught on didn’t it?  So, yes I’ve been writing a lot of stuff in Node and in the course of doing so obviously one will end up using NPM (Node Package Manager), but it wasn’t until recently I decided to publish my own node module.

More than anything I just wanted to see the process, so I headed over to NPM and looked through their docs and found the process pretty simple.

  1. Setup a profile.  Here is mine: https://www.npmjs.com/~msudol
  2. Basically start here: https://docs.npmjs.com/getting-started/creating-node-modules and keep going through the docs from there.

And that’s it really, there doesn’t seem to be much of a vetting process, anyone can practically publish anything that they would like to NPM. However, I didn’t just want to publish a node module for the sake of doing it… well, partly I did, but I also wanted to contribute something useful as well, so I worked on some code that I’ve written for other things and published qfiltr.

The basic premise behind qfiltr is that it’s a “message” queue, limit and filtering system, where a “message” can be anything at all, whether it’s handling requests for an API backend or calls to a function, whatever you might want to either rate limit, or queue up in a managed and synchronous manner.

I still have some work to do on it, including actually adding the filter portion, the queue and limit functions are all setup. My idea for the filter will be that you can pass a message through a cascading set regular expressions to see if it is allowed or not.  I think that will be really useful.  Here’s to writing node modules and hoping I can find some free time to dive back into working on qfiltr and perhaps publishing more modules in the future.

 

Leave a Reply

Your email address will not be published. Required fields are marked *