#JavaScript(NodeJS)でコールバック関数をPromise化する

util.promisify(original)を使います。 コールバック関数は関数の最後の引数である必要があります。 コールバック関数はエラーが最初の引数として渡される必要があります。((err, value) => {...})

下記はglob 8.xをPromise化する例です。

import { promisify } from 'node:util'
import glob from 'glob'

function getFileNames(): Promise<string[]> {
  return promisify(glob)('./**/*.md').catch((err) => {
    console.error(err)
    process.exit(1)
  })
}