zx/use-typescript/ojichatToCowsay.ts (17 lines of code) (raw):

import {$} from "zx" // @ts-ignore cowsayは型が提供されてなかった... import cowsay from "cowsay"; const getOjichatMessage = async () => { try { await $`ojichat -v` return $`ojichat` } catch (p) { return $`docker run --rm -i greymd/ojichat:latest` } } $.verbose = false // `set -x`を無効 const ojichatMessage = await getOjichatMessage() console.log( cowsay.say({ text: ojichatMessage.stdout }) )