grafana/lefthook.yml
Josh Hunt 654d99fbca
Chore: Replace Husky/Lint-staged with Lefthook (#66608)
* Switch from husky+precommit to lefthook

Migrate from husky/precommit to lefthook

h

old husky precommit

lefthook so far

remove husky folder

switch to new lefthook package

Add postinstall script to clean up after husky

preinstall to remove husky config

package.json

package.json

package.json

script

v

Reduce lefthook output

Cleanup

testing

reduce output

testing betterer

testing betterer

testing betterer

testing betterer

testing betterer

testing betterer

testing betterer

skip skipping execution info

small cleanup

remove comment from testing

clean up old husky hooks in .git/hooks path

run scripts in parallel

update codeowners

don't auto-install lefthook

install lefthook with make command

fix yarn checksum

* update codeowners

* don't use source because it isn't available in ubuntu/debian's /bin/sh

* Ensure lefthook commits files fixed by precommit hooks

* add comment to lefthook.rc explaining what it does

* add i18n:pseudo precommit

* Don't create .husky/safe-to-delete file anymore

* cleanup old lint-staged config

* contribute docs

* update lefthook to 1.4.8

* Move frontend encouragement docs

* rewrite husky cleanup script in bash so we can run it with make

* Make old husky precommit script reject commits until husky is removed

* log precommit warning for everyone

* fix package.json

* run lefthook hooks from old husky hook

* run lefthook hooks from old husky hook

* comments

* codeowners

* codeowners
2023-08-17 09:56:52 +00:00

49 lines
1.0 KiB
YAML

skip_output:
- meta
- execution_out
- skips
min_version: 1.4.3
rc: ./lefthook.rc
pre-commit:
parallel: true
commands:
frontend-betterer:
glob: '*.{ts,tsx}'
run: yarn betterer precommit {staged_files}
stage_fixed: true
frontend-lint:
glob: '*.{js,ts,tsx}'
run: |
yarn eslint --ext .js,.tsx,.ts --cache --fix {staged_files}
yarn prettier --write {staged_files}
stage_fixed: true
internationalization:
glob: 'public/locales/en-US/grafana.json'
run: yarn i18n:pseudo
stage_fixed: true
other-format:
glob: '*.{json,scss,md,mdx}'
run: yarn prettier --write {staged_files}
stage_fixed: true
backend-format:
glob: '*pkg/**/*.go'
run: gofmt -w -s {staged_files}
stage_fixed: true
cue-fix-kinds:
glob: '*kinds/**/*.cue'
run: make fix-cue
stage_fixed: true
cue-fix-public:
glob: '*public/app/plugins/**/**/*.cue'
run: make fix-cue
stage_fixed: true