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 の置換機能を使います。
- 検索エリアの 正規表現検索
.*
アイコンをクリックして ON にして正規表現検索を有効にします - 検索エリアの文字列を
^ +|\n|\r
と指定して、行頭スペースと改行を正規表現でキャッチできるようにします - 置換する内容は空文字にして該当文字列は削除する
先ほどのソースコードを実行すると
行頭スペースと改行がちゃんとターゲットにされています。
ということで Replace All すると、このように行頭スペースと改行が全部空文字と置換され削除されました。