web-dev-qa-db-ja.com

ファイルを再帰的に解析するようにきれいに指示するにはどうすればよいですか?

prettier に、ファイルをチェックする各フォルダーを指定するのではなく、JavaScriptファイルを再帰的に解析するように依頼したいと思います。

私は次のようなことをしたいと思います:

prettier --write "all_js_files_except_node_modules_folder"

私は彼らのドキュメントをあまり見つけていません。助言がありますか?

ありがとう、ポール

18
Paul

この問題 数週間前からあなたの質問に答えているようです。 TL; DR:

prettier "{,!(node_modules)/**/}*.js"
25
Joe Clay

あなたが私のようなら、あなたはターゲットファイルがグロブフォーマットを使用していることに気づいていませんでした。

あなたはそれについてもっと読むことができます ここ 。 (特殊文字についての説明を確認してください)。さらに詳しく知りたい場合は、こちらを確認してください: http://tldp.org/LDP/abs/html/globbingref.html

私のフォルダ構造:

_components/
pages/
node_modules/
package.json    
server.js
_

_package.json_と_node_modules/_を無視したい。私はこのコマンドで私のニーズを解決しました:

_prettier --write "{*.js,!(node*)**/*.js}"`
_

_{}_は、いくつかのフィルター基準を使用できるようにする拡張メカニズムです。私の場合は2つありました。

1:_*.js_:コマンドが実行されるルート内のすべてのJSファイルをターゲットにします

2:!(node*)**/*.js:すべてのフォルダーとサブフォルダー内のすべてのJSファイルをターゲットにします(再帰部分は_**_を使用して取得されます)

5
Paul

簡単な例(角かっこなし、orsなど)が必要なカット&ペーストの場合、これは便利なグロブの例になります。

prettier --write "app/**/*.ts"

あらゆる*.tsファイルはappディレクトリ以下にあります。

1
ruffin

このソリューションは私にとって最適です。これは、ネストされているかどうかに関係なく、すべてのファイルにヒットする唯一の方法です。

package.json

  "scripts": {
    "format": "prettier --write {,*/**/}*.{js,jsx,json}",
  },

.prettierignore

node_modules
build
0
coloradocolby