/lit-element-starter-ts-tailwind

Sample component project using LitElement with TypeScript

Primary LanguageJavaScript

Lit + Typescript + tailwindcss + Storybook の開発環境

lit-element-starter-tsを元にtailwindcssStorybookを加えてテストを抜いてみた。

設定と実行

npm install
npm run dev

storybook が自動で開きます。

ポイント

サポート環境

下記のバージョンが正式にサポート。これ以下や IE11 でも Polyfill を使い、気も使って書けば動かないことはないらしいがあまりいいことはないだろう。なのでこのバージョンが最低ラインと見るのが良い

最低でも 2020 年以降にリリースされたブラウザは対応しているので、PC やスマホのブラウザでは問題なく動くと言ってもいいと思う。

  • Chrome 73+ 2019/03
  • Safari 12.1+ 2019/07
  • Edge 79+ 2020/01
  • Firefox 63+ 2018/06

tailwindcss v3 の対応

そのままでは全ての CSS が全コンポーネントに入ってしまうため、Lit で Tailwind CSS を使うを参考に対応

プラグインに足りない部分があったのでrollup-plugin-lit-tailwindcss3を自分で作ってみた。

rollup.config.jsに設定を追加し、ソースにも placeholder を追加

Storybook の設定

Storybook をnpx sb initで導入して、Web Componentsを選択

.storybook/preview.jsの一行目で rollup で生成した bundled の js ファイルを読み込む

そのままドキュメント通りに stories の中で template を書くと、変数展開のところで余計なコメント(SSR 用?)が生成されるので、これを行わないようにする処理をsrc/helpers/stories-helper.jsに書いた

stories の例は、src/my-error.stories.jsを参照

Storybook の Preview

chromaticの利用をお勧め

.github/workflows/chromatic.ymlで CI を回してアップデートされます。

https://main--62175e8a0cd6a5003acfc190.chromatic.com