dprint とても良いよ
dprint とは
dprint とは Rust で実装され高速に動作するコードフォーマッタです。
一応、売りを公式ページからコピペすると以下の通りです。
- フォーマットは非常に高速です。
- プラグインは、URLまたはファイルパスからインポートできるWebAssemblyファイルです。
- 公式プラグインは高度な設定が可能で、好みに合わせてコードを自動フォーマットできます。
- URLから構成をインポートして、再利用および共有できます。
実際動かしてみると、”すっ” と動作する感じです。この動作の軽快さは Deno のビルトインのフォーマッタやリンタの軽さに通じるところがあります。(deno fmt
の内部で dprint
が動いているので当たり前ですが。)
VS Code の拡張機能にも対応しているので、Deno User は是非お試しあれ!!
インストール
公式のインストールページ の通りです。Linux だと以下の通りです。
curl -fsSL https://dprint.dev/install.sh | sh
コマンド実行後にインストーラの指示通りに PATH を通せば完了です。
実行!
CLI として実行したい場合はまずは設定ファイルを作ります。
$ dprint init
What kind of project will dprint be formatting?
More information: https://dprint.dev/sponsor
> commercialEvaluation Dprint is formatting a project whose primary maintainer is a for-profit
company or individual and it is being evaluated for 30 days.
commercialSponsored Dprint is formatting a project whose primary maintainer is a for-profit
company or individual AND the primary maintainer sponsored the project.
Thank you for being part of moving this project forward!
openSource Dprint is formatting an open source project whose primary
maintainer is not a for-profit company (no sponsorship requirement).
educational Dprint is formatting a project run by a student or being used for
educational purposes (no sponsorship requirement).
nonProfit Dprint is formatting a project whose primary maintainer is a non-profit
organization (no sponsorship requirement).
Select plugins (use the spacebar to select/deselect and then press enter when finished):
> [x] dprint-plugin-typescript
[x] dprint-plugin-json
[x] dprint-plugin-markdown
[x] dprint-plugin-rustfmt
プラグインを選べ的なことを言われるので、対象としたいものを選択します。
フォーマットチェックだけして、ファイルを書き換えたくない場合は
$ dprint check
フォーマットしたい場合は、
$ dprint fmt
で OK! (雑)
最後に背景というか本論というか愚痴
ただ僕は assertNotMatch() の Usage がドキュメントに書いていなかったから、修正して pull request を出しただけなんだ。そうしたら、Deno の github action の CI が fail してしまった。
どうも python から formatter を呼び出したら差分が出てしまい、「おい、ちゃんとフォーマットしろよ!」ということらしいです。Deno の勉強するときはいつも deno fmt
や deno lint
のお世話になっていますが、マークダウンで怒られるとは...。python
コードを眺めてみるとどうも md
ファイルに対してはdprint
というものが動いているようで、こいつでちゃんとフォーマットチェックをしないとダメらしいです。いや、知らんがな...。
(2020/09/18 追記)
マークダウンでも deno fmt 使わせろよというissue がありました。
ちなみに本記事投稿時に dprint
について書いている日本語記事は「ESLint 上で dprint を使う」くらいしか見当たりませんでした (そして、あちらは至極全うな記事)。
今後、dprint
という文字列を見て、「何これ?」と思う人が少しでも減ればと思い、この記事を書きます。
Author And Source
この問題について(dprint とても良いよ), 我々は、より多くの情報をここで見つけました https://qiita.com/piyota6/items/cfc4323fab1fcbd96eb4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .