5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OSSのドットファイル探訪(ServerSide編)

Last updated at Posted at 2018-02-04

普段使っているオープンソースソフトウェアのプロジェクトルートにあるドットファイル(.gitignore等)を覗いてみたら色々と発見があったので、面白かったものを以下に書いてみます。

GitLab (Community Edition)

Ruby on Rails製のGitホスティングサービス

まず.gitlab/だけでなく、最大の競合であるはずの .github/ ディレクトリもあります。なぜでしょうか?

d1506ebe · Commits · GitLab.org / GitLab Community Edition · GitLab より引用

This adds templates for Issues/Pull Requests in a .github directory. These only effect issues/PRs opened in the GitHub mirror of the GitLab project. As we're shutting these down, I thought it'd be good to direct users/contributors to open issues/contribute code in the "correct" project.

「GitHubのミラーリポジトリではなく、GitLabにある正規のリポジトリを見てね」という文言をテンプレートに出すために追加されているようです。独特な使い方ですね。

.gitlab-ci.ymlにCIの設定があります。GitLab自体のプロジェクトのため、当然GitLabの機能がフル活用されています。

.codeclimate.yml で ESLintとRubocopを動かしているようでしたが、ESLintは依存性の関係でenabled: falseになっていました。
.flayignore は、静的コード解析 seattlerb/flayの設定ファイルのようです。
ソースコード管理ツールのソースコードだけあってか、品質担保系はちゃんとしていますね。

他には .babelrc , .csscomb.json, .haml-lint.yml などフロントエンドの設定ファイルが続きます。.foreman, .ruby-versionといったRuby系のファイルもあります。

.pkgr.ymlというのは https://packager.io の設定ファイルでしょうか?よく分かりませんでした。

Sentry (ON-PREMISE Version)

Python製イベントログ収集ツール

Visual Studio Codeの設定ファイルである.vscode/ というディレクトリがリポジトリに入っています。これは物議を醸しそうな一品ですが、プルリク を読む限り大した議論もなく入ったようです。素晴らしいですね。

.tx/は、翻訳プラットフォームTransifexの設定ファイルのようです。実際に https://www.transifex.com/getsentry/sentry/ で翻訳状況を確認できます。

.prettierrcは、JavaScript等のフォーマッタPrettierの設定ファイルです。
あと.travis.ymlがあるのでTravisCIが回っているようですね。

.eslintrc, .babelrc, .storybookなどがフロントエンド系。.isort.cfg はPython系の設定ファイルです。

Redash (Open Source Self hosted Version)

Python製BIツール

.editorconfig.yml というファイルが入っています。EditorConfigは、異なるエディタ間で共通の設定を使う事ができるツールのようです。

参考: どんなエディタでもEditorConfigを使ってコードの統一性を高める - Qiita

.vscode/を突っ込んだ某プロジェクトとは異なり、平和的なプロジェクトですね。

なお .gitignoreには .vscodeが含まれていました

Microsoft ACS Engine

Azure Container Service (ACS)のOSS版。Go製。
Azure Container Service (AKS)ではなく、Azure Container Service (ACS)。

Microsoft製のリポジトリですが、こちらも.vscode.gitignoreに入っています

Metabase

Clojure製のBIツール

ClojureのビルドツールであるLeiningenの設定ファイルが含まれています。
フロントエンド系は.babelrc, .eslintrcに加えて、Facebook製の静的型付けJavaScriptであるFlowの設定ファイル.flowconfigがあります。選定言語から開発者の好みが見えそうですね。

またエディタ設定ファイルとして.editorconfigがあるので平和的リポジトリかと思いきや、.dir-locals.el というEmacs設定ファイルも入っています。これはどうやらα版の時代にMaster Pushされたようです。

まとめ

  • ドットファイルはプロジェクトコードへの依存が浅いので、どんなプロジェクトでも参考にできる点が多い
  • EditorConfigTransifexなど、ファイル名を調べるだけでも知らないツールやサービスが見つかったりする
  • .vscode/は、リポジトリに入れるか.gitignoreに入れるかで割れる
5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?