From 6201e3eb760f57a3549639faf0d0167348fc2577 Mon Sep 17 00:00:00 2001 From: Cooper Liu Date: Wed, 31 Mar 2021 18:33:13 +0800 Subject: [PATCH] feat: support pnpm --- lib/get-package-json.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/get-package-json.js b/lib/get-package-json.js index abf8fb3..c051ea2 100644 --- a/lib/get-package-json.js +++ b/lib/get-package-json.js @@ -4,6 +4,7 @@ var assert = require("assert"); var path = require("path"); var packageName = require("../package.json").name; +var packageNameReg = new RegExp('^' + packageName); // for support nodejs < 4.x, same as 'startsWith' function findPackageDir(paths) { if (!paths) { @@ -12,8 +13,10 @@ function findPackageDir(paths) { for (var i = 0; i < paths.length; ++i) { var dir = path.dirname(paths[i]); var dirName = dir.split(path.sep).pop(); - if (dirName !== packageName) { - return dir; + + // ignore self and `.pnpm`. (support pnpm install) + if (!packageNameReg.test(dirName) && dirName !== '.pnpm') { + return dir; } } } @@ -28,4 +31,4 @@ function getPackageJSON(paths) { assert(dir, "package.json is not found"); return require(path.resolve(dir, "package.json")); } -module.exports = getPackageJSON; \ No newline at end of file +module.exports = getPackageJSON;