diff --git a/package-lock.json b/package-lock.json index fd09380e..afdf0e0a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,8 @@ "version": "6.0.0", "license": "ISC", "dependencies": { - "glob": "^11.0.0" + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" }, "bin": { "rimraf": "dist/esm/bin.mjs" diff --git a/package.json b/package.json index 6073aa7e..a8a3c4b1 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,8 @@ "node": "20 || >=22" }, "dependencies": { - "glob": "^11.0.0" + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" }, "keywords": [ "rm", diff --git a/src/bin.mts b/src/bin.mts index 098d1633..3727ecf7 100755 --- a/src/bin.mts +++ b/src/bin.mts @@ -1,13 +1,10 @@ #!/usr/bin/env node -import { readFile } from 'fs/promises' import type { RimrafAsyncOptions } from './index.js' import { rimraf } from './index.js' -const pj = fileURLToPath(new URL('../package.json', import.meta.url)) -const pjDist = fileURLToPath(new URL('../../package.json', import.meta.url)) -const { version } = JSON.parse( - await readFile(pjDist, 'utf8').catch(() => readFile(pj, 'utf8')), -) as { version: string } +import { loadPackageJson } from 'package-json-from-dist' + +const { version } = loadPackageJson(import.meta.url, '../package.json') const runHelpForUsage = () => console.error('run `rimraf --help` for usage information') @@ -54,7 +51,6 @@ const cwd = process.cwd() import { Dirent, Stats } from 'fs' import { createInterface, Interface } from 'readline' -import { fileURLToPath } from 'url' const prompt = async (rl: Interface, q: string) => new Promise(res => rl.question(q, res))