Open
Description
This is a feature request to provide the output of changed files, such as git diff --cached --name-only --diff-filter=ACM
. The purpose of this feature is to provide a way to verify if changes described within a conventional commit's scope
are actually all within that scope.
Expected Behavior
Naive example:
plugin: {
rules: {
'bounded-scope': (parsed) => {
console.log(parsed.diff);
const scope = parsed.scope;
if (scope === 'test1') {
changedStartsWithScope = parsed.diff.every((path) => path.startsWith('apps/test1'));
return [changedStartsWithScope, 'all files with scope test1 should start with apps/test1'];
}
return [true];
}
}
}
echo "feat(test1): random subject" | npm run commitlint
[ '.gitignore', 'apps/test1/testing.js' ]
⧗ input: feat(test1): random subject
✖ all files with scope test1 should start with apps/test1 [scope-bounded]
✖ found 1 problems, 0 warnings
Current Behavior
No way of determining which files have been changed by the commit.
Affected packages
- cli
- core
- prompt
- config-angular
Context
I'm trying to create a plugin which queries Nx to determine if the changes in the commit match the scope provided, otherwise requiring you to not specify a scope.