「TSKaigi 2024 After Talk」に参加してきました

TypeScripterに送るIaCの世界への招待〜AWS CDKと共に〜

AWS CDK

  • AWSのリソースの設定ができる
  • TypeScriptで書ける
    • 補完が効くからいい
  • コードで設定を書いてデプロイするだけでAWSの環境を作れる
  • 手動で作ったリソースをCDK化することもできる
    • CDK migrate

TSKaigiで話しきれなかった事

TypeScript化

  • JSのTS化
    • もともと全部JSだった
    • 2020頃からTS化して今はほぼTS
  • JSをTSにする難しさ
    • デグレが起きる
      • nullの扱いが変わっちゃったり
    • 間違った型をつけてしまう
    • レビューが大変
  • 進め方
    • JSDocでの型付けからスタート
      • 絶対デグレを起こさない
      • checkJS: true
    • 最初は @ts-expect-error で逃げる

デッドコード撲滅のためにエンドポイントの棚卸し機能を作った話 〜ESLintカスタムルールとtypescript-estree利用のすすめ〜

ESLintのカスタムルール

  • APIはExpressでFEはNext
    • どちらもTS
  • どこからも呼ばれてないエンドポイント
    • v2追加してv1が使われなくなったとか
    • 定義済みエンドポイントから使用されてるエンドポイントを引き算する
  • URLの文字列をチェックするlintを作った
    • 引き算できるようにフォーマットを揃えたいから
    • @typescript-eslint/typescript-estree を使うと楽にできた

TypeScriptを活用したi18n

  • 株式会社LayerX minako-phさん

i18nに型をつける

  • @nuxt/i18n
    • keyを渡すと紐づく文言をとれる
    • 存在しないkey渡してしまうことがある
  • 型付けする
    • keyの型付け
    • 埋め込まれる変数の型付け
  • pnpmのpatchで元の型を削除
  • 型付けしたら補完もできるようになって便利

Effectで作る堅牢でスケーラブルなAPIゲートウェイ(拡大版)

Effect

  • 堅牢ですケーブルなシステムを作るためのTSのライブラリ
  • かしこいPromiseみたいな
  • pipeを使っていく感じが馴染みなくて難しい
    • generator関数を使った書き方もある

社内 TSKaigi 実施を経た Full Stack TypeScript 強化の道

Full Stack TypeScript

  • 2021年から作り始めてそこから全部TS
  • 1リポジトリでモノレポで管理
  • 技術スタック
    • expressからnest/hono
    • yupからzod

Full TypeScriptな構成を支えるRemixの実態

Remix

TSKaigi で Type<Challenge[]> を配ってみた

  • RyoFujita9さん

組み込み型から学ぶUnion Distributionの活用法

  • suke083さん

個別リポジトリからフルTypeScriptのモノレポ(Nx)に移行した話

  • mok_oshiさん