Open8
TSKaigi 2024 After Talk参加メモ
概要
TypeScripterに送るIaCの世界への招待〜AWS CDKと共に〜
クラスメソッド株式会社 tmk2154さん
CDKには3種類ある
- AWS CDK
- CDK for Terraform
- GCP, Azureにも対応しているらしい
- cdk8s
利点
- インフラリソースに対して型補完してくれる
- natと打つとnatGatewayとか出てくれる
TSKaigiで話しきれなかった事
Helpfeel株式会社 teramotodaikiさん
資料
どうやってJSからTSに移り変わっていったか?
2019年→2024年までにはほぼTSに書き換えた
TS化を成功するためのポイント
- TSを書ける優秀な人材を獲得すること
- 協力的なチーム
- 導入推進
JS→TSの難しさ
- デグレが起きるリスク
- 間違った型をつけるリスク
- レビューが大変
JSDocで型を書き込むアプローチが効果的
@ts-expect-error
で逃げる
→一旦下の型エラーを無視することができる
デッドコード撲滅のためにエンドポイントの棚卸し機能を作った話 〜ESLintカスタムルールとtypescript-estree利用のすすめ〜
Cloudbase株式会社 tarao1006さん
話すこと
- ESLintのカスタムルールの一例
呼び出されていないエンドポイントは無いか?
→V2を追加した時にV1を消し忘れた
最終的にGitHub Actionsで拾えるようにした
urlcatを導入
→使ってくれない人がいたので強制化ルールを型で縛った型で縛りきれないのならESLintで縛ろう!
TypeScriptを活用したi18n化 <スプシの翻訳情報を用いた型付けと段階的i18n化に対応したカスタムESLint>
株式会社LayerX minako-phさん
Nuxt.jsを使っていて、 @nuxt/i18nに型を当てたお話
スプシで管理している翻訳情報を読み取るアプローチについて
i18nは他のアプリでも使うような想定
pnpmのpatch→これ初めて聞いた
Effectで作る堅牢でスケーラブルなAPIゲートウェイ(拡大版)
株式会社EARTHBRAIN yasaichiさん
Effect: TSのライブラリ
これかな?
なぜEffectを使ったか?
→APIゲートウェイを実装する時の課題解決(メモ取れなかった)
堅牢性とスケーラビリティに対するアプローチ?
社内 TSKaigi 実施を経た Full Stack TypeScript 強化の道
アセンド株式会社 niwa_takeruさん
Full Stack TSの恩恵
- 1エンジニアのフルスタック化
- プロダクトエンジニアへの進化
モノレポでプロダクトを管理している
課題点
- 次世代ライブラリへの移行
- express→nest, hono
- よりTSを活かした関数型DDDへ
やっていること
- ValidationをZodに変更
- classからの脱却
- Result型の導入
社内カンファレンスはいいぞ!!
ここからLT
Full TypeScriptな構成を支えるRemixの実態
mackayさん
Remix触ってみたくなった!
TSKaigi で Type<Challenge[]> を配ってみた
RyoFujita9さん
組み込み型から学ぶUnion Distributionの活用法
suke083さん
react-hook-forms内での活用事例
- HasKey型
- UnionToIntersection型
個別リポジトリからフルTypeScriptのモノレポ(Nx)に移行した話
mok_oshiさん
移行してみて
- 開発者体験が良くなった
- 少しずつ共通コードを切り出してモジュール化している
- tRPC導入できた!