Closed
Description
After upgrading my project to use Lerna v4.0.0, I can no longer run commitlint.
Expected Behavior
Commit checks should run as usual when using Lerna v4.0.0
Current Behavior
Commitlint blows up when running the commit hooks. The following error occurs in @commitlint\config-lerna-scopes\index.js:47:20
- "TypeError: Project is not a constructor".
Affected packages
- config-lerna-scopes
Possible Solution
Add another check for lerna version in the getPackages function:
const lernaVersion = getLernaVersion(cwd);
if (semver.lt(lernaVersion, '3.0.0')) {
const Repository = importFrom(cwd, 'lerna/lib/Repository');
const PackageUtilities = importFrom(cwd, 'lerna/lib/PackageUtilities');
const repository = new Repository(cwd);
return PackageUtilities.getPackages({
packageConfigs: repository.packageConfigs,
rootPath: cwd,
});
}
// New check for less than v4.0.0
if (semver.lt(lernaVersion, '4.0.0')) {
const Project = importFrom(cwd, '@lerna/project');
const project = new Project(cwd);
return project.getPackages();
}
const { getPackages } = importFrom(cwd, '@lerna/project');
return getPackages();
Steps to Reproduce (for bugs)
- First step - upgrade solution to use Lerna v4.0.0
- Second step - run pre-commit checks
Context
This issue prevents me from running pre-commit checks, so I can only commit code by skipping the checks with the --no-verify
flag.
Your Environment
Executable | Version |
---|---|
commitlint --version |
@commitlint/cli@12.0.0 |
git --version |
git version 2.29.2.windows.2 |
node --version |
v14.15.1 |
Metadata
Metadata
Assignees
Labels
No labels