@aws-cdk/aws-lambda-nodejsというCDKのモジュールがあり、Node.js関連(TypeScriptでもOK)のLambda関数を作るときに便利。

new lambda.NodejsFunction(this, 'MyFunction', {
  entry: '/path/to/my/file.ts', // accepts .js, .jsx, .ts and .tsx files
  handler: 'myExportedFunc', // defaults to 'handler'
});

以上のような感じで作れるので大変楽なんだけど、内部でesbuildでビルドしている関係でちょっと制限がある。esbuildはemitDecoratorをサポートしてない。対応させるためのpluginは一応@anatine/esbuild-decorators - npmというのがあって、これを使えば対応できるのだけど、aws-lambda-nodejsはプラグインが呼び出せる形式になっていない。

なので、emitDecoratorMetadataが必要なTypeScriptのプログラムはaws-lambda-nodejsでは動かせない。自力でlayerを設定するしかない。

AWS CDKのbundlingオプションを使ってLambdaへのデプロイ前処理もCDKで管理する方法 | DevelopersIO

この記事の「その他のランタイムの場合」のところにnodejsのlayerを自分で作成する方法があるので、そちらを参考にするとよいと思います。

あとはこちらのプルリクの進捗をwatchしておくとよさそう。