zammad/.overcommit.yml

151 lines
3.8 KiB
YAML

# Don't complain when changing branches with different overcommit configurations.
verify_signatures: false
CommitMsg:
ALL:
enabled: false
EmptyMessage:
enabled: true
PreCommit:
ALL:
enabled: false
RuboCop:
enabled: true
on_warn: fail
command: ['bundle', 'exec', 'rubocop']
CoffeeLint:
required_executable: 'coffeelint'
install_command: 'npm install -g coffeelint@1'
# .dev/coffeelint/rules/* not supported in YAML, specify all rules separately.
flags:
['--reporter=csv', '--rules', './.dev/coffeelint/rules/detect_translatable_string.coffee']
enabled: true
on_warn: fail
exclude: 'public/assets/chat/**/*'
Stylelint:
enabled: true
required_executable: 'pnpm'
install_command: 'npm install -g stylelint'
command: ['pnpm', '--silent', 'lint:css:cmd']
include:
- '**/*.scss'
- '**/*.css'
- '**/*.vue'
TranslationCatalogCheck:
required_executable: 'rails'
enabled: true
env:
ZAMMAD_SAFE_MODE: '1'
command: ['rails', 'generate', 'zammad:translation_catalog', '--check']
SettingsTypesCheck:
required_executable: 'rails'
enabled: true
env:
ZAMMAD_SAFE_MODE: '1'
command: ['rails', 'generate', 'zammad:setting_types', '--check']
include:
- 'db/seeds/settings.rb'
GraphQLAPICheck:
required_executable: '.gitlab/check_graphql_api_consistency.sh'
enabled: true
command: ['.gitlab/check_graphql_api_consistency.sh']
include:
- 'app/graphql/**/*'
- 'app/frontend/**/*.graphql'
TypeCheck:
required_executable: 'pnpm'
enabled: true
command: ['pnpm', 'lint:ts']
exclude:
- 'node_modules'
- 'public'
- 'vendor'
include:
- 'app/frontend/**/*'
- '**/*.cy.ts'
- '**/cypress/**/*.ts'
- './vite.config.*'
- './vitest.setup.ts'
# Custom Eslint hook, necessary due to dropping of the "compact" formatter in v9.
# The hook now relies on the default "stylish" formatter and checks stdout instead.
# See `.git-hooks/pre_commit/eslint.rb` for details.
Eslint:
required_executable: 'pnpm'
enabled: true
command: ['pnpm', 'lint:js:eslint:cmd']
exclude:
- 'app/assets/**/*'
- 'public/assets/chat/**/*'
- 'public/assets/form/**/*'
- 'app/frontend/shared/graphql/types.ts'
- 'app/frontend/shared/types/config.ts'
include:
- '**/*.js'
- '**/*.ts'
- '**/*.vue'
Oxlint:
required_executable: 'pnpm'
enabled: true
command: ['pnpm', 'lint:js:oxlint:cmd']
flags: ['app/frontend/', '.eslint-plugin-zammad/']
exclude:
- 'app/frontend/shared/graphql/types.ts'
- 'app/frontend/shared/types/config.ts'
include:
- 'app/frontend/**/*'
- '.eslint-plugin-zammad/**/*'
Oxfmt:
required_executable: 'pnpm'
enabled: true
command: ['pnpm', 'format:check:cmd']
flags: ['app/frontend/', '.eslint-plugin-zammad/']
include:
- 'app/frontend/**/*.js'
- 'app/frontend/**/*.ts'
- 'app/frontend/**/*.vue'
- '.eslint-plugin-zammad/**/*.js'
- '.eslint-plugin-zammad/**/*.ts'
Mdl:
required_executable: 'pnpm'
enabled: true
command: ['pnpm', 'lint:md:cmd']
exclude:
- 'node_modules'
- 'tmp'
include:
- '**/*.md'
PostCheckout:
ALL:
enabled: false
PostCommit:
ALL:
enabled: false
PostMerge:
ALL:
enabled: false
PostRewrite:
ALL:
enabled: false
PrePush:
ALL:
enabled: false
CustomScript:
enabled: true
description: 'Verify GraphQL introspection file is not empty.'
required_executable: 'bash'
command: ['bash', '-c', 'test -s app/graphql/graphql_introspection.json']
on_warn: fail
PreRebase:
ALL:
enabled: false
PrepareCommitMsg:
ALL:
enabled: false