discourse/lefthook.yml
David Taylor 80b9c280ba
DEV: Switch to pnpm for JS dependencies (#28671)
This will bring significant improvements to install speed & storage requirements. For information on how it may affect you, see https://meta.discourse.org/t/324521

This commit:
- removes the `yarn.lock` and replaces with `pnpm-lock.yaml`
- updates workspaces to pnpm format
- adjusts package dependencies to work with pnpm's stricter resolution strategy
- updates Rails app to load modules from more specific node_modules directories
- adds a `.pnpmfile` which automatically cleans up old yarn-managed `node_modules` directories
- updates various scripts to call `pnpm` instead of `yarn`
- updates patches to use pnpm's native patch system instead of patch-package
- adds a patch for licensee to support pnpm
2024-09-03 10:51:07 +01:00

78 lines
2.3 KiB
YAML

skip_output:
- meta
- success
pre-commit:
parallel: true
skip:
- merge
- rebase
commands:
rubocop:
glob: "*.rb"
run: bundle exec rubocop --parallel --force-exclusion {staged_files}
syntax_tree:
glob: "*.{rb,rake}"
run: bundle exec stree check Gemfile {staged_files}
prettier:
glob: "*.js"
include: "app/assets/javascripts|plugins/.+?/assets/javascripts"
run: pnpm pprettier --list-different {staged_files}
prettier-scss:
glob: "*.scss"
include: "app/assets/stylesheets|plugins/.+?/assets/stylesheets"
run: pnpm pprettier --list-different {staged_files}
eslint:
glob: "*.js"
include: "app/assets/javascripts|plugins/.+?/assets/javascripts"
run: pnpm eslint -f compact --quiet {staged_files}
ember-template-lint:
glob: "*.hbs"
include: "app/assets/javascripts|plugins/.+?/assets/javascripts"
run: pnpm run ember-template-lint {staged_files}
yaml-syntax:
glob: "*.{yaml,yml}"
# database.yml is an erb file not a yaml file
exclude: "database.yml"
run: bundle exec yaml-lint {staged_files}
i18n-lint:
glob: "**/{client,server}.en.yml"
run: bundle exec ruby script/i18n_lint.rb {staged_files}
fix-staged:
parallel: false
commands:
prettier:
glob: "*.js"
include: "app/assets/javascripts|plugins/.+?/assets/javascripts"
run: pnpm pprettier --write {staged_files}
rubocop:
glob: "*.rb"
run: bundle exec rubocop --force-exclusion -A {staged_files}
syntax_tree:
glob: "*.{rb,rake}"
run: bundle exec stree write Gemfile {staged_files}
lints:
parallel: true
commands:
rubocop:
glob: "*.rb"
run: bundle exec rubocop --parallel
prettier:
run: pnpm pprettier --list-different **/*.js
prettier-scss:
run: pnpm pprettier --list-different **/*.scss
eslint:
run: pnpm eslint -f compact --quiet --ext .js .
ember-template-lint:
run: pnpm run ember-template-lint .
yaml-syntax:
glob: "*.{yaml,yml}"
# database.yml is an erb file not a yaml file
exclude: "database.yml"
run: bundle exec yaml-lint {all_files}
i18n-lint:
glob: "**/{client,server}.en.yml"
run: bundle exec ruby script/i18n_lint.rb {all_files}