Back to Releases
v2.232.2 2025年12月12日

AWS CDK v2.232.2 リリース解説

ResourceEnvironmentインターフェースの再エクスポートに関するバグ修正を含むマイナーリリース

core

概要

AWS CDK v2.232.2は、ResourceEnvironmentインターフェースの再エクスポート方法に関する重要なバグ修正を含むマイナーリリースです。このバグは、jsiiによる型定義の重複を引き起こし、TypeScriptユーザーおよびJavaなど他の言語のユーザーに影響を与える可能性がありました。

バグ修正

ResourceEnvironmentの再エクスポート問題の修正

PR: #36370

以前のリリースで、インターフェースのFQN(完全修飾名)を後方互換性を保ちながら変更しましたが、その際の再エクスポート方法に問題がありました。

問題の詳細

元のコードでは、以下のようなexport ... from構文を使用していました:

export type { IEnvironmentAware, ResourceEnvironment } from '...';

しかし、jsiiはこのexport ... from構文を特別に扱い、指定されたファイルから要素を取得して、現在のファイル(サブモジュール)で定義されたかのようにエクスポートします。

これにより、ResourceEnvironmentの定義が2つ存在する状態になっていました:

aws-cdk-lib.interfaces.ResourceEnvironment   (意図した定義)
aws-cdk-lib.ResourceEnvironment              (意図しない定義)

修正内容

修正後は、以下のようにimportとexportを分離する構文に変更されました:

import { IEnvironmentAware, ResourceEnvironment } from '...';
export type { IEnvironmentAware, ResourceEnvironment };

この変更により、jsiiによる型定義の重複が解消され、TypeScriptのエイリアスとして正しく機能するようになりました。

影響範囲

この修正により、以下の改善が得られます:

  • TypeScriptユーザーの後方互換性が維持される
  • JavaなどTypeScript作成ライブラリを使用する他言語ユーザーの後方互換性も維持される
  • 型定義の曖昧性が解消される

修正前後の違いは、jsii-queryコマンドで確認できます:

# 修正前
$ npx jsii-query --types . 'struct:name === "ResourceEnvironment"'
struct aws-cdk-lib.ResourceEnvironment
struct aws-cdk-lib.interfaces.ResourceEnvironment

# 修正後
$ npx jsii-query --types . 'struct:name === "ResourceEnvironment"'
struct aws-cdk-lib.interfaces.ResourceEnvironment

対応が必要なケース

ほとんどのユーザーは、この修正による影響を受けません。ただし、以下のような場合は注意が必要です:

  1. aws-cdk-lib.ResourceEnvironmentを明示的に参照していた場合(稀なケース)
  2. 型チェックで厳密な型の一致を要求している場合

通常の使用では、ResourceEnvironmentは自動的にインポートされ、正しい型が使用されるため、コードの変更は不要です。

Alpha モジュール

Alpha モジュール v2.232.2-alpha.0 では、特に変更はありません。

まとめ

AWS CDK v2.232.2は、型システムの整合性を改善する重要なバグ修正リリースです。jsiiによる型定義の重複問題を解決し、TypeScriptおよび他言語のユーザーに対する後方互換性を正しく維持できるようになりました。

この修正は、CDKの内部型システムの改善であり、ほとんどのユーザーは影響を受けませんが、型システムの堅牢性が向上したため、安心してアップグレードできます。