Yet another tool for Package Authors

TL;DR: I wrote a package manager for typst.

For me it has always been unnecessarily difficult to make templates or packages installable via a local import (#import "@local/..."). In the beginning I used the shell scripts bundled into the typst-package-template. I then tried to use one of the already existing package managers like typship or utpm. Unfortunately neither of them was working for me, either it had missing features or I had issues of how things where implemented.
Therefore I decided to roll out my own tool, gotpm (admittedly I was lazy when deciding on a name). It is not written in rust, but it still is blazingly fast. I quickly want to highlight some of its features:

  • installing packages into {data-dir}/typst/packages via a copy or in an editable mode
  • update imports statements with the latest versions in the typst universe (orders of magnitudes faster than another tool doing the same I shall mention)
  • bumping the version in the typst.toml for automated release workflows
  • It has (in my opinion) nice looking, colored outputs and recognizes if its writing to a tty
  • it is self-updatable, so you only install it once
  • and in my opinion it has a simple UI

I have mainly build it for myself, but I thought maybe some else might be happy to use it. So check it out if you are interested, or leave some feedback. You can install it with a simple curl:

curl -sSfL https://github.com/npikall/gotpm/releases/latest/download/install.sh | sh
1 Like