# 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. => https://www.npmjs.com/package/@mfgames-writing/ncx 1: https://www.npmjs.com/package/@mfgames-writing/ncx => https://www.npmjs.com/package/@mfgames-writing/opf 2: https://www.npmjs.com/package/@mfgames-writing/opf => https://gitlab.com/mfgames-writing/mfgames-writing-js 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. => https://lerna.js.org/ 4: https://lerna.js.org/ => https://semantic-release.gitbook.io/semantic-release/ 5: https://semantic-release.gitbook.io/semantic-release/ => https://www.conventionalcommits.org/ 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. => https://hub.docker.com/r/dmoonfire/mfgames-writing-js/ 7: https://hub.docker.com/r/dmoonfire/mfgames-writing-js/ => https://www.npmjs.com/package/generator-mfgames-writing 8: https://www.npmjs.com/package/generator-mfgames-writing But those can wait until next around. # Metadata Categories: => /categories/programming/ Programming Tags: => /tags/docker/ Docker => /tags/mfgames-writing/ MfGames Writing => /tags/yoman/ Yoman # Footer Below are various useful links within this site and to related sites (not all have been converted over to Gemini). => /now/ Now => /contact/ Contact => /bio/ Biography => /bibliography/ Bibliography => /support/ Support => /fiction/ Fiction => //fedran.com/ Fedran => https://mfgames.com/ Coding => https://moonfire.us/ The Moonfires => /categories/ Categories => /tags/ Tags => /privacy/ Privacy => /colophon/ Colophon => /license/ License => https://lists.typewriter.press/subscription?f=RDQ6f3AFHXnX2o763d5TgUmaYP7N763gR6FjZyGUUFWhyRkpgZF9I35ySICDBEdFFtgG Mailing List => https://d.moonfire.us/blog/2021/02/05/mfgames-writing-upkeep/