💾 Archived View for d.moonfire.us › blog › 2021 › 02 › 05 › mfgames-writing-upkeep captured on 2023-06-14 at 16:15:54. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-04-26)

-=-=-=-=-=-=-

MfGames Writing Upkeep

Up a Level

As usual between major projects, I try to spend a little time working on maintenance and upkeep of the multitude of projects that I've written or contributed too. It is somewhat random, but I had a task to move two of my Node packages, @mfgames-writing/ncx[1] and @mfgames-writing/opf[2] into the mfgames-writing monorepo[3] when I had done the rest of the projects.

1: https://www.npmjs.com/package/@mfgames-writing/ncx

2: https://www.npmjs.com/package/@mfgames-writing/opf

3: https://gitlab.com/mfgames-writing/mfgames-writing-js

The decision to convert to a single repository for a multiple of projects took me quite a while. Mostly it came from the problem I have with package-based arrangements, the “rail car”. When I have to make a change to a library but that change has to be propagated through a number of packages until the one that needed the change. It looks like a chain and it's tedious when I'm doing rapid sets of changes trying to figure something out.

Now, I could just do everything in a single monolithic project, basically have a `mfgames-writing` package that does everything, but I still follow the Unix Philosophy: Do One Thing Well. The individual packages handle EPUB, PDF, and HTML generation. It feels “wrong” to force all of them to be combined together.

In the end, I want separate packages but I dislike the process of working with them. With Node packages, I found Lerna[4] which handles a lot of that forwarding, plus plays well with semantic-release[5] and conventional commits[6]. I've been happy, but it was a learning process and I missed two packages.

4: https://lerna.js.org/

5: https://semantic-release.gitbook.io/semantic-release/

6: https://www.conventionalcommits.org/

I also reformatting the code and switched testing over to Jest. It bumped up a few versions, but that always seem to happen when I'm learning things.

While that cleans up most of the packages, there are a few others related packages I still need to convert, namely the Docker image[7] and the Yoman generator[8]. Those are completely different than the core packages, so they shouldn't be in the monorepo in my opinion.

7: https://hub.docker.com/r/dmoonfire/mfgames-writing-js/

8: https://www.npmjs.com/package/generator-mfgames-writing

But those can wait until next around.

Metadata

Categories:

Programming

Tags:

Docker

MfGames Writing

Yoman

Footer

Below are various useful links within this site and to related sites (not all have been converted over to Gemini).

Now

Contact

Biography

Bibliography

Support

Fiction

Fedran

Coding

The Moonfires

Categories

Tags

Privacy

Colophon

License

Mailing List

https://d.moonfire.us/blog/2021/02/05/mfgames-writing-upkeep/