古い TypeScript (v3.6.3) 環境を Docker 上で再現し、
現行バージョンでは見られなくなった TS2539 エラーを体験できるプロジェクトです。
さらに、Hello.ts
を実行すればシンプルに Hello, TypeScript! を出力することもできます。
- Node.js v10 + TypeScript v3.6.3 を固定
ts-node
により.ts
ファイルを直接実行可能- 今の TypeScript では出ない TS2539 エラーを再現可能
- 教材やデモとして利用可能
- Docker がインストールされていること
# 1. リポジトリをクローン
git clone https://github.com/tk2539/TypeScriptLegacyProject.git
cd TypeScriptLegacyProject
# 2. Docker イメージをビルド
docker build -t ts2539-test .
# 3. Hello.ts の実行
docker run --rm ts2539-test src/Hello.ts
# 出力:
Hello, TypeScript!
# 4. Error.ts の実行 (TS2539 再現)
docker run --rm ts2539-test src/Error.ts
# 出力:
src/Error.ts(3,1): error TS2539: Cannot assign to 'foo' because it is not a variable.
# 5. ディレクトリ構成
TypeScriptLegacyProject/
├── Dockerfile
├── package.json
├── tsconfig.json
├── src/
│ ├── Hello.ts # => "Hello, TypeScript!" を出力
│ └── Error.ts # => TS2539 エラーを再現
# 6. 補足
- Error.ts は **古い TypeScript** だからこそ TS2539 が出ます。
- 現行バージョンでは TS2630 / TS2632 / TS2540 / TS2588 に整理されています。
- Hello.ts は通常のサンプルで、正しくコンソールに文字列を表示できます。