TECH PLAY

TypeScript

イベント

該当するコンテンツが見つかりませんでした

マガジン

技術ブログ

はじめに こんにちは。医療プラットフォーム本部 CLINICS 開発グループの吉岡です。 メドレーは 5 月 22 日・23 日にベルサール羽田空港にて開催された TSKaigi 2026 に Bronzeスポンサーとして協賛しました。 TSKaigi は、日本最大級の TypeScript をテーマとした技術カンファレンスで、2024 年の第 1 回から毎年協賛しています。 今年は現地参加 800 人、オンライン参加 900 人を超える規模で開催されました。 TSKaigi 2026 会場(ベルサール羽田空港) TSKaigi 2026 では、TypeScript 7 で正式リリースとなる tsgo に関するセッションが多く見られました。 本記事では、弊社から登壇した髙橋のセッションと、その他に印象に残ったセッションについて紹介します。 弊社・髙橋の登壇「次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解」 Day2 の Leverages トラックにて、弊社の髙橋が登壇しました。 次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解 | TSKaigi 2026 TSKaigi 2026 のスピーカー、トーク情報です。 2026.tskaigi.org 発表内容 発表では、まず型認識リントについて、typescript-eslint、Oxlint、Rslint、Biome の各リンターの対応状況が整理されました。続いて、Rslint に対して型認識カスタムルールを Go 言語で実装し、独自ビルドしたリンターバイナリで実際に診断できることを示したPoCのデモがありました。 特に勉強になったのは、こうしたカスタムルールは typescript-go の internal API に依存することになり、その追従コストを考慮する必要があるという点です。型認識カスタムルールで対応するのではなく、コード規約と設計を工夫して、ASTのみで判定可能なカスタムルールと型チェックで解決できないかを最初に検討すべきだという指針が示されました。 余談ですが、発表前日に Oxlint JS Plugin から tsgo の型情報を問い合わせる方法を実証した OSS である corsa-bind を発見し、当日の朝に急遽スライドを追加して臨んだという裏話もありました。 次世代リンターにおけるカスタムプラグインの今後の動向に注目していきたいですね。 発表中の様子 印象に残ったセッション tscからtsgoへ ── DenoのTypeScript基盤はどう変わったか 登壇者: maguro さん tscからtsgoへ ── DenoのTypeScript基盤はどう変わったか | TSKaigi 2026 TSKaigi 2026 のスピーカー、トーク情報です。 2026.tskaigi.org Phase 1 では、tsc にパッチを当てた JavaScript ファイルを Deno binary に埋め込み、V8 isolate 内で実行していました。 Phase 2 では、tsgo を fork して子プロセスで動かすことで、型チェック( deno check )が約 2.5 〜 2.6 倍に高速化されました。一方で、上流追従と LSP 対応のコストが重いことが課題となっていました。 そして現在進行中の Phase 3 では、fork をやめ、Deno 側のソースを公式 TypeScript が読める形に materialize して、npm の公式 TypeScript に処理させる方針へと進んでいます。 「fork も再実装も避けたい」という制約の中で公式 TypeScript への統合を進める Deno の方針が印象的でした。 TS 7: How We Got There 登壇者: Jake Bailey さん TS 7: How We Got There | TSKaigi 2026 TSKaigi 2026 のスピーカー、トーク情報です。 2026.tskaigi.org TypeScript チーム本人による基調講演で、TypeScript コンパイラを Go 言語へ移植した背景が語られました。セッションでは tsgo のデモが行われ、従来 2 分ほどかかっていた型チェックが 10 秒に短縮される様子が示されました。 コンパイル時の処理は Parse、Bind、Check、Emit の順で行われます。特に印象的だったのは、Checker で生成される型情報を Checker 間で共有しないことで、並列実行時の同期オーバーヘッドを避けて高速化を実現している点です。 CLINICS でもローカル環境で tsgo を使用しており、型チェックを高速化することで、AI 開発のフィードバックを速めています。 制約と時代から読み解くTypeScriptコンパイラ設計史 登壇者: Yoshiaki Togami さん 制約と時代から読み解くTypeScriptコンパイラ設計史 | TSKaigi 2026 TSKaigi 2026 のスピーカー、トーク情報です。 2026.tskaigi.org TypeScript コンパイラは、AST が semantic 情報を背負い、循環参照だらけの構造になっているという独特な構成を持っています。 Web の歴史の中で Ajax 革命や V8 / Chrome / Node.js の登場により JavaScript で大規模なソフトウェアが書かれるようになり、Microsoft 内部でも Office などの Web 移植が迫られていました。一方で、当時の JavaScript 向け開発ツーリングは貧弱で、大規模開発の体験が成立しなかったため、それを解決するために TypeScript が開発されました。 さらに、TypeScript には IDE での高速な応答が要件として課せられました。本来であれば immutability と親アクセスを両立する仕組みが必要でしたが、当時の JavaScript では実現できず、結果として AST に直接 symbol や parent を書き込む現在の構成に落ち着いています。 tsgo ではネイティブ化と共有メモリ・マルチスレッド化で約 10 倍の高速化が実現されています。歴史を遡ることで、現在の TypeScript がなぜこのような設計になっているのかという背景を理解できました。 まとめ 本記事では、弊社・髙橋の登壇と、TSKaigi 2026 で印象に残ったセッションについて紹介しました。 今年のメドレーからは、Bronzeスポンサーとしての協賛と髙橋の登壇に加え、運営スタッフとしても德永と山河の 2 名が TSKaigi 2026 に関わりました。 TSKaigi 2026 に参加したメドレーメンバー メドレーでは今後も TypeScript コミュニティの発展に貢献し、社内での実践を続けていきます。 過去にスポンサーとして協賛した TSKaigi の参加レポートはこちらです。 TSKaigi 2025 参加レポート:新卒2年目エンジニアが感じたTypeScriptの最前線 | MEDLEY Developer Portal はじめに こんにちは! 人材プラットフォーム本部プロダクト統括部プロダクト開発部アカデミー開発グループ所属の城間(シロマ)です。 私は 2024 年 4 月に新卒エンジニアとして入社し、現在はオンライン動画研修サービス「ジョブメドレーアカデ... developer.medley.jp TSKaigi 2024のスポンサーLTでTypeScriptコード改善の取り組みについて紹介しました | MEDLEY Developer Portal こんにちは。医療プラットフォーム本部プロダクト開発室 CLINICS 第二開発グループ所属の髙橋です。 メドレーは 5 月 11 日に中野セントラルパークカンファレンスにて開催された TSKaigi 2024 に Gold Sponsor ... developer.medley.jp We’re hiring メドレーでは一緒に働く仲間を大募集しています! カジュアル面談も実施しておりますので、「お話だけでも聞いてみたい!」「ちょっと雑談してみたい!」でも構いませんので、お気軽にお問い合わせください! メドレーで働く|株式会社メドレー メドレーでの働き方や人事制度、求人情報など、採用に関する情報をご紹介します。 www.medley.jp Medley Engineer Entrance Book この度は株式会社メドレーに興味をお寄せいただきありがとうございます。本資料は、メドレーへの転職をご検討いただいている皆様に、当社をより深くご理解いただくために作成いたしました。 medley-inc.notion.site
はじめに はじめまして。株式会社タップルでサーバーサイドエンジニアをしている糸井一颯( Issa ) ...
こんにちは!ファインディの大石( @bicstone )、甲斐( @karukan013L23 )、千田( @_c0909 )です。先日、ファインディはベルサール羽田空港で開催された「TSKaigi 2026」に協賛しました。 今回はDevRelメンバーとフロントエンドエンジニア3名で参加し、ブース運営を行いました。本記事ではTSKaigi 2026において印象深かったセッションの紹介や登壇、ブース出展などの活動内容を紹介します。 ブースで実施したユーティリティ型アンケートの集計結果(480票)も後半で公開していますので、ぜひ最後までお読みください。 TSKaigi 2026について 印象深かったセッション 【大石】TS 7: How We Got There 【甲斐】tscからtsgoへ ── DenoのTypeScript基盤はどう変わったか 【千田】Oxlint は ESLint / typescript-eslint を置き換えられるか? 【大石】CfP登壇: TypeScript 6.0での型推論修正を追う ファインディの活動 アンケート結果 さいごに お知らせ TSKaigi 2026について TSKaigiは日本最大級のTypeScriptをテーマとした技術カンファレンスです。東京都大田区のベルサール羽田空港にて、2026年5月22日(金)〜23日(土)に開催されました。 2026.tskaigi.org 印象深かったセッション 興味深いセッションが多くありましたが、その中でも3名それぞれが印象に残ったセッションを紹介します。 【大石】TS 7: How We Got There 2026.tskaigi.org TypeScriptチームのJake Baileyさんによる、TypeScript 7をGo言語へ移植した経緯と成果についての基調講演です。 特に印象的だったのは、Goを採用した理由を体系的に知ることができた点です。 JavaScriptではスレッド間でオブジェクトを共有できず、async/awaitが関数全体に伝播してしまうため、並列化が困難でした。 Goのgoroutineを活かすことで、Parse・Bind・Emitの各フェーズを並列化し、Checkerも複数並べることで高速化を実現しています。 VS Code (Electron) のプロジェクトを tsc と tsgo それぞれで実行した際の所要時間とCPU使用率の差を見せていただいたデモでは、マルチスレッドの活用やCPU使用率の変化が一目で分かり、なぜ大幅な高速化を実現できたのか直感的に理解できました。 発表のなかで繰り返し強く呼びかけられていたのが、コミュニティからのフィードバックでした。「ぜひbetaやnightlyを試してほしい」「VS CodeのNative Preview拡張を入れてほしい」「クラッシュやコンパイル挙動の変化、特にAPIへの意見を送ってほしい」と呼びかけていました。 過去1年でコミュニティから1141件のIssueと1487件のマージ済みPRが寄せられ、テレメトリ経由のクラッシュ情報も含め、利用者からの報告が開発の方向性を支えていることが伝わってきました。 私たちのチームでは、すでにコミット時のフックで tsgo を試験的に採用しています。今後は開発フロー全体への導入を進めながら、検知した問題は積極的にフィードバックを送っていきたいです。 ファインディでも従来からOSSへのIssue起票やPull Requestの作成、メディア企画を通じた寄付などの形で支援を続けてきましたが、TypeScriptのように多くの利用者を抱えるプロジェクトでは、利用者一人ひとりの報告こそが大きな貢献になることを再認識しました。 これまで断片的にしか追えていなかったTypeScript 7について体系的に理解でき、とても学びの多い発表でした。社内にもぜひ共有していきたいと思います。 【甲斐】tscからtsgoへ ── DenoのTypeScript基盤はどう変わったか 2026.tskaigi.org Denoのmaguroさんによる、DenoのTypeScript基盤を tsc から tsgo へ移行する取り組みについてのセッションです。 元々DenoはTypeScriptをフォークしたパッケージを使用し、Deno Rust側と必要な情報をやり取りし、Deno固有の概念を tsc が解釈できるよう、 tsc にパッチを当てたものをDeno binaryの中に埋め込んでいました。 tsgo への移行の最初のアプローチは tsgo をフォークし、Deno固有の概念を tsgo に渡せるようにするアプローチでした。 tsgo はDeno固有の概念をそのまま解決できないため、Deno Rust側で処理できるよう対応しています。LSP対応のコスト、フォークしたパッケージのメンテナンスコストが高く、現在はフォーク版ではなく公式のTypeScriptパッケージを利用するアプローチが試みられています。 TypeScript向けにDenoの依存と型をローカル生成することで、パッチを当てずにDeno固有の概念を解釈できる構成にしています。 特に印象的だったのは、DenoのWeb標準の哲学を少し曲げてでもTypeScriptで扱える形に寄せていった点です。Deno binaryの中→Deno binaryの外→Deno projectの外へTypeScriptパッケージが押し出されており、フォークによる運用コストの増加を避けつつ実行可能なアプローチをとっています。 型チェックを使用したい他のライブラリも同様にフォーク以外の選択肢を模索しており、方向性は同じだがそれぞれ異なるアプローチになっていることが興味深かったです。 普段Denoは使用していませんでしたが、現在の形に辿り着くまでにどのような意思決定があったかを見ていくことで、ここに至るまでの課題や意思決定ごとのトレードオフを学ぶことができ、現在の思想を理解する助けとなりました。 今後もツールチェーンやライブラリの意思決定の背景を学ぶ機会を定期的に設けていきたいなと思います。 【千田】Oxlint は ESLint / typescript-eslint を置き換えられるか? 2026.tskaigi.org 株式会社うるるの藤田翔雅さんによる、OxlintがESLint / typescript-eslintをどこまで置き換えられるのかを整理したセッションです。 特に印象的だったのは、Type-Aware Linting(型情報を使ったLint)の有無でパフォーマンスが大きく変わる点をベンチマークで示していたことです。 型情報を使わない比較ではESLintの8.213秒に対しOxlintは0.304秒と約27倍速く、型情報を使うルールを有効にしてもESLintの16.121秒に対しOxlintは0.807秒と約20倍速いという結果でした。 型情報を使わないLintが構文解析だけで完結するのに対し、型情報を使うLintはプロジェクト全体の型グラフ構築( tsc / tsgo )を必要とするためボトルネックになる、という構造的な解説も理解の助けになりました。 導入判断についても踏み込んでおり、型情報を使わないLintであればOxlintは主要ルールを十分カバーしており移行は現実的である一方、 oxlint-tsgolint によるType-Aware Lintingはまだ非安定版であること、カスタムルールを抱えるプロジェクトでは移行コストが上がることなど、現場目線のトレードオフが具体的に語られていました。 結論として、非Type-Aware LintingであればOxlintへの移行を推奨するというメッセージが明快でした。 私たちのチームでもESLint + Prettierを利用しており、CIの実行時間は継続的な課題です。すでにOxc系(Oxlint + Oxfmt)への移行を計画しており、既存のプロダクトはType-Aware Lintingに依存しない構成となっています。 本セッションの「非Type-Aware LintingならOxlint移行を推奨」という結論は私たちの状況に当てはまり、実際の移行計画に重ねて考える良い機会になりました。 【大石】CfP登壇: TypeScript 6.0での型推論修正を追う 当日のCfP枠では、大石が「プロパティの順序で型推論が壊れる!? TypeScript 6.0の修正からContext-Sensitivityの仕組みを追う」というタイトルで登壇しました。 プロパティの記述順序を入れ替えるだけで型推論が壊れる挙動を入口に、TypeScript 6.0でマージされたPRの中身まで踏み込んだ内容です。詳細は別記事にまとめていますので、あわせてご覧ください。 tech.findy.co.jp speakerdeck.com ファインディの活動 ファインディはGoldスポンサーとして協賛し、ブース出展という形で支援しました。 ブースでは「よく使うユーティリティ型」をテーマにしたアンケート企画を実施しました。普段の開発でよく使うユーティリティ型を選んでいただく内容で、2日間かけて多くの方に投票いただきました。 TSKaigi2026始まりました!入口すぐです! お待ちしております🌟 #TSkaigi2026 #tskaigi pic.twitter.com/ecf1Zzok0V — いわさき@Findy DevRel (@iwasakitchen) 2026年5月22日 x.com アンケートの最終結果はこちらになります。たくさんの投票ありがとうございました。 TSKaigi 2026改めて2日間ご参加いただき、ありがとうございました!よく使うユーティリティの「型」は?の最終結果です!😊🎊 #TSkaigi #TSkaigi2026 pic.twitter.com/0Nt4xun2bQ — いわさき@Findy DevRel (@iwasakitchen) 2026年5月23日 x.com アンケート結果 総数:480票 順位 ユーティリティ型 割合 票数 1位 Record<Keys, Type> 33.3% 160票 2位 Pick<T, Keys> 17.7% 85票 3位 Readonly<T> 14.6% 70票 4位 Partial<T> 9.4% 45票 5位 ReturnType<T> 8.8% 42票 6位 Exclude<T, U> 4.2% 20票 7位 Extract<T, U> 2.5% 12票 8位 NonNullable<T> 2.5% 12票 9位 Awaited<T> 1.0% 5票 - その他 6.0% 29票 その他内訳 ユーティリティ型 票数 その他・使っていない 22票 Omit<T, Keys> 5票 Beautify<T> 1票 & 、 | 1票 加えて、マーケティング担当のメンバーがAIを活用して自ら開発したルーレットアプリと、ファインディオリジナルのノベルティをご用意し、立ち寄っていただいた方に楽しんでいただきました。 さいごに セッションは多岐にわたるなかで、私たちが特に注目したのはGoによるコンパイラの再実装(コンパイラ本体のネイティブ化)、tscからtsgoへの基盤刷新(他ランタイムによる採用)、Rust製Linterの可能性(周辺ツールへの波及)でした。 3つを通して、TypeScriptエコシステムがNative実装へと動いている流れを実感する2日間となりました。TSKaigiはとても温かい素敵なコミュニティで、いち参加者としても多くの学びと交流の機会を得ることができました。 カンファレンスの開催にあたりご尽力いただいた、運営スタッフの皆様、関係者の皆様、登壇者の皆様に感謝申し上げます。 お知らせ 同日参加したファインディのDevRelメンバーによるレポート記事も公開されています。あわせてご覧ください。 note.com TSKaigi 2026のアフターイベント「TSKaigi Night talks 〜after conference〜」をスポンサー企業9社で共催します。当日のCfP枠で採択されなかった知見もコミュニティへ還元することを目的としたイベントです。 ファインディからは千田が「OSSのUIライブラリでESLintのカスタムルールを作っている話」、甲斐が「Temporal - TypeScript 6.0で始める新しい日時API」というテーマで登壇予定です。 2026年6月10日(水)19:00から、ファインディのイベントスペースにて開催します。TSKaigi 2026に参加された方も、参加できなかった方も、ぜひお越しください。 findy.connpass.com ファインディでは一緒に働くメンバーを募集しています! 興味がある方はこちらから ↓ herp.careers

動画

書籍