diff --git a/@commitlint/config-lerna-scopes/index.js b/@commitlint/config-lerna-scopes/index.js index 778579fc50..f08e564506 100644 --- a/@commitlint/config-lerna-scopes/index.js +++ b/@commitlint/config-lerna-scopes/index.js @@ -1,20 +1,15 @@ -const path = require('path'); -const globby = require('globby'); -const jsonfile = require('load-json-file'); +const Repository = require('lerna/lib/Repository'); module.exports = { utils: {getPackages}, rules: { - 'scope-enum': () => getPackages() - .then(names => [2, 'always', names]) + 'scope-enum': () => [2, 'always', getPackages()] } }; function getPackages() { - const root = path.resolve(process.cwd(), './packages'); - const glob = path.resolve(root, '*/package.json'); - - return globby(glob) - .then(paths => Promise.all(paths.map(jsonfile))) - .then(manifests => manifests.map(manifest => manifest.name)); + const repo = new Repository(process.cwd()); + return repo.packages + .map(pkg => pkg.name) + .map(name => name.charAt(0) === '@' ? name.split('/')[1] : name); } diff --git a/@commitlint/config-lerna-scopes/package.json b/@commitlint/config-lerna-scopes/package.json index a2a15360b1..b8db51ef6c 100644 --- a/@commitlint/config-lerna-scopes/package.json +++ b/@commitlint/config-lerna-scopes/package.json @@ -26,6 +26,7 @@ "homepage": "https://github.com/marionebl/commitlint#readme", "dependencies": { "globby": "6.1.0", + "lerna": "^2.0.0", "load-json-file": "2.0.0" }, "devDependencies": {