Visual Studio Code で Node.js のコードを行頭スペースと改行を置換削除して簡易ワンライナー化するメモ

Visual Studio Code で Node.js のコードを行頭スペースと改行を置換削除して簡易ワンライナー化するメモです。

node -e ” code ” を使いたいのでソースコードを1行にしたい

package.json の npm run コマンドで、ちょっと長めのコードを実行したいときがあります。node -e " code " を使うと、内容がちゃんと動くものであれば、複数行と書いたときと同様に動きます。素敵です。

たとえば、あるフォルダを素の Node.js のライブラリだけで、あるフォルダを作成するようなソースコード。

console.log('[START] mkdir-node-red_dir');
const fs = require('fs');
const path_nodered_dir = './node-red_dir';
if (fs.existsSync(path_nodered_dir)) {
  console.log( '[ALERT] ' + path_nodered_dir + ' has existed!');
} else {
  console.log('[OK] mkdir -> ' + path_nodered_dir );
  fs.mkdirSync(path_nodered_dir);
}

これを node -e " code " を使いたいのでソースコードを1行にするとなると

  • 行頭スペースを削除
  • 改行を削除

というのを、ちまちま作業すればいいんですが、結構手間なので、何とかしたいと思ってました。

Visual Studio Code で行頭スペースと改行を置換削除する

なるべく、少ない手順でやりたいなということで、Visual Studio Code の置換機能を使います。

image

  • 検索エリアの 正規表現検索 .* アイコンをクリックして ON にして正規表現検索を有効にします
  • 検索エリアの文字列を ^ +|\n|\r と指定して、行頭スペースと改行を正規表現でキャッチできるようにします
  • 置換する内容は空文字にして該当文字列は削除する

先ほどのソースコードを実行すると

image

行頭スペースと改行がちゃんとターゲットにされています。

image

ということで Replace All すると、このように行頭スペースと改行が全部空文字と置換され削除されました。