TypeScript で作成された AWS Lambda 関数をコンパイルして ZIP パッケージ化する
npxを使用して直接実行できる:
npx @abfry0620/lambda-package
# または必要に応じてグローバルにインストール
npm install -g @abfry0620/lambda-packagenpx @abfry0620/lambda-package --help出力例:
Usage: lambda-package [options]
Compile and Zip programs created in TypeScript for AWS Lambda.
Options:
-V, --version output the version number
-h, --help display help for commandnpx @abfry0620/lambda-package --versionツールを実行すると、以下の手順が実行される:
- 既存の
distディレクトリとpackagesディレクトリをクリーンアップ - TypeScript コードをコンパイル (
npm run build) - 本番用の依存関係のみをインストール
- コンパイルされたコードと依存関係を ZIP ファイルにパッケージング
- 開発用の依存関係を復元
デフォルトでは、以下の設定で動作する:
distDir: 'dist' - コンパイル後のファイルが格納されるディレクトリpackageDir: 'packages' - 出力される ZIP ファイルが格納されるディレクトリpackageName: 'lambda-function.zip' - 出力される ZIP ファイルの名前
カスタム設定を行うには、プロジェクトのルートディレクトリに lambda-package-config.json ファイルを作成する:
{
"distDir": "build",
"packageDir": "deploy",
"packageName": "my-lambda.zip"
}初回実行時に設定ファイルが存在しない場合は、デフォルト設定で自動的に作成される。
package.json のスクリプトに追加して使用することもできる:
"scripts": {
"package": "lambda-package"
}そして、以下のコマンドを実行する:
npm run packageABfry