diff --git a/utils/CHANGELOG.md b/utils/CHANGELOG.md index e299e01b0..0ac0704b1 100644 --- a/utils/CHANGELOG.md +++ b/utils/CHANGELOG.md @@ -8,6 +8,9 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange ### Fixed - [patch] Fix `@babel/eslint-parser` 8 compatibility ([#2343], thanks [@nicolo-ribaudo]) +### Changed +- [Refactor] inline `pkgDir` implementation; remove `pkg-dir` + ## v2.7.1 - 2021-10-13 ### Fixed diff --git a/utils/package.json b/utils/package.json index 2c4c53bd4..5c68ed626 100644 --- a/utils/package.json +++ b/utils/package.json @@ -27,7 +27,6 @@ "homepage": "https://github.com/import-js/eslint-plugin-import#readme", "dependencies": { "debug": "^3.2.7", - "find-up": "^2.1.0", - "pkg-dir": "^2.0.0" + "find-up": "^2.1.0" } } diff --git a/utils/pkgDir.js b/utils/pkgDir.js new file mode 100644 index 000000000..34412202f --- /dev/null +++ b/utils/pkgDir.js @@ -0,0 +1,11 @@ +'use strict'; + +const path = require('path'); +const pkgUp = require('./pkgUp').default; + +exports.__esModule = true; + +exports.default = function (cwd) { + const fp = pkgUp({ cwd }); + return fp ? path.dirname(fp) : null; +}; diff --git a/utils/resolve.js b/utils/resolve.js index 31fb65907..4a35c6a47 100644 --- a/utils/resolve.js +++ b/utils/resolve.js @@ -1,14 +1,13 @@ 'use strict'; exports.__esModule = true; -const pkgDir = require('pkg-dir'); - const fs = require('fs'); const Module = require('module'); const path = require('path'); const hashObject = require('./hash').hashObject; const ModuleCache = require('./ModuleCache').default; +const pkgDir = require('./pkgDir').default; const CASE_SENSITIVE_FS = !fs.existsSync(path.join(__dirname.toUpperCase(), 'reSOLVE.js')); exports.CASE_SENSITIVE_FS = CASE_SENSITIVE_FS; @@ -175,7 +174,7 @@ function resolverReducer(resolvers, map) { } function getBaseDir(sourceFile) { - return pkgDir.sync(sourceFile) || process.cwd(); + return pkgDir(sourceFile) || process.cwd(); } function requireResolver(name, sourceFile) { // Try to resolve package with conventional name