From 1a73cdb7ce1591f46aad2300a999d9a79830a503 Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Sat, 26 Feb 2022 11:45:18 -0500 Subject: [PATCH] fix: require is not defined error The `require()` function is not defined in ES module scope. Loading a JSON file via `import` is behind `--experimental-json-modules` on LTS versions of Node.js, so use `createRequire()` instead. --- branch-diff.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/branch-diff.js b/branch-diff.js index 3436f83..1a6cad0 100755 --- a/branch-diff.js +++ b/branch-diff.js @@ -1,6 +1,7 @@ #!/usr/bin/env node import fs from 'fs' +import { createRequire } from 'module' import path from 'path' import process from 'process' import { pipeline as _pipeline } from 'stream' @@ -15,6 +16,7 @@ import gitexec from 'gitexec' const pipeline = promisify(_pipeline) const pkgFile = path.join(process.cwd(), 'package.json') +const require = createRequire(import.meta.url) const pkgData = fs.existsSync(pkgFile) ? require(pkgFile) : {} const pkgId = pkgtoId(pkgData) const refcmd = 'git rev-list --max-count=1 {{ref}}'