Abstract
I've released a new version of an old Javascript library I maintain, the South African ID Parser. This article lists the sorts of things I've changed, and talks about my plans to publish more libraries generally.
I've published an update to South African ID Parser JavaScript library on NPM.
Functionally there isn't much difference, but I've tried to update a lot of the stuff around the code to match my current understanding of what a useful library suitable for use in a professional context should have.
The first big change is that I've moved it to Codeberg. This library was initially hosted on Github, but I really fell out of love with Github a while back. I've been hosting the library on my own Git server, but that doesn't have an issue tracker. Speaking of, if you run into any bugs, please report them on the issue tracker.
As a nice benefit, Codeberg also has a CI platform. This library previously used Travis CI, back when that was free for open source projects.
There's now a changelog! 6 years ago when I initially published this library I didn't really recognise how important a changelog is when updating to new versions.
All of the functions have API documentation. I sort of had this in the readme already, but it's now done using JSDoc, and the docs are hosted on Codeberg pages.
I've also added a contributing guide. I've come to recognise the importance of separating the documentation for using a library from the documentation for developing that library.
There's the small things too. All of the dev dependencies have been updated. The code blocks in the readme now indicate their programming language so that they get proper syntax highlighting.
This is part of a broader change I'm trying to make in how I spend my work time. I'm trying to spend one work day a week actively writing and maintaining open source code, and trying to make sure that it's a good experience if anyone chooses to use it professionally. This also means I'll be blogging more. I'm also going to be looking through some of my older open source apps to pull out significant functionality that could be useful to others as libraries.
Most of this will probably be in Rust, since that's where I like to spend my time these days. I'll probably even port the South African ID Parser to Rust.
This of course all takes time. I've created a Patreon so that people can support me doing this. I would love if I could afford to spend even more time maintaining open source code. Please check out the Patreon and consider contributing if you're getting value from my work.