Skip to content

tk2539/TypeScriptLegacyProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TypeScriptLegacyProject

古い 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 は通常のサンプルで、正しくコンソールに文字列を表示できます。

About

Reproduce legacy TypeScript error 2539 using Docker

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published