﻿<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text" xml:lang="en">Yoman</title>
  <link type="application/atom+xml" href="https://d.moonfire.us/tags/yoman/atom.xml" rel="self" />
  <link type="text/html" href="https://d.moonfire.us/tags/yoman/" rel="alternate" />
  <updated>2026-09-06T17:41:56Z</updated>
  <id>https://d.moonfire.us/tags/yoman/</id>
  <author>
    <name>D. Moonfire</name>
  </author>
  <rights>Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International</rights>
  <entry>
    <title>MfGames Writing Upkeep</title>
    <link rel="alternate" href="https://d.moonfire.us/blog/2021/02/05/mfgames-writing-upkeep/" />
    <updated>2021-02-05T06:00:00Z</updated>
    <id>https://d.moonfire.us/blog/2021/02/05/mfgames-writing-upkeep/</id>
    <category term="programming" scheme="https://d.moonfire.us/categories/" label="Programming" />
    <category term="mfgames-writing" scheme="https://d.moonfire.us/tags/" label="MfGames Writing" />
    <category term="yoman" scheme="https://d.moonfire.us/tags/" label="Yoman" />
    <category term="docker" scheme="https://d.moonfire.us/tags/" label="Docker" />
    <summary type="html">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.
</summary>
    <content type="html">&lt;p&gt;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, &lt;a href="https://www.npmjs.com/package/@mfgames-writing/ncx"&gt;@mfgames-writing/ncx&lt;/a&gt; and &lt;a href="https://www.npmjs.com/package/@mfgames-writing/opf"&gt;@mfgames-writing/opf&lt;/a&gt; into the &lt;a href="https://gitlab.com/mfgames-writing/mfgames-writing-js"&gt;mfgames-writing monorepo&lt;/a&gt; when I had done the rest of the projects.&lt;/p&gt;
&lt;p&gt;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 &amp;ldquo;rail car&amp;rdquo;. 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.&lt;/p&gt;
&lt;p&gt;Now, I could just do everything in a single monolithic project, basically have a &lt;code&gt;mfgames-writing&lt;/code&gt; 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 &amp;ldquo;wrong&amp;rdquo; to force all of them to be combined together.&lt;/p&gt;
&lt;p&gt;In the end, I want separate packages but I dislike the process of working with them. With Node packages, I found &lt;a href="https://lerna.js.org/"&gt;Lerna&lt;/a&gt; which handles a lot of that forwarding, plus plays well with &lt;a href="https://semantic-release.gitbook.io/semantic-release/"&gt;semantic-release&lt;/a&gt; and &lt;a href="https://www.conventionalcommits.org/"&gt;conventional commits&lt;/a&gt;. I've been happy, but it was a learning process and I missed two packages.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;While that cleans up most of the packages, there are a few others related packages I still need to convert, namely the &lt;a href="https://hub.docker.com/r/dmoonfire/mfgames-writing-js/"&gt;Docker image&lt;/a&gt; and the &lt;a href="https://www.npmjs.com/package/generator-mfgames-writing"&gt;Yoman generator&lt;/a&gt;. Those are completely different than the core packages, so they shouldn't be in the monorepo in my opinion.&lt;/p&gt;
&lt;p&gt;But those can wait until next around.&lt;/p&gt;
</content>
  </entry>
</feed>
