package.jsonに "scripts": { "lint": "eslint src/**/*.{js,jsx}" } と書いた場合、npm run lintやyarn run lintは、このコマンドをシェルを通して実行する。このときデフォルトではshが使われる。例えばmacOSだとshはbashなので、bashがsrc/**/*.{js,jsx}を展開することになる。しかしbashは**/*の展開に対応してないので思ったとおりにうごかない。 $ tree . └ src ├ a │ └ bar.js └── foo.js $ zsh -c 'echo src/**/*.js' src/a/bar.js src/foo.js $ bash -c 'echo src/**/*.js' src/a/bar.js この場合はeslintがglobを展開してくれるので、クオートしてそ