技術書典7に参加します
「技術書典7」に3回目のサークル参加をします!単メニューだった弊サークルのお品書きも充実、ポスターも刷って準備バッチリ!(あとは台風来ないでくれたのむ…)「お85C:潜推艦」
新刊同人誌について
「TypeScript CompilerAPI - 創出の落書帳 -」というタイトルをつけました。巷でほとんど情報が無いため「CompilerAPI って何?」という方が多いかと思いますので、少し補足をします。
通常、TypeScript で開発する際は Webpack や tsc を介してトランスパイルしますよね?TypeScript はこの「tsc」コマンドで内部的に行われている各処理をAPIとして、標準公開しています。「tsc」コマンドを叩くと「.js」のほか設定によっては「.d.ts」「.map」が出力されるかと思います。これらの出力はもとより、JavaScript にトランスパイルする処理さえも、CompilerAPI ならプログラマブルに扱うことが出来るんです。
これだけの情報だと、いったい何の需要でそんなAPIを叩くのか、ちょっとまだ分かりませんね。
何が目的なのか?
私がこのAPIに着目した理由は、型推論だけでは解けない課題に向き合った際に、解決するための重要なピースだったからです。Conditional Types を使った型パズルに慣れた方なら、String Literal 型が強推論に欠かせないものだということは、周知の事実かと思います。
通常、String Literal 型の算出を型推論で行うことは、現在の TypeScript の仕様では出来ません。しかしながらCompilerAPI は Node.js から扱うので、この様な文字列算出など容易いことです。この算出された String Literal 型を型定義ファイルとして出力、Conditional Types と組み合わさった時「型推論の世界がさらに拡大するよ」という内容を綴りました。
執筆で向き合い取り上げた課題は String Literal 型の創出というものでしたが、工夫をこらせば、JavaScript(TypeScript)で可能なことは全てできます。型の出力以外ももちろん可能なので、現場が抱えている多くの課題を解決するポテンシャルを持っていると、強く感じています。
CompilerAPI は英文公式ドキュメントさえも整備されておらず、手探りな機能です。この本がヒントとなり、多くの事例を皆さんで生み出し(機能詳細が明らかにされ)より良い開発へと向かうコミュニティが出来れば良いなと思っています。
もくじ
第1章 TypeScript Compiler API 入門
第2章 TypeScript Compiler API 基礎
第3章 Storybook の Story を自動管理する
第4章 Next.js の型安全な自動ルーティング
第5章 Vuex の複雑な参照型を自動生成する
商業誌について
「実践TypeScript」は6/26にマイナビ出版様より刊行された商業誌です。「TypeScriptのある程度の記法は知っているが自信がない」という方におススメです。細かい基礎的なことから、実践的な活用法までを体系的にまとめているので、一気に体得出来る機会になると思います。取り上げているフレームワークはあくまで題材、TypeScriptの型定義を中心に書いていますので、この書籍を通じて得た知識は、今後の開発でも役に立つものになると思います。【刊行時 note:実践TypeScript - 内容のご紹介 -】
技術書典はとても興味深いサークルさんが多数出展されていますので、まだ参加したことのない人は是非体験してみてください!そして、お越しの際は是非「お85C:潜推艦」までお立ち寄りください!それでは当日お会いできることを楽しみにしています。