- クラウド技術
ProjenでAWS CDKのプロジェクトを始めよう
- #DevTools
- #AWS
この記事を書いたチーム:tenko
Projenとは
【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc. 詳細はこちらから>
Projenは、JavaScript/TypeScriptプロジェクトの設定や管理を自動化するツールです。特に、AWS CDKやその他の開発フレームワークでのプロジェクトを簡単にセットアップするために設計されています。Projenを使うことで、プロジェクトの初期設定、ライブラリの依存関係の管理、スクリプトの定義、テストの設定などを自動化し、手動で行う手間を減らすことができます。
メリット
以下のようなメリットを享受できます。ざっくりいうと、CDKのCLIに沿ってプロジェクトを作成した場合、リント設定やCI設定がないところをProjenに任せられるところがメリットでしょうか。
1 2 3 4 5 6 7 8 9 10 |
ProjenはAWS CDKプロジェクトの設定を自動化します。 これにより、プロジェクトの初期設定や必要なファイルの生成を手動で行う手間が省けます。 例えば、cdk.jsonやpackage.jsonの設定、TypeScriptやJavaScriptのLintルール、 テストフレームワークの設定などが自動的に行われます。 Projenは標準的なプロジェクト構造を提供します。これにより、複数のプロジェクトにおいて 一貫した構造が維持され、プロジェクト間の移動やコードの共有が容易になります。 また、プロジェクト構造が統一されることで、新しい開発者がプロジェクトに参加しやすくなります。 Projenは、AWS CDKプロジェクトでよく使われるベストプラクティスをデフォルトで適用します。 これにより、セキュアでメンテナンスしやすいコードを簡単に書くことができ、 プロジェクトの品質が向上します。 |
始め方
- 事前準備
Nodejsのインストール
Yarnのインストール
- 任意ディレクトリで以下のコマンドを実行
1npx projen new awscdk-app-ts
- 以下のようなプロジェクトが作成されます
1234567891011├── LICENSE├── README.md├── cdk.json├── package.json├── src│ └── main.ts├── test│ └── main.test.ts├── tsconfig.dev.json├── tsconfig.json└── yarn.lock
package.jsonの中身を見てみる
cdk init app –language=typescriptを実行したときよりも多くのタスクが登録されてるのを確認できますね!
projen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
"scripts": { "build": "npx projen build", "bundle": "npx projen bundle", "clobber": "npx projen clobber", "compile": "npx projen compile", "default": "npx projen default", "deploy": "npx projen deploy", "destroy": "npx projen destroy", "diff": "npx projen diff", "eject": "npx projen eject", "eslint": "npx projen eslint", "package": "npx projen package", "post-compile": "npx projen post-compile", "post-upgrade": "npx projen post-upgrade", "pre-compile": "npx projen pre-compile", "synth": "npx projen synth", "synth:silent": "npx projen synth:silent", "test": "npx projen test", "test:watch": "npx projen test:watch", "upgrade": "npx projen upgrade", "watch": "npx projen watch", "projen": "npx projen" }, |
cdk init (参考)
1 2 3 4 5 6 |
"scripts": { "build": "tsc", "watch": "tsc -w", "test": "jest", "cdk": "cdk" }, |
まとめ
Projenを用いることで、CDKのベストプラクティスに沿ったプロジェクトの作成を容易に行えることがわかりました。このようなプロジェクトテンプレート作成ツールは、ドキュメント化されていないようなベストプラクティスが多く盛り込まれているので、気になった方は試してみてはどうでしょうか?
【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>