Git semantic commit local aliases installer, based on semantic commit messages article.
npm install git-aliases-semantic-commits --save-dev
Use the new aliases:
git chore 'message' # same as `git commit -m 'chore: message'`
git cleanup 'message' # same as `git commit -m 'cleanup: message'`
git docs 'message' # same as `git commit -m 'docs: message'`
git feat 'message' # same as `git commit -m 'feat: message'`
git fix 'message' # same as `git commit -m 'fix: message'`
git localize 'message' # same as `git commit -m 'localize: message'`
git refactor 'message' # same as `git commit -m 'refactor: message'`
git style 'message' # same as `git commit -m 'style: message'`
git test 'message' # same as `git commit -m 'test: message'`
In many projects or repositories you might find some varying scopes for work being done - i.e. backend, frontend, etc. Scope your message using the -s
parameter:
git chore -s backend 'message' # same as `git commit -m 'chore(backend): message'`
This package also allows for an opt-in automatic scope system, specially useful for monorepo projects (Lerna ❤️). To configure it, you need to add semanticCommits.scope
strategy to your root package.json
, i.e.:
{
"name": "root",
"version": "1.0.0",
"semanticCommits": {
"scope": "package.json"
}
}
There are currently no other strategies available, but "package.json" one. This strategy will look upwards from committing file paths to find related package.json
files and use their name
field as scope.
├── package.json
└── packages
├── first
│ └── package.json
└── second
└── package.json
Now, whenever you use the semantic commit aliases this package provides for committing files in this repository, a few patterns will be found:
chore: message
: when only files outside packages were changed;chore(first): message
: when only files inside first were changed:chore(first, second): message
: when files in both first and second packages were changed;chore(@root, first): message
: when files in root and inside first packages were changed.
P.s.: you can still override the scope used by setting the -s
parameter.
- git-shared-aliases - Git aliases made available across your team
- husky - Git hooks made easy 🐶 woof!
MIT