From 85bd0cb39036088a8be284349ef00d085f67d314 Mon Sep 17 00:00:00 2001 From: Ruk Doe Date: Sat, 17 Oct 2026 15:38:58 +0900 Subject: [PATCH 1/2] =?UTF-8?q?perf:=20Pico=20=E3=81=AF=E4=BD=BF=E3=81=86?= =?UTF-8?q?=E9=83=A8=E5=93=81=E3=81=A0=E3=81=91=E8=AA=AD=E3=81=BF=E8=BE=BC?= =?UTF-8?q?=E3=82=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @anyblades/blades 3.1.0-alpha.1 で部品ごとの入口ができたので、 全部入りの pico をやめて画面で使う部品だけを読み込む。 レイアウトの CSS が 90.1kB(gzip 12.7kB)から 60.3kB(gzip 8.9kB)になる。 外したのは画面に該当する要素もクラスも無いもの: - layout: container / grid / overflow-auto - forms: input-color / input-datetime / input-file / input-range / input-search - components: accordion / card / dropdown / group / loading / modal / progress / tooltip content の misc は画面に無くても残す。hidden 属性を隠す規則がここにあり、 外すと display を持つこちらの規則に付けた hidden が効かなくなる。 Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01ShKjeB5A9VtgvRpkCCgym8 --- bun.lock | 4 ++-- package.json | 2 +- src/app.css | 28 +++++++++++++++++++++++++++- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/bun.lock b/bun.lock index 0e4a972..bd5133c 100644 --- a/bun.lock +++ b/bun.lock @@ -5,7 +5,7 @@ "": { "name": "xool", "devDependencies": { - "@anyblades/blades": "^3.0.0", + "@anyblades/blades": "3.1.0-alpha.1", "@biomejs/biome": "^2.5.15", "@sveltejs/adapter-bun": "^1.0.0", "@sveltejs/kit": "^3.1.0", @@ -21,7 +21,7 @@ }, }, "packages": { - "@anyblades/blades": ["@anyblades/blades@3.0.0", "", {}, "sha512-Fb2pUkQeJhA04gDAZ44V+ZMwR5n4jUk2M/+ZTK3oONgZBU6ncnKXMfCVkRuDUwVXxjXn1ye8anEDUqkkQa3efw=="], + "@anyblades/blades": ["@anyblades/blades@3.1.0-alpha.1", "", {}, "sha512-dd38YDnYEzck2Ez6BvRJtuGGIhPKkhCsh/9Eh+UF6EZKa0X25YZgNjS9CeiT3AB+3ik6niL9MC5vNaUU1lcwaw=="], "@biomejs/biome": ["@biomejs/biome@2.5.15", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.5.15", "@biomejs/cli-darwin-x64": "2.5.15", "@biomejs/cli-linux-arm64": "2.5.15", "@biomejs/cli-linux-arm64-musl": "2.5.15", "@biomejs/cli-linux-x64": "2.5.15", "@biomejs/cli-linux-x64-musl": "2.5.15", "@biomejs/cli-win32-arm64": "2.5.15", "@biomejs/cli-win32-x64": "2.5.15" }, "bin": { "biome": "bin/biome" } }, "sha512-WZTW4slm/pdkh92K6t/3aEN++44JD1PQ7squ7RCMLI1flHGl43DVOIGXvCjHiZgBMO1V4uYxoFNtqrIA4qGuIQ=="], diff --git a/package.json b/package.json index 1771dc7..0414418 100755 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "xool", "version": "0.1.0", "devDependencies": { - "@anyblades/blades": "^3.0.0", + "@anyblades/blades": "3.1.0-alpha.1", "@biomejs/biome": "^2.5.15", "@sveltejs/adapter-bun": "^1.0.0", "@sveltejs/kit": "^3.1.0", diff --git a/src/app.css b/src/app.css index 66e632c..8d47bdf 100644 --- a/src/app.css +++ b/src/app.css @@ -1,4 +1,30 @@ -@import "@anyblades/blades/pico" layer(pico); +/* + * Pico は使う部品だけ読み込む(全部入りだと CSS の大半が使わない部品になる)。 + * 順番は variables → layout → content → forms → components → utilities を崩さない。 + * 外したもの(画面に該当する要素もクラスも無い): + * layout の container / grid / overflow-auto、 + * forms の input-color / input-datetime / input-file / input-range / input-search、 + * components の accordion / card / dropdown / group / loading / modal / progress / tooltip。 + *
や aria-busy・data-tooltip などを使い始めるときは、ここに足す。 + * content の misc は画面に無くても残す。hidden 属性を display: none で隠すのはこれで、 + * 外すと display を持つこちらの規則(.note など)に付けた hidden が効かなくなり、しかも気づきにくい + */ +@import "@anyblades/blades/pico/variables" layer(pico); +@import "@anyblades/blades/pico/layout/document" layer(pico); +@import "@anyblades/blades/pico/layout/landmarks" layer(pico); +@import "@anyblades/blades/pico/layout/section" layer(pico); +@import "@anyblades/blades/pico/content/typography" layer(pico); +@import "@anyblades/blades/pico/content/link" layer(pico); +@import "@anyblades/blades/pico/content/button" layer(pico); +@import "@anyblades/blades/pico/content/table" layer(pico); +@import "@anyblades/blades/pico/content/embedded-content" layer(pico); +@import "@anyblades/blades/pico/content/code" layer(pico); +@import "@anyblades/blades/pico/content/figure" layer(pico); +@import "@anyblades/blades/pico/content/misc" layer(pico); +@import "@anyblades/blades/pico/forms/basics" layer(pico); +@import "@anyblades/blades/pico/forms/checkbox-radio-switch" layer(pico); +@import "@anyblades/blades/pico/components/nav" layer(pico); +@import "@anyblades/blades/pico/utilities" layer(pico); :root { /* Web フォントは束ねない(1 家族 1.3MB を全員に落とさせる価値が無い)。Windows なら BIZ UDPGothic、mac なら ヒラギノ、それ以外は OS の日本語フォント */ From e6b2d4839fe42cfbf20008af53f53d95bc678e29 Mon Sep 17 00:00:00 2001 From: Ruk Doe Date: Sat, 17 Oct 2026 16:54:13 +0900 Subject: [PATCH 2/2] =?UTF-8?q?chore:=20Blades=20=E3=81=AE=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E3=81=AF=20Renovate=20=E3=81=A7=E8=87=AA=E5=8B=95?= =?UTF-8?q?=E3=83=9E=E3=83=BC=E3=82=B8=E3=81=9B=E3=81=9A=E3=80=81=E5=88=A5?= =?UTF-8?q?=E3=81=AE=20PR=20=E3=81=AB=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit プレリリースの間は規則がどの部品にあるかが変わり得て、そうなると build は通ったまま見た目だけ変わる。 まとめの PR に入れたままだと、ほかの依存の自動マージまで止まるので、Blades だけ別の PR にする。 Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01ShKjeB5A9VtgvRpkCCgym8 --- renovate.json | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index a680788..335083e 100644 --- a/renovate.json +++ b/renovate.json @@ -1,4 +1,13 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": ["github>5ym/repo-config"] + "extends": ["github>5ym/repo-config"], + "packageRules": [ + { + "description": "@anyblades/blades はプレリリースに固定中で、規則がどの部品にあるかがまだ変わり得る。部品の間で規則が移ると build は通ったまま見た目だけ変わるので、自動では入れない。ほかの更新の自動マージを止めないよう、まとめの PR から外して別の PR にする。安定版に戻したらこの規則を消す", + "matchPackageNames": ["@anyblades/blades"], + "groupName": "@anyblades/blades", + "groupSlug": "blades", + "automerge": false + } + ] }