こんにちは、フロントエンドエキスパートチームの鈴木(@__sosukesuzuki)です。
弊社のサービスである kintone では、コードのフォーマットを ESLint のみで行っているためプロジェクト内でコーディングスタイルを統一しきれていないという問題を抱えていました。
そこで opinionated なコードフォーマッター Prettier を導入し、コードベース全体でコーディングスタイルを統一するための支援をフロントエンドエキスパートチームで行いました。
2011 年にローンチされた kintone では、フロントエンドの大部分が Closure Tools を使って開発されています。Closure Tools は型の指定方法やクラスの定義方法などに独自システムを採用しており、現在の JavaScript のエコシステムや仕様と一部乖離しています。そのため、Prettier 本体が Closure Tools に対応していない部分があり、Prettier を kintone の開発にそのまま導入することができませんでした。
こういった背景から、今回チームの活動として Prettier に Closure Tools 対応を入れる活動を行いました。 Prettier は OSS として公開されていますので、 Closure Tools 特有の問題を解決するための PR を出して取り込んでもらいました。その結果、kintone に Prettier を導入することができるようになりました。
今回は、Closure Tools プロジェクトにコードフォーマッター Prettier を導入するにあたって直面した課題と、それに対してどのように対処していったのか、それら対処を含む Prettier 2.2 のリリースについて紹介します。
Closure Tools 環境での開発体験の向上の手段として、そして OSS への向き合い方として参考になれば嬉しいです。
続きを読む