From c3f46aa47df14b0a4710db7d507d1166e9a56d5e Mon Sep 17 00:00:00 2001 From: Jungzl <13jungzl@gmail.com> Date: Tue, 5 Aug 2025 17:32:45 +0800 Subject: [PATCH 1/3] test: add `unocss-vue-scoped` --- playground/unocss-vue-scoped/App.vue | 7 + playground/unocss-vue-scoped/HelloUnoCSS.vue | 3 + .../__tests__/unocss.spec.ts | 26 + playground/unocss-vue-scoped/index.html | 7 + playground/unocss-vue-scoped/package.json | 20 + playground/unocss-vue-scoped/uno.config.ts | 5 + playground/unocss-vue-scoped/vite.config.ts | 11 + pnpm-lock.yaml | 533 ++++++++++++++++-- 8 files changed, 564 insertions(+), 48 deletions(-) create mode 100644 playground/unocss-vue-scoped/App.vue create mode 100644 playground/unocss-vue-scoped/HelloUnoCSS.vue create mode 100644 playground/unocss-vue-scoped/__tests__/unocss.spec.ts create mode 100644 playground/unocss-vue-scoped/index.html create mode 100644 playground/unocss-vue-scoped/package.json create mode 100644 playground/unocss-vue-scoped/uno.config.ts create mode 100644 playground/unocss-vue-scoped/vite.config.ts diff --git a/playground/unocss-vue-scoped/App.vue b/playground/unocss-vue-scoped/App.vue new file mode 100644 index 00000000..5c4cb9d6 --- /dev/null +++ b/playground/unocss-vue-scoped/App.vue @@ -0,0 +1,7 @@ + + + diff --git a/playground/unocss-vue-scoped/HelloUnoCSS.vue b/playground/unocss-vue-scoped/HelloUnoCSS.vue new file mode 100644 index 00000000..bd19e39e --- /dev/null +++ b/playground/unocss-vue-scoped/HelloUnoCSS.vue @@ -0,0 +1,3 @@ + diff --git a/playground/unocss-vue-scoped/__tests__/unocss.spec.ts b/playground/unocss-vue-scoped/__tests__/unocss.spec.ts new file mode 100644 index 00000000..2127fc94 --- /dev/null +++ b/playground/unocss-vue-scoped/__tests__/unocss.spec.ts @@ -0,0 +1,26 @@ +import { expect, test } from 'vitest' +import { + editFile, + getBgColor, + isServe, + page, + untilBrowserLogAfter, +} from '~utils' + +test.runIf(isServe)('regenerate CSS and HMR', async () => { + const el = await page.$('.uno') + expect(await getBgColor(el)).toBe('rgb(187, 247, 208)') + + await untilBrowserLogAfter( + () => + editFile('HelloUnoCSS.vue', (code) => + code.replace('bg-green-200', 'bg-red-200'), + ), + [ + '[vite] hot updated: /HelloUnoCSS.vue', + '[vite] hot updated: /HelloUnoCSS.vue?vue&type=style&index=0&scoped=468ceaae&lang.css', + ], + false, + ) + await expect.poll(() => getBgColor(el)).toMatch('rgb(254, 202, 202)') +}) diff --git a/playground/unocss-vue-scoped/index.html b/playground/unocss-vue-scoped/index.html new file mode 100644 index 00000000..dc3f47db --- /dev/null +++ b/playground/unocss-vue-scoped/index.html @@ -0,0 +1,7 @@ +
+ diff --git a/playground/unocss-vue-scoped/package.json b/playground/unocss-vue-scoped/package.json new file mode 100644 index 00000000..6e07e14a --- /dev/null +++ b/playground/unocss-vue-scoped/package.json @@ -0,0 +1,20 @@ +{ + "name": "@vitejs/test-unocss-vue-scoped", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", + "preview": "vite preview" + }, + "dependencies": { + "unocss": "^66.4.1", + "vue": "catalog:" + }, + "devDependencies": { + "@types/node": "^22.16.5", + "@vitejs/plugin-vue": "workspace:*" + } +} diff --git a/playground/unocss-vue-scoped/uno.config.ts b/playground/unocss-vue-scoped/uno.config.ts new file mode 100644 index 00000000..68ca5780 --- /dev/null +++ b/playground/unocss-vue-scoped/uno.config.ts @@ -0,0 +1,5 @@ +import { defineConfig, presetWind3 } from 'unocss' + +export default defineConfig({ + presets: [presetWind3()], +}) diff --git a/playground/unocss-vue-scoped/vite.config.ts b/playground/unocss-vue-scoped/vite.config.ts new file mode 100644 index 00000000..2803af9b --- /dev/null +++ b/playground/unocss-vue-scoped/vite.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import UnoCSS from 'unocss/vite' + +export default defineConfig({ + plugins: [vue(), UnoCSS({ mode: 'vue-scoped' })], + build: { + // to make tests faster + minify: false, + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bbe90c8d..1e5a2e7f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -255,6 +255,22 @@ importers: specifier: ^10.9.2 version: 10.9.2(@types/node@22.16.5)(typescript@5.8.3) + playground/unocss-vue-scoped: + dependencies: + unocss: + specifier: ^66.4.1 + version: 66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)) + vue: + specifier: 'catalog:' + version: 3.5.18(typescript@5.8.3) + devDependencies: + '@types/node': + specifier: ^22.16.5 + version: 22.16.5 + '@vitejs/plugin-vue': + specifier: workspace:* + version: link:../../packages/plugin-vue + playground/vue: dependencies: lodash-es: @@ -381,6 +397,12 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@antfu/install-pkg@1.1.0': + resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} + + '@antfu/utils@8.1.1': + resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} + '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} @@ -1191,6 +1213,12 @@ packages: resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} engines: {node: '>=18.18'} + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.3.0': + resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1326,6 +1354,9 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + '@publint/pack@0.1.2': resolution: {integrity: sha512-S+9ANAvUmjutrshV4jZjaiG8XQyuJIZ8a4utWmN/vW1sgQ9IfBnPndwkmQYw53QmouOIytT874u65HEmu6H5jw==} engines: {node: '>=18'} @@ -1738,6 +1769,90 @@ packages: resolution: {integrity: sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@unocss/astro@66.4.1': + resolution: {integrity: sha512-UPfpg1FGf8lMugnMYuFxpVqNvO9cIVdi7e3yXpBnzf0uQ4Pib7KvOTPB4VOAVoqDK2A0kPxCzeR9MxCk4c+wxw==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + peerDependenciesMeta: + vite: + optional: true + + '@unocss/cli@66.4.1': + resolution: {integrity: sha512-rf6udln8CY70tRP2BU1zorJZjzhDVIO3JzmxvH+q4W7MZBQ2ZRfZkWKUFa6ZiyjIj8lxEWlmT6zvu3aSJXbHTg==} + engines: {node: '>=14'} + hasBin: true + + '@unocss/config@66.4.1': + resolution: {integrity: sha512-ABiYEN9febHAfvpxzjrqdCrkomcDpcjCL1OPrWXLHOecfi2qZkj5sTASAfGUvqrV2WtZTPDQii6Nz1OisitRQQ==} + engines: {node: '>=14'} + + '@unocss/core@66.4.1': + resolution: {integrity: sha512-2QMthvEmH0215zqIIL5WCodQ9lYShYDzziF4N1MMdcoRvCumGq9MMBFPxC54gNDrO3+/Olhp++YYmXkdZ89qrA==} + + '@unocss/extractor-arbitrary-variants@66.4.1': + resolution: {integrity: sha512-1iG2egoarrpht56AMoccUMc5iEMPLOQY0iwPumGtwTFqFAYntAQLHbFL//BCOD7DRrHMvGLVNt+uKEGXYIvW6w==} + + '@unocss/inspector@66.4.1': + resolution: {integrity: sha512-QS2zOaJaddDFQ7g3BRlFnxqyPYEa5XtE6cwo58hgeZwFDak8IAyPBYpFbINfCQzXhguqGO4MyMRX6NXzgKQ1Cw==} + + '@unocss/postcss@66.4.1': + resolution: {integrity: sha512-UcpMqOJ+ADn9uGetWgmIV+Ctu6Y/W828bJKGRPn6u+c+kporLWfkV5nwSqo1C3o1ADkChwpzs0Ikpz3emxM7yQ==} + engines: {node: '>=14'} + + '@unocss/preset-attributify@66.4.1': + resolution: {integrity: sha512-HTJd/4bEie6EsCwqq9hK+GJwoFp0rx6k3GTz9jHXMwhGpUGYPrrccw8cazYmJq7lMHnPbh/spxHH24eTISwojg==} + + '@unocss/preset-icons@66.4.1': + resolution: {integrity: sha512-2XONpwvWcedBRmGangrTcHKGcXN46tZicZIVBa9QCDZ+VsAzOdHzvHWl4QinoYnBhCs6yE+sxZ0sETfFwjOsEg==} + + '@unocss/preset-mini@66.4.1': + resolution: {integrity: sha512-3yzpUty02AGgZRBlcRhgpEEsG+GJYvweh1TqWql0bAiW3GJWx0oNuvy2jEQjgllvRYRAErIW4/doOljGNQwwjw==} + + '@unocss/preset-tagify@66.4.1': + resolution: {integrity: sha512-PGlC8NwojPc1mj5cvYq5JmBaK7wigcElAItGS+uVQW6goC5kyeiiB0vNw1iyfG542yzXJpPkb3d6B4wZpjl21w==} + + '@unocss/preset-typography@66.4.1': + resolution: {integrity: sha512-V7al6aFsmLcj/eyXuvyf2RIlmTpnUJvWnG4A/LZd8UNsLCndFecE0sTR9VYG1JgNj9aywtJT2w6MSSFnN7Jf5g==} + + '@unocss/preset-uno@66.4.1': + resolution: {integrity: sha512-iRx0GSSCQFL0rjQs9/rNM+igoBup44kCe+yHcB86/nUaRodQbWU2287xoXZcnzcg7/MTjtEtQWu220EY940pmg==} + + '@unocss/preset-web-fonts@66.4.1': + resolution: {integrity: sha512-+wVO+kZTZVREDXtD4/0sJQIBfid+bim40AF4mYp5wA85aeWCCZIqvXzPeF4BWvGFqqrQDHEO1TcUbnOoP8V8UQ==} + + '@unocss/preset-wind3@66.4.1': + resolution: {integrity: sha512-GB2evqTAYw3Z9MImIl3JN5T1of8BO40X9zXnpsVQ4w/v/TOUdVzhfsc4XTVOr8/VVO6Z7VNczgpsd6lZhbrcyg==} + + '@unocss/preset-wind4@66.4.1': + resolution: {integrity: sha512-mDomSDXAWqnKTbmgEws9WxUxfvGoEzhy/NmpmHRX7R7wm1LAD7FGUl7pF11N51Wf6Z5in8iTzqSFcs0YfUfYng==} + + '@unocss/preset-wind@66.4.1': + resolution: {integrity: sha512-r/dUy+0G20/UO6bcZFnNXoRu/6KdRzVdfbeH5TjgO8riI7U44ckLQjDhCMUgUgYldIHewazyiDfMWBcYs5QF5w==} + + '@unocss/reset@66.4.1': + resolution: {integrity: sha512-f0t2YIRF7uVUwEB0aDR6yPMqBO+QgGdgACWQmCrZ84Kir9HV+5d50tK5tXDflHmFTu9mqS9MUG4Ba3sPp44vZw==} + + '@unocss/rule-utils@66.4.1': + resolution: {integrity: sha512-iYbx4ab3aTMrcJSyBoGvwsbUM5BmRQef4rzGOjL312r/0RDZM+i2ikPxcFXpp/9P+Gp22gSXDMlzwY+VfJ2Llw==} + engines: {node: '>=14'} + + '@unocss/transformer-attributify-jsx@66.4.1': + resolution: {integrity: sha512-5aICECaco87n1p/8/vzvtgIly3lu1htd/n2SdfA1t6gtUO7PMX2CEZGSw4VxnMTrjNZRXUqxD7MACJIEg/kzRw==} + + '@unocss/transformer-compile-class@66.4.1': + resolution: {integrity: sha512-xf6W+zLbFwOvlNNxV0S73ggevlmiBhqtWBI4xdd463IdiJJ1VU/hTmXJ0r39hVHwVEPYGtechUODGtky47M59Q==} + + '@unocss/transformer-directives@66.4.1': + resolution: {integrity: sha512-3PiYgq0/TYeCLoUm6K+XbsHcd03l3TN2U2fSeda4PIZoZ/ioH0kJd0tVg98DzO8ekgqtUwKFZjgBa0ezQJwfPQ==} + + '@unocss/transformer-variant-group@66.4.1': + resolution: {integrity: sha512-stFDCkPeZYBRpKmmF8dOBgAZEh8ydzSrBnc4Uiakgn0LXrhAKNgxR/kC8urgMhu+HcyNsWlLEEIeQyPj72IAHA==} + + '@unocss/vite@66.4.1': + resolution: {integrity: sha512-oXXh9FKaxHUbd9GaiVg+CKtVDoWubQNKtHOLExXU3GgZ/jHATPawR2LXoOtPl/9qq6lT6Dl+o4el2AauUQqo7g==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + '@unrs/resolver-binding-android-arm-eabi@1.9.0': resolution: {integrity: sha512-h1T2c2Di49ekF2TE8ZCoJkb+jwETKUIPDJ/nO3tJBKlLFPu+fyd93f0rGP/BvArKx2k2HlRM4kqkNarj3dvZlg==} cpu: [arm] @@ -1983,27 +2098,15 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.5.17': - resolution: {integrity: sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==} - '@vue/compiler-core@3.5.18': resolution: {integrity: sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==} - '@vue/compiler-dom@3.5.17': - resolution: {integrity: sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==} - '@vue/compiler-dom@3.5.18': resolution: {integrity: sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==} - '@vue/compiler-sfc@3.5.17': - resolution: {integrity: sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==} - '@vue/compiler-sfc@3.5.18': resolution: {integrity: sha512-5aBjvGqsWs+MoxswZPoTB9nSDb3dhd1x30xrrltKujlCxo48j8HGDNj3QPhF4VIS0VQDUrA1xUfp2hEa+FNyXA==} - '@vue/compiler-ssr@3.5.17': - resolution: {integrity: sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==} - '@vue/compiler-ssr@3.5.18': resolution: {integrity: sha512-xM16Ak7rSWHkM3m22NlmcdIM+K4BMyFARAfV9hYFl+SFuRzrZ3uGMNW05kA5pmeMa0X9X963Kgou7ufdbpOP9g==} @@ -2036,9 +2139,6 @@ packages: '@vue/shared@3.5.13': resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - '@vue/shared@3.5.17': - resolution: {integrity: sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==} - '@vue/shared@3.5.18': resolution: {integrity: sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==} @@ -2313,6 +2413,16 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + + confbox@0.2.2: + resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} @@ -2385,6 +2495,10 @@ packages: css-color-names@1.0.1: resolution: {integrity: sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==} + css-tree@3.1.0: + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -2428,6 +2542,9 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + destr@2.0.5: + resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} + detect-libc@1.0.3: resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} engines: {node: '>=0.10'} @@ -2471,6 +2588,9 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -2690,6 +2810,9 @@ packages: resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} engines: {node: '>= 18'} + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -2829,6 +2952,10 @@ packages: resolution: {integrity: sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==} engines: {node: '>=18'} + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + engines: {node: '>=18'} + globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} @@ -2845,6 +2972,10 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + handlebars@4.7.8: resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} engines: {node: '>=0.4.7'} @@ -3077,6 +3208,9 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + less@4.4.0: resolution: {integrity: sha512-kdTwsyRuncDfjEs0DlRILWNvxhDG/Zij4YLO4TMJgDLW+8OzpfkdPnRgrsRuY1o+oaxJGWsps5f/RVBgGmmN0w==} engines: {node: '>=14'} @@ -3166,6 +3300,10 @@ packages: resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==} engines: {node: '>=18.0.0'} + local-pkg@1.1.1: + resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} + engines: {node: '>=14'} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -3209,6 +3347,9 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} + mdn-data@2.12.2: + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} + media-typer@1.1.0: resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} engines: {node: '>= 0.8'} @@ -3283,10 +3424,17 @@ packages: engines: {node: '>=10'} hasBin: true + mlly@1.7.4: + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -3337,6 +3485,9 @@ packages: node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-fetch-native@1.6.7: + resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + node-releases@2.0.19: resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} @@ -3372,6 +3523,9 @@ packages: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} + ofetch@1.4.1: + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} + on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -3499,6 +3653,12 @@ packages: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + pkg-types@2.2.0: + resolution: {integrity: sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==} + playwright-chromium@1.54.1: resolution: {integrity: sha512-1tOND4/hyQsYng5NLkLm+Ntew+CWBsvVZCcEZ0wafF5BAd9DBQHAT9SO95+QFk5iL5IBEdB6vFdsHf9Ma72vzQ==} engines: {node: '>=18'} @@ -3841,6 +4001,10 @@ packages: resolution: {integrity: sha512-N+goiLxlkHJlyaYEglFypzVNMaNplPAk5syu0+OPp/Bk6dwVoXF6FfOw2vO0Dp+JHsBaI+w6cm8TnFl2Hw6tDA==} hasBin: true + sirv@3.0.1: + resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} + engines: {node: '>=18'} + sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -4025,6 +4189,10 @@ packages: token-stream@1.0.0: resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==} + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + ts-api-utils@2.1.0: resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} engines: {node: '>=18.12'} @@ -4103,6 +4271,9 @@ packages: engines: {node: '>=14.17'} hasBin: true + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -4138,10 +4309,26 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} + unocss@66.4.1: + resolution: {integrity: sha512-9nZRafw74usdYIHnfBzCtYlPZUjmLOZZ4fxcohMaQtQon+A9P5KiJoaX+9Z2PxVqnArB3drQ1KiRxFPMHJN3+A==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 66.4.1 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} + unplugin-utils@0.2.4: + resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} + engines: {node: '>=18.12.0'} + unrs-resolver@1.9.0: resolution: {integrity: sha512-wqaRu4UnzBD2ABTC1kLfBjAqIDZ5YUTr/MLGa7By47JV1bJDSW7jq/ZSLigB7enLe7ubNaJhtnBXgrc/50cEhg==} @@ -4253,6 +4440,9 @@ packages: resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} engines: {node: '>=0.10.0'} + vue-flow-layout@0.2.0: + resolution: {integrity: sha512-zKgsWWkXq0xrus7H4Mc+uFs1ESrmdTXlO0YNbR6wMdPaFvosL3fMB8N7uTV308UhGy9UvTrGhIY7mVz9eN+L0Q==} + vue-router@4.5.1: resolution: {integrity: sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==} peerDependencies: @@ -4345,6 +4535,13 @@ snapshots: '@jridgewell/gen-mapping': 0.3.12 '@jridgewell/trace-mapping': 0.3.29 + '@antfu/install-pkg@1.1.0': + dependencies: + package-manager-detector: 1.3.0 + tinyexec: 1.0.1 + + '@antfu/utils@8.1.1': {} + '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.27.1 @@ -5286,6 +5483,21 @@ snapshots: '@humanwhocodes/retry@0.4.2': {} + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.3.0': + dependencies: + '@antfu/install-pkg': 1.1.0 + '@antfu/utils': 8.1.1 + '@iconify/types': 2.0.0 + debug: 4.4.1 + globals: 15.15.0 + kolorist: 1.8.0 + local-pkg: 1.1.1 + mlly: 1.7.4 + transitivePeerDependencies: + - supports-color + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -5412,6 +5624,8 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@polka/url@1.0.0-next.29': {} + '@publint/pack@0.1.2': {} '@quansync/fs@0.1.3': @@ -5775,6 +5989,156 @@ snapshots: '@typescript-eslint/types': 8.38.0 eslint-visitor-keys: 4.2.1 + '@unocss/astro@66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0))': + dependencies: + '@unocss/core': 66.4.1 + '@unocss/reset': 66.4.1 + '@unocss/vite': 66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)) + optionalDependencies: + vite: 7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0) + + '@unocss/cli@66.4.1': + dependencies: + '@ampproject/remapping': 2.3.0 + '@unocss/config': 66.4.1 + '@unocss/core': 66.4.1 + '@unocss/preset-uno': 66.4.1 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.4.2 + magic-string: 0.30.17 + pathe: 2.0.3 + perfect-debounce: 1.0.0 + tinyglobby: 0.2.14 + unplugin-utils: 0.2.4 + + '@unocss/config@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + unconfig: 7.3.2 + + '@unocss/core@66.4.1': {} + + '@unocss/extractor-arbitrary-variants@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + + '@unocss/inspector@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + '@unocss/rule-utils': 66.4.1 + colorette: 2.0.20 + gzip-size: 6.0.0 + sirv: 3.0.1 + vue-flow-layout: 0.2.0 + + '@unocss/postcss@66.4.1': + dependencies: + '@unocss/config': 66.4.1 + '@unocss/core': 66.4.1 + '@unocss/rule-utils': 66.4.1 + css-tree: 3.1.0 + postcss: 8.5.6 + tinyglobby: 0.2.14 + + '@unocss/preset-attributify@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + + '@unocss/preset-icons@66.4.1': + dependencies: + '@iconify/utils': 2.3.0 + '@unocss/core': 66.4.1 + ofetch: 1.4.1 + transitivePeerDependencies: + - supports-color + + '@unocss/preset-mini@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + '@unocss/extractor-arbitrary-variants': 66.4.1 + '@unocss/rule-utils': 66.4.1 + + '@unocss/preset-tagify@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + + '@unocss/preset-typography@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + '@unocss/preset-mini': 66.4.1 + '@unocss/rule-utils': 66.4.1 + + '@unocss/preset-uno@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + '@unocss/preset-wind3': 66.4.1 + + '@unocss/preset-web-fonts@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + ofetch: 1.4.1 + + '@unocss/preset-wind3@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + '@unocss/preset-mini': 66.4.1 + '@unocss/rule-utils': 66.4.1 + + '@unocss/preset-wind4@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + '@unocss/extractor-arbitrary-variants': 66.4.1 + '@unocss/rule-utils': 66.4.1 + + '@unocss/preset-wind@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + '@unocss/preset-wind3': 66.4.1 + + '@unocss/reset@66.4.1': {} + + '@unocss/rule-utils@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + magic-string: 0.30.17 + + '@unocss/transformer-attributify-jsx@66.4.1': + dependencies: + '@babel/parser': 7.28.0 + '@babel/traverse': 7.28.0 + '@unocss/core': 66.4.1 + transitivePeerDependencies: + - supports-color + + '@unocss/transformer-compile-class@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + + '@unocss/transformer-directives@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + '@unocss/rule-utils': 66.4.1 + css-tree: 3.1.0 + + '@unocss/transformer-variant-group@66.4.1': + dependencies: + '@unocss/core': 66.4.1 + + '@unocss/vite@66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@unocss/config': 66.4.1 + '@unocss/core': 66.4.1 + '@unocss/inspector': 66.4.1 + chokidar: 3.6.0 + magic-string: 0.30.17 + pathe: 2.0.3 + tinyglobby: 0.2.14 + unplugin-utils: 0.2.4 + vite: 7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0) + '@unrs/resolver-binding-android-arm-eabi@1.9.0': optional: true @@ -5991,18 +6355,10 @@ snapshots: '@babel/helper-module-imports': 7.27.1 '@babel/helper-plugin-utils': 7.26.5 '@babel/parser': 7.27.2 - '@vue/compiler-sfc': 3.5.17 + '@vue/compiler-sfc': 3.5.18 transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.5.17': - dependencies: - '@babel/parser': 7.28.0 - '@vue/shared': 3.5.17 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - '@vue/compiler-core@3.5.18': dependencies: '@babel/parser': 7.28.0 @@ -6011,28 +6367,11 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.17': - dependencies: - '@vue/compiler-core': 3.5.17 - '@vue/shared': 3.5.17 - '@vue/compiler-dom@3.5.18': dependencies: '@vue/compiler-core': 3.5.18 '@vue/shared': 3.5.18 - '@vue/compiler-sfc@3.5.17': - dependencies: - '@babel/parser': 7.27.7 - '@vue/compiler-core': 3.5.17 - '@vue/compiler-dom': 3.5.17 - '@vue/compiler-ssr': 3.5.17 - '@vue/shared': 3.5.17 - estree-walker: 2.0.2 - magic-string: 0.30.17 - postcss: 8.5.6 - source-map-js: 1.2.1 - '@vue/compiler-sfc@3.5.18': dependencies: '@babel/parser': 7.28.0 @@ -6045,11 +6384,6 @@ snapshots: postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.17': - dependencies: - '@vue/compiler-dom': 3.5.17 - '@vue/shared': 3.5.17 - '@vue/compiler-ssr@3.5.18': dependencies: '@vue/compiler-dom': 3.5.18 @@ -6099,8 +6433,6 @@ snapshots: '@vue/shared@3.5.13': {} - '@vue/shared@3.5.17': {} - '@vue/shared@3.5.18': {} accepts@2.0.0: @@ -6382,6 +6714,12 @@ snapshots: concat-map@0.0.1: {} + confbox@0.1.8: {} + + confbox@0.2.2: {} + + consola@3.4.2: {} + constantinople@4.0.1: dependencies: '@babel/parser': 7.28.0 @@ -6455,6 +6793,11 @@ snapshots: css-color-names@1.0.1: {} + css-tree@3.1.0: + dependencies: + mdn-data: 2.12.2 + source-map-js: 1.2.1 + cssesc@3.0.0: {} csstype@3.1.3: {} @@ -6481,6 +6824,8 @@ snapshots: depd@2.0.0: {} + destr@2.0.5: {} + detect-libc@1.0.3: optional: true @@ -6508,6 +6853,8 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 + duplexer@0.1.2: {} + eastasianwidth@0.2.0: {} ee-first@1.1.1: {} @@ -6812,6 +7159,8 @@ snapshots: transitivePeerDependencies: - supports-color + exsolve@1.0.7: {} + fast-deep-equal@3.1.3: {} fast-glob@3.3.2: @@ -6965,6 +7314,8 @@ snapshots: globals@15.12.0: {} + globals@15.15.0: {} + globrex@0.1.2: {} gopd@1.0.1: @@ -6977,6 +7328,10 @@ snapshots: graphemer@1.4.0: {} + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + handlebars@4.7.8: dependencies: minimist: 1.2.8 @@ -7164,6 +7519,8 @@ snapshots: kleur@3.0.3: {} + kolorist@1.8.0: {} + less@4.4.0: dependencies: copy-anything: 2.0.6 @@ -7256,6 +7613,12 @@ snapshots: rfdc: 1.4.1 wrap-ansi: 9.0.0 + local-pkg@1.1.1: + dependencies: + mlly: 1.7.4 + pkg-types: 2.2.0 + quansync: 0.2.10 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -7298,6 +7661,8 @@ snapshots: math-intrinsics@1.1.0: {} + mdn-data@2.12.2: {} + media-typer@1.1.0: {} meow@13.2.0: {} @@ -7350,8 +7715,17 @@ snapshots: mkdirp@3.0.1: {} + mlly@1.7.4: + dependencies: + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + mri@1.2.0: {} + mrmime@2.0.1: {} + ms@2.0.0: {} ms@2.1.3: {} @@ -7387,6 +7761,8 @@ snapshots: node-addon-api@7.1.1: optional: true + node-fetch-native@1.6.7: {} + node-releases@2.0.19: {} normalize-package-data@7.0.0: @@ -7414,6 +7790,12 @@ snapshots: object-inspect@1.13.4: {} + ofetch@1.4.1: + dependencies: + destr: 2.0.5 + node-fetch-native: 1.6.7 + ufo: 1.6.1 + on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -7508,6 +7890,18 @@ snapshots: pirates@4.0.7: {} + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.7.4 + pathe: 2.0.3 + + pkg-types@2.2.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.7 + pathe: 2.0.3 + playwright-chromium@1.54.1: dependencies: playwright-core: 1.54.1 @@ -7941,6 +8335,12 @@ snapshots: simple-git-hooks@2.13.0: {} + sirv@3.0.1: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 + sisteransi@1.0.5: {} slash@5.1.0: {} @@ -8130,6 +8530,8 @@ snapshots: token-stream@1.0.0: {} + totalist@3.0.1: {} + ts-api-utils@2.1.0(typescript@5.8.3): dependencies: typescript: 5.8.3 @@ -8215,6 +8617,8 @@ snapshots: typescript@5.8.3: {} + ufo@1.6.1: {} + uglify-js@3.19.3: optional: true @@ -8242,8 +8646,39 @@ snapshots: universalify@2.0.1: {} + unocss@66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)): + dependencies: + '@unocss/astro': 66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)) + '@unocss/cli': 66.4.1 + '@unocss/core': 66.4.1 + '@unocss/postcss': 66.4.1 + '@unocss/preset-attributify': 66.4.1 + '@unocss/preset-icons': 66.4.1 + '@unocss/preset-mini': 66.4.1 + '@unocss/preset-tagify': 66.4.1 + '@unocss/preset-typography': 66.4.1 + '@unocss/preset-uno': 66.4.1 + '@unocss/preset-web-fonts': 66.4.1 + '@unocss/preset-wind': 66.4.1 + '@unocss/preset-wind3': 66.4.1 + '@unocss/preset-wind4': 66.4.1 + '@unocss/transformer-attributify-jsx': 66.4.1 + '@unocss/transformer-compile-class': 66.4.1 + '@unocss/transformer-directives': 66.4.1 + '@unocss/transformer-variant-group': 66.4.1 + '@unocss/vite': 66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)) + optionalDependencies: + vite: 7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0) + transitivePeerDependencies: + - supports-color + unpipe@1.0.0: {} + unplugin-utils@0.2.4: + dependencies: + pathe: 2.0.3 + picomatch: 4.0.3 + unrs-resolver@1.9.0: dependencies: napi-postinstall: 0.2.3 @@ -8403,6 +8838,8 @@ snapshots: void-elements@3.1.0: {} + vue-flow-layout@0.2.0: {} + vue-router@4.5.1(vue@3.5.18(typescript@5.8.3)): dependencies: '@vue/devtools-api': 6.6.4 From 88979383d2c40db1a5b9935ae5a2cb25193fdbde Mon Sep 17 00:00:00 2001 From: Jungzl <13jungzl@gmail.com> Date: Mon, 11 Aug 2025 10:08:13 +0800 Subject: [PATCH 2/3] chore(deps): update unocss --- .../__tests__/unocss.spec.ts | 3 +- playground/unocss-vue-scoped/package.json | 2 +- playground/unocss-vue-scoped/uno.config.ts | 1 + playground/unocss-vue-scoped/vite.config.ts | 8 +- pnpm-lock.yaml | 306 +++++++++--------- 5 files changed, 164 insertions(+), 156 deletions(-) diff --git a/playground/unocss-vue-scoped/__tests__/unocss.spec.ts b/playground/unocss-vue-scoped/__tests__/unocss.spec.ts index 2127fc94..dba022de 100644 --- a/playground/unocss-vue-scoped/__tests__/unocss.spec.ts +++ b/playground/unocss-vue-scoped/__tests__/unocss.spec.ts @@ -22,5 +22,6 @@ test.runIf(isServe)('regenerate CSS and HMR', async () => { ], false, ) - await expect.poll(() => getBgColor(el)).toMatch('rgb(254, 202, 202)') + const newEl = await page.$('.uno') + await expect.poll(() => getBgColor(newEl)).toMatch('rgb(254, 202, 202)') }) diff --git a/playground/unocss-vue-scoped/package.json b/playground/unocss-vue-scoped/package.json index 6e07e14a..be52ee49 100644 --- a/playground/unocss-vue-scoped/package.json +++ b/playground/unocss-vue-scoped/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "dependencies": { - "unocss": "^66.4.1", + "unocss": "^66.4.2", "vue": "catalog:" }, "devDependencies": { diff --git a/playground/unocss-vue-scoped/uno.config.ts b/playground/unocss-vue-scoped/uno.config.ts index 68ca5780..e7a4c6a2 100644 --- a/playground/unocss-vue-scoped/uno.config.ts +++ b/playground/unocss-vue-scoped/uno.config.ts @@ -2,4 +2,5 @@ import { defineConfig, presetWind3 } from 'unocss' export default defineConfig({ presets: [presetWind3()], + // outputToCssLayers: true, }) diff --git a/playground/unocss-vue-scoped/vite.config.ts b/playground/unocss-vue-scoped/vite.config.ts index 2803af9b..aa155c9a 100644 --- a/playground/unocss-vue-scoped/vite.config.ts +++ b/playground/unocss-vue-scoped/vite.config.ts @@ -3,7 +3,13 @@ import vue from '@vitejs/plugin-vue' import UnoCSS from 'unocss/vite' export default defineConfig({ - plugins: [vue(), UnoCSS({ mode: 'vue-scoped' })], + plugins: [ + vue(), + UnoCSS({ + mode: 'vue-scoped', + inspector: false, + }), + ], build: { // to make tests faster minify: false, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1e5a2e7f..c427a793 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -258,8 +258,8 @@ importers: playground/unocss-vue-scoped: dependencies: unocss: - specifier: ^66.4.1 - version: 66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)) + specifier: ^66.4.2 + version: 66.4.2(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)) vue: specifier: 'catalog:' version: 3.5.18(typescript@5.8.3) @@ -400,8 +400,8 @@ packages: '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@antfu/utils@8.1.1': - resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} + '@antfu/utils@9.2.0': + resolution: {integrity: sha512-Oq1d9BGZakE/FyoEtcNeSwM7MpDO2vUBi11RWBZXf75zPsbUVWmUs03EqkRFrcgbXyKTas0BdZWC1wcuSoqSAw==} '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} @@ -1216,8 +1216,8 @@ packages: '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@iconify/utils@2.3.0': - resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + '@iconify/utils@3.0.0': + resolution: {integrity: sha512-Bjf0HTRAB59thKK9QFvyLEXE9S793IqxqJEhNQEboh+IjOXj0nDtOIFh63oz+Y6X/ye4UWpxne5sVQ2W250iSA==} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -1769,87 +1769,87 @@ packages: resolution: {integrity: sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@unocss/astro@66.4.1': - resolution: {integrity: sha512-UPfpg1FGf8lMugnMYuFxpVqNvO9cIVdi7e3yXpBnzf0uQ4Pib7KvOTPB4VOAVoqDK2A0kPxCzeR9MxCk4c+wxw==} + '@unocss/astro@66.4.2': + resolution: {integrity: sha512-En3AKHwkiPxtZT95vkVrNiRYrB+DFVCikew6/dMMCWDWVKK0+5tEVUTzR1ak3+YnzAXl0NpWj8D4zHb0PxOs/A==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 peerDependenciesMeta: vite: optional: true - '@unocss/cli@66.4.1': - resolution: {integrity: sha512-rf6udln8CY70tRP2BU1zorJZjzhDVIO3JzmxvH+q4W7MZBQ2ZRfZkWKUFa6ZiyjIj8lxEWlmT6zvu3aSJXbHTg==} + '@unocss/cli@66.4.2': + resolution: {integrity: sha512-WsXzrB0SHbSt2nOHtD5QM91VN8j38+wObqyGcoIhtBSugqzsc+t7AdPkxV/ZaYgtPAz87bR0WFEVKcbiBRnmJw==} engines: {node: '>=14'} hasBin: true - '@unocss/config@66.4.1': - resolution: {integrity: sha512-ABiYEN9febHAfvpxzjrqdCrkomcDpcjCL1OPrWXLHOecfi2qZkj5sTASAfGUvqrV2WtZTPDQii6Nz1OisitRQQ==} + '@unocss/config@66.4.2': + resolution: {integrity: sha512-plji1gNGSzlWjuV2Uh0q6Dt5ZlNkOKCHpgxekW9J458WghGAMBeXgB9uNpWg6flilqP1g0GJQv+XvJcSkYRGpQ==} engines: {node: '>=14'} - '@unocss/core@66.4.1': - resolution: {integrity: sha512-2QMthvEmH0215zqIIL5WCodQ9lYShYDzziF4N1MMdcoRvCumGq9MMBFPxC54gNDrO3+/Olhp++YYmXkdZ89qrA==} + '@unocss/core@66.4.2': + resolution: {integrity: sha512-cYgMQrLhB9nRekv5c+yPDDa+5dzlMkA2UMQRil0s5D9Lb5n7NsCMcr6+nfxkcSYVLy92SbwDV45c6T7vIxFTOA==} - '@unocss/extractor-arbitrary-variants@66.4.1': - resolution: {integrity: sha512-1iG2egoarrpht56AMoccUMc5iEMPLOQY0iwPumGtwTFqFAYntAQLHbFL//BCOD7DRrHMvGLVNt+uKEGXYIvW6w==} + '@unocss/extractor-arbitrary-variants@66.4.2': + resolution: {integrity: sha512-T/eSeodfAp7HaWnQGqVLOsW4PbKUAvuybNRyvFWThMneM2qo+dOo3kFnA5my9ULAmRSFsAlyB1DnupD3qv5Klg==} - '@unocss/inspector@66.4.1': - resolution: {integrity: sha512-QS2zOaJaddDFQ7g3BRlFnxqyPYEa5XtE6cwo58hgeZwFDak8IAyPBYpFbINfCQzXhguqGO4MyMRX6NXzgKQ1Cw==} + '@unocss/inspector@66.4.2': + resolution: {integrity: sha512-ugcJK8r2ypM4eIdgetVn8RhfKrbA3AF3OQ/RohK5PPk2UPDAScqabzYpfdNW4eYQsBOZOgoiqWtnfc8weqo8LQ==} - '@unocss/postcss@66.4.1': - resolution: {integrity: sha512-UcpMqOJ+ADn9uGetWgmIV+Ctu6Y/W828bJKGRPn6u+c+kporLWfkV5nwSqo1C3o1ADkChwpzs0Ikpz3emxM7yQ==} + '@unocss/postcss@66.4.2': + resolution: {integrity: sha512-tu4lnh6K27pIAuaQHlFlhXin8korwC0r1kQl00YMmF3THiX7orXkTP6xWGcQwnkbx4uQz1dw+tBimYxeaAMrhA==} engines: {node: '>=14'} - '@unocss/preset-attributify@66.4.1': - resolution: {integrity: sha512-HTJd/4bEie6EsCwqq9hK+GJwoFp0rx6k3GTz9jHXMwhGpUGYPrrccw8cazYmJq7lMHnPbh/spxHH24eTISwojg==} + '@unocss/preset-attributify@66.4.2': + resolution: {integrity: sha512-DwFJJkkawmHpjo3pGQE8FyoPsvhbxh+QMvvaAdYpo+iZ5HRkeDml9SOj7u6SGTcmbNyI+QR61s0KM8fxx6HcVQ==} - '@unocss/preset-icons@66.4.1': - resolution: {integrity: sha512-2XONpwvWcedBRmGangrTcHKGcXN46tZicZIVBa9QCDZ+VsAzOdHzvHWl4QinoYnBhCs6yE+sxZ0sETfFwjOsEg==} + '@unocss/preset-icons@66.4.2': + resolution: {integrity: sha512-qJx9gmesrvrmoTe9Mqoidihad8hm2MSD4QAezhfDSAyllioJOgyT0Bev/IEWAbehe9jtqYIh8v1oCerBPbGn6Q==} - '@unocss/preset-mini@66.4.1': - resolution: {integrity: sha512-3yzpUty02AGgZRBlcRhgpEEsG+GJYvweh1TqWql0bAiW3GJWx0oNuvy2jEQjgllvRYRAErIW4/doOljGNQwwjw==} + '@unocss/preset-mini@66.4.2': + resolution: {integrity: sha512-Ry+5hM+XLmT8HrEb182mUfcZuyrZ8xR+TBe72DBcliJ1DhOV3K67TCxwQucfb0zHbGV71HNWdPmHsLKxPDgweQ==} - '@unocss/preset-tagify@66.4.1': - resolution: {integrity: sha512-PGlC8NwojPc1mj5cvYq5JmBaK7wigcElAItGS+uVQW6goC5kyeiiB0vNw1iyfG542yzXJpPkb3d6B4wZpjl21w==} + '@unocss/preset-tagify@66.4.2': + resolution: {integrity: sha512-dECS09LqWJY4sYpgPUH2OAUftWU/tiZPR2XDRoTngeGU37GxSN+1sWtSmB7vwDm3C7opsdVUN20he8F1LUNubw==} - '@unocss/preset-typography@66.4.1': - resolution: {integrity: sha512-V7al6aFsmLcj/eyXuvyf2RIlmTpnUJvWnG4A/LZd8UNsLCndFecE0sTR9VYG1JgNj9aywtJT2w6MSSFnN7Jf5g==} + '@unocss/preset-typography@66.4.2': + resolution: {integrity: sha512-ZOKRuR5+V0r30QTVq04/6ZoIw75me3V25v2dU2YWJXIzwpMKmQ9TUN/M1yeiEUFfXjOaruWX6Ad6CvAw2MlCew==} - '@unocss/preset-uno@66.4.1': - resolution: {integrity: sha512-iRx0GSSCQFL0rjQs9/rNM+igoBup44kCe+yHcB86/nUaRodQbWU2287xoXZcnzcg7/MTjtEtQWu220EY940pmg==} + '@unocss/preset-uno@66.4.2': + resolution: {integrity: sha512-1MFtPivGcpqRQFWdjtP40Enop1y3XDb3tlZXoMQUX0IGLG8HJOT+lfQx/Xl9t73ShJ8aAJ/l6qTxC43ZGNACzA==} - '@unocss/preset-web-fonts@66.4.1': - resolution: {integrity: sha512-+wVO+kZTZVREDXtD4/0sJQIBfid+bim40AF4mYp5wA85aeWCCZIqvXzPeF4BWvGFqqrQDHEO1TcUbnOoP8V8UQ==} + '@unocss/preset-web-fonts@66.4.2': + resolution: {integrity: sha512-4FYmleeRoM8r2DqGl6dfIjnX57tepcfZCvVfeCqYnk7475Yddmv1OYkoMjkWMnkK9MzdSxsFwHMU6CIUTmFTzQ==} - '@unocss/preset-wind3@66.4.1': - resolution: {integrity: sha512-GB2evqTAYw3Z9MImIl3JN5T1of8BO40X9zXnpsVQ4w/v/TOUdVzhfsc4XTVOr8/VVO6Z7VNczgpsd6lZhbrcyg==} + '@unocss/preset-wind3@66.4.2': + resolution: {integrity: sha512-0Aye/PaT08M/cQhPnGKn93iEVoRJbym0/1eomMvXoL+8oc7DVry35ws06r5CLu5h1sXI6UmS6sejoePFlSkLJQ==} - '@unocss/preset-wind4@66.4.1': - resolution: {integrity: sha512-mDomSDXAWqnKTbmgEws9WxUxfvGoEzhy/NmpmHRX7R7wm1LAD7FGUl7pF11N51Wf6Z5in8iTzqSFcs0YfUfYng==} + '@unocss/preset-wind4@66.4.2': + resolution: {integrity: sha512-F4RZsDqIpnSevD9hY353+Tw5gxpJuHA5HwdKjLnC/TnT9VKKVmV7qUEZ6M0jEuAk1kz2x3/ngnQ9Ftw+C2L84A==} - '@unocss/preset-wind@66.4.1': - resolution: {integrity: sha512-r/dUy+0G20/UO6bcZFnNXoRu/6KdRzVdfbeH5TjgO8riI7U44ckLQjDhCMUgUgYldIHewazyiDfMWBcYs5QF5w==} + '@unocss/preset-wind@66.4.2': + resolution: {integrity: sha512-z/rFYFINNqmBtl3Dh+7UCKpPnPkxM7IIUGszMnvdntky9uhLauJ11dt/Puir73sM2cAfywfgvnHyZ00m0pg7rA==} - '@unocss/reset@66.4.1': - resolution: {integrity: sha512-f0t2YIRF7uVUwEB0aDR6yPMqBO+QgGdgACWQmCrZ84Kir9HV+5d50tK5tXDflHmFTu9mqS9MUG4Ba3sPp44vZw==} + '@unocss/reset@66.4.2': + resolution: {integrity: sha512-s3Kq4Q6a/d3/jYe6HTCfXUx7zYAYufetId5n66DZHzQxpeu6CoBS83+b37STTKsw27SOgV28cPJlJtZ6/D6Bhw==} - '@unocss/rule-utils@66.4.1': - resolution: {integrity: sha512-iYbx4ab3aTMrcJSyBoGvwsbUM5BmRQef4rzGOjL312r/0RDZM+i2ikPxcFXpp/9P+Gp22gSXDMlzwY+VfJ2Llw==} + '@unocss/rule-utils@66.4.2': + resolution: {integrity: sha512-7z3IuajwXhy2cx3E0IGOFXIiuKC79/jzm4Tt56TC68nXLh/etlH0fKhxVwkZ/HbcQRpVwWyDRNcbh29pmA3DwQ==} engines: {node: '>=14'} - '@unocss/transformer-attributify-jsx@66.4.1': - resolution: {integrity: sha512-5aICECaco87n1p/8/vzvtgIly3lu1htd/n2SdfA1t6gtUO7PMX2CEZGSw4VxnMTrjNZRXUqxD7MACJIEg/kzRw==} + '@unocss/transformer-attributify-jsx@66.4.2': + resolution: {integrity: sha512-de6LzoyW1tkdOftlCrj6z8wEb4j6l1sqmOU1nYKkYHw7luLFGxRUELC7iujlI9KmylbM02bcKfLETAfJy/je2w==} - '@unocss/transformer-compile-class@66.4.1': - resolution: {integrity: sha512-xf6W+zLbFwOvlNNxV0S73ggevlmiBhqtWBI4xdd463IdiJJ1VU/hTmXJ0r39hVHwVEPYGtechUODGtky47M59Q==} + '@unocss/transformer-compile-class@66.4.2': + resolution: {integrity: sha512-+oiIrV8c3T7qiJdICr6YsEWik5sjbWirXF0mlpcBvZu2HyV559hvHjzuWKr/fl7xYYZKDL9FvddbqWo3DOXh3Q==} - '@unocss/transformer-directives@66.4.1': - resolution: {integrity: sha512-3PiYgq0/TYeCLoUm6K+XbsHcd03l3TN2U2fSeda4PIZoZ/ioH0kJd0tVg98DzO8ekgqtUwKFZjgBa0ezQJwfPQ==} + '@unocss/transformer-directives@66.4.2': + resolution: {integrity: sha512-7m/dTrCUkBkZeSRKPxPEo65Rav239orQSLq6sztwZhoA4x/6H8r58xCkAK0qC9VEalyerpCpyarU3sKN4+ehNg==} - '@unocss/transformer-variant-group@66.4.1': - resolution: {integrity: sha512-stFDCkPeZYBRpKmmF8dOBgAZEh8ydzSrBnc4Uiakgn0LXrhAKNgxR/kC8urgMhu+HcyNsWlLEEIeQyPj72IAHA==} + '@unocss/transformer-variant-group@66.4.2': + resolution: {integrity: sha512-SbPDbZUrhQyL4CpvnpvUfrr1DFq8AKf8ofPGbMJDm5S2TInQ34vFaIrhNroGR0szntMZRH5Zlkq6LtVUKDRs5g==} - '@unocss/vite@66.4.1': - resolution: {integrity: sha512-oXXh9FKaxHUbd9GaiVg+CKtVDoWubQNKtHOLExXU3GgZ/jHATPawR2LXoOtPl/9qq6lT6Dl+o4el2AauUQqo7g==} + '@unocss/vite@66.4.2': + resolution: {integrity: sha512-7eON9iPF3qWzuI+M6u0kq7K3y9nEbimZlLj01nGoqrgSGxEsyJpP01QQQsmT7FPRiZzRMJv7BiKMEyDQSuRRCA==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 @@ -4309,11 +4309,11 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unocss@66.4.1: - resolution: {integrity: sha512-9nZRafw74usdYIHnfBzCtYlPZUjmLOZZ4fxcohMaQtQon+A9P5KiJoaX+9Z2PxVqnArB3drQ1KiRxFPMHJN3+A==} + unocss@66.4.2: + resolution: {integrity: sha512-PsZ+4XF/ekiParR7PZEM7AchvHJ78EIfOXlqTPflTOXCYgZ77kG9NaIaIf4lHRevY+rRTyrHrjxdg1Ern2j8qw==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 66.4.1 + '@unocss/webpack': 66.4.2 vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 peerDependenciesMeta: '@unocss/webpack': @@ -4325,8 +4325,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unplugin-utils@0.2.4: - resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} + unplugin-utils@0.2.5: + resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==} engines: {node: '>=18.12.0'} unrs-resolver@1.9.0: @@ -4540,7 +4540,7 @@ snapshots: package-manager-detector: 1.3.0 tinyexec: 1.0.1 - '@antfu/utils@8.1.1': {} + '@antfu/utils@9.2.0': {} '@babel/code-frame@7.27.1': dependencies: @@ -5485,10 +5485,10 @@ snapshots: '@iconify/types@2.0.0': {} - '@iconify/utils@2.3.0': + '@iconify/utils@3.0.0': dependencies: '@antfu/install-pkg': 1.1.0 - '@antfu/utils': 8.1.1 + '@antfu/utils': 9.2.0 '@iconify/types': 2.0.0 debug: 4.4.1 globals: 15.15.0 @@ -5989,20 +5989,20 @@ snapshots: '@typescript-eslint/types': 8.38.0 eslint-visitor-keys: 4.2.1 - '@unocss/astro@66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0))': + '@unocss/astro@66.4.2(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0))': dependencies: - '@unocss/core': 66.4.1 - '@unocss/reset': 66.4.1 - '@unocss/vite': 66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)) + '@unocss/core': 66.4.2 + '@unocss/reset': 66.4.2 + '@unocss/vite': 66.4.2(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)) optionalDependencies: vite: 7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0) - '@unocss/cli@66.4.1': + '@unocss/cli@66.4.2': dependencies: '@ampproject/remapping': 2.3.0 - '@unocss/config': 66.4.1 - '@unocss/core': 66.4.1 - '@unocss/preset-uno': 66.4.1 + '@unocss/config': 66.4.2 + '@unocss/core': 66.4.2 + '@unocss/preset-uno': 66.4.2 cac: 6.7.14 chokidar: 3.6.0 colorette: 2.0.20 @@ -6011,132 +6011,132 @@ snapshots: pathe: 2.0.3 perfect-debounce: 1.0.0 tinyglobby: 0.2.14 - unplugin-utils: 0.2.4 + unplugin-utils: 0.2.5 - '@unocss/config@66.4.1': + '@unocss/config@66.4.2': dependencies: - '@unocss/core': 66.4.1 + '@unocss/core': 66.4.2 unconfig: 7.3.2 - '@unocss/core@66.4.1': {} + '@unocss/core@66.4.2': {} - '@unocss/extractor-arbitrary-variants@66.4.1': + '@unocss/extractor-arbitrary-variants@66.4.2': dependencies: - '@unocss/core': 66.4.1 + '@unocss/core': 66.4.2 - '@unocss/inspector@66.4.1': + '@unocss/inspector@66.4.2': dependencies: - '@unocss/core': 66.4.1 - '@unocss/rule-utils': 66.4.1 + '@unocss/core': 66.4.2 + '@unocss/rule-utils': 66.4.2 colorette: 2.0.20 gzip-size: 6.0.0 sirv: 3.0.1 vue-flow-layout: 0.2.0 - '@unocss/postcss@66.4.1': + '@unocss/postcss@66.4.2': dependencies: - '@unocss/config': 66.4.1 - '@unocss/core': 66.4.1 - '@unocss/rule-utils': 66.4.1 + '@unocss/config': 66.4.2 + '@unocss/core': 66.4.2 + '@unocss/rule-utils': 66.4.2 css-tree: 3.1.0 postcss: 8.5.6 tinyglobby: 0.2.14 - '@unocss/preset-attributify@66.4.1': + '@unocss/preset-attributify@66.4.2': dependencies: - '@unocss/core': 66.4.1 + '@unocss/core': 66.4.2 - '@unocss/preset-icons@66.4.1': + '@unocss/preset-icons@66.4.2': dependencies: - '@iconify/utils': 2.3.0 - '@unocss/core': 66.4.1 + '@iconify/utils': 3.0.0 + '@unocss/core': 66.4.2 ofetch: 1.4.1 transitivePeerDependencies: - supports-color - '@unocss/preset-mini@66.4.1': + '@unocss/preset-mini@66.4.2': dependencies: - '@unocss/core': 66.4.1 - '@unocss/extractor-arbitrary-variants': 66.4.1 - '@unocss/rule-utils': 66.4.1 + '@unocss/core': 66.4.2 + '@unocss/extractor-arbitrary-variants': 66.4.2 + '@unocss/rule-utils': 66.4.2 - '@unocss/preset-tagify@66.4.1': + '@unocss/preset-tagify@66.4.2': dependencies: - '@unocss/core': 66.4.1 + '@unocss/core': 66.4.2 - '@unocss/preset-typography@66.4.1': + '@unocss/preset-typography@66.4.2': dependencies: - '@unocss/core': 66.4.1 - '@unocss/preset-mini': 66.4.1 - '@unocss/rule-utils': 66.4.1 + '@unocss/core': 66.4.2 + '@unocss/preset-mini': 66.4.2 + '@unocss/rule-utils': 66.4.2 - '@unocss/preset-uno@66.4.1': + '@unocss/preset-uno@66.4.2': dependencies: - '@unocss/core': 66.4.1 - '@unocss/preset-wind3': 66.4.1 + '@unocss/core': 66.4.2 + '@unocss/preset-wind3': 66.4.2 - '@unocss/preset-web-fonts@66.4.1': + '@unocss/preset-web-fonts@66.4.2': dependencies: - '@unocss/core': 66.4.1 + '@unocss/core': 66.4.2 ofetch: 1.4.1 - '@unocss/preset-wind3@66.4.1': + '@unocss/preset-wind3@66.4.2': dependencies: - '@unocss/core': 66.4.1 - '@unocss/preset-mini': 66.4.1 - '@unocss/rule-utils': 66.4.1 + '@unocss/core': 66.4.2 + '@unocss/preset-mini': 66.4.2 + '@unocss/rule-utils': 66.4.2 - '@unocss/preset-wind4@66.4.1': + '@unocss/preset-wind4@66.4.2': dependencies: - '@unocss/core': 66.4.1 - '@unocss/extractor-arbitrary-variants': 66.4.1 - '@unocss/rule-utils': 66.4.1 + '@unocss/core': 66.4.2 + '@unocss/extractor-arbitrary-variants': 66.4.2 + '@unocss/rule-utils': 66.4.2 - '@unocss/preset-wind@66.4.1': + '@unocss/preset-wind@66.4.2': dependencies: - '@unocss/core': 66.4.1 - '@unocss/preset-wind3': 66.4.1 + '@unocss/core': 66.4.2 + '@unocss/preset-wind3': 66.4.2 - '@unocss/reset@66.4.1': {} + '@unocss/reset@66.4.2': {} - '@unocss/rule-utils@66.4.1': + '@unocss/rule-utils@66.4.2': dependencies: - '@unocss/core': 66.4.1 + '@unocss/core': 66.4.2 magic-string: 0.30.17 - '@unocss/transformer-attributify-jsx@66.4.1': + '@unocss/transformer-attributify-jsx@66.4.2': dependencies: '@babel/parser': 7.28.0 '@babel/traverse': 7.28.0 - '@unocss/core': 66.4.1 + '@unocss/core': 66.4.2 transitivePeerDependencies: - supports-color - '@unocss/transformer-compile-class@66.4.1': + '@unocss/transformer-compile-class@66.4.2': dependencies: - '@unocss/core': 66.4.1 + '@unocss/core': 66.4.2 - '@unocss/transformer-directives@66.4.1': + '@unocss/transformer-directives@66.4.2': dependencies: - '@unocss/core': 66.4.1 - '@unocss/rule-utils': 66.4.1 + '@unocss/core': 66.4.2 + '@unocss/rule-utils': 66.4.2 css-tree: 3.1.0 - '@unocss/transformer-variant-group@66.4.1': + '@unocss/transformer-variant-group@66.4.2': dependencies: - '@unocss/core': 66.4.1 + '@unocss/core': 66.4.2 - '@unocss/vite@66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0))': + '@unocss/vite@66.4.2(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0))': dependencies: '@ampproject/remapping': 2.3.0 - '@unocss/config': 66.4.1 - '@unocss/core': 66.4.1 - '@unocss/inspector': 66.4.1 + '@unocss/config': 66.4.2 + '@unocss/core': 66.4.2 + '@unocss/inspector': 66.4.2 chokidar: 3.6.0 magic-string: 0.30.17 pathe: 2.0.3 tinyglobby: 0.2.14 - unplugin-utils: 0.2.4 + unplugin-utils: 0.2.5 vite: 7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0) '@unrs/resolver-binding-android-arm-eabi@1.9.0': @@ -8646,27 +8646,27 @@ snapshots: universalify@2.0.1: {} - unocss@66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)): - dependencies: - '@unocss/astro': 66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)) - '@unocss/cli': 66.4.1 - '@unocss/core': 66.4.1 - '@unocss/postcss': 66.4.1 - '@unocss/preset-attributify': 66.4.1 - '@unocss/preset-icons': 66.4.1 - '@unocss/preset-mini': 66.4.1 - '@unocss/preset-tagify': 66.4.1 - '@unocss/preset-typography': 66.4.1 - '@unocss/preset-uno': 66.4.1 - '@unocss/preset-web-fonts': 66.4.1 - '@unocss/preset-wind': 66.4.1 - '@unocss/preset-wind3': 66.4.1 - '@unocss/preset-wind4': 66.4.1 - '@unocss/transformer-attributify-jsx': 66.4.1 - '@unocss/transformer-compile-class': 66.4.1 - '@unocss/transformer-directives': 66.4.1 - '@unocss/transformer-variant-group': 66.4.1 - '@unocss/vite': 66.4.1(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)) + unocss@66.4.2(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)): + dependencies: + '@unocss/astro': 66.4.2(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)) + '@unocss/cli': 66.4.2 + '@unocss/core': 66.4.2 + '@unocss/postcss': 66.4.2 + '@unocss/preset-attributify': 66.4.2 + '@unocss/preset-icons': 66.4.2 + '@unocss/preset-mini': 66.4.2 + '@unocss/preset-tagify': 66.4.2 + '@unocss/preset-typography': 66.4.2 + '@unocss/preset-uno': 66.4.2 + '@unocss/preset-web-fonts': 66.4.2 + '@unocss/preset-wind': 66.4.2 + '@unocss/preset-wind3': 66.4.2 + '@unocss/preset-wind4': 66.4.2 + '@unocss/transformer-attributify-jsx': 66.4.2 + '@unocss/transformer-compile-class': 66.4.2 + '@unocss/transformer-directives': 66.4.2 + '@unocss/transformer-variant-group': 66.4.2 + '@unocss/vite': 66.4.2(vite@7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0)) optionalDependencies: vite: 7.0.6(@types/node@22.16.5)(jiti@2.4.2)(less@4.4.0)(lightningcss@1.30.1)(sass@1.89.2)(stylus@0.64.0)(tsx@4.20.3)(yaml@2.8.0) transitivePeerDependencies: @@ -8674,7 +8674,7 @@ snapshots: unpipe@1.0.0: {} - unplugin-utils@0.2.4: + unplugin-utils@0.2.5: dependencies: pathe: 2.0.3 picomatch: 4.0.3 From 65abce4f1721e180c07291fba343af45a578faa5 Mon Sep 17 00:00:00 2001 From: Jungzl <13jungzl@gmail.com> Date: Mon, 11 Aug 2025 10:10:29 +0800 Subject: [PATCH 3/3] fix: improve handling of transformed content in hot updates for Vue files --- packages/plugin-vue/src/handleHotUpdate.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/plugin-vue/src/handleHotUpdate.ts b/packages/plugin-vue/src/handleHotUpdate.ts index 8e133229..e2dec26f 100644 --- a/packages/plugin-vue/src/handleHotUpdate.ts +++ b/packages/plugin-vue/src/handleHotUpdate.ts @@ -1,3 +1,4 @@ +import fs from 'node:fs' import _debug from 'debug' import type { SFCBlock, SFCDescriptor } from 'vue/compiler-sfc' import type { HmrContext, ModuleNode } from 'vite' @@ -160,9 +161,18 @@ export async function handleHotUpdate( } if (updateType.length) { if (file.endsWith('.vue')) { - // invalidate the descriptor cache so that the next transform will - // re-analyze the file and pick up the changes. - invalidateDescriptor(file) + // If the descriptor was created from transformed content (e.g., by UnoCSS vue-scoped), + // we should update the main cache with the transformed descriptor instead of invalidating it. + // This ensures that subsequent style block requests get the correct transformed content. + const isTransformedContent = content !== fs.readFileSync(file, 'utf-8') + if (isTransformedContent) { + // Use the descriptor created from transformed content + cache.set(file, descriptor) + } else { + // invalidate the descriptor cache so that the next transform will + // re-analyze the file and pick up the changes. + invalidateDescriptor(file) + } } else { // https://github.com/vuejs/vitepress/issues/3129 // For non-vue files, e.g. .md files in VitePress, invalidating the