Joplin CLI, best advice for modern use by headless penguins

Very good evening, and thank you Laurent et al for all the work on the excellent Joplin and Joplin Cloud.

I'm tinkering with a system to move data in and out of Joplin from scripts and at the terminal, and have a couple of questions.

A. State of the CLI npm package

I started installing the Joplin CLI, almost as described at Joplin Terminal Application | Joplin , but was somewhat alarmed to see 25+ npm warnings about deprecated packages when I left out --loglevel=error.

npm audit also reports a decent number of issues.

What would be the advisable option for a developer wanting to use the CLI?

  1. Install just as suggested. (It will be fine, there are no actual issues, say.)
  2. Install as suggest, but run npm update, npm audit fix, and friends.
  3. Pull the Git repo and run the cli app from main. Pull from the remote regularly.
  4. Something else?

B. Is joplin-cli the best option for my use cases?

I want to set up a system where I can automatically pull and push Markdown text from arbitrary locations in the file system, to/from Joplin. Ideally in a fully headless, containerized environment, with no display server.

It seems the CLI app in batch mode would be a good choice to move data in and out of Joplin's db. But, should I look at other options? Can I use the celebrated Data API without actually running the desktop app?

All the very best, and thanks for any help, suggestions or corrections :slight_smile:



Further general context: I use the Android app, and sync to Joplin Cloud. I use E2EE. For the use cases discussed here, I would use a container running some Debian or Fedora image.

The purported use cases: I have a somewhat strange bespoke Markdown-to-tex-transpiler that I want to run on Joplin notes, with the aim of rendering print-ready pdfs. I also have a Markdown-to-epub script. All these are self-standing Python utilities. These tools work much like running latexmk in watch mode, say.