Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/umayr/abracadabra
Helps you keep your code less crazy by adding either eslint or jshint in the pre-commit hooks.
https://github.com/umayr/abracadabra
Last synced: 2 months ago
JSON representation
Helps you keep your code less crazy by adding either eslint or jshint in the pre-commit hooks.
- Host: GitHub
- URL: https://github.com/umayr/abracadabra
- Owner: umayr
- License: mit
- Created: 2015-12-08T06:20:19.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-05-25T15:38:03.000Z (over 2 years ago)
- Last Synced: 2024-10-31T18:17:57.382Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 24.4 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Abracadabra
> Helps you keep your code less crazy by adding either eslint or jshint in the pre-commit hooks.## Usage
In your project root directory, type:
```
$ npm install --save-dev abracadabra
```and that's it.
## FAQ
#### What does it actually do?
Upon installation it adds a git pre-commit hook in your repository, which runs every time you're going to commit something. In this case it'll run a npm task that validates your code either via `eslint` or `jshint`. In that way, anybody in your team can't commit anything that doesn't match the standards.
#### What does it use for linting?
It's up to you. If you don't have any `eslint` or `jshint` configurations in your root directory, it'll ask you and then create a default configuration for linter of your choice. You may later change configurations according to your needs.
#### How it is different from [this](https://github.com/nlf/precommit-hook)?
There are two major differences, one being that `nlf/precommit-hook` only supports `jshint` and has it in its dependencies, while `abracadabra` supports `jshint` as well as `eslint` moreover it uses the lint command from your dependencies. Plus, it has quite verbose default configuration files. Other than that, it uses the same [`nlf/git-validate`](https://github.com/nlf/git-validate/) module under the hood as `precommit-hook`.
#### Default configurations?
Here they are; [`.eslintrc`](https://github.com/umayr/abracadabra/blob/master/templates/.eslintrc) & [`.jshintrc`](https://github.com/umayr/abracadabra/blob/master/templates/.jshintignore).
#### I need to commit a hotfix, how do I bypass the linting?
You can bypass the pre-commit hook by:
```bash
$ git commit --no-verify
```#### I'm using a GUI app for git, but it doesn't seem to commit?
See Issue: [#1](https://github.com/umayr/abracadabra/issues/1). In short, start you GUI app from terminal.