- セレクタ文字列を使ってデータ構造をクエリし、変更できるようにするツール
- JSON、YAML、TOML、XML、CSVをサポートし、ランタイム依存関係がない
- さまざまなデータ形式を扱うために新しいツールを学ぶ必要がない
- 標準セレクタ構文を使用して、一度学べばすべての対応データ形式をクエリ・変更できる
- homebrew、ASDF、scoop、docker、Nix、または最新リリースのコンパイル済みバイナリからインストール可能
- Features
- 構造化データファイルからのデータのクエリ・選択
- 構造化データファイル内のデータ更新
- データファイルの作成
- 複数のデータ形式・タイプをサポート
- データ形式・タイプ間の変換
- すべてのデータ形式で標準クエリ・セレクタ構文を使用
- ランタイム依存関係なし
- Linux、Mac、Windowsで利用可能
- 自身のプロジェクトに取り込んで利用可能
- Docker経由で実行可能
- jq/yqより高速
- Pre-commitフック
- Playground
- daselコマンドを試せるプレイグラウンドを提供
- プレイグラウンドのソースコードは github.com/TomWright/daselplayground で確認可能
- Benchmarks
- テスト結果では、daselはjqより最大3倍、yqより最大15倍高速
- ベンチマークディレクトリで確認可能
GN⁺のまとめ
- Daselは多様なデータ形式をサポートし、標準セレクタ構文を使って簡単にクエリおよび変更できるツール
- ランタイム依存関係がなく、複数のプラットフォームで利用でき、jq/yqより高速
- さまざまなインストール方法とpre-commitフックを提供し、開発環境に容易に統合できる
- データ形式間の変換が必要な場合や、複数のデータ形式を扱うプロジェクトで有用
- 類似機能を持つツールとしては jq、yq などがある
1件のコメント
Hacker Newsのコメント
JMESPathが今後進むべき道かもしれないgronは直感的で、ほかのツールとも相性が良い