LoginSignup
2
1

More than 3 years have passed since last update.

ファイルをセーブしたら、bashコマンドを走らせる」というライブラリを1行で作る。

Last updated at Posted at 2019-11-27

「ファイルをセーブしたら、npmスクリプトを走らせる」というライブラリがある日突然欲しくなりました。

onchangeというライブラリが見つかりました。npmライブラリです。

使い方は簡単で、onchangeをグローバルにインストールした後、grobパターンで、監視するファイルとnpmスクリプトを記述するだけです。

npm install -g onchange
onchange 'app/**/*.js' 'test/**/*.js' -- npm test

しかしです...

globパターンを記述するのが地味に面倒い!
ルートフォルダ以下で変更があれば、npmスクリプトを走らせるだけでいいのに...

そこでよりシンプルなライブラリを自作することにしました

作ったのが「save-run」というライブラリ。

名前は、save-runとして、npmに登録してあります。
save-run

使い方は簡単で、npxを使用するまたはグローバルにインストールしてからrun-saveコマンドの後にnpmスクリプトを渡すだけ。

npx save-run npm test
または
npm install -g save-run
save-run npm test

幸せになれました〜〜〜

私は、react-nativeエンジニアなのですが、

save-run npm start
save-run python main.py

などに使っています。

実はこのライブラリは1行で実装されているので、興味のある方は読んでみてください。

#!/usr/bin/env node

const { watch } = require('chokidar')
const { execSync } = require('child_process')

watch('.').on('change', () => execSync(process.argv.slice(2).join(' '), { stdio: 'inherit' }))

完!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1