TGViewer
Flutter. Много Flutter. Много @flutter_amiga · 2.96K subscribers
Post #444 2.33K
Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. Сегодня мы продолжим говорить про Git Hooks, а именно рассмотрим, как их можно делать на Dart.

В этом нам поможет библиотека git_hooks. Ее нужно активировать глобально.

dart pub global activate git_hooks


Далее создать место, где будут храниться наши хуки внутри нашего проекта.

git_hooks create bin/git_hooks.dart


Потом необходимо создать файл bin/main.dart со следующим содержанием:

void main() async{
GitHooks.init(targetPath: "bin/git_hooks.dart");
}


И выполнить команду, которая все для нас подготовит

dart bin/main.dart


После чего мы можем приступить к написанию нашего хука. Заполним наш файл git_hooks.dart:

void main(List arguments) {
Map<Git, UserBackFun> params = {
Git.preCommit: _formatCode,
};
GitHooks.call(arguments, params);
}

Future<bool> _formatCode() async {
try {
print(‘Running dart format’);
ProcessResult result = await Process.run(‘dart format .’, [‘bin’]);
print(result.stdout);
if (result.exitCode != 0) return false;
} catch (e) {
return false;
}
return true;
}


Теперь наш хук должен заработать.

На самом деле, такое решение вполне применимо, но лучше использовать стандартные хуки на Bash.

Делитесь в чате, попробовали ли бы использовать такие хуки?
  • 🔥 3
  • ❤ 2
  • 👍 2
More from @flutter_amiga
  1. Sep 9, 2026AI BOOST’26: выручка падает — что делают крупные digital-агентства и при чем здесь AI 22–2…
  2. Aug 18, 2026Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. Сегодня посмотрим на чек-…
  3. Aug 13, 2026Hola, Amigos! Сегодня вышли Flutter 3.47 и Dart 3.13. Давайте вместе разберемся, что в них…
  4. Jul 31, 2026Дайджест июля Hola, Amigos! Собрали в одну подборку все полезные посты июля, которые вы мо…
  5. Jul 28, 2026Hola, Amigos! Сегодня посмотрим на один пакет, который может быть полезен в разработке - p…
  6. Jul 24, 2026Hola, Amigos! Сегодня мы вводим новую рубрику - обзоры правил для статического анализатора…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →