![](https://cdn-ak-scissors.b.st-hatena.com/image/square/5a4e1e95a433df689160307f9f1732c682a5e904/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--Af7GHBG3--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3A%2525E5%2525A4%2525A7%2525E9%252587%25258F%2525E3%252581%2525AE%2525E3%252582%2525B3%2525E3%252583%2525BC%2525E3%252583%252589%2525E3%252582%252592%252520TypeScript%252520%2525E3%252581%2525AE%252520AST%252520%2525E3%252581%2525A7%2525E4%2525B8%252580%2525E6%2525B0%252597%2525E3%252581%2525AB%2525E7%2525BD%2525AE%2525E3%252581%25258D%2525E6%25258F%25259B%2525E3%252581%252588%2525E3%252582%252588%2525E3%252581%252586%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Ahakshu%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbm4tdXNlci11cGxvYWQvYXZhdGFyLzQ1ZThmM2M3NzkuanBlZw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)
エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
大量のコードを TypeScript の AST で一気に置き換えよう
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
大量のコードを TypeScript の AST で一気に置き換えよう
import type { Meta, StoryObj } from '@storybook/react'; import Button from './Button'; const meta... import type { Meta, StoryObj } from '@storybook/react'; import Button from './Button'; const meta: Meta<typeof Button> = { component: Button, }; export default meta; ... 変換したい箇所と内容をまとめると以下の通りです。 @storybook/react の import 文に Meta を追加する export default のオブジェクトを meta 変数に変更し、型注釈を設定する 相対パスで import しているコンポーネントの型を指定する export default を meta オブジェクトに変更する コンポーネントの型が動的に変わりますが、変更内容は共通しているため、AST を使って一気に変換できそうです。