フォルダを選択して、gulpを起動するスクリプト

特定のフォルダに移動してgulpを実行するのは面倒なので、
フォルダ一覧から選択して、起動やインストールできるようなスクリプトを作成することにしました。

pecoについて

golangで作られたpercolです。
pecoを用いると、ディレクトリ内を一覧表示して選択または検索する…ということができるようになります。

pecoの導入

インストール

Homebrewからインストールすることができます。

$ brew install peco

確認

lsに「 | peco」を付けると、一覧画面が出ます。

$ ls | peco

選択画面で選んだフォルダまたはファイル名が出力されます。
そのままでは使わずに、他のコマンドと合わせて使います。

スクリプトの作成

ターミナルから実行できるように、シェルスクリプトを作成します。

作業フォルダのある場所へとcdで移動して、lsとpecoでフォルダ一覧を表示、
選択したフォルダに移動して、gulpを起動する単純なスクリプトです。
移動先にnode_modulesがなければ、あらかじめ用意してあるpackage.jsonとgulpfile.jsをコピーしてから、yarnでインストールします。

「root_dir」にはプロジェクトフォルダがある場所(今回は~/htdocs/)を、
「gulp_dir」には「package.json」「gulpfile.js」のあるフォルダを指定します。

function gulp_run()
{
  local root_dir=~/htdocs/
  local gulp_dir=~/gulp/

  cd $root_dir

  local project="$( ls -F | grep / | peco )"
  if [ -n "$project" ]; then
    cd $project

    if [ ! -e node_modules ]; then
      cp $gulp_dir'package.json' $gulp_dir'gulpfile.js' ./
      yarn install
    fi

    gulp

  fi
}

ターミナルで呼び出すと、~/htdocs/の一覧画面が出るので、gulpを起動させるフォルダを選択します。
文字入力で検索することも可能です。


作業フォルダによって別のgulpファイルをコピーできるようにしたり、フォルダ名を引数にして直接実行できるように改良すれば、より使いやすくなるかもしれません。

Writer

hys

よろしくお願いします。

Page Topへ