discourse/lefthook.yml
Abroskin Alexander 0872a1182d DEV: Replace Overcommit with Lefthook (#7826)
Overcommit uses prebuilt hooks and require global installation.
To avoid this issues replace it with Lefthook.
Lefthook will be installed with npm packages. New contributors
will have fully consistent git hooks.
2019-07-02 11:29:52 +02:00

50 lines
1.3 KiB
YAML

pre-commit:
parallel: true
commands:
rubocop:
glob: '*.rb'
run: bundle exec rubocop {staged_files}
eslint:
glob: '*.{js,es6}'
run: yarn eslint --ext .es6 -f compact {staged_files}
yaml-syntax:
glob: '*.{yaml,yml}'
run: bundle exec yaml-lint {staged_files}
commands: &commands
bundle-install:
files: git diff --name-only HEAD master
glob: '{Gemfile,Gemfile.lock,*.gemspec}'
run: bundle install
yarn-install:
files: git diff --name-only HEAD master
glob: '{package.json,yarn.lock}'
run: yarn install
post-checkout:
commands: *commands
post-merge:
commands: *commands
post-rewrite:
commands: *commands
lints:
parallel: true
commands:
rubocop:
run: bundle exec rubocop --parallel
prettier:
run: yarn prettier --list-different app/assets/stylesheets/**/*.scss app/assets/javascripts/**/*.es6 test/javascripts/**/*.es6
eslint-assets:
run: yarn eslint --ext .es6 app/assets/javascripts
eslint-test:
run: yarn eslint --ext .es6 test/javascripts
eslint-plugins-assets:
run: yarn eslint --ext .es6 plugins/**/assets/javascripts
eslint-plugins-test:
run: yarn eslint --ext .es6 plugins/**/test/javascripts
eslint-assets-tests:
run: yarn eslint app/assets/javascripts test/javascripts