ReRegisterHooks constructor

ReRegisterHooks({
  1. String? pathToHooksDir,
})

Implementation

ReRegisterHooks({String? pathToHooksDir})
    : super(
        name: 'Re-register hooks',
        include: [
          if (pathToHooksDir case final String path)
            Glob('$path/**.{dart,sh}')
          else
            Glob('hooks/**.{dart,sh}'),
        ],
        commands: (_) {
          final changeDir = switch (pathToHooksDir) {
            String() => 'cd $pathToHooksDir || exit 1;',
            _ => '',
          };

          const package = 'hooksman';

          return [
            '''
# Running hooksman register
$changeDir
if dart pub deps | grep -q "$package "; then
dart run hooksman register
elif dart pub global list | grep -q "^$package "; then
dart run hooksman register
else
echo "Not installed"
exit 1
fi
''',
          ];
        },
      );