1
/
5

SWCの設定ファイルをコミットできないのが間接的にVimのせいだった話

Photo by Matt Hudson on Unsplash

SWCはJavaScriptのコードを変換するツール (トランスパイラ) です。同じ用途のツールとしてBabelがよく知られていますが、BabelがJavaScriptで書かれているのに対してSWCはRustで書かれているためより高速に動作します。

Wantedlyでは現在SWCの導入を試行中です。WantedlyではBabelプラグインを自作して運用しているため、その移行で困難があることがわかっていますが、詳しくは以下の記事を参照してください。


BabelプラグインをRust (SWC) に移植して、JavaScriptのコンパイルを爆速にする 〜基本編〜 | Wantedly Engineer Blog
こんにちは、WantedlyのDX (Developer Experience) ...
https://www.wantedly.com/companies/wantedly/post_articles/386129


BabelプラグインをRust (SWC) に移植して、JavaScriptのコンパイルを爆速にする 〜プラグイン作成編〜 | Wantedly Engineer Blog
こんにちは、WantedlyのDX (Developer Experience) チームでインターンをしていた田村です。今回のインターンではWantedlyのフロントエンドのトランスパイラをBabelからSWCに移行することを目標に調査を行いました。BabelからSWCの移行方法については前の記事(基本編)をご覧ください。本記事では簡単なSWCカスタムプラグインを作成することを通して、プラグインの書き方、使い方、テストを紹介します。本記事は、BabelプラグインをSWCに移植する際に必要な知識は一通り網羅
https://www.wantedly.com/companies/wantedly/post_articles/386347

さて、SWCの設定は .swcrc というファイルに書くのですが、このファイルがなぜかコミットされていないという事象が発生していました。

もうタイトルから想像がついているかと思いますが、悪さをしていたのは .gitignore の以下のような行でした。

# Vimのスワップファイルはコミットしない
*.sw*

これは foo.swpbar.swo などのファイルを除外するためのルールですが、 .swcrc もこのパターンに該当してしまいます。

以下のようにすることで対応できます。

# 拡張子は swp, swo, swr, ... と増えていくが、4文字になることはない。
# そのため、 ? を使えばfalse positiveはなくなる
*.sw?

# または、単に例外ルールを足しておく
*.sw*
!.swcrc

Vimが悪いわけではないですが、思いもよらぬところでVimの影が忍び寄っていたという話でした。

Wantedly, Inc.'s job postings
5 Likes
5 Likes

Weekly ranking

Show other rankings
Invitation from Wantedly, Inc.
If this story triggered your interest, have a chat with the team?