Skip to content

Commit 501f4a0

Browse files
committed
chore: add CSS HMR to 2nd-gen
1 parent e7a3b99 commit 501f4a0

File tree

3 files changed

+103
-77
lines changed

3 files changed

+103
-77
lines changed

2nd-gen/packages/swc/.storybook/main.ts

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { resolve, dirname } from 'path';
2+
import { mergeConfig } from 'vite';
23
import { fileURLToPath } from 'url';
34

45
const __dirname = dirname(fileURLToPath(import.meta.url));
@@ -28,13 +29,38 @@ const config = {
2829
'@storybook/addon-vitest',
2930
],
3031
viteFinal: async (config) => {
31-
config.resolve = config.resolve || {};
32-
config.resolve.alias = {
33-
...config.resolve.alias,
34-
'@spectrum-web-components/core': resolve(__dirname, '../../core'),
35-
};
32+
return mergeConfig(config, {
33+
plugins: [
34+
{
35+
name: 'css-hmr',
36+
handleHotUpdate({ file, modules, server }) {
37+
if (!file.endsWith('.css') || file.includes('tokens'))
38+
return;
3639

37-
return config;
40+
const affected = new Set(modules);
41+
42+
for (const mod of modules) {
43+
for (const importer of mod.importers)
44+
affected.add(importer);
45+
}
46+
47+
for (const mod of affected)
48+
server.moduleGraph.invalidateModule(mod);
49+
50+
return [...affected];
51+
},
52+
},
53+
],
54+
resolve: {
55+
alias: {
56+
'@spectrum-web-components/core': resolve(
57+
__dirname,
58+
'../../core'
59+
),
60+
'@adobe/swc': resolve(__dirname, '../components'),
61+
},
62+
},
63+
});
3864
},
3965
typescript: {
4066
check: true,

2nd-gen/packages/swc/package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,18 @@
5656
"devDependencies": {
5757
"@axe-core/playwright": "4.10.2",
5858
"@custom-elements-manifest/analyzer": "0.10.8",
59-
"@storybook/addon-a11y": "10.0.1",
59+
"@storybook/addon-a11y": "10.0.3",
6060
"@storybook/addon-designs": "11.0.1",
61-
"@storybook/addon-docs": "10.0.1",
62-
"@storybook/addon-vitest": "10.0.1",
61+
"@storybook/addon-docs": "10.0.3",
62+
"@storybook/addon-vitest": "10.0.3",
6363
"@storybook/test-runner": "0.23.0",
64-
"@storybook/web-components-vite": "10.0.1",
64+
"@storybook/web-components-vite": "10.0.3",
6565
"@types/react": "19.1.16",
6666
"@types/react-dom": "19.1.9",
6767
"@vitest/browser": "3.2.4",
6868
"@vitest/coverage-v8": "3.2.4",
6969
"@vitest/ui": "3.2.4",
70-
"@wc-toolkit/storybook-helpers": "9.0.1",
70+
"@wc-toolkit/storybook-helpers": "10.0.0",
7171
"autoprefixer": "10.4.21",
7272
"glob": "11.0.3",
7373
"playwright": "1.53.1",
@@ -76,7 +76,7 @@
7676
"react": "19.1.1",
7777
"react-dom": "19.1.1",
7878
"rimraf": "6.0.1",
79-
"storybook": "10.0.1",
79+
"storybook": "10.0.3",
8080
"typescript": "5.9.2",
8181
"vite": "7.1.7",
8282
"vite-plugin-dts": "4.5.4",

yarn.lock

Lines changed: 65 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -177,18 +177,18 @@ __metadata:
177177
"@axe-core/playwright": "npm:4.10.2"
178178
"@custom-elements-manifest/analyzer": "npm:0.10.8"
179179
"@spectrum-web-components/core": "npm:0.0.1"
180-
"@storybook/addon-a11y": "npm:10.0.1"
180+
"@storybook/addon-a11y": "npm:10.0.3"
181181
"@storybook/addon-designs": "npm:11.0.1"
182-
"@storybook/addon-docs": "npm:10.0.1"
183-
"@storybook/addon-vitest": "npm:10.0.1"
182+
"@storybook/addon-docs": "npm:10.0.3"
183+
"@storybook/addon-vitest": "npm:10.0.3"
184184
"@storybook/test-runner": "npm:0.23.0"
185-
"@storybook/web-components-vite": "npm:10.0.1"
185+
"@storybook/web-components-vite": "npm:10.0.3"
186186
"@types/react": "npm:19.1.16"
187187
"@types/react-dom": "npm:19.1.9"
188188
"@vitest/browser": "npm:3.2.4"
189189
"@vitest/coverage-v8": "npm:3.2.4"
190190
"@vitest/ui": "npm:3.2.4"
191-
"@wc-toolkit/storybook-helpers": "npm:9.0.1"
191+
"@wc-toolkit/storybook-helpers": "npm:10.0.0"
192192
autoprefixer: "npm:10.4.21"
193193
glob: "npm:11.0.3"
194194
lit: "npm:^2.5.0 || ^3.1.3"
@@ -198,7 +198,7 @@ __metadata:
198198
react: "npm:19.1.1"
199199
react-dom: "npm:19.1.1"
200200
rimraf: "npm:6.0.1"
201-
storybook: "npm:10.0.1"
201+
storybook: "npm:10.0.3"
202202
typescript: "npm:5.9.2"
203203
vite: "npm:7.1.7"
204204
vite-plugin-dts: "npm:4.5.4"
@@ -5354,7 +5354,7 @@ __metadata:
53545354
alex: "npm:11.0.1"
53555355
cem-plugin-module-file-extensions: "npm:0.0.5"
53565356
chromatic: "npm:13.2.0"
5357-
chromedriver: "npm:140.0.3"
5357+
chromedriver: "npm:142.0.0"
53585358
colors: "npm:1.4.0"
53595359
common-tags: "npm:1.8.2"
53605360
crypto: "npm:1.0.1"
@@ -6470,15 +6470,15 @@ __metadata:
64706470
languageName: unknown
64716471
linkType: soft
64726472

6473-
"@storybook/addon-a11y@npm:10.0.1":
6474-
version: 10.0.1
6475-
resolution: "@storybook/addon-a11y@npm:10.0.1"
6473+
"@storybook/addon-a11y@npm:10.0.3":
6474+
version: 10.0.3
6475+
resolution: "@storybook/addon-a11y@npm:10.0.3"
64766476
dependencies:
64776477
"@storybook/global": "npm:^5.0.0"
64786478
axe-core: "npm:^4.2.0"
64796479
peerDependencies:
6480-
storybook: ^10.0.1
6481-
checksum: 10c0/9f3ec5bb8b23ec69e419cc365ebfcc98d4d41407fb6c5785d4e8e868232f0b8f5659f2155962936abcba19578f534b64fb9355c9e2895a59292452920c371178
6480+
storybook: ^10.0.3
6481+
checksum: 10c0/7ef09ebced76fd262273bdb147255dc83cca645b7a847be42757d044d9f70117f2f1ab9d6ca4f238dc25c00a66ca25f4ebfc94bb62afac38a740ff1cf3f42479
64826482
languageName: node
64836483
linkType: hard
64846484

@@ -6584,20 +6584,20 @@ __metadata:
65846584
languageName: node
65856585
linkType: hard
65866586

6587-
"@storybook/addon-docs@npm:10.0.1":
6588-
version: 10.0.1
6589-
resolution: "@storybook/addon-docs@npm:10.0.1"
6587+
"@storybook/addon-docs@npm:10.0.3":
6588+
version: 10.0.3
6589+
resolution: "@storybook/addon-docs@npm:10.0.3"
65906590
dependencies:
65916591
"@mdx-js/react": "npm:^3.0.0"
6592-
"@storybook/csf-plugin": "npm:10.0.1"
6592+
"@storybook/csf-plugin": "npm:10.0.3"
65936593
"@storybook/icons": "npm:^1.6.0"
6594-
"@storybook/react-dom-shim": "npm:10.0.1"
6594+
"@storybook/react-dom-shim": "npm:10.0.3"
65956595
react: "npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
65966596
react-dom: "npm:^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
65976597
ts-dedent: "npm:^2.0.0"
65986598
peerDependencies:
6599-
storybook: ^10.0.1
6600-
checksum: 10c0/edaa0db5f146768b707177d09a76f0a7f0bf1de94954ad20afcfdbed18abcd187cfffedf0bb314b40362ff9c2d488b87d83024c5d7e03e331545716d6c618f42
6599+
storybook: ^10.0.3
6600+
checksum: 10c0/58336d63d0faf470ecb810a0bebf3cf14001acf10c3c6427b4b03cd8f506e56a3df176d35404a95c0af60f872822d5ee60bc4cdea7d91f68e43ef18f8654554e
66016601
languageName: node
66026602
linkType: hard
66036603

@@ -6724,9 +6724,9 @@ __metadata:
67246724
languageName: node
67256725
linkType: hard
67266726

6727-
"@storybook/addon-vitest@npm:10.0.1":
6728-
version: 10.0.1
6729-
resolution: "@storybook/addon-vitest@npm:10.0.1"
6727+
"@storybook/addon-vitest@npm:10.0.3":
6728+
version: 10.0.3
6729+
resolution: "@storybook/addon-vitest@npm:10.0.3"
67306730
dependencies:
67316731
"@storybook/global": "npm:^5.0.0"
67326732
"@storybook/icons": "npm:^1.6.0"
@@ -6736,7 +6736,7 @@ __metadata:
67366736
"@vitest/browser": ^3.0.0 || ^4.0.0
67376737
"@vitest/browser-playwright": ^4.0.0
67386738
"@vitest/runner": ^3.0.0 || ^4.0.0
6739-
storybook: ^10.0.1
6739+
storybook: ^10.0.3
67406740
vitest: ^3.0.0 || ^4.0.0
67416741
peerDependenciesMeta:
67426742
"@vitest/browser":
@@ -6747,7 +6747,7 @@ __metadata:
67476747
optional: true
67486748
vitest:
67496749
optional: true
6750-
checksum: 10c0/36aa2eed86727df8c9440c79aa9cac8fc9d2e7be308d2ffb36e956b34bf916e31fd2e41dcd11c7739518c3fcc77f8facf540f830cdfef3b448ffd55258226335
6750+
checksum: 10c0/f52d813493012a40cfaceba963df2db4827d2f40052e1c77b31adad67bf094e6b3df5272b3220f41d0881da505ea309b45766f2ee61ac2df0c39eb3b88dadbb7
67516751
languageName: node
67526752
linkType: hard
67536753

@@ -6770,16 +6770,16 @@ __metadata:
67706770
languageName: node
67716771
linkType: hard
67726772

6773-
"@storybook/builder-vite@npm:10.0.1":
6774-
version: 10.0.1
6775-
resolution: "@storybook/builder-vite@npm:10.0.1"
6773+
"@storybook/builder-vite@npm:10.0.3":
6774+
version: 10.0.3
6775+
resolution: "@storybook/builder-vite@npm:10.0.3"
67766776
dependencies:
6777-
"@storybook/csf-plugin": "npm:10.0.1"
6777+
"@storybook/csf-plugin": "npm:10.0.3"
67786778
ts-dedent: "npm:^2.0.0"
67796779
peerDependencies:
6780-
storybook: ^10.0.1
6780+
storybook: ^10.0.3
67816781
vite: ^5.0.0 || ^6.0.0 || ^7.0.0
6782-
checksum: 10c0/67108205e9a605c9d3cf7d0a0d7ad1947e6420dae5a52e2c4f98533a56b046e27311f929ba9c204a828bedaf8a1c32f54866f4ceeadaa11c913379217a6ef8d1
6782+
checksum: 10c0/3b72d04ea4681e15efcf691b402c280240b9cd0a95cec4bc54105aa69be4bfaf362f4259773049f3b90f531172d84a2a67044e02a50d88e88ea5de7a6938ac4c
67836783
languageName: node
67846784
linkType: hard
67856785

@@ -6946,15 +6946,15 @@ __metadata:
69466946
languageName: node
69476947
linkType: hard
69486948

6949-
"@storybook/csf-plugin@npm:10.0.1":
6950-
version: 10.0.1
6951-
resolution: "@storybook/csf-plugin@npm:10.0.1"
6949+
"@storybook/csf-plugin@npm:10.0.3":
6950+
version: 10.0.3
6951+
resolution: "@storybook/csf-plugin@npm:10.0.3"
69526952
dependencies:
69536953
unplugin: "npm:^2.3.5"
69546954
peerDependencies:
69556955
esbuild: "*"
69566956
rollup: "*"
6957-
storybook: ^10.0.1
6957+
storybook: ^10.0.3
69586958
vite: "*"
69596959
webpack: "*"
69606960
peerDependenciesMeta:
@@ -6966,7 +6966,7 @@ __metadata:
69666966
optional: true
69676967
webpack:
69686968
optional: true
6969-
checksum: 10c0/4f0c9ef7171f991466e58051778d0dcf813fc8fe8f83dba2a839aeea42ba5b384a61b2f0556af7ddddfe5868f6336c434841bef79850d2bd8ccf234fbb09970b
6969+
checksum: 10c0/d12e7b714761f5e8b9cc23e4aac361264746bfed53161bdd6bb91290325b1a0ef07a482b03bbd0a3a49262e52cddaa33e391dd92f4d6d988bf41af0c6a8913b8
69706970
languageName: node
69716971
linkType: hard
69726972

@@ -7130,14 +7130,14 @@ __metadata:
71307130
languageName: node
71317131
linkType: hard
71327132

7133-
"@storybook/react-dom-shim@npm:10.0.1":
7134-
version: 10.0.1
7135-
resolution: "@storybook/react-dom-shim@npm:10.0.1"
7133+
"@storybook/react-dom-shim@npm:10.0.3":
7134+
version: 10.0.3
7135+
resolution: "@storybook/react-dom-shim@npm:10.0.3"
71367136
peerDependencies:
71377137
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
71387138
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
7139-
storybook: ^10.0.1
7140-
checksum: 10c0/e9b9f2bf0a72061fb9e5a3c679f22b726a2afe413e66bd32f51fbf1ec130accdd90b936c8f96058d3c289727f85e3ccd1ee5f033f062e3ec3b1482dbca66985e
7139+
storybook: ^10.0.3
7140+
checksum: 10c0/bfdfa2c5e5f931f903c98d42b61389bc77b7b62012e631a4c592f0034bec28d54df52e26a6871b3bd6e97e3dcb503e8cce9d3770318d0ca08217f7bbeef09244
71417141
languageName: node
71427142
linkType: hard
71437143

@@ -7255,15 +7255,15 @@ __metadata:
72557255
languageName: node
72567256
linkType: hard
72577257

7258-
"@storybook/web-components-vite@npm:10.0.1":
7259-
version: 10.0.1
7260-
resolution: "@storybook/web-components-vite@npm:10.0.1"
7258+
"@storybook/web-components-vite@npm:10.0.3":
7259+
version: 10.0.3
7260+
resolution: "@storybook/web-components-vite@npm:10.0.3"
72617261
dependencies:
7262-
"@storybook/builder-vite": "npm:10.0.1"
7263-
"@storybook/web-components": "npm:10.0.1"
7262+
"@storybook/builder-vite": "npm:10.0.3"
7263+
"@storybook/web-components": "npm:10.0.3"
72647264
peerDependencies:
7265-
storybook: ^10.0.1
7266-
checksum: 10c0/5d2f7a7608fc5b61ed1b37a7de4987b963bd33efd718e18f0ada602bff8fe0256efb515b0e489e9f1a4c65e19faf1a84c788bc0ffa93a96f10822e9237dafb43
7265+
storybook: ^10.0.3
7266+
checksum: 10c0/9e193efbede22512e52811fab888d5a0997af239ac09ad2c38c9e290baaef51280625c6c5b4e78f4f9c979c39e6dbeb52ccbc200fb589fc963ced7787b075f12
72677267
languageName: node
72687268
linkType: hard
72697269

@@ -7280,17 +7280,17 @@ __metadata:
72807280
languageName: node
72817281
linkType: hard
72827282

7283-
"@storybook/web-components@npm:10.0.1":
7284-
version: 10.0.1
7285-
resolution: "@storybook/web-components@npm:10.0.1"
7283+
"@storybook/web-components@npm:10.0.3":
7284+
version: 10.0.3
7285+
resolution: "@storybook/web-components@npm:10.0.3"
72867286
dependencies:
72877287
"@storybook/global": "npm:^5.0.0"
72887288
tiny-invariant: "npm:^1.3.1"
72897289
ts-dedent: "npm:^2.0.0"
72907290
peerDependencies:
72917291
lit: ^2.0.0 || ^3.0.0
7292-
storybook: ^10.0.1
7293-
checksum: 10c0/d0d1622a70f897cf23adc14f9980f8bdf326f26802e0d0514323ab9ee153aa77e4cdbfa52627f03c391a30b7e1ee88f0fdeddeb89e15cb0c64a6a043fbfcb907
7292+
storybook: ^10.0.3
7293+
checksum: 10c0/889c09f97ffb47c04e20e303baaf875d0713aa8e4cd4da6c6a0bcffd070fbbdfee1c7ce66bc7ca4455cf56cbb9ceb4a580bb66c1dc7c489936ebcb76c73047d3
72947294
languageName: node
72957295
linkType: hard
72967296

@@ -9229,13 +9229,13 @@ __metadata:
92299229
languageName: node
92309230
linkType: hard
92319231

9232-
"@wc-toolkit/storybook-helpers@npm:9.0.1":
9233-
version: 9.0.1
9234-
resolution: "@wc-toolkit/storybook-helpers@npm:9.0.1"
9232+
"@wc-toolkit/storybook-helpers@npm:10.0.0":
9233+
version: 10.0.0
9234+
resolution: "@wc-toolkit/storybook-helpers@npm:10.0.0"
92359235
peerDependencies:
92369236
lit: ^2.0.0 || ^3.0.0
9237-
storybook: ">=9.0.0-0 <10.0.0-0"
9238-
checksum: 10c0/70f57c869c1d58f9eaf09d1cdc841784ceb01f7154452808d736431d79ba8757817320668e703a5136fe0b64428bdae386cd5b4b9cbabcfe75321eb234695673
9237+
storybook: ">=10.0.0-0 <11.0.0-0"
9238+
checksum: 10c0/b35cd84e6888277057a5309d605f787d0794cf6fcd5db2a877fb59a0f89b6fe82311c9a6dd2a369a27e574cc07adbba59dda393287da44bfd247d77d9828db7c
92399239
languageName: node
92409240
linkType: hard
92419241

@@ -11842,9 +11842,9 @@ __metadata:
1184211842
languageName: node
1184311843
linkType: hard
1184411844

11845-
"chromedriver@npm:140.0.3":
11846-
version: 140.0.3
11847-
resolution: "chromedriver@npm:140.0.3"
11845+
"chromedriver@npm:142.0.0":
11846+
version: 142.0.0
11847+
resolution: "chromedriver@npm:142.0.0"
1184811848
dependencies:
1184911849
"@testim/chrome-version": "npm:^1.1.4"
1185011850
axios: "npm:^1.12.0"
@@ -11855,7 +11855,7 @@ __metadata:
1185511855
tcp-port-used: "npm:^1.0.2"
1185611856
bin:
1185711857
chromedriver: bin/chromedriver
11858-
checksum: 10c0/828614a9f87eb0dde3462d570ff2a09815f791f2ecbcab6ce3a84baae4f9b4bb74c671a8496b5135eaa692342782546e74cb6e7826be2b1fea6cc3f610729a1c
11858+
checksum: 10c0/e453c571f426fb3dc4eff70dee695ae648952e3a119e5e5b88d6760a9445f193b3fd5dccfc817efbfcb5d8590cd4d9c3ac7f97d37416d79d738ab438aaf35e01
1185911859
languageName: node
1186011860
linkType: hard
1186111861

@@ -28182,9 +28182,9 @@ __metadata:
2818228182
languageName: node
2818328183
linkType: hard
2818428184

28185-
"storybook@npm:10.0.1":
28186-
version: 10.0.1
28187-
resolution: "storybook@npm:10.0.1"
28185+
"storybook@npm:10.0.3":
28186+
version: 10.0.3
28187+
resolution: "storybook@npm:10.0.3"
2818828188
dependencies:
2818928189
"@storybook/global": "npm:^5.0.0"
2819028190
"@storybook/icons": "npm:^1.6.0"
@@ -28204,7 +28204,7 @@ __metadata:
2820428204
optional: true
2820528205
bin:
2820628206
storybook: ./dist/bin/dispatcher.js
28207-
checksum: 10c0/5b251ce434e365ae6c2f019c9f215fa10159d6f7660f0e1a61467d59d8230f2aa4de4dff5e599d81c0fb38a7b3cd51c7a9b423c4cb7abc63bd4a0ca39ea4de17
28207+
checksum: 10c0/48c432f8db5bfe7c5c0101c176a65bfa1bff8b9d365bcee8acf5ba3b6b3d6b10d2f96976e08169cc4057566fb63848d3800ea9f20a640800e23cfd791093699e
2820828208
languageName: node
2820928209
linkType: hard
2821028210

0 commit comments

Comments
 (0)