misskey/packages/icons-subsetter
かっこかり e6e8bfa591
feat(frontend): tabler-iconsのサブセット化 (#15340)
* feat(frontend): tabler-iconsの使用されていないアイコンを削除するように

* fix

* fix

* fix

* fix

* fix

* Update Changelog

* enhance: tablerのCSSを使用されているクラスのみに限定

* 使用するアイコンパッケージをそろえる

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

* spdx

* typo

* fix: サブセットから除外される書き方をしている部分を修正

* fix: 同じunicodeに複数のアイコンclassが割り当てられている場合に対応

* remove debug code

* Update CHANGELOG.md

* fix merge error

* setup renovate

* fix: woff2ではなくwoffに変換していたのを修正

* update deps

* update changelog
2025-05-22 22:56:38 +09:00
..
src feat(frontend): tabler-iconsのサブセット化 (#15340) 2025-05-22 22:56:38 +09:00
README.md feat(frontend): tabler-iconsのサブセット化 (#15340) 2025-05-22 22:56:38 +09:00
eslint.config.js feat(frontend): tabler-iconsのサブセット化 (#15340) 2025-05-22 22:56:38 +09:00
package.json feat(frontend): tabler-iconsのサブセット化 (#15340) 2025-05-22 22:56:38 +09:00
tsconfig.json feat(frontend): tabler-iconsのサブセット化 (#15340) 2025-05-22 22:56:38 +09:00

README.md

これは何

フロントエンドの各パッケージで使用されているtabler iconsのclassをスキャンし、使用されているiconのみを抽出するツールです。

なお、サブセット版に無いアイコンが呼び出された場合は本物のtabler icons フォントにフォールバックするようになっています。

このツールは本番ビルド時にのみ使用されます開発モードでも最初の1回だけビルドが走りますが、これは型エラーを抑制するためにファイルを置いておく用の措置です

現時点では src/generator.tsfilesToScan にスキャン対象のファイルが書かれています。もしこれに当てはまらないファイルをサブセットのスキャン対象とする場合はこの部分を適宜修正してください。

使い方

pnpm build