Open1

Lefthook導入する

JboyHashimotoJboyHashimoto

lefthookを使ってみる

install

brew install lefthook

git init & commit

git init
git add .
git commmit -m "wip"

Flutterプロジェクト内で、install

lefthook install

こんなファイルが作成される。

analysis_options.yamlのリントの設定をする

  1. print文禁止
  2. camelCaseで長い変数は書く
  3. '(シングルクォーとを使う)
# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
# invoked from the command line by running `flutter analyze`.

# The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml

linter:
  # The lint rules applied to this project can be customized in the
  # section below to disable rules from the `package:flutter_lints/flutter.yaml`
  # included above or to enable additional rules. A list of all available lints
  # and their documentation is published at https://dart.dev/lints.
  #
  # Instead of disabling a lint rule for the entire project in the
  # section below, it can also be suppressed for a single line of code
  # or a specific dart file by using the `// ignore: name_of_lint` and
  # `// ignore_for_file: name_of_lint` syntax on the line or in the file
  # producing the lint.
  rules:
    # print禁止
    avoid_print: true
    # single quotesを使う
    prefer_single_quotes: true
    # camelCaseを使う
    prefer_typing_uninitialized_variables: true
    # avoid_print: false  # Uncomment to disable the `avoid_print` rule
    # prefer_single_quotes: true  # Uncomment to enable the `prefer_single_quotes` rule

# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options

正しくない状態で、git pushするとエラーが出る😱
成功ですね。

今回は、簡易的な設定なので、これに書き換えないとpushできない。

# EXAMPLE USAGE:
#
#   Refer for explanation to following link:
#   https://github.com/evilmartians/lefthook/blob/master/docs/configuration.md

pre-commit:
  commands:
    1_analyzer:
      run: flutter analyze
    2_linter:
      run: dart fix --apply

pre-push:
  commands: {}