nodeが使われるようになって、大きなシステムも作られるようになっています。そんな中で生まれるのがrequire/import地獄です。毎回ファイルごとにライブラリを読み込まなければならず、管理が煩雑になっていきます。 そこで使ってみたいのがShrimpitです。ディレクトリを解析し、使われていない箇所を抽出してくれます。

Shrimpitの使い方

以下は一例で、3つのファイルがあるディレクトリになります。

# a4.js
import { a11, a12 } from './a1'
export const a4 = '1337'
export default {
  propA: '8080',
  propB: () => {},
  propC: false
}

# a1.js
import a4 from './a4'
export function a11 () {}
export default function a12 () {}

# a2.js
import * as test from './a1'
export default function a2 () {}

この3つのファイルがあった時に、どの変数が実質的に使われていないか分かるでしょうか。

$ shrimpit a
 Shrimpit!  

 > Unused exports  

[ 'a2', 'a4' ] 

このように a2とa4が使われていないと判定されます。このように判定されれば使われていないファイルを読み込むのを止めたり、コードを見直す切っ掛けになるでしょう。Shrimpitは通常のJavaScriptの他、JSX/Vueに対応しています。なお形式としてはimport/exportのみになるようです。JavaScriptのリファクタリングに一役買いそうなソフトウェアです。

Shrimpitはnode/JavaScript製のオープンソース・ソフトウェア(MIT License)です。

yamafaktory/shrimpit: Shrimpit ? is a small CLI analysis tool for checking unused JavaScript, JSX & Vue templates ES6 exports in your project.