0.4.1 • Published 4 years ago

git-aliases-semantic-commits v0.4.1

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

Git Semantic Commit Aliases

:warning: not well tested, but should cause no big issue :)

Git semantic commit local aliases installer, based on semantic commit messages article.

Install

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'`

Scopes

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'`

Automatic scopes

This package also allows for an opt-in automatic scope system, specially useful for monorepo projects (Lerna :heart:). 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.

See also

License

MIT

0.4.1

4 years ago

0.4.0

4 years ago

0.3.0

4 years ago

0.2.0

4 years ago