@liquid-js/commitlint-plugin-workspace-scopes
v2.0.0
Published
A commitlint rule to discover workspace packages as scopes.
Downloads
15
Maintainers
Readme
@liquid-js/commitlint-plugin-workspace-scopes"
A commitlint
plugin to discover workspace packages as scopes.
Installation
pnpm
pnpm install --dev @liquid-js/commitlint-plugin-workspace-scopes"
yarn
yarn add --dev @liquid-js/commitlint-plugin-workspace-scopes"
npm
npm install --save-dev @liquid-js/commitlint-plugin-workspace-scopes"
Usage
To configure that only workspace-packages are accepted scopes:
module.exports = {
plugins: ['@liquid-js/commitlint-plugin-workspace-scopes'],
rules: {
'scope-enum': [2, 'always', {}],
},
};
To configure that workspace-packages and codeowners
are accepted scopes:
module.exports = {
plugins: ['@liquid-js/commitlint-plugin-workspace-scopes'],
rules: {
'scope-enum': [2, 'always', { extra: ['codeowners'] }],
},
};
To strip namespace prefix from workspace packages:
module.exports = {
plugins: ['@liquid-js/commitlint-plugin-workspace-scopes'],
rules: {
'scope-enum': [2, 'always', { stripPrefix: ['@my-org/'] }],
},
};
Examples
$ cat commitlint.config.js
module.exports = {
extends: ['@commitlint/config-conventional'],
plugins: ['@liquid-js/commitlint-plugin-workspace-scopes'],
rules: {
'scope-enum': [2, 'always', ['codeowners']]
}
}
$ tree packages
packages
├── api
├── app
└── web
$ echo "feat(api): this will succeed" | npx commitlint --verbose
⧗ input: feat(api): this will succeed
✔ found 0 problems, 0 warnings
$ echo "feat(codeowners): this will succeed" | npx commitlint --verbose
⧗ input: feat(codeowners): this will succeed
✔ found 0 problems, 0 warnings
$ echo "feat(foo): this will fail" | npx commitlint --verbose
⧗ input: feat(foo): this will fail
✖ scope must be one of [api, app, web] [scope-enum]
✖ found 1 problems, 0 warnings