tags : Programming Languages

Clojure

depth-new

✅ deps-new の概要

`deps-new` は、Clojure CLI の `tools.build` を活用して、テンプレートから新しいプロジェクトを生成するツールです。`clj-new` の後継として設計されており、よりシンプルで柔軟なテンプレートシステムを提供します。

GitHub リポジトリ: https://github.com/seancorfield/deps-new

🚀 deps-new のインストール

以下のコマンドで `deps-new` をツールとしてインストールできます(Clojure CLI 1.11.1.1149 以降が必要です):

clojure -Ttools install-latest :lib io.github.seancorfield/deps-new :as new

※ 以前に `clj-new` を `:as new` としてインストールしている場合は、先に削除してください:

clojure -Ttools remove :tool new

📦 プロジェクトの作成方法

新しいアプリケーションプロジェクトを作成するには、以下のコマンドを実行します:

clojure -Tnew create :template app :name yourname/yourapp

このコマンドにより、以下のようなディレクトリ構造のプロジェクトが作成されます:

yourapp/
├── deps.edn
├── src/yourname/yourapp.clj
├── test/yourname/yourapp_test.clj
├── README.md
└── build.clj

`src/yourname/yourapp.clj` には、基本的な `-main` 関数が含まれており、すぐに開発を開始できます。

🔧 その他のテンプレート

`deps-new` には、以下のようなテンプレートも用意されています:

  • `:template lib`:ライブラリプロジェクト
  • `:template scratch`:最小限のプロジェクト
  • `:template pom`:`pom.xml` を含むプロジェクト

また、`template.edn` ファイルとテンプレートディレクトリを用意することで、独自のテンプレートを作成することも可能です。

🧪 テストの実行

生成されたプロジェクトには `build.clj` が含まれており、以下のコマンドでテストを実行できます:

clojure -T:build test

また、CI 用のビルドや `uberjar` の作成も可能です:

clojure -T:build ci

📝 まとめ

  • `deps-new` は、`Clojure CLI / deps.edn` ベースのプロジェクトを迅速に作成するためのツールです。
  • `clj-new` よりもシンプルで、`tools.build` を活用した柔軟なテンプレートシステムを提供します。
  • 標準で `app` や `lib` などのテンプレートが用意されており、独自のテンプレート作成も可能です。
  • 生成されたプロジェクトには、テストやビルドのための `build.clj` が含まれています。

詳細は、deps-new の GitHub リポジトリをご覧ください。