open-wc/open-wc のパッケージ全部読む

このリポジトリのパッケージを全部読む
何があるか把握する

rollup 用の config を生成してくれる createSpaConfig
関数などを提供するパッケージ
デモを見るのがわかりやすそう
レガシー向けのブラウザに nomodule で JS をロードする script を追加する機能がある
rollup だけどライブラリ用じゃなくてアプリ用の config っぽい

internal use 用の utils 集

chai で axe を動かす君かな

インタラクティブなチュートリアルサイトを作るためのツールが https://github.com/googlecodelabs/tools
これのコンテンツを管理するパッケージっぽい?

ドキュメント: https://github.com/open-wc/open-wc/blob/master/docs/docs/development/dedupe-mixin.md
継承ツリーの中で mixin が複数回適用されるときに1回だけに抑える君っぽい
そもそもクラスを継承して機能を足していくのあんまり好きじゃないんだよなあ...

ドキュメント: https://github.com/open-wc/open-wc/blob/master/docs/docs/development/hot-module-replacement.md
@web/dev-server-core
用の HMR プラグインっぽい

ドキュメント: https://github.com/open-wc/open-wc/blob/master/docs/guides/tools/linting-and-formatting.md
We recommend @open-wc/eslint-config for a good default configuration for web component projects.
らしい
入っているプラグイン
- eslint-config-airbnb-base (with some modifications)
- eslint-plugin-wc
- eslint-plugin-lit
- eslint-plugin-html
- eslint-plugin-mocha-no-only
https://www.npmjs.com/package/eslint-plugin-wc も含まれているっぽい
eslint-plugin-mocha-no-only が含まれているのはちょっと使いにくいなあ

a11y 用のプラグイン実装
ドキュメント: https://github.com/open-wc/open-wc/blob/master/docs/docs/linting/eslint-plugin-lit-a11y/overview.md
違法な role があると弾いてくれたりする
けど role 属性の値は Plugin 書けば TS でもチェックできるな

helper 関数たち
mixin の型定義参考になるかも
ドキュメント: https://github.com/open-wc/open-wc/blob/master/docs/docs/development/lit-helpers.md
プロパティが readOnly になる mixin が提供されていたりする
spread はコンポーネントに付与する属性をオブジェクト形式で書ける君?